Author: xhuang(a)jboss.com
Date: 2007-11-02 00:31:34 -0400 (Fri, 02 Nov 2007)
New Revision: 14176
Modified:
core/trunk/documentation/manual/src/main/docbook/es-ES/content/architecture.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/association_mapping.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/basic_mapping.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/batch.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/best_practices.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/collection_mapping.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/component_mapping.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/configuration.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/events.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_mappings.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_parentchild.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_weblog.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/filters.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/inheritance_mapping.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/performance.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/persistent_classes.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/preface.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_criteria.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_hql.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_sql.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/session_api.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/toolset_guide.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/tutorial.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/xml.po
Log:
update with split2po
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/architecture.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/architecture.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/architecture.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,47 +1,32 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: architecture.xml:21
-#, no-c-format
+#: index.docbook:21
msgid "Architecture"
msgstr "Arquitectura"
-#. Tag: title
-#: architecture.xml:24
-#, no-c-format
+#: index.docbook:24
msgid "Overview"
-msgstr "Visión General"
+msgstr "Visión General"
-#. Tag: para
-#: architecture.xml:26
-#, no-c-format
+#: index.docbook:26
msgid "A (very) high-level view of the Hibernate architecture:"
-msgstr "Una visión a (muy) alto nivel de la arquitectura de Hibernate:"
+msgstr "Una visión a (muy) alto nivel de la arquitectura de
Hibernate:"
-#. Tag: para
-#: architecture.xml:39
-#, no-c-format
+#: index.docbook:39
msgid ""
"This diagram shows Hibernate using the database and configuration data to "
"provide persistence services (and persistent objects) to the application."
msgstr ""
"Este diagrama muestra a Hibernate usando la base de datos y los datos de "
-"configuración para proveer servicios de persistencia (y objetos "
-"persistentes) a la aplicación."
+"configuración para proveer servicios de persistencia (y objetos "
+"persistentes) a la aplicación."
-#. Tag: para
-#: architecture.xml:44
-#, no-c-format
+#: index.docbook:44
msgid ""
"We would like to show a more detailed view of the runtime architecture. "
"Unfortunately, Hibernate is flexible and supports several approaches. We "
@@ -49,40 +34,30 @@
"provide its own JDBC connections and manage its own transactions. This "
"approach uses a minimal subset of Hibernate's APIs:"
msgstr ""
-"Nos gustaría mostrar una vista más detallada de la arquitectura de tiempo de
"
-"ejecución. Desafortunadamente, Hibernate es flexible y soporta diferentes "
-"enfoques. Mostraremos los dos extremos. En la arquitectura \"sencilla\",
es "
-"la aplicación la que provee su propias conexiones JDBC y gestiona sus "
-"propias transacciones. Este enfoque usa un mínimo subconjunto de la API de "
-"Hibernate:"
+"Nos gustaría mostrar una vista más detallada de la "
+"arquitectura de tiempo de ejecución. Desafortunadamente, Hibernate es
"
+"flexible y soporta diferentes enfoques. Mostraremos los dos extremos. En la "
+"arquitectura \"sencilla\", es la aplicación la que provee su
propias "
+"conexiones JDBC y gestiona sus propias transacciones. Este enfoque usa un "
+"mínimo subconjunto de la API de Hibernate:"
-#. Tag: para
-#: architecture.xml:61
-#, no-c-format
+#: index.docbook:61
msgid ""
"The \"full cream\" architecture abstracts the application away from the
"
"underlying JDBC/JTA APIs and lets Hibernate take care of the details."
msgstr ""
-"La arquitectura \"full cream\" abstrae a la aplicación de las APIs de
JDBC/"
-"JTA y deja que Hibernate se encargue de los detalles."
+"La arquitectura \"full cream\" abstrae a la aplicación de las
APIs de "
+"JDBC/JTA y deja que Hibernate se encargue de los detalles."
-#. Tag: para
-#: architecture.xml:75
-#, fuzzy, no-c-format
+#: index.docbook:75
msgid "Heres some definitions of the objects in the diagrams:"
-msgstr ""
-"He aquí algunas definiciones de los objetos en los diagramas:
<placeholder-1/"
-">"
+msgstr "He aquí algunas definiciones de los objetos en los
diagramas:"
-#. Tag: term
-#: architecture.xml:80
-#, no-c-format
+#: index.docbook:80
msgid "SessionFactory
(<literal>org.hibernate.SessionFactory</literal>)"
msgstr "SessionFactory
(<literal>org.hibernate.SessionFactory</literal>)"
-#. Tag: para
-#: architecture.xml:82
-#, no-c-format
+#: index.docbook:82
msgid ""
"A threadsafe (immutable) cache of compiled mappings for a single database. A
"
"factory for <literal>Session</literal> and a client of "
@@ -90,21 +65,17 @@
"cache of data that is reusable between transactions, at a process- or "
"cluster-level."
msgstr ""
-"Caché threadsafe (inmutable) de mapeos compilados para una sola base de "
-"datos. Es una fábrica de <literal>Session</literal> y un cliente de
"
-"<literal>ConnectionProvider</literal>. Opcionalmente, puede mantener
una "
-"caché (de segundo nivel) de datos reusables entre transacciones, a un nivel "
-"de proceso o de cluster."
+"Caché threadsafe (inmutable) de mapeos compilados para una sola base
"
+"de datos. Es una fábrica de <literal>Session</literal> y un
cliente "
+"de <literal>ConnectionProvider</literal>. Opcionalmente, puede mantener
una "
+"caché (de segundo nivel) de datos reusables entre transacciones, a un
"
+"nivel de proceso o de cluster."
-#. Tag: term
-#: architecture.xml:92
-#, no-c-format
+#: index.docbook:92
msgid "Session (<literal>org.hibernate.Session</literal>)"
msgstr "Session (<literal>org.hibernate.Session</literal>)"
-#. Tag: para
-#: architecture.xml:94
-#, no-c-format
+#: index.docbook:94
msgid ""
"A single-threaded, short-lived object representing a conversation between "
"the application and the persistent store. Wraps a JDBC connection. Factory "
@@ -112,21 +83,18 @@
"persistent objects, used when navigating the object graph or looking up "
"objects by identifier."
msgstr ""
-"Objeto mono-hebra, de corta vida que representa una conversación entre la "
-"aplicación y el almacenamiento persistente. Envuelve una conexión JDBC. Es "
-"una fábrica de <literal>Transaction</literal>. Mantiene una caché
requerida "
-"(de primer nivel) de objetos persistentes, usada mientras se navega el grafo
"
-"de objetos o se recuperen objetos por identificador."
+"Objeto mono-hebra, de corta vida que representa una conversación "
+"entre la aplicación y el almacenamiento persistente. Envuelve una
"
+"conexión JDBC. Es una fábrica de
<literal>Transaction</"
+"literal>. Mantiene una caché requerida (de primer nivel) de objetos
"
+"persistentes, usada mientras se navega el grafo de objetos o se recuperen "
+"objetos por identificador."
-#. Tag: term
-#: architecture.xml:104
-#, no-c-format
+#: index.docbook:104
msgid "Persistent objects and collections"
msgstr "Objetos y colecciones persistentes"
-#. Tag: para
-#: architecture.xml:106
-#, no-c-format
+#: index.docbook:106
msgid ""
"Short-lived, single threaded objects containing persistent state and "
"business function. These might be ordinary JavaBeans/POJOs, the only special
"
@@ -136,23 +104,20 @@
"directly as data transfer objects to and from presentation)."
msgstr ""
"Objetos de corta vida, mono-hebra conteniendo estado persistente y "
-"funciónalidad de negocio. Estos pueden ser JavaBeans/POJOs (Plain Old Java "
-"Objects, o sea, cualquier objeto Java), la única cosa especial en ellos es "
-"que estan asociados actualmente con una (y sólo una)
<literal>Session</"
-"literal>. Tan pronto como la <literal>Session</literal> sea cerrada,
serán "
-"separados y estarán libres para ser usados en cualquier capa de aplicación. "
-"(por ejemplo, directamente como objetos de transferencia de datos hacia y "
-"desde la capa de presentación)."
+"funciónalidad de negocio. Estos pueden ser JavaBeans/POJOs (Plain Old
"
+"Java Objects, o sea, cualquier objeto Java), la única cosa especial
"
+"en ellos es que estan asociados actualmente con una (y sólo una) "
+"<literal>Session</literal>. Tan pronto como la
<literal>Session</literal> "
+"sea cerrada, serán separados y estarán libres para ser usados
"
+"en cualquier capa de aplicación. (por ejemplo, directamente como "
+"objetos de transferencia de datos hacia y desde la capa de
presentació"
+"n)."
-#. Tag: term
-#: architecture.xml:117
-#, no-c-format
+#: index.docbook:117
msgid "Transient and detached objects and collections"
msgstr "Objetos y colecciones transitorios y separados"
-#. Tag: para
-#: architecture.xml:119
-#, no-c-format
+#: index.docbook:119
msgid ""
"Instances of persistent classes that are not currently associated with a "
"<literal>Session</literal>. They may have been instantiated by the
"
@@ -161,18 +126,14 @@
msgstr ""
"Instancias de clases persistentes que no estan acutualmente asociadas con "
"una <literal>Session</literal>. Pueden haber sido instanciadas por la
"
-"aplicación y (aún) no haber sido hechas persistentes, o pueden haber sido "
-"instanciadas por una <literal>Session</literal> cerrada."
+"aplicación y (aún) no haber sido hechas persistentes, o
pueden "
+"haber sido instanciadas por una <literal>Session</literal>
cerrada."
-#. Tag: term
-#: architecture.xml:128
-#, no-c-format
+#: index.docbook:128
msgid "Transaction (<literal>org.hibernate.Transaction</literal>)"
msgstr "Transaction
(<literal>org.hibernate.Transaction</literal>)"
-#. Tag: para
-#: architecture.xml:130
-#, no-c-format
+#: index.docbook:130
msgid ""
"(Optional) A single-threaded, short-lived object used by the application to "
"specify atomic units of work. Abstracts application from underlying JDBC, "
@@ -181,17 +142,15 @@
"demarcation, either using the underlying API or
<literal>Transaction</"
"literal>, is never optional!"
msgstr ""
-"(Opcional) Un objeto de corta vida, mono-hebra, usado por la aplicación para
"
-"especificar unidades atómicas de trabajo. Abstrae a la aplicación de las "
-"subyacentes transacciones JDBC, JTA o CORBA. En algunos casos, una "
-"<literal>Session</literal> puede extenderse sobre varias "
-"<literal>Transaction</literal>s. Sin embargo, la demarcación de la
"
-"transacción, ya sea usando la API subyacente o
<literal>Transaction</"
+"(Opcional) Un objeto de corta vida, mono-hebra, usado por la
aplicació"
+"n para especificar unidades atómicas de trabajo. Abstrae a la "
+"aplicación de las subyacentes transacciones JDBC, JTA o CORBA. En
"
+"algunos casos, una <literal>Session</literal> puede extenderse sobre
varias "
+"<literal>Transaction</literal>s. Sin embargo, la demarcación
de la "
+"transacción, ya sea usando la API subyacente o
<literal>Transaction</"
"literal>, nunca es opcional!"
-#. Tag: term
-#: architecture.xml:141
-#, no-c-format
+#: index.docbook:141
msgid ""
"ConnectionProvider
(<literal>org.hibernate.connection.ConnectionProvider</"
"literal>)"
@@ -199,78 +158,65 @@
"ConnectionProvider
(<literal>org.hibernate.connection.ConnectionProvider</"
"literal>)"
-#. Tag: para
-#: architecture.xml:143
-#, no-c-format
+#: index.docbook:143
msgid ""
"(Optional) A factory for (and pool of) JDBC connections. Abstracts "
"application from underlying <literal>Datasource</literal> or "
"<literal>DriverManager</literal>. Not exposed to application, but can
be "
"extended/implemented by the developer."
msgstr ""
-"(Opcional) Una fábrica (y pool) de conexiones JDBC. Abstrae a la aplicación "
-"del <literal>Datasource</literal> o
<literal>DriverManager</literal> "
-"subyacente. No se expone a la aplicación, pero puede ser extendido/"
-"implementado por el desarrollador."
+"(Opcional) Una fábrica (y pool) de conexiones JDBC. Abstrae a la "
+"aplicación del <literal>Datasource</literal> o "
+"<literal>DriverManager</literal> subyacente. No se expone a la "
+"aplicación, pero puede ser extendido/implementado por el "
+"desarrollador."
-#. Tag: term
-#: architecture.xml:151
-#, no-c-format
+#: index.docbook:151
msgid ""
"TransactionFactory
(<literal>org.hibernate.TransactionFactory</literal>)"
msgstr ""
"TransactionFactory
(<literal>org.hibernate.TransactionFactory</literal>)"
-#. Tag: para
-#: architecture.xml:153
-#, no-c-format
+#: index.docbook:153
msgid ""
"(Optional) A factory for <literal>Transaction</literal> instances. Not
"
"exposed to the application, but can be extended/implemented by the
developer."
msgstr ""
-"(Opcional) Una fábrica de instancias de <literal>Transaction</literal>.
No "
-"se expone a la aplicación, pero puede ser extendido/implementado por el "
-"desarrollador."
+"(Opcional) Una fábrica de instancias de
<literal>Transaction</"
+"literal>. No se expone a la aplicación, pero puede ser
extendido/"
+"implementado por el desarrollador."
-#. Tag: emphasis
-#: architecture.xml:160
-#, no-c-format
+#: index.docbook:160
msgid "Extension Interfaces"
-msgstr "Interfaces de Extensión"
+msgstr "Interfaces de Extensión"
-#. Tag: para
-#: architecture.xml:162
-#, no-c-format
+#: index.docbook:162
msgid ""
"Hibernate offers many optional extension interfaces you can implement to "
"customize the behavior of your persistence layer. See the API documentation "
"for details."
msgstr ""
-"Hibernate ofrece muchas interfaces de extensión opcional que puedes "
+"Hibernate ofrece muchas interfaces de extensión opcional que puedes
"
"implementar para modificar a medida el comportamiento de tu capa de "
-"persistencia. Para más detalles, mira la documentación de la API."
+"persistencia. Para más detalles, mira la documentación de la
"
+"API."
-#. Tag: para
-#: architecture.xml:171
-#, no-c-format
+#: index.docbook:171
msgid ""
"Given a \"lite\" architecture, the application bypasses the "
"<literal>Transaction</literal>/<literal>TransactionFactory</literal>
and/or "
"<literal>ConnectionProvider</literal> APIs to talk to JTA or JDBC
directly."
msgstr ""
-"Dada una arquitectura \"sencilla\", la aplicación pasa por alto las APIs
de "
-"<literal>Transaction</literal>/<literal>TransactionFactory</literal>
y/o "
-"<literal>ConnectionProvider</literal>, para hablar directamente a JTA o
JDBC."
+"Dada una arquitectura \"sencilla\", la aplicación pasa por
alto las "
+"APIs de
<literal>Transaction</literal>/<literal>TransactionFactory</literal>
"
+"y/o <literal>ConnectionProvider</literal>, para hablar directamente a
JTA o "
+"JDBC."
-#. Tag: title
-#: architecture.xml:179
-#, no-c-format
+#: index.docbook:179
msgid "Instance states"
msgstr "Estados de instancia"
-#. Tag: para
-#: architecture.xml:180
-#, no-c-format
+#: index.docbook:180
msgid ""
"An instance of a persistent classes may be in one of three different states,
"
"which are defined with respect to a <emphasis>persistence context</"
@@ -282,31 +228,23 @@
"emphasis>. El objeto <literal>Session</literal> de Hibernate es el
contexto "
"de persistencia:"
-#. Tag: term
-#: architecture.xml:188
-#, no-c-format
+#: index.docbook:188
msgid "transient"
msgstr "transitorio"
-#. Tag: para
-#: architecture.xml:190
-#, no-c-format
+#: index.docbook:190
msgid ""
"The instance is not, and has never been associated with any persistence "
"context. It has no persistent identity (primary key value)."
msgstr ""
-"La instancia no está y nunca estuvo asociada con un contexto de "
+"La instancia no está y nunca estuvo asociada con un contexto de "
"persistencia. No tiene identidad persistente (valor de clave primaria)."
-#. Tag: term
-#: architecture.xml:198
-#, no-c-format
+#: index.docbook:198
msgid "persistent"
msgstr "persistente"
-#. Tag: para
-#: architecture.xml:200
-#, no-c-format
+#: index.docbook:200
msgid ""
"The instance is currently associated with a persistence context. It has a "
"persistent identity (primary key value) and, perhaps, a corresponding row in
"
@@ -314,22 +252,18 @@
"<emphasis>guarantees</emphasis> that persistent identity is equivalent
to "
"Java identity (in-memory location of the object)."
msgstr ""
-"La instancia está actualmente asociada con un contexto de persistencia. "
-"Tiene una identidad persistente (valor de clave primaria) y, quizás, una "
-"fila correspondiente en la base de datos. Para un contexto de persistencia "
-"en particular, Hibernate <emphasis>garantiza</emphasis> que la
identidad "
-"persistente es equivalente a la identidad Java (localización en memoria del "
-"objeto)."
+"La instancia está actualmente asociada con un contexto de "
+"persistencia. Tiene una identidad persistente (valor de clave primaria) y, "
+"quizás, una fila correspondiente en la base de datos. Para un "
+"contexto de persistencia en particular, Hibernate
<emphasis>garantiza</"
+"emphasis> que la identidad persistente es equivalente a la identidad Java
"
+"(localización en memoria del objeto)."
-#. Tag: term
-#: architecture.xml:212
-#, no-c-format
+#: index.docbook:212
msgid "detached"
msgstr "separado"
-#. Tag: para
-#: architecture.xml:214
-#, no-c-format
+#: index.docbook:214
msgid ""
"The instance was once associated with a persistence context, but that "
"context was closed, or the instance was serialized to another process. It "
@@ -339,44 +273,38 @@
msgstr ""
"La instancia estuvo una vez asociada con un contexto de persistencia, pero "
"ese contexto fue cerrado, o la instancia fue serializada a otro proceso. "
-"Tiene una identidad persistente y, quizás, una fila correspondiente en la "
-"base de datos. Para las instancias separadas, Hibernate no establece ninguna
"
-"garantía sobre la relación entre identidad persistente e identidad Java."
+"Tiene una identidad persistente y, quizás, una fila correspondiente
"
+"en la base de datos. Para las instancias separadas, Hibernate no establece "
+"ninguna garantía sobre la relación entre identidad
persistente "
+"e identidad Java."
-#. Tag: title
-#: architecture.xml:229
-#, no-c-format
+#: index.docbook:229
msgid "JMX Integration"
-msgstr "Integración JMX"
+msgstr "Integración JMX"
-#. Tag: para
-#: architecture.xml:231
-#, no-c-format
+#: index.docbook:231
msgid ""
"JMX is the J2EE standard for management of Java components. Hibernate may be
"
"managed via a JMX standard service. We provide an MBean implementation in "
"the distribution,
<literal>org.hibernate.jmx.HibernateService</literal>."
msgstr ""
-"JMX es el estándar J2EE para la gestión de componentes Java. Hibernate puede
"
-"ser gestionado por medio de un servicio estándar JMX. Proveemos una "
-"implementación de MBean en la distribución,
<literal>org.hibernate.jmx."
-"HibernateService</literal>."
+"JMX es el estándar J2EE para la gestión de componentes Java.
"
+"Hibernate puede ser gestionado por medio de un servicio estándar JMX.
"
+"Proveemos una implementación de MBean en la distribución,
"
+"<literal>org.hibernate.jmx.HibernateService</literal>."
-#. Tag: para
-#: architecture.xml:237
-#, no-c-format
+#: index.docbook:237
msgid ""
"For an example how to deploy Hibernate as a JMX service on the JBoss "
"Application Server, please see the JBoss User Guide. On JBoss AS, you also "
"get these benefits if you deploy using JMX:"
msgstr ""
-"Para ejemplo de cómo desplegar Hibernate como un servicio JMX en un Servidor
"
-"de Aplicaciones JBoss, por favor, mira la Guía del Usuario de JBoss. En "
-"JBoss AS, tienes además estos beneficios si despliegas usando JMX:"
+"Para ejemplo de cómo desplegar Hibernate como un servicio JMX en un
"
+"Servidor de Aplicaciones JBoss, por favor, mira la Guía del Usuario
"
+"de JBoss. En JBoss AS, tienes además estos beneficios si despliegas
"
+"usando JMX:"
-#. Tag: para
-#: architecture.xml:245
-#, no-c-format
+#: index.docbook:245
msgid ""
"<emphasis>Session Management:</emphasis> The Hibernate
<literal>Session</"
"literal>'s life cycle can be automatically bound to the scope of a JTA
"
@@ -388,19 +316,18 @@
"call the <literal>HibernateContext</literal> to access a
<literal>Session</"
"literal>."
msgstr ""
-"<emphasis>Gestión de Sesión:</emphasis> El ciclo de vida de la "
-"<literal>Session</literal> de Hibernate puede estar automáticamente
ligado "
-"al ámbito de una transacción JTA. Esto significa que ya no tienes que abrir "
-"ni cerrar la <literal>Session</literal> manualmente, esto pasa a ser
trabajo "
-"de un interceptor EJB de JBoss. Además tampoco tienes que preocuparte más de
"
-"la demarcación de la transacción (a menos que que quieras escribir una capa "
-"de persitencia portable, por supuesto, usa la API de
<literal>Transaction</"
-"literal> de Hibernate para esto). Para acceder a una
<literal>Session</"
-"literal> llama al <literal>HibernateContext</literal>."
+"<emphasis>Gestión de Sesión:</emphasis> El ciclo
de vida de la "
+"<literal>Session</literal> de Hibernate puede estar
automáticamente "
+"ligado al ámbito de una transacción JTA. Esto significa que
ya "
+"no tienes que abrir ni cerrar la <literal>Session</literal>
manualmente, "
+"esto pasa a ser trabajo de un interceptor EJB de JBoss. Además "
+"tampoco tienes que preocuparte más de la demarcación de la
"
+"transacción (a menos que que quieras escribir una capa de persitencia
"
+"portable, por supuesto, usa la API de <literal>Transaction</literal> de
"
+"Hibernate para esto). Para acceder a una <literal>Session</literal>
llama al "
+"<literal>HibernateContext</literal>."
-#. Tag: para
-#: architecture.xml:257
-#, no-c-format
+#: index.docbook:257
msgid ""
"<emphasis>HAR deployment:</emphasis> Usually you deploy the Hibernate
JMX "
"service using a JBoss service deployment descriptor (in an EAR and/or SAR "
@@ -412,59 +339,48 @@
msgstr ""
"<emphasis>Despliegue de HAR:</emphasis> Usualmente despliegas el
servicio "
"JMX de Hibernate usando un descriptor de despliegue de servicio de JBoss (en
"
-"un fichero EAR y/o SAR), que soporta todas las opciones de configuración "
-"usuales de una <literal>SessionFactory</literal> de Hibernate. Sin
embargo, "
-"todavía tienes que nombrar todos tus ficheros de mapeo en el descriptor de "
-"despliegue. Si decides usar el depliegue de HAR opcional, JBoss detectará "
-"automáticamente todos los ficheros de mapeo en tu fichero HAR."
+"un fichero EAR y/o SAR), que soporta todas las opciones de "
+"configuración usuales de una
<literal>SessionFactory</literal> de "
+"Hibernate. Sin embargo, todavía tienes que nombrar todos tus ficheros
"
+"de mapeo en el descriptor de despliegue. Si decides usar el depliegue de HAR
"
+"opcional, JBoss detectará automáticamente todos los ficheros
"
+"de mapeo en tu fichero HAR."
-#. Tag: para
-#: architecture.xml:268
-#, no-c-format
+#: index.docbook:268
msgid ""
"Consult the JBoss AS user guide for more information about these options."
msgstr ""
-"Para más información sobre estas opciones, consulta la Guía de Usuario del "
-"JBoss AS."
+"Para más información sobre estas opciones, consulta la
"
+"Guía de Usuario del JBoss AS."
-#. Tag: para
-#: architecture.xml:272
-#, no-c-format
+#: index.docbook:272
msgid ""
"Another feature available as a JMX service are runtime Hibernate statistics.
"
"See <xref linkend=\"configuration-optional-statistics\"/>."
msgstr ""
-"Otra funcionalidad disponible como un servicio JMX son las estadísticas en "
-"tiempo de ejecución de Hibernate. Mira <xref
linkend=\"configuration-"
-"optional-statistics\"/>."
+"Otra funcionalidad disponible como un servicio JMX son las estadí"
+"sticas en tiempo de ejecución de Hibernate. Mira <xref
linkend="
+"\"configuration-optional-statistics\"/>."
-#. Tag: title
-#: architecture.xml:279
-#, no-c-format
+#: index.docbook:279
msgid "JCA Support"
msgstr "Soporte JCA:"
-#. Tag: para
-#: architecture.xml:280
-#, no-c-format
+#: index.docbook:280
msgid ""
"Hibernate may also be configured as a JCA connector. Please see the website "
"for more details. Please note that Hibernate JCA support is still considered
"
"experimental."
msgstr ""
-"Hiberate puede además ser configurado como un conector JCA. Por favor mira "
-"el sitio web para más detalles. Por favor ten en cuenta que el soporte de "
-"JCA de Hibernate está aún considerado experimental."
+"Hiberate puede además ser configurado como un conector JCA. Por favor
"
+"mira el sitio web para más detalles. Por favor ten en cuenta que el
"
+"soporte de JCA de Hibernate está aún considerado
experimental."
-#. Tag: title
-#: architecture.xml:287
-#, no-c-format
+#: index.docbook:287
msgid "Contextual Sessions"
-msgstr "translator-credits"
+msgstr "UNTRANSLATED! Contextual Sessions"
-#. Tag: para
-#: architecture.xml:288
-#, no-c-format
+#: index.docbook:288
msgid ""
"Most applications using Hibernate need some form of \"contextual\"
sessions, "
"where a given session is in effect throughout the scope of a given context. "
@@ -476,10 +392,17 @@
"utilized third-party frameworks (such as Spring or Pico) which provided "
"proxy/interception-based contextual sessions."
msgstr ""
+"Most applications using Hibernate need some form of \"contextual\"
sessions, "
+"where a given session is in effect throughout the scope of a given context. "
+"However, across applications the definition of what constitutes a context is
"
+"typically different; and different contexts define different scopes to the "
+"notion of current. Applications using Hibernate prior to version 3.0 tended "
+"to utilize either home-grown <literal>ThreadLocal</literal>-based
contextual "
+"sessions, helper classes such as <literal>HibernateUtil</literal>, or
"
+"utilized third-party frameworks (such as Spring or Pico) which provided "
+"proxy/interception-based contextual sessions."
-#. Tag: para
-#: architecture.xml:297
-#, no-c-format
+#: index.docbook:297
msgid ""
"Starting with version 3.0.1, Hibernate added the
<literal>SessionFactory."
"getCurrentSession()</literal> method. Initially, this assumed usage of
"
@@ -492,10 +415,18 @@
"<literal>J2EE</literal> container. Based on that, the
<literal>JTA</literal>-"
"based contextual sessions is all you should ever need to use."
msgstr ""
+"Starting with version 3.0.1, Hibernate added the
<literal>SessionFactory."
+"getCurrentSession()</literal> method. Initially, this assumed usage of
"
+"<literal>JTA</literal> transactions, where the
<literal>JTA</literal> "
+"transaction defined both the scope and context of a current session. The "
+"Hibernate team maintains that, given the maturity of the numerous stand-"
+"alone <literal>JTA TransactionManager</literal> implementations out
there, "
+"most (if not all) applications should be using <literal>JTA</literal>
"
+"transaction management whether or not they are deployed into a "
+"<literal>J2EE</literal> container. Based on that, the
<literal>JTA</literal>-"
+"based contextual sessions is all you should ever need to use."
-#. Tag: para
-#: architecture.xml:307
-#, no-c-format
+#: index.docbook:307
msgid ""
"However, as of version 3.1, the processing behind
<literal>SessionFactory."
"getCurrentSession()</literal> is now pluggable. To that end, a new extension
"
@@ -504,10 +435,14 @@
"current_session_context_class</literal>) have been added to allow "
"pluggability of the scope and context of defining current sessions."
msgstr ""
+"However, as of version 3.1, the processing behind
<literal>SessionFactory."
+"getCurrentSession()</literal> is now pluggable. To that end, a new extension
"
+"interface
(<literal>org.hibernate.context.CurrentSessionContext</literal>) "
+"and a new configuration parameter (<literal>hibernate."
+"current_session_context_class</literal>) have been added to allow "
+"pluggability of the scope and context of defining current sessions."
-#. Tag: para
-#: architecture.xml:314
-#, no-c-format
+#: index.docbook:314
msgid ""
"See the Javadocs for the <literal>org.hibernate.context."
"CurrentSessionContext</literal> interface for a detailed discussion of its
"
@@ -516,39 +451,48 @@
"contextual session. Out-of-the-box, Hibernate comes with three "
"implementations of this interface."
msgstr ""
+"See the Javadocs for the <literal>org.hibernate.context."
+"CurrentSessionContext</literal> interface for a detailed discussion of its
"
+"contract. It defines a single method,
<literal>currentSession()</literal>, "
+"by which the implementation is responsible for tracking the current "
+"contextual session. Out-of-the-box, Hibernate comes with three "
+"implementations of this interface."
-#. Tag: para
-#: architecture.xml:324
-#, no-c-format
+#: index.docbook:324
msgid ""
"<literal>org.hibernate.context.JTASessionContext</literal> - current
"
"sessions are tracked and scoped by a <literal>JTA</literal>
transaction. The "
"processing here is exactly the same as in the older JTA-only approach. See "
"the Javadocs for details."
msgstr ""
+"<literal>org.hibernate.context.JTASessionContext</literal> - current
"
+"sessions are tracked and scoped by a <literal>JTA</literal>
transaction. The "
+"processing here is exactly the same as in the older JTA-only approach. See "
+"the Javadocs for details."
-#. Tag: para
-#: architecture.xml:332
-#, no-c-format
+#: index.docbook:332
msgid ""
"<literal>org.hibernate.context.ThreadLocalSessionContext</literal> -
current "
"sessions are tracked by thread of execution. Again, see the Javadocs for "
"details."
msgstr ""
+"<literal>org.hibernate.context.ThreadLocalSessionContext</literal> -
current "
+"sessions are tracked by thread of execution. Again, see the Javadocs for "
+"details."
-#. Tag: para
-#: architecture.xml:338
-#, no-c-format
+#: index.docbook:338
msgid ""
"<literal>org.hibernate.context.ManagedSessionContext</literal> -
current "
"sessions are tracked by thread of execution. However, you are responsible to
"
"bind and unbind a <literal>Session</literal> instance with static
methods on "
"this class, it does never open, flush, or close a
<literal>Session</literal>."
msgstr ""
+"<literal>org.hibernate.context.ManagedSessionContext</literal> -
current "
+"sessions are tracked by thread of execution. However, you are responsible to
"
+"bind and unbind a <literal>Session</literal> instance with static
methods on "
+"this class, it does never open, flush, or close a
<literal>Session</literal>."
-#. Tag: para
-#: architecture.xml:347
-#, no-c-format
+#: index.docbook:347
msgid ""
"The first two implementations provide a \"one session - one database "
"transaction\" programming model, also known and used as
<emphasis>session-"
@@ -562,10 +506,19 @@
"transaction or session demarcation operations in your code. Refer to <xref
"
"linkend=\"transactions\"/> for more information and code
examples."
msgstr ""
+"The first two implementations provide a \"one session - one database "
+"transaction\" programming model, also known and used as
<emphasis>session-"
+"per-request</emphasis>. The beginning and end of a Hibernate session is
"
+"defined by the duration of a database transaction. If you use programatic "
+"transaction demarcation in plain JSE without JTA, you are adviced to use the
"
+"Hibernate <literal>Transaction</literal> API to hide the underlying
"
+"transaction system from your code. If you use JTA, use the JTA interfaces to
"
+"demarcate transactions. If you execute in an EJB container that supports "
+"CMT, transaction boundaries are defined declaratively and you don't need any
"
+"transaction or session demarcation operations in your code. Refer to <xref
"
+"linkend=\"transactions\"/> for more information and code
examples."
-#. Tag: para
-#: architecture.xml:359
-#, no-c-format
+#: index.docbook:359
msgid ""
"The <literal>hibernate.current_session_context_class</literal>
configuration "
"parameter defines which <literal>org.hibernate.context."
@@ -578,3 +531,19 @@
"however, there are three corresponding short names, \"jta\",
\"thread\", and "
"\"managed\"."
msgstr ""
+"The <literal>hibernate.current_session_context_class</literal>
configuration "
+"parameter defines which <literal>org.hibernate.context."
+"CurrentSessionContext</literal> implementation should be used. Note that for
"
+"backwards compatibility, if this config param is not set but a
<literal>org."
+"hibernate.transaction.TransactionManagerLookup</literal> is configured,
"
+"Hibernate will use the
<literal>org.hibernate.context.JTASessionContext</"
+"literal>. Typically, the value of this parameter would just name the "
+"implementation class to use; for the three out-of-the-box implementations, "
+"however, there are three corresponding short names, \"jta\",
\"thread\", and "
+"\"managed\"."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified:
core/trunk/documentation/manual/src/main/docbook/es-ES/content/association_mapping.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/association_mapping.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/association_mapping.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,30 +1,19 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: association_mapping.xml:6
-#, no-c-format
+#: index.docbook:6
msgid "Association Mappings"
-msgstr "Mapeos de Asociación"
+msgstr "Mapeos de Asociación"
-#. Tag: title
-#: association_mapping.xml:9
-#, no-c-format
+#: index.docbook:9
msgid "Introduction"
-msgstr "Introducción"
+msgstr "Introducción"
-#. Tag: para
-#: association_mapping.xml:11
-#, no-c-format
+#: index.docbook:11
msgid ""
"Association mappings are the often most difficult thing to get right. In "
"this section we'll go through the canonical cases one by one, starting with
"
@@ -32,62 +21,51 @@
"use <literal>Person</literal> and
<literal>Address</literal> in all the "
"examples."
msgstr ""
-"Los mapeos de asociación son frecuentemente las cosas mas difíciles de hacer
"
-"correctamente. En esta sección iremos a través de los casos canónicos uno a "
-"uno, comenzando con los mapeos unidireccionales, y considerando luego los "
-"casos bidireccionales. Usaremos <literal>Person</literal> y "
-"<literal>Address</literal> en todos los ejemplos."
+"Los mapeos de asociación son frecuentemente las cosas mas
difí"
+"ciles de hacer correctamente. En esta sección iremos a través
"
+"de los casos canónicos uno a uno, comenzando con los mapeos "
+"unidireccionales, y considerando luego los casos bidireccionales. Usaremos "
+"<literal>Person</literal> y <literal>Address</literal> en
todos los ejemplos."
-#. Tag: para
-#: association_mapping.xml:19
-#, no-c-format
+#: index.docbook:19
msgid ""
"We'll classify associations by whether or not they map to an intervening
"
"join table, and by multiplicity."
msgstr ""
-"Clasificaremos las asociaciones por cuanto mapeen o no a una tabla de unión "
-"interviniente, y por su multiplicidad."
+"Clasificaremos las asociaciones por cuanto mapeen o no a una tabla de "
+"unión interviniente, y por su multiplicidad."
-#. Tag: para
-#: association_mapping.xml:24
-#, no-c-format
+#: index.docbook:24
msgid ""
"Nullable foreign keys are not considered good practice in traditional data "
"modelling, so all our examples use not null foreign keys. This is not a "
"requirement of Hibernate, and the mappings will all work if you drop the "
"nullability constraints."
msgstr ""
-"Las claves foráneas que aceptan valores nulos (en adelante, nullables) no "
-"son consideradas una buena práctica en el modelado tradicional de datos, así
"
-"que todos nuestros ejemplos usan claves foráneas no nullables. Esto no es un
"
-"requerimiento de Hibernate, y todos los mapeos funcionarán si quitas las "
-"restricciones de nulabilidad."
+"Las claves foráneas que aceptan valores nulos (en adelante, "
+"nullables) no son consideradas una buena práctica en el modelado "
+"tradicional de datos, así que todos nuestros ejemplos usan claves
"
+"foráneas no nullables. Esto no es un requerimiento de Hibernate, y
"
+"todos los mapeos funcionarán si quitas las restricciones de "
+"nulabilidad."
-#. Tag: title
-#: association_mapping.xml:34
-#, no-c-format
+#: index.docbook:34
msgid "Unidirectional associations"
msgstr "Asociaciones Unidireccionales"
-#. Tag: title
-#: association_mapping.xml:37 association_mapping.xml:108
-#, no-c-format
+#: index.docbook:37, index.docbook:108
msgid "many to one"
msgstr "muchos a uno"
-#. Tag: para
-#: association_mapping.xml:39
-#, no-c-format
+#: index.docbook:39
msgid ""
"A <emphasis>unidirectional many-to-one association</emphasis> is the
most "
"common kind of unidirectional association."
msgstr ""
-"Una <emphasis>asociación unidireccional muchos-a-uno</emphasis> es el
tipo "
-"más común de asociaciones unidireccionales."
+"Una <emphasis>asociación unidireccional
muchos-a-uno</emphasis> es el "
+"tipo más común de asociaciones unidireccionales."
-#. Tag: programlisting
-#: association_mapping.xml:44
-#, no-c-format
+#: index.docbook:44
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -104,10 +82,22 @@
" </id>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <many-to-one name=\"address\" \n"
+" column=\"addressId\"\n"
+" not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:45 association_mapping.xml:161
-#, no-c-format
+#: index.docbook:45, index.docbook:161
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key, addressId bigint
"
@@ -115,29 +105,27 @@
"create table Address ( addressId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key, addressId bigint
"
+"not null )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+" ]]>"
-#. Tag: title
-#: association_mapping.xml:50 association_mapping.xml:121
-#: association_mapping.xml:185 association_mapping.xml:225
-#, no-c-format
+#: index.docbook:50, index.docbook:121, index.docbook:185, index.docbook:225
msgid "one to one"
msgstr "uno a uno"
-#. Tag: para
-#: association_mapping.xml:52
-#, no-c-format
+#: index.docbook:52
msgid ""
"A <emphasis>unidirectional one-to-one association on a foreign
key</"
"emphasis> is almost identical. The only difference is the column unique "
"constraint."
msgstr ""
-"Una <emphasis>asociación unidireccional uno-a-uno en una clave
primaria</"
-"emphasis> es casi idéntica. La única diferencia es la restricción de "
-"unicidad de la columna."
+"Una <emphasis>asociación unidireccional uno-a-uno en una clave
"
+"primaria</emphasis> es casi idéntica. La única
diferencia es "
+"la restricción de unicidad de la columna."
-#. Tag: programlisting
-#: association_mapping.xml:57
-#, no-c-format
+#: index.docbook:57
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -155,10 +143,23 @@
" </id>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <many-to-one name=\"address\" \n"
+" column=\"addressId\" \n"
+" unique=\"true\"\n"
+" not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:58 association_mapping.xml:193
-#, no-c-format
+#: index.docbook:58, index.docbook:193
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key, addressId bigint
"
@@ -166,22 +167,23 @@
"create table Address ( addressId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key, addressId bigint
"
+"not null unique )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+" ]]>"
-#. Tag: para
-#: association_mapping.xml:60
-#, no-c-format
+#: index.docbook:60
msgid ""
"A <emphasis>unidirectional one-to-one association on a primary
key</"
"emphasis> usually uses a special id generator. (Notice that we've reversed
"
"the direction of the association in this example.)"
msgstr ""
-"Usualmente, una <emphasis>asociación unidireccional uno-a-uno en una clave
"
-"primaria</emphasis> usa un generador de id especial. (Observa que hemos
"
-"invertido el sentido de la asociación en este ejemplo)."
+"Usualmente, una <emphasis>asociación unidireccional uno-a-uno en
una "
+"clave primaria</emphasis> usa un generador de id especial. (Observa que
"
+"hemos invertido el sentido de la asociación en este ejemplo)."
-#. Tag: programlisting
-#: association_mapping.xml:66
-#, no-c-format
+#: index.docbook:66
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -198,36 +200,47 @@
" <one-to-one name=\"person\"
constrained=\"true\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"foreign\">\n"
+" <param name=\"property\">person</param>\n"
+" </generator>\n"
+" </id>\n"
+" <one-to-one name=\"person\"
constrained=\"true\"/>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:67 association_mapping.xml:201
-#, no-c-format
+#: index.docbook:67, index.docbook:201
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key )\n"
"create table Address ( personId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table Address ( personId bigint not null primary key )\n"
+" ]]>"
-#. Tag: title
-#: association_mapping.xml:72 association_mapping.xml:94
-#, no-c-format
+#: index.docbook:72, index.docbook:94
msgid "one to many"
msgstr "uno a muchos"
-#. Tag: para
-#: association_mapping.xml:74
-#, no-c-format
+#: index.docbook:74
msgid ""
"A <emphasis>unidirectional one-to-many association on a foreign
key</"
"emphasis> is a very unusual case, and is not really recommended."
msgstr ""
-"Una <emphasis>asociación unidireccional uno-a-muchos en una clave
foránea</"
-"emphasis> es un caso muy inusual, y realmente no está recomendada."
+"Una <emphasis>asociación unidireccional uno-a-muchos en una clave
"
+"foránea</emphasis> es un caso muy inusual, y realmente no
está "
+"recomendada."
-#. Tag: programlisting
-#: association_mapping.xml:79
-#, no-c-format
+#: index.docbook:79
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -246,10 +259,24 @@
" </id>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <set name=\"addresses\">\n"
+" <key column=\"personId\" \n"
+" not-null=\"true\"/>\n"
+" <one-to-many class=\"Address\"/>\n"
+" </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:80
-#, no-c-format
+#: index.docbook:80
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key )\n"
@@ -257,37 +284,35 @@
"bigint not null )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table Address ( addressId bigint not null primary key, personId "
+"bigint not null )\n"
+" ]]>"
-#. Tag: para
-#: association_mapping.xml:82
-#, no-c-format
+#: index.docbook:82
msgid "We think it's better to use a join table for this kind of
association."
msgstr ""
-"Creemos que es mejor usar una tabla de unión para este tipo de asociación."
+"Creemos que es mejor usar una tabla de unión para este tipo de "
+"asociación."
-#. Tag: title
-#: association_mapping.xml:91
-#, no-c-format
+#: index.docbook:91
msgid "Unidirectional associations with join tables"
-msgstr "Asociaciones unidireccionales con tablas de unión"
+msgstr "Asociaciones unidireccionales con tablas de unión"
-#. Tag: para
-#: association_mapping.xml:96
-#, no-c-format
+#: index.docbook:96
msgid ""
"A <emphasis>unidirectional one-to-many association on a join
table</"
"emphasis> is much preferred. Notice that by specifying
<literal>unique=\"true"
"\"</literal>, we have changed the multiplicity from many-to-many to
one-to-"
"many."
msgstr ""
-"Una <emphasis>asociación unidireccional uno-a-muchos en una tabla de
unión</"
-"emphasis> es más preferible. Observa que especificando
<literal>unique=\"true"
-"\"</literal>, hemos cambiado la multiplicidad de muchos-a-muchos a
uno-a-"
-"muchos."
+"Una <emphasis>asociación unidireccional uno-a-muchos en una tabla
de "
+"unión</emphasis> es más preferible. Observa que
especificando "
+"<literal>unique=\"true\"</literal>, hemos cambiado la
multiplicidad de "
+"muchos-a-muchos a uno-a-muchos."
-#. Tag: programlisting
-#: association_mapping.xml:102
-#, no-c-format
+#: index.docbook:102
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -307,10 +332,25 @@
" </id>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <set name=\"addresses\"
table=\"PersonAddress\">\n"
+" <key column=\"personId\"/>\n"
+" <many-to-many column=\"addressId\"\n"
+" unique=\"true\"\n"
+" class=\"Address\"/>\n"
+" </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:103
-#, no-c-format
+#: index.docbook:103
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key )\n"
@@ -319,20 +359,23 @@
"create table Address ( addressId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId not null, addressId bigint not null "
+"primary key )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+" ]]>"
-#. Tag: para
-#: association_mapping.xml:110
-#, no-c-format
+#: index.docbook:110
msgid ""
"A <emphasis>unidirectional many-to-one association on a join
table</"
"emphasis> is quite common when the association is optional."
msgstr ""
-"Una <emphasis>asociación unidireccional muchos-a-uno en una tabla de
unión</"
-"emphasis> es bastante común cuando la asociación es opcional."
+"Una <emphasis>asociación unidireccional muchos-a-uno en una tabla
de "
+"unión</emphasis> es bastante común cuando la
asociación "
+"es opcional."
-#. Tag: programlisting
-#: association_mapping.xml:115
-#, no-c-format
+#: index.docbook:115
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -353,10 +396,26 @@
" </id>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <join table=\"PersonAddress\" \n"
+" optional=\"true\">\n"
+" <key column=\"personId\"
unique=\"true\"/>\n"
+" <many-to-one name=\"address\"\n"
+" column=\"addressId\" \n"
+" not-null=\"true\"/>\n"
+" </join>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:116
-#, no-c-format
+#: index.docbook:116
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key )\n"
@@ -365,20 +424,22 @@
"create table Address ( addressId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null primary key, addressId
"
+"bigint not null )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+" ]]>"
-#. Tag: para
-#: association_mapping.xml:123
-#, no-c-format
+#: index.docbook:123
msgid ""
"A <emphasis>unidirectional one-to-one association on a join
table</emphasis> "
"is extremely unusual, but possible."
msgstr ""
-"Una <emphasis>asociación unidireccional uno-a-uno en una tabla de
unión</"
-"emphasis> es inusual en extremo, pero posible."
+"Una <emphasis>asociación unidireccional uno-a-uno en una tabla de
"
+"unión</emphasis> es inusual en extremo, pero posible."
-#. Tag: programlisting
-#: association_mapping.xml:128
-#, no-c-format
+#: index.docbook:128
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -401,10 +462,28 @@
" </id>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <join table=\"PersonAddress\" \n"
+" optional=\"true\">\n"
+" <key column=\"personId\" \n"
+" unique=\"true\"/>\n"
+" <many-to-one name=\"address\"\n"
+" column=\"addressId\" \n"
+" not-null=\"true\"\n"
+" unique=\"true\"/>\n"
+" </join>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:129 association_mapping.xml:233
-#, no-c-format
+#: index.docbook:129, index.docbook:233
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key )\n"
@@ -413,26 +492,26 @@
"create table Address ( addressId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null primary key, addressId
"
+"bigint not null unique )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+" ]]>"
-#. Tag: title
-#: association_mapping.xml:134 association_mapping.xml:238
-#, no-c-format
+#: index.docbook:134, index.docbook:238
msgid "many to many"
msgstr "muchos a muchos"
-#. Tag: para
-#: association_mapping.xml:136
-#, no-c-format
+#: index.docbook:136
msgid ""
"Finally, we have a <emphasis>unidirectional many-to-many
association</"
"emphasis>."
msgstr ""
-"Finalmente, tenemos una <emphasis>asociación unidireccional
muchos-a-muchos</"
-"emphasis>"
+"Finalmente, tenemos una <emphasis>asociación unidireccional
muchos-a-"
+"muchos</emphasis>"
-#. Tag: programlisting
-#: association_mapping.xml:140
-#, no-c-format
+#: index.docbook:140
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -451,10 +530,24 @@
" </id>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <set name=\"addresses\"
table=\"PersonAddress\">\n"
+" <key column=\"personId\"/>\n"
+" <many-to-many column=\"addressId\"\n"
+" class=\"Address\"/>\n"
+" </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:141 association_mapping.xml:246
-#, no-c-format
+#: index.docbook:141, index.docbook:246
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key )\n"
@@ -463,32 +556,31 @@
"create table Address ( addressId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null, addressId bigint not "
+"null, primary key (personId, addressId) )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+" ]]>"
-#. Tag: title
-#: association_mapping.xml:148
-#, no-c-format
+#: index.docbook:148
msgid "Bidirectional associations"
msgstr "Asociaciones Bidireccionales"
-#. Tag: title
-#: association_mapping.xml:151 association_mapping.xml:211
-#, no-c-format
+#: index.docbook:151, index.docbook:211
msgid "one to many / many to one"
msgstr "uno a muchos / muchos a uno"
-#. Tag: para
-#: association_mapping.xml:153
-#, no-c-format
+#: index.docbook:153
msgid ""
"A <emphasis>bidirectional many-to-one association</emphasis> is the
most "
"common kind of association. (This is the standard parent/child
relationship.)"
msgstr ""
-"Una <emphasis>asociación bidireccional muchos-a-uno</emphasis> es el
tipo "
-"más común de asociación. (Esta es la relación estándar padre/hijo.)"
+"Una <emphasis>asociación bidireccional
muchos-a-uno</emphasis> es el "
+"tipo más común de asociación. (Esta es la
relació"
+"n estándar padre/hijo.)"
-#. Tag: programlisting
-#: association_mapping.xml:159
-#, no-c-format
+#: index.docbook:159
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -509,10 +601,26 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <many-to-one name=\"address\" \n"
+" column=\"addressId\"\n"
+" not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <set name=\"people\" inverse=\"true\">\n"
+" <key column=\"addressId\"/>\n"
+" <one-to-many class=\"Person\"/>\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: para
-#: association_mapping.xml:163
-#, no-c-format
+#: index.docbook:163
msgid ""
"If you use a <literal>List</literal> (or other indexed collection) you
need "
"to set the <literal>key</literal> column of the foreign key to
<literal>not "
@@ -528,9 +636,7 @@
"other side virtually inverse by setting
<literal>update=\"false\"</literal> "
"and <literal>insert=\"false\"</literal>):"
-#. Tag: programlisting
-#: association_mapping.xml:171
-#, no-c-format
+#: index.docbook:171
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\"/>\n"
@@ -552,10 +658,28 @@
" </list>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\"/>\n"
+" ...\n"
+" <many-to-one name=\"address\"\n"
+" column=\"addressId\"\n"
+" not-null=\"true\"\n"
+" insert=\"false\"\n"
+" update=\"false\"/>\n"
+" </class>\n"
+" \n"
+" <class name=\"Address\">\n"
+" <id name=\"id\"/>\n"
+" ...\n"
+" <list name=\"people\">\n"
+" <key column=\"addressId\"
not-null=\"true\"/"
+">\n"
+" <list-index
column=\"peopleIdx\"/>\n"
+" <one-to-many
class=\"Person\"/>\n"
+" </list>\n"
+" </class>]]>"
-#. Tag: para
-#: association_mapping.xml:173
-#, no-c-format
+#: index.docbook:173
msgid ""
"It is important that you define
<literal>not-null=\"true\"</literal> on the "
"<literal><key></literal> element of the collection
mapping if the "
@@ -571,19 +695,15 @@
"<literal><column></literal> element, but on the
<literal><key></"
"literal> element."
-#. Tag: para
-#: association_mapping.xml:187
-#, no-c-format
+#: index.docbook:187
msgid ""
"A <emphasis>bidirectional one-to-one association on a foreign
key</emphasis> "
"is quite common."
msgstr ""
-"Una <emphasis>asociación bidireccional uno-a-uno en una clave
foránea</"
-"emphasis> es bastante común."
+"Una <emphasis>asociación bidireccional uno-a-uno en una clave
"
+"foránea</emphasis> es bastante común."
-#. Tag: programlisting
-#: association_mapping.xml:192
-#, no-c-format
+#: index.docbook:192
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -603,20 +723,33 @@
" property-ref=\"address\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <many-to-one name=\"address\" \n"
+" column=\"addressId\" \n"
+" unique=\"true\"\n"
+" not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <one-to-one name=\"person\" \n"
+" property-ref=\"address\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: association_mapping.xml:195
-#, no-c-format
+#: index.docbook:195
msgid ""
"A <emphasis>bidirectional one-to-one association on a primary
key</emphasis> "
"uses the special id generator."
msgstr ""
-"Una <emphasis>asociación bidireccional uno-a-uno en una clave
primaria</"
-"emphasis> usa el generador de id especial."
+"Una <emphasis>asociación bidireccional uno-a-uno en una clave
"
+"primaria</emphasis> usa el generador de id especial."
-#. Tag: programlisting
-#: association_mapping.xml:200
-#, no-c-format
+#: index.docbook:200
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -635,28 +768,39 @@
" constrained=\"true\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <one-to-one name=\"address\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"foreign\">\n"
+" <param name=\"property\">person</param>\n"
+" </generator>\n"
+" </id>\n"
+" <one-to-one name=\"person\" \n"
+" constrained=\"true\"/>\n"
+"</class>]]>"
-#. Tag: title
-#: association_mapping.xml:208
-#, no-c-format
+#: index.docbook:208
msgid "Bidirectional associations with join tables"
-msgstr "Asociaciones bidireccionales con tablas de unión"
+msgstr "Asociaciones bidireccionales con tablas de unión"
-#. Tag: para
-#: association_mapping.xml:213
-#, no-c-format
+#: index.docbook:213
msgid ""
"A <emphasis>bidirectional one-to-many association on a join table</"
"emphasis>. Note that the
<literal>inverse=\"true\"</literal> can go on "
"either end of the association, on the collection, or on the join."
msgstr ""
-"Una <emphasis>asociación bidireccional uno-a-muchos en una tabla de
unión</"
-"emphasis>. Observa que el
<literal>inverse=\"true\"</literal> puede ir a "
-"cualquier lado de la asociación, en la colección, o en la unión."
+"Una <emphasis>asociación bidireccional uno-a-muchos en una tabla
de "
+"unión</emphasis>. Observa que el
<literal>inverse=\"true\"</literal> "
+"puede ir a cualquier lado de la asociación, en la colección,
o "
+"en la unión."
-#. Tag: programlisting
-#: association_mapping.xml:219
-#, no-c-format
+#: index.docbook:219
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -685,10 +829,34 @@
" </join>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <set name=\"addresses\" \n"
+" table=\"PersonAddress\">\n"
+" <key column=\"personId\"/>\n"
+" <many-to-many column=\"addressId\"\n"
+" unique=\"true\"\n"
+" class=\"Address\"/>\n"
+" </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <join table=\"PersonAddress\" \n"
+" inverse=\"true\" \n"
+" optional=\"true\">\n"
+" <key column=\"addressId\"/>\n"
+" <many-to-one name=\"person\"\n"
+" column=\"personId\"\n"
+" not-null=\"true\"/>\n"
+" </join>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:220
-#, no-c-format
+#: index.docbook:220
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key )\n"
@@ -697,20 +865,22 @@
"create table Address ( addressId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null, addressId bigint not "
+"null primary key )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+" ]]>"
-#. Tag: para
-#: association_mapping.xml:227
-#, no-c-format
+#: index.docbook:227
msgid ""
"A <emphasis>bidirectional one-to-one association on a join
table</emphasis> "
"is extremely unusual, but possible."
msgstr ""
-"Una <emphasis>asociación bidireccional uno-a-uno en una tabla de
unión</"
-"emphasis> es inusual en extremo, pero posible."
+"Una <emphasis>asociación bidireccional uno-a-uno en una tabla de
"
+"unión</emphasis> es inusual en extremo, pero posible."
-#. Tag: programlisting
-#: association_mapping.xml:232
-#, no-c-format
+#: index.docbook:232
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -743,20 +913,46 @@
" </join>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <join table=\"PersonAddress\" \n"
+" optional=\"true\">\n"
+" <key column=\"personId\" \n"
+" unique=\"true\"/>\n"
+" <many-to-one name=\"address\"\n"
+" column=\"addressId\" \n"
+" not-null=\"true\"\n"
+" unique=\"true\"/>\n"
+" </join>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <join table=\"PersonAddress\" \n"
+" optional=\"true\"\n"
+" inverse=\"true\">\n"
+" <key column=\"addressId\" \n"
+" unique=\"true\"/>\n"
+" <many-to-one name=\"address\"\n"
+" column=\"personId\" \n"
+" not-null=\"true\"\n"
+" unique=\"true\"/>\n"
+" </join>\n"
+"</class>]]>"
-#. Tag: para
-#: association_mapping.xml:240
-#, no-c-format
+#: index.docbook:240
msgid ""
"Finally, we have a <emphasis>bidirectional many-to-many
association</"
"emphasis>."
msgstr ""
-"Finalmente, tenemos una <emphasis>asociación bidireccional
muchos-a-muchos</"
-"emphasis>."
+"Finalmente, tenemos una <emphasis>asociación bidireccional
muchos-a-"
+"muchos</emphasis>."
-#. Tag: programlisting
-#: association_mapping.xml:244
-#, no-c-format
+#: index.docbook:244
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -780,16 +976,33 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <set name=\"addresses\">\n"
+" <key column=\"personId\"/>\n"
+" <many-to-many column=\"addressId\"\n"
+" class=\"Address\"/>\n"
+" </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <set name=\"people\" inverse=\"true\">\n"
+" <key column=\"addressId\"/>\n"
+" <many-to-many column=\"personId\"\n"
+" class=\"Person\"/>\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: title
-#: association_mapping.xml:253
-#, no-c-format
+#: index.docbook:253
msgid "More complex association mappings"
-msgstr "translator-credits"
+msgstr "UNTRANSLATED! More complex association mappings"
-#. Tag: para
-#: association_mapping.xml:255
-#, no-c-format
+#: index.docbook:255
msgid ""
"More complex association joins are <emphasis>extremely</emphasis> rare.
"
"Hibernate makes it possible to handle more complex situations using SQL "
@@ -798,10 +1011,14 @@
"literal>, <literal>effectiveEndDate</literal> and "
"<literal>effectiveStartDate</literal>columns, mapped as follows:"
msgstr ""
+"More complex association joins are <emphasis>extremely</emphasis> rare.
"
+"Hibernate makes it possible to handle more complex situations using SQL "
+"fragments embedded in the mapping document. For example, if a table with "
+"historical account information data defines
<literal>accountNumber</"
+"literal>, <literal>effectiveEndDate</literal> and "
+"<literal>effectiveStartDate</literal>columns, mapped as follows:"
-#. Tag: programlisting
-#: association_mapping.xml:264
-#, no-c-format
+#: index.docbook:264
msgid ""
"<![CDATA[<properties name=\"currentAccountKey\">\n"
" <property name=\"accountNumber\" type=\"string\"
not-null=\"true\"/>\n"
@@ -813,18 +1030,28 @@
"<property name=\"effectiveEndDate\"
type=\"date\"/>\n"
"<property name=\"effectiveStateDate\" type=\"date\"
not-null=\"true\"/>]]>"
msgstr ""
+"<![CDATA[<properties name=\"currentAccountKey\">\n"
+" <property name=\"accountNumber\"
type=\"string\" "
+"not-null=\"true\"/>\n"
+" <property name=\"currentAccount\"
type=\"boolean"
+"\">\n"
+" <formula>case when effectiveEndDate is
"
+"null then 1 else 0 end</formula>\n"
+" </property>\n"
+" </properties>\n"
+" <property name=\"effectiveEndDate\"
type=\"date\"/>\n"
+" <property name=\"effectiveStateDate\"
type=\"date\" not-"
+"null=\"true\"/>]]>"
-#. Tag: para
-#: association_mapping.xml:266
-#, no-c-format
+#: index.docbook:266
msgid ""
"Then we can map an association to the <emphasis>current</emphasis>
instance "
"(the one with null <literal>effectiveEndDate</literal>) using:"
msgstr ""
+"Then we can map an association to the <emphasis>current</emphasis>
instance "
+"(the one with null <literal>effectiveEndDate</literal>) using:"
-#. Tag: programlisting
-#: association_mapping.xml:271
-#, no-c-format
+#: index.docbook:271
msgid ""
"<![CDATA[<many-to-one name=\"currentAccountInfo\" \n"
" property-ref=\"currentAccountKey\"\n"
@@ -833,10 +1060,15 @@
" <formula>'1'</formula>\n"
"</many-to-one>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"currentAccountInfo\" \n"
+" property-ref="
+"\"currentAccountKey\"\n"
+"
class=\"AccountInfo\">\n"
+" <column
name=\"accountNumber\"/>\n"
+" <formula>'1'</formula>\n"
+" </many-to-one>]]>"
-#. Tag: para
-#: association_mapping.xml:273
-#, no-c-format
+#: index.docbook:273
msgid ""
"In a more complex example, imagine that the association between "
"<literal>Employee</literal> and
<literal>Organization</literal> is "
@@ -845,10 +1077,14 @@
"recent</emphasis> employer (the one with the most recent
<literal>startDate</"
"literal>) might be mapped this way:"
msgstr ""
+"In a more complex example, imagine that the association between "
+"<literal>Employee</literal> and
<literal>Organization</literal> is "
+"maintained in an <literal>Employment</literal> table full of historical
"
+"employment data. Then an association to the employee's <emphasis>most
"
+"recent</emphasis> employer (the one with the most recent
<literal>startDate</"
+"literal>) might be mapped this way:"
-#. Tag: programlisting
-#: association_mapping.xml:281
-#, no-c-format
+#: index.docbook:281
msgid ""
"<![CDATA[<join>\n"
" <key column=\"employeeId\"/>\n"
@@ -863,11 +1099,29 @@
" column=\"orgId\"/>\n"
"</join>]]>"
msgstr ""
+"<![CDATA[<join>\n"
+" <key column=\"employeeId\"/>\n"
+" <subselect>\n"
+" select employeeId, orgId \n"
+" from Employments \n"
+" group by orgId \n"
+" having startDate = max(startDate)\n"
+" </subselect>\n"
+" <many-to-one name=\"mostRecentEmployer\"
\n"
+" class=\"Organization\" \n"
+" column=\"orgId\"/>\n"
+" </join>]]>"
-#. Tag: para
-#: association_mapping.xml:283
-#, no-c-format
+#: index.docbook:283
msgid ""
"You can get quite creative with this functionality, but it is usually more "
"practical to handle these kinds of cases using HQL or a criteria query."
msgstr ""
+"You can get quite creative with this functionality, but it is usually more "
+"practical to handle these kinds of cases using HQL or a criteria query."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/basic_mapping.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/basic_mapping.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/basic_mapping.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,30 +1,19 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: basic_mapping.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Basic O/R Mapping"
-msgstr "Mapeo O/R Básico"
+msgstr "Mapeo O/R Básico"
-#. Tag: title
-#: basic_mapping.xml:8
-#, no-c-format
+#: index.docbook:8
msgid "Mapping declaration"
-msgstr "Declaración de mapeo"
+msgstr "Declaración de mapeo"
-#. Tag: para
-#: basic_mapping.xml:10
-#, no-c-format
+#: index.docbook:10
msgid ""
"Object/relational mappings are usually defined in an XML document. The "
"mapping document is designed to be readable and hand-editable. The mapping "
@@ -32,14 +21,12 @@
"persistent class declarations, not table declarations."
msgstr ""
"Los mapeos objeto/relacional se definen usualmente en un documento XML. El "
-"documento de mapeo está diseñado para ser leíble y editable a mano. El "
-"lenguaje de mapeo es Java-céntrico, o sea que los mapeos se construyen "
-"alrededor de declaraciones de clases persistentes, no declaraciones de "
-"tablas."
+"documento de mapeo está diseñado para ser leíble y
"
+"editable a mano. El lenguaje de mapeo es Java-céntrico, o sea que los
"
+"mapeos se construyen alrededor de declaraciones de clases persistentes, no "
+"declaraciones de tablas."
-#. Tag: para
-#: basic_mapping.xml:17
-#, no-c-format
+#: index.docbook:17
msgid ""
"Note that, even though many Hibernate users choose to write the XML by hand,
"
"a number of tools exist to generate the mapping document, including XDoclet,
"
@@ -49,15 +36,11 @@
"XML a mano, existe una cantidad de herramientas para generar el documento de
"
"mapeo, incluyendo XDoclet, Middlegen y AndroMDA."
-#. Tag: para
-#: basic_mapping.xml:23
-#, no-c-format
+#: index.docbook:23
msgid "Lets kick off with an example mapping:"
msgstr "Comencemos por un mapeo de ejemplo:"
-#. Tag: programlisting
-#: basic_mapping.xml:27
-#, no-c-format
+#: index.docbook:27
msgid ""
"<![CDATA[<?xml version=\"1.0\"?>\n"
"<!DOCTYPE hibernate-mapping PUBLIC\n"
@@ -124,10 +107,72 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+" \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+"
\"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping package=\"eg\">\n"
+"\n"
+" <class name=\"Cat\" \n"
+" table=\"cats\"\n"
+" discriminator-value=\"C\">\n"
+" \n"
+" <id name=\"id\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"\n"
+" <discriminator column=\"subclass\" \n"
+" type=\"character\"/>\n"
+"\n"
+" <property name=\"weight\"/>\n"
+"\n"
+" <property name=\"birthdate\"\n"
+" type=\"date\" \n"
+" not-null=\"true\" \n"
+" update=\"false\"/>\n"
+"\n"
+" <property name=\"color\"\n"
+" type=\"eg.types.ColorUserType\"\n"
+" not-null=\"true\"\n"
+" update=\"false\"/>\n"
+"\n"
+" <property name=\"sex\"\n"
+" not-null=\"true\" \n"
+" update=\"false\"/>\n"
+"\n"
+" <property name=\"litterId\"\n"
+" column=\"litterId\"\n"
+" update=\"false\"/>\n"
+"\n"
+" <many-to-one name=\"mother\"\n"
+" column=\"mother_id\"\n"
+" update=\"false\"/>\n"
+"\n"
+" <set name=\"kittens\"\n"
+" inverse=\"true\"\n"
+" order-by=\"litter_id\">\n"
+" <key column=\"mother_id\"/>\n"
+" <one-to-many class=\"Cat\"/>\n"
+" </set>\n"
+"\n"
+" <subclass name=\"DomesticCat\"\n"
+" discriminator-value=\"D\">\n"
+"\n"
+" <property name=\"name\" \n"
+" type=\"string\"/>\n"
+"\n"
+" </subclass>\n"
+"\n"
+" </class>\n"
+"\n"
+" <class name=\"Dog\">\n"
+" <!-- mapping for Dog could go here -->\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: basic_mapping.xml:29
-#, no-c-format
+#: index.docbook:29
msgid ""
"We will now discuss the content of the mapping document. We will only "
"describe the document elements and attributes that are used by Hibernate at "
@@ -135,22 +180,18 @@
"and elements that affect the database schemas exported by the schema export "
"tool. (For example the <literal> not-null</literal> attribute.)"
msgstr ""
-"Discutiremos ahora el contenido del documento de mapeo. Describiremos sólo "
-"los elementos y atributos que son usados por Hibernate en tiempo de "
-"ejecución. El documento de mapeo contiene además algunos atributos y "
-"elementos extra opcionales que afectan los esquemas de base de datos "
-"exportados por la herramienta de exportación de esquemas. (Por ejemplo, el "
-"atributo <literal>not-null</literal>.)"
+"Discutiremos ahora el contenido del documento de mapeo. Describiremos "
+"sólo los elementos y atributos que son usados por Hibernate en tiempo
"
+"de ejecución. El documento de mapeo contiene además algunos
"
+"atributos y elementos extra opcionales que afectan los esquemas de base de "
+"datos exportados por la herramienta de exportación de esquemas. (Por
"
+"ejemplo, el atributo <literal>not-null</literal>.)"
-#. Tag: title
-#: basic_mapping.xml:40
-#, no-c-format
+#: index.docbook:40
msgid "Doctype"
msgstr "Doctype"
-#. Tag: para
-#: basic_mapping.xml:42
-#, no-c-format
+#: index.docbook:42
msgid ""
"All XML mappings should declare the doctype shown. The actual DTD may be "
"found at the URL above, in the directory
<literal>hibernate-x.x.x/src/org/"
@@ -162,19 +203,16 @@
"Todos los mapeos XML deben declarar el doctype mostrado. El DTD actual puede
"
"ser encontrado en el URL mencionado arriba, en el directorio "
"<literal>hibernate-x.x.x/src/org/hibernate</literal>, o en "
-"<literal>hibernate3.jar</literal>. Hibernate siempre buscará el DTD
primero "
-"en el classpath. Si experimentas búsquedas del DTD usando una conexión de "
-"Internet, chequea tu declaración de DTD contra la contenida en el classpath."
+"<literal>hibernate3.jar</literal>. Hibernate siempre buscará
el DTD "
+"primero en el classpath. Si experimentas búsquedas del DTD usando una
"
+"conexión de Internet, chequea tu declaración de DTD contra la
"
+"contenida en el classpath."
-#. Tag: title
-#: basic_mapping.xml:52
-#, no-c-format
+#: index.docbook:52
msgid "EntityResolver"
msgstr "UNTRANSLATED! EntityResolver"
-#. Tag: para
-#: basic_mapping.xml:53
-#, no-c-format
+#: index.docbook:53
msgid ""
"As mentioned previously, Hibernate will first attempt to resolve DTDs in its
"
"classpath. The manner in which it does this is by registering a custom "
@@ -190,9 +228,7 @@
"<literal>EntityResolver</literal> recognizes two different systemId
"
"namespaces."
-#. Tag: para
-#: basic_mapping.xml:61
-#, no-c-format
+#: index.docbook:61
msgid ""
"a <literal>hibernate namespace</literal> is recognized whenever the
resolver "
"encounteres a systemId starting with
<literal>http://hibernate.sourceforge."
@@ -204,9 +240,7 @@
"net/</literal>; the resolver attempts to resolve these entities via the
"
"classlaoder which loaded the Hibernate classes."
-#. Tag: para
-#: basic_mapping.xml:70
-#, no-c-format
+#: index.docbook:70
msgid ""
"a <literal>user namespace</literal> is recognized whenever the resolver
"
"encounteres a systemId using a <literal>classpath://</literal> URL
protocol; "
@@ -220,15 +254,11 @@
"thread context classloader and (2) the classloader which loaded the "
"Hibernate classes."
-#. Tag: para
-#: basic_mapping.xml:79
-#, no-c-format
+#: index.docbook:79
msgid "An example of utilizing user namespacing:"
msgstr "An example of utilizing user namespacing:"
-#. Tag: programlisting
-#: basic_mapping.xml:82
-#, no-c-format
+#: index.docbook:82
msgid ""
"<![CDATA[<?xml version=\"1.0\"?>\n"
"<!DOCTYPE hibernate-mapping PUBLIC\n"
@@ -246,10 +276,28 @@
" &types;\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+" <!DOCTYPE hibernate-mapping PUBLIC\n"
+" \"-//Hibernate/Hibernate Mapping DTD
"
+"3.0//EN\"\n"
+"
\"http://hibernate.sourceforge.net/"
+"hibernate-mapping-3.0.dtd\" [\n"
+" <!ENTITY types SYSTEM
\"classpath://"
+"your/domain/types.xml\">\n"
+" ]>\n"
+" \n"
+" <hibernate-mapping
package=\"your."
+"domain\">\n"
+" <class
name=\"MyEntity\">\n"
+" <id name=\"id\"
type="
+"\"my-custom-id-type\">\n"
+" ...\n"
+" </id>\n"
+" <class>\n"
+" &types;\n"
+"
</hibernate-mapping>]]>"
-#. Tag: para
-#: basic_mapping.xml:83
-#, no-c-format
+#: index.docbook:83
msgid ""
"Where <literal>types.xml</literal> is a resource in the
<literal>your."
"domain</literal> package and contains a custom <link
linkend=\"mapping-types-"
@@ -259,15 +307,11 @@
"domain</literal> package and contains a custom <link
linkend=\"mapping-types-"
"custom\">typedef</link>."
-#. Tag: title
-#: basic_mapping.xml:91
-#, no-c-format
+#: index.docbook:91
msgid "hibernate-mapping"
msgstr "hibernate-mapping"
-#. Tag: para
-#: basic_mapping.xml:93
-#, no-c-format
+#: index.docbook:93
msgid ""
"This element has several optional attributes. The
<literal>schema</literal> "
"and <literal>catalog</literal> attributes specify that tables referred
to in "
@@ -281,18 +325,17 @@
msgstr ""
"Este elemento tiene muchos atributos opcionales. Los atributos "
"<literal>schema</literal> y <literal>catalog</literal>
especifican que las "
-"tablas a las que se refiere en el mapeo pertenecen al esquema y/o catálogo "
-"mencionado(s). De especificarse, los nombres de tablas serán cualificados "
-"por el nombre de esquema y catálogo dados. De omitirse, los nombres de "
-"tablas no serán cualificados. El atributo
<literal>default-cascade</literal> "
-"especifica qué estilo de cascada debe asumirse para las propiedades y "
-"colecciones que no especifican un atributo <literal>cascade</literal>.
El "
-"atributo <literal>auto-import</literal> nos permite usar nombres de
clase "
-"sin cualificar en el lenguaje de consulta, por defecto."
+"tablas a las que se refiere en el mapeo pertenecen al esquema y/o
catá"
+"logo mencionado(s). De especificarse, los nombres de tablas serán
"
+"cualificados por el nombre de esquema y catálogo dados. De omitirse,
"
+"los nombres de tablas no serán cualificados. El atributo "
+"<literal>default-cascade</literal> especifica qué estilo de
cascada "
+"debe asumirse para las propiedades y colecciones que no especifican un "
+"atributo <literal>cascade</literal>. El atributo
<literal>auto-import</"
+"literal> nos permite usar nombres de clase sin cualificar en el lenguaje de
"
+"consulta, por defecto."
-#. Tag: programlisting
-#: basic_mapping.xml:114
-#, no-c-format
+#: index.docbook:114
msgid ""
"<![CDATA[<hibernate-mapping\n"
" schema=\"schemaName\"\n"
@@ -304,26 +347,29 @@
" package=\"package.name\"\n"
" />]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping\n"
+" schema=\"schemaName\"\n"
+" catalog=\"catalogName\"\n"
+" default-cascade=\"cascade_style\"\n"
+" default-access=\"field|property|ClassName\"\n"
+" default-lazy=\"true|false\"\n"
+" auto-import=\"true|false\"\n"
+" package=\"package.name\"\n"
+" />]]>"
-#. Tag: para
-#: basic_mapping.xml:117
-#, no-c-format
+#: index.docbook:117
msgid "<literal>schema</literal> (optional): The name of a database
schema."
msgstr ""
"<literal>schema</literal> (opcional): El nombre de un esquema de la
base de "
"datos."
-#. Tag: para
-#: basic_mapping.xml:122
-#, no-c-format
+#: index.docbook:122
msgid "<literal>catalog</literal> (optional): The name of a database
catalog."
msgstr ""
-"<literal>catalog</literal> (opcional): El nombre de un catálogo de la
base "
-"de datos."
+"<literal>catalog</literal> (opcional): El nombre de un
catálogo de la "
+"base de datos."
-#. Tag: para
-#: basic_mapping.xml:127
-#, no-c-format
+#: index.docbook:127
msgid ""
"<literal>default-cascade</literal> (optional - defaults to
<literal>none</"
"literal>): A default cascade style."
@@ -331,9 +377,7 @@
"<literal>default-cascade</literal> (opcional - por defecto a
<literal>none</"
"literal>): Un estilo de cascada por defecto."
-#. Tag: para
-#: basic_mapping.xml:133
-#, no-c-format
+#: index.docbook:133
msgid ""
"<literal>default-access</literal> (optional - defaults to
<literal>property</"
"literal>): The strategy Hibernate should use for accessing all properties.
"
@@ -341,12 +385,10 @@
msgstr ""
"<literal>default-access</literal> (opcional - por defecto a "
"<literal>property</literal>): La estrategia que Hibernate debe usar
para "
-"acceder a todas las propiedades. Puede ser una implementación personalizada "
-"de <literal>PropertyAccessor</literal>."
+"acceder a todas las propiedades. Puede ser una implementación "
+"personalizada de <literal>PropertyAccessor</literal>."
-#. Tag: para
-#: basic_mapping.xml:140
-#, no-c-format
+#: index.docbook:140
msgid ""
"<literal>default-lazy</literal> (optional - defaults to
<literal>true</"
"literal>): The default value for unspecifed <literal>lazy</literal>
"
@@ -354,11 +396,9 @@
msgstr ""
"<literal>default-lazy</literal> (opcional - por defecto a
<literal>true</"
"literal>): El valor por defecto para los atributos
<literal>lazy</literal> "
-"de mapeos de clase y colleción no especificados."
+"de mapeos de clase y colleción no especificados."
-#. Tag: para
-#: basic_mapping.xml:147
-#, no-c-format
+#: index.docbook:147
msgid ""
"<literal>auto-import</literal> (optional - defaults to
<literal>true</"
"literal>): Specifies whether we can use unqualified class names (of classes
"
@@ -368,9 +408,7 @@
"literal>): Especifica si podemos usar nombres de clases no cualificados (de
"
"clases en este mapeo) en el lenguaje de consulta."
-#. Tag: para
-#: basic_mapping.xml:154
-#, no-c-format
+#: index.docbook:154
msgid ""
"<literal>package</literal> (optional): Specifies a package prefix to
assume "
"for unqualified class names in the mapping document."
@@ -378,21 +416,18 @@
"<literal>package</literal> (opcional): Especifica un prefijo de paquete
a "
"asumir para los nombres no cualificados de clase en el documento de mapeo."
-#. Tag: para
-#: basic_mapping.xml:162
-#, no-c-format
+#: index.docbook:162
msgid ""
"If you have two persistent classes with the same (unqualified) name, you "
"should set <literal>auto-import=\"false\"</literal>.
Hibernate will throw an "
"exception if you attempt to assign two classes to the same \"imported\"
name."
msgstr ""
"Si tienes dos clases persistentes con el mismo nombre (sin cualificar), "
-"debes establecer <literal>auto-import=\"false\"</literal>.
Hibernate lanzará "
-"una excepción si intentas asignar dos clases al mismo nombre
\"importado\"."
+"debes establecer <literal>auto-import=\"false\"</literal>.
Hibernate "
+"lanzará una excepción si intentas asignar dos clases al mismo
"
+"nombre \"importado\"."
-#. Tag: para
-#: basic_mapping.xml:168
-#, no-c-format
+#: index.docbook:168
msgid ""
"Note that the <literal>hibernate-mapping</literal> element allows you
to "
"nest several persistent <literal><class></literal>
mappings, as shown "
@@ -404,22 +439,18 @@
msgstr ""
"Observa que el elemento <literal>hibernate-mapping</literal> te permite
"
"anidar muchos mapeos <literal><class></literal>
persistentes, como se "
-"muestra arriba. Sin embargo, es una buena práctica (y se espera de algunas "
-"herramientas) mapear sólo a una sola clase persistente (o a una sola "
-"jerarquía de clases) en un fichero de mapeo y nombrarlo después de la "
-"superclase persistente; por ejemplo, <literal>Cat.hbm.xml</literal>,
"
-"<literal>Dog.hbm.xml</literal>, o, si se usa herencia,
<literal>Animal.hbm."
-"xml</literal>."
+"muestra arriba. Sin embargo, es una buena práctica (y se espera de
"
+"algunas herramientas) mapear sólo a una sola clase persistente (o a
"
+"una sola jerarquía de clases) en un fichero de mapeo y nombrarlo "
+"después de la superclase persistente; por ejemplo,
<literal>Cat.hbm."
+"xml</literal>, <literal>Dog.hbm.xml</literal>, o, si se usa
herencia, "
+"<literal>Animal.hbm.xml</literal>."
-#. Tag: title
-#: basic_mapping.xml:181
-#, no-c-format
+#: index.docbook:181
msgid "<title>class</title>"
-msgstr ""
+msgstr "<title>class</title>"
-#. Tag: para
-#: basic_mapping.xml:183
-#, no-c-format
+#: index.docbook:183
msgid ""
"You may declare a persistent class using the <literal>class</literal>
"
"element:"
@@ -427,9 +458,7 @@
"Puedes declarar una clase persistente usando el elemento
<literal>class</"
"literal>:"
-#. Tag: programlisting
-#: basic_mapping.xml:211
-#, no-c-format
+#: index.docbook:211
msgid ""
"<![CDATA[<class\n"
" name=\"ClassName\"\n"
@@ -456,10 +485,32 @@
" node=\"element-name\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<class\n"
+" name=\"ClassName\"\n"
+" table=\"tableName\"\n"
+" discriminator-value=\"discriminator_value\"\n"
+" mutable=\"true|false\"\n"
+" schema=\"owner\"\n"
+" catalog=\"catalog\"\n"
+" proxy=\"ProxyInterface\"\n"
+" dynamic-update=\"true|false\"\n"
+" dynamic-insert=\"true|false\"\n"
+" select-before-update=\"true|false\"\n"
+" polymorphism=\"implicit|explicit\"\n"
+" where=\"arbitrary sql where condition\"\n"
+" persister=\"PersisterClass\"\n"
+" batch-size=\"N\"\n"
+" optimistic-lock=\"none|version|dirty|all\"\n"
+" lazy=\"true|false\"\n"
+" entity-name=\"EntityName\"\n"
+" check=\"arbitrary sql check condition\"\n"
+" rowid=\"rowid\"\n"
+" subselect=\"SQL expression\"\n"
+" abstract=\"true|false\"\n"
+" node=\"element-name\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:214
-#, no-c-format
+#: index.docbook:214
msgid ""
"<literal>name</literal> (optional): The fully qualified Java class name
of "
"the persistent class (or interface). If this attribute is missing, it is "
@@ -469,9 +520,7 @@
"la clase Java persistente (o interface). Si este atributo es omitido, se "
"asume que el mapeo es para una entidad non-POJO."
-#. Tag: para
-#: basic_mapping.xml:221
-#, no-c-format
+#: index.docbook:221
msgid ""
"<literal>table</literal> (optional - defaults to the unqualified class
"
"name): The name of its database table."
@@ -479,9 +528,7 @@
"<literal>table</literal> (opcional - por defecto al nombre no
cualificado de "
"la clase): El nombre de su tabla en base de datos."
-#. Tag: para
-#: basic_mapping.xml:227
-#, no-c-format
+#: index.docbook:227
msgid ""
"<literal>discriminator-value</literal> (optional - defaults to the
class "
"name): A value that distiguishes individual subclasses, used for polymorphic
"
@@ -490,12 +537,10 @@
msgstr ""
"<literal>discriminator-value</literal> (opcional - por defecto al
nombre de "
"la clase): Un valor que distingue subclases individuales, usado para el "
-"comportamiento polimórfico. Los valores aceptables incluyen
<literal>null</"
-"literal> y <literal>not null</literal>."
+"comportamiento polimórfico. Los valores aceptables incluyen "
+"<literal>null</literal> y <literal>not
null</literal>."
-#. Tag: para
-#: basic_mapping.xml:234
-#, no-c-format
+#: index.docbook:234
msgid ""
"<literal>mutable</literal> (optional, defaults to
<literal>true</literal>): "
"Specifies that instances of the class are (not) mutable."
@@ -503,52 +548,34 @@
"<literal>mutable</literal> (opcional, por defecto a
<literal>true</"
"literal>): Especifica que las instancias de la clase (no) son mutables."
-#. Tag: para
-#: basic_mapping.xml:240 basic_mapping.xml:2204
-#, fuzzy, no-c-format
+#: index.docbook:240, index.docbook:2204
msgid ""
"<literal>schema</literal> (optional): Override the schema name
specified by "
"the root <literal><hibernate-mapping></literal>
element."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
"<literal>schema</literal> (opcional): Sobreescribe el nombre de esquema
"
-"especificado por el elemento raíz
<literal><hibernate-mapping></"
-"literal>.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>schema</literal> (opcional): Sobrescribe el nombre de esquema
"
-"especificado por el elemento raíz
<literal><hibernate-mapping></"
+"especificado por el elemento raíz
<literal><hibernate-mapping></"
"literal>."
-#. Tag: para
-#: basic_mapping.xml:246 basic_mapping.xml:2210
-#, fuzzy, no-c-format
+#: index.docbook:246, index.docbook:2210
msgid ""
"<literal>catalog</literal> (optional): Override the catalog name
specified "
"by the root <literal><hibernate-mapping></literal>
element."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>catalog</literal> (opcional): Sobreescribe el nombre de
catálogo "
-"especificado por el elemento raíz
<literal><hibernate-mapping></"
-"literal>.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>catalog</literal> (opcional): Sobrescribe el nombre de
catálogo "
-"especificado por el elemento raíz
<literal><hibernate-mapping></"
-"literal>."
+"<literal>catalog</literal> (opcional): Sobreescribe el nombre de
catá"
+"logo especificado por el elemento raíz
<literal><hibernate-"
+"mapping></literal>."
-#. Tag: para
-#: basic_mapping.xml:252
-#, no-c-format
+#: index.docbook:252
msgid ""
"<literal>proxy</literal> (optional): Specifies an interface to use for
lazy "
"initializing proxies. You may specify the name of the class itself."
msgstr ""
"<literal>proxy</literal> (opcional): Especifica una interface a usar
para "
-"proxies de inicialización perezosa. Puedes especificar el nombre mismo de la
"
-"clase."
+"proxies de inicialización perezosa. Puedes especificar el nombre "
+"mismo de la clase."
-#. Tag: para
-#: basic_mapping.xml:258
-#, no-c-format
+#: index.docbook:258
msgid ""
"<literal>dynamic-update</literal> (optional, defaults to
<literal>false</"
"literal>): Specifies that <literal>UPDATE</literal> SQL should be
generated "
@@ -556,12 +583,10 @@
msgstr ""
"<literal>dynamic-update</literal> (opcional, por defecto a
<literal>false</"
"literal>): Especifica que el SQL <literal>UPDATE</literal> debe ser
generado "
-"en tiempo de ejecución y contener solamente aquellas columnas cuyo valor "
-"haya cambiado."
+"en tiempo de ejecución y contener solamente aquellas columnas cuyo
"
+"valor haya cambiado."
-#. Tag: para
-#: basic_mapping.xml:265
-#, no-c-format
+#: index.docbook:265
msgid ""
"<literal>dynamic-insert</literal> (optional, defaults to
<literal>false</"
"literal>): Specifies that <literal>INSERT</literal> SQL should be
generated "
@@ -569,12 +594,10 @@
msgstr ""
"<literal>dynamic-insert</literal> (opcional, por defecto a
<literal>false</"
"literal>): Especifica que el SQL <literal>INSERT</literal> debe ser
generado "
-"en tiempo de ejecución y contener solamente aquellas columnas cuyo valores "
-"no son nulos."
+"en tiempo de ejecución y contener solamente aquellas columnas cuyo
"
+"valores no son nulos."
-#. Tag: para
-#: basic_mapping.xml:272
-#, no-c-format
+#: index.docbook:272
msgid ""
"<literal>select-before-update</literal> (optional, defaults to "
"<literal>false</literal>): Specifies that Hibernate should
<emphasis>never</"
@@ -589,37 +612,31 @@
"<literal>false</literal>): Especifica que Hibernate
<emphasis>nunca</"
"emphasis> debe realizar un SQL <literal>UPDATE</literal> a menos que
se "
"tenga certeza que un objeto haya sido modificado realmente. En ciertos "
-"casos, (realmente, sólo cuando un objeto transitorio ha sido asociado con "
-"una sesión nueva usando <literal>update()</literal>), esto significa
que "
-"Hibernate realizará una SQL <literal>SELECT</literal> extra para
determinar "
-"si un <literal>UPDATE</literal> es realmente requerido."
+"casos, (realmente, sólo cuando un objeto transitorio ha sido asociado
"
+"con una sesión nueva usando <literal>update()</literal>),
esto "
+"significa que Hibernate realizará una SQL
<literal>SELECT</literal> "
+"extra para determinar si un <literal>UPDATE</literal> es realmente
requerido."
-#. Tag: para
-#: basic_mapping.xml:282
-#, no-c-format
+#: index.docbook:282
msgid ""
"<literal>polymorphism</literal> (optional, defaults to
<literal>implicit</"
"literal>): Determines whether implicit or explicit query polymorphism is "
"used."
msgstr ""
"<literal>polymorphism</literal> (opcional, por defecto a
<literal>implicit</"
-"literal>): Determina si se usa polimorfismo de consulta implícito o "
-"explícito."
+"literal>): Determina si se usa polimorfismo de consulta implícito o
"
+"explícito."
-#. Tag: para
-#: basic_mapping.xml:288
-#, no-c-format
+#: index.docbook:288
msgid ""
"<literal>where</literal> (optional) specify an arbitrary SQL
<literal>WHERE</"
"literal> condition to be used when retrieving objects of this class"
msgstr ""
-"<literal>where</literal> (opcional) especifica una condición SQL
"
+"<literal>where</literal> (opcional) especifica una condición
SQL "
"<literal>WHERE</literal> arbitraria paraa ser usada al recuperar
objetos de "
"esta clase."
-#. Tag: para
-#: basic_mapping.xml:294
-#, no-c-format
+#: index.docbook:294
msgid ""
"<literal>persister</literal> (optional): Specifies a custom "
"<literal>ClassPersister</literal>."
@@ -627,20 +644,16 @@
"<literal>persister</literal> (opcional): Especifica un "
"<literal>ClassPersister</literal> personalizado."
-#. Tag: para
-#: basic_mapping.xml:299
-#, no-c-format
+#: index.docbook:299
msgid ""
"<literal>batch-size</literal> (optional, defaults to
<literal>1</literal>) "
"specify a \"batch size\" for fetching instances of this class by
identifier."
msgstr ""
"<literal>batch-size</literal> (opcional, por defecto a
<literal>1</literal>) "
-"especifica un \"tamaño de lote\" para traer instancias de esta clase por
"
-"identificador."
+"especifica un \"tamaño de lote\" para traer instancias de esta
clase "
+"por identificador."
-#. Tag: para
-#: basic_mapping.xml:305
-#, no-c-format
+#: index.docbook:305
msgid ""
"<literal>optimistic-lock</literal> (optional, defaults to
<literal>version</"
"literal>): Determines the optimistic locking strategy."
@@ -648,19 +661,16 @@
"<literal>optimistic-lock</literal> (opcional, por defecto a "
"<literal>version</literal>): Determina la estrategia optimista de
bloqueo."
-#. Tag: para
-#: basic_mapping.xml:311
-#, no-c-format
+#: index.docbook:311
msgid ""
"<literal>lazy</literal> (optional): Lazy fetching may be completely
disabled "
"by setting <literal>lazy=\"false\"</literal>."
msgstr ""
-"<literal>lazy</literal> (opcional): La recuperación perezosa puede ser
"
-"deshabilitada por completo estableciendo
<literal>lazy=\"false\"</literal>."
+"<literal>lazy</literal> (opcional): La recuperación perezosa
puede "
+"ser deshabilitada por completo estableciendo
<literal>lazy=\"false\"</"
+"literal>."
-#. Tag: para
-#: basic_mapping.xml:317
-#, no-c-format
+#: index.docbook:317
msgid ""
"<literal>entity-name</literal> (optional, defaults to the class name):
"
"Hibernate3 allows a class to be mapped multiple times (to different tables, "
@@ -672,25 +682,21 @@
"<literal>entity-name</literal> (opcional): Hibernate3 permite que una
clase "
"sea mapeada varias veces (potencialmente a tablas diferentes), y permite que
"
"los mapeos de entidad sean representados por Maps o XML al nivel de Java. En
"
-"estos casos, debes proveer un nombre explícito arbitrario para la entidad. "
-"Para más información, mira <xref
linkend=\"persistent-classes-dynamicmodels"
-"\"/> y <xref linkend=\"xml\"/>."
+"estos casos, debes proveer un nombre explícito arbitrario para la
"
+"entidad. Para más información, mira <xref
linkend=\"persistent-"
+"classes-dynamicmodels\"/> y <xref linkend=\"xml\"/>."
-#. Tag: para
-#: basic_mapping.xml:327
-#, no-c-format
+#: index.docbook:327
msgid ""
"<literal>check</literal> (optional): A SQL expression used to generate
a "
"multi-row <emphasis>check</emphasis> constraint for automatic schema
"
"generation."
msgstr ""
-"<literal>check</literal> (opcional): Una expresión SQL usada para
generar "
-"una restricción <emphasis>check</emphasis> multi-fila para la
generación "
-"automática de esquema."
+"<literal>check</literal> (opcional): Una expresión SQL usada
para "
+"generar una restricción <emphasis>check</emphasis>
multi-fila para la "
+"generación automática de esquema."
-#. Tag: para
-#: basic_mapping.xml:333
-#, no-c-format
+#: index.docbook:333
msgid ""
"<literal>rowid</literal> (optional): Hibernate can use so called ROWIDs
on "
"databases which support. E.g. on Oracle, Hibernate can use the "
@@ -701,36 +707,30 @@
"<literal>rowid</literal> (opcional): Hibernate puede usar los llamados
"
"ROWIDs en las bases de datos que los soporten. Por ejemplo, en Oracle, "
"Hibernate puede usar la columna extra <literal>rowid</literal> para
"
-"actualizaciones rápidas si estableces esta opción a
<literal>rowid</"
-"literal>. Un ROWID es un detalle de implementación y representa la posición
"
-"física de la tupla almacenada."
+"actualizaciones rápidas si estableces esta opción a "
+"<literal>rowid</literal>. Un ROWID es un detalle de
implementación y "
+"representa la posición física de la tupla almacenada."
-#. Tag: para
-#: basic_mapping.xml:341
-#, no-c-format
+#: index.docbook:341
msgid ""
"<literal>subselect</literal> (optional): Maps an immutable and
read-only "
"entity to a database subselect. Useful if you want to have a view instead of
"
"a base table, but don't. See below for more information."
msgstr ""
"<literal>subselect</literal> (opcional): Mapea una entidad inmutable y
de "
-"sólo lectura a una subselect de base de datos. Es útil si quieres tener una "
-"vista en vez de una tabla base, pero no tienes vistas. Mira debajo para más "
-"información."
+"sólo lectura a una subselect de base de datos. Es útil si
"
+"quieres tener una vista en vez de una tabla base, pero no tienes vistas. "
+"Mira debajo para más información."
-#. Tag: para
-#: basic_mapping.xml:348
-#, no-c-format
+#: index.docbook:348
msgid ""
"<literal>abstract</literal> (optional): Used to mark abstract
superclasses "
"in <literal><union-subclass></literal>
hierarchies."
msgstr ""
"<literal>abstract</literal> (opcional): Usado para marcar superclases
"
-"abstractas en jerarquías
<literal><union-subclass></literal>."
+"abstractas en jerarquías
<literal><union-subclass></literal>."
-#. Tag: para
-#: basic_mapping.xml:356
-#, no-c-format
+#: index.docbook:356
msgid ""
"It is perfectly acceptable for the named persistent class to be an "
"interface. You would then declare implementing classes of that interface "
@@ -739,27 +739,23 @@
"using the standard form ie. <literal>eg.Foo$Bar</literal>."
msgstr ""
"Es perfectamente aceptable que la clase persistente mencionada sea una "
-"interface. Entonces declararías clases que implementan esa interface usando "
-"el elemento <literal><subclass></literal>. Puedes
persistir cualquier "
-"clase interna <emphasis>estática</emphasis>. Debes especificar el
nombre de "
-"la clase usando la forma estándar. Por ejemplo,
<literal>eg.Foo$Bar</"
-"literal>."
+"interface. Entonces declararías clases que implementan esa interface
"
+"usando el elemento <literal><subclass></literal>. Puedes
persistir "
+"cualquier clase interna <emphasis>estática</emphasis>. Debes
"
+"especificar el nombre de la clase usando la forma estándar. Por "
+"ejemplo, <literal>eg.Foo$Bar</literal>."
-#. Tag: para
-#: basic_mapping.xml:363
-#, no-c-format
+#: index.docbook:363
msgid ""
"Immutable classes, <literal>mutable=\"false\"</literal>, may
not be updated "
"or deleted by the application. This allows Hibernate to make some minor "
"performance optimizations."
msgstr ""
"Las clases inmutables, <literal>mutable=\"false\"</literal>,
no pueden ser "
-"actualizadas o borradas por la aplicación. Esto permite a Hibernate hacer "
-"ciertas optimizaciones menores de rendimiento."
+"actualizadas o borradas por la aplicación. Esto permite a Hibernate
"
+"hacer ciertas optimizaciones menores de rendimiento."
-#. Tag: para
-#: basic_mapping.xml:368
-#, no-c-format
+#: index.docbook:368
msgid ""
"The optional <literal>proxy</literal> attribute enables lazy
initialization "
"of persistent instances of the class. Hibernate will initially return CGLIB "
@@ -767,15 +763,14 @@
"will be loaded when a method of the proxy is invoked. See \"Initializing
"
"collections and proxies\" below."
msgstr ""
-"El atributo opcional <literal>proxy</literal> habilita la
inicialización "
-"postergada de instancias persistentes de la clase. Hibernate inicialmente "
-"retornará proxies CGLIB que implementan la interface mencionada. El objeto "
-"persistente real será cargado cuando se invoque un método del proxy. Mira "
-"\"Proxies para Inicialización Postergada\" debajo."
+"El atributo opcional <literal>proxy</literal> habilita la "
+"inicialización postergada de instancias persistentes de la clase.
"
+"Hibernate inicialmente retornará proxies CGLIB que implementan la
"
+"interface mencionada. El objeto persistente real será cargado cuando
"
+"se invoque un método del proxy. Mira \"Proxies para "
+"Inicialización Postergada\" debajo."
-#. Tag: para
-#: basic_mapping.xml:375
-#, no-c-format
+#: index.docbook:375
msgid ""
"<emphasis>Implicit</emphasis> polymorphism means that instances of the
class "
"will be returned by a query that names any superclass or implemented "
@@ -791,24 +786,24 @@
"table (this allows a \"lightweight\" class that contains a subset of the
"
"table columns)."
msgstr ""
-"Por polimorfismo <emphasis>implícito</emphasis> se entiende que las
"
-"instancias de la clase serán devueltas por una consulta que mencione "
+"Por polimorfismo <emphasis>implícito</emphasis> se entiende
que las "
+"instancias de la clase serán devueltas por una consulta que mencione
"
"cualquier superclase, o interface implementada, o la clase misma; y que las "
-"instancias de cualquier subclase de la clase serán devueltas por una clase "
-"que mencione a la clase en sí. Por polimorfismo
<emphasis>explícito</"
-"emphasis> se entiende que instancias de la clase serán devueltas sólo por
"
-"consultas que mencionen explícitamente la clase; y que las consultas que "
-"mencionen la clase devolverán sólo instancias de subclases mapeadas dentro "
-"de esta declaración <literal><class></literal> como una
<literal><"
-"subclass></literal> o
<literal><joined-subclass></literal>. Para la "
-"mayoría de los propósitos el defecto,
<literal>polymorphism=\"implicit\"</"
-"literal>, resulta apropiado. El polimorfismo explícito es útil cuando dos
"
-"clases diferentes están mapeadas a la misma tabla (esto permite tener una "
-"clase \"liviana\" que contenga un subconjunto de columnas de la
tabla)."
+"instancias de cualquier subclase de la clase serán devueltas por una
"
+"clase que mencione a la clase en sí. Por polimorfismo "
+"<emphasis>explícito</emphasis> se entiende que instancias de
la clase "
+"serán devueltas sólo por consultas que mencionen
explí"
+"citamente la clase; y que las consultas que mencionen la clase "
+"devolverán sólo instancias de subclases mapeadas dentro de
"
+"esta declaración <literal><class></literal>
como una "
+"<literal><subclass></literal> o
<literal><joined-subclass></"
+"literal>. Para la mayoría de los propósitos el defecto,
"
+"<literal>polymorphism=\"implicit\"</literal>, resulta
apropiado. El "
+"polimorfismo explícito es útil cuando dos clases diferentes
"
+"están mapeadas a la misma tabla (esto permite tener una clase "
+"\"liviana\" que contenga un subconjunto de columnas de la tabla)."
-#. Tag: para
-#: basic_mapping.xml:387
-#, no-c-format
+#: index.docbook:387
msgid ""
"The <literal>persister</literal> attribute lets you customize the
"
"persistence strategy used for the class. You may, for example, specify your "
@@ -822,16 +817,14 @@
"El atributo <literal>persister</literal> te permite personalizar la
"
"estrategia de persistencia para la clase. Puedes, por ejemplo, especificar "
"tu propia subclase de
<literal>org.hibernate.persister.EntityPersister</"
-"literal> o incluso puedes proveer una implementación completamente nueva de
"
-"la interface <literal>org.hibernate.persister.ClassPersister</literal>
que "
-"implemente la persistencia por medio, por ejemplo, de llamadas a "
-"procedimientos almacenados, serialización a ficheros planos o LDAP. Para un "
-"ejemplo simple (de persistencia a una <literal>Hashtable</literal>)
mira "
-"<literal>org.hibernate.test.CustomPersister</literal>."
+"literal> o incluso puedes proveer una implementación completamente
"
+"nueva de la interface
<literal>org.hibernate.persister.ClassPersister</"
+"literal> que implemente la persistencia por medio, por ejemplo, de llamadas
"
+"a procedimientos almacenados, serialización a ficheros planos o LDAP.
"
+"Para un ejemplo simple (de persistencia a una
<literal>Hashtable</literal>) "
+"mira <literal>org.hibernate.test.CustomPersister</literal>."
-#. Tag: para
-#: basic_mapping.xml:398
-#, no-c-format
+#: index.docbook:398
msgid ""
"Note that the <literal>dynamic-update</literal> and
<literal>dynamic-insert</"
"literal> settings are not inherited by subclasses and so may also be "
@@ -844,48 +837,40 @@
"<literal>dynamic-insert</literal> no son heredados por las subclases y
por "
"lo tanto deben especificarse en los elementos
<literal><subclass></"
"literal> o <literal><joined-subclass></literal>. Estos
ajustes pueden "
-"incrementar el rendimiento en algunos casos, pero podrían mermarlo en otros.
"
-"Ten juicio en su uso."
+"incrementar el rendimiento en algunos casos, pero podrían mermarlo en
"
+"otros. Ten juicio en su uso."
-#. Tag: para
-#: basic_mapping.xml:406
-#, no-c-format
+#: index.docbook:406
msgid ""
"Use of <literal>select-before-update</literal> will usually decrease
"
"performance. It is very useful to prevent a database update trigger being "
"called unnecessarily if you reattach a graph of detached instances to a "
"<literal>Session</literal>."
msgstr ""
-"Generalmente el uso de <literal>select-before-update</literal>
disminuirá el "
-"rendimiento. Es muy útil prevenir que se llame innecesariamente a un "
-"disparador de actualización de base de datos al volver a unir un grafo de "
-"instancias separadas a una <literal>Session</literal>."
+"Generalmente el uso de <literal>select-before-update</literal> "
+"disminuirá el rendimiento. Es muy útil prevenir que se llame
"
+"innecesariamente a un disparador de actualización de base de datos al
"
+"volver a unir un grafo de instancias separadas a una
<literal>Session</"
+"literal>."
-#. Tag: para
-#: basic_mapping.xml:412
-#, no-c-format
+#: index.docbook:412
msgid ""
"If you enable <literal>dynamic-update</literal>, you will have a choice
of "
"optimistic locking strategies:"
msgstr ""
-"Si habilitas <literal>dynamic-update</literal>, tendrás opción de
"
-"estrategias de bloqueo optimistas:"
+"Si habilitas <literal>dynamic-update</literal>, tendrás
opción "
+"de estrategias de bloqueo optimistas:"
-#. Tag: para
-#: basic_mapping.xml:418
-#, no-c-format
+#: index.docbook:418
msgid "<literal>version</literal> check the version/timestamp
columns"
-msgstr "<literal>version</literal> chequea las columnas de
versión/timestamp"
+msgstr ""
+"<literal>version</literal> chequea las columnas de
versión/timestamp"
-#. Tag: para
-#: basic_mapping.xml:423
-#, no-c-format
+#: index.docbook:423
msgid "<literal>all</literal> check all columns"
msgstr "<literal>all</literal> chequea todas las columnas"
-#. Tag: para
-#: basic_mapping.xml:428
-#, no-c-format
+#: index.docbook:428
msgid ""
"<literal>dirty</literal> check the changed columns, allowing some
concurrent "
"updates"
@@ -893,15 +878,11 @@
"<literal>dirty</literal> chequea las columnas modificadas, permitiendo
"
"algunas actualizaciones concurrentes"
-#. Tag: para
-#: basic_mapping.xml:433
-#, no-c-format
+#: index.docbook:433
msgid "<literal>none</literal> do not use optimistic locking"
msgstr "<literal>none</literal> no usa bloqueo optimista"
-#. Tag: para
-#: basic_mapping.xml:438
-#, no-c-format
+#: index.docbook:438
msgid ""
"We <emphasis>very</emphasis> strongly recommend that you use
version/"
"timestamp columns for optimistic locking with Hibernate. This is the optimal
"
@@ -910,14 +891,13 @@
"merge()</literal> is used)."
msgstr ""
"Recomendamos <emphasis>muy</emphasis> fuertemente que uses columnas de
"
-"versión/timestamp para bloqueo optimista con Hibernate. Esta es la "
-"estrategia óptima con respecto al rendimiento y es la única estrategia que "
-"maneja correctamente las modificaciones hechas a las instancias separadas. "
-"(por ejemplo, cuando se usa <literal>Session.merge()</literal>)."
+"versión/timestamp para bloqueo optimista con Hibernate. Esta es la
"
+"estrategia óptima con respecto al rendimiento y es la única
"
+"estrategia que maneja correctamente las modificaciones hechas a las "
+"instancias separadas. (por ejemplo, cuando se usa
<literal>Session.merge()</"
+"literal>)."
-#. Tag: para
-#: basic_mapping.xml:445
-#, no-c-format
+#: index.docbook:445
msgid ""
"There is no difference between a view and a base table for a Hibernate "
"mapping, as expected this is transparent at the database level (note that "
@@ -931,12 +911,10 @@
"que algunos DBMS no soportan correctamente las vistas, especialmente con las
"
"actualizaciones). A veces quieres usar una vista, pero no puedes crear una "
"en la base de datos (por ejemplo, con un esquema heredado). En este caso, "
-"puedes mapear una entidad inmutable de sólo lectura a una expresión de "
-"subconsulta SQL dada."
+"puedes mapear una entidad inmutable de sólo lectura a una "
+"expresión de subconsulta SQL dada."
-#. Tag: programlisting
-#: basic_mapping.xml:453
-#, no-c-format
+#: index.docbook:453
msgid ""
"<![CDATA[<class name=\"Summary\">\n"
" <subselect>\n"
@@ -951,10 +929,20 @@
" ...\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Summary\">\n"
+" <subselect>\n"
+" select item.name, max(bid.amount), count(*)\n"
+" from item\n"
+" join bid on bid.item_id = item.id\n"
+" group by item.name\n"
+" </subselect>\n"
+" <synchronize table=\"item\"/>\n"
+" <synchronize table=\"bid\"/>\n"
+" <id name=\"name\"/>\n"
+" ...\n"
+"</class>]]>"
-#. Tag: para
-#: basic_mapping.xml:455
-#, no-c-format
+#: index.docbook:455
msgid ""
"Declare the tables to synchronize this entity with, ensuring that auto-flush
"
"happens correctly, and that queries against the derived entity do not return
"
@@ -964,18 +952,14 @@
"Declara las tablas con las que sincronizar esta entidad, asegurando que el "
"auto-flush ocurre correctamente, y que las consultas contra la entidad "
"derivada no devuelven datos desactualizados. El
<literal><subselect></"
-"literal> está disponible tanto como un atributo o como un elemento anidado
"
-"de mapeo."
+"literal> está disponible tanto como un atributo o como un elemento
"
+"anidado de mapeo."
-#. Tag: title
-#: basic_mapping.xml:465
-#, no-c-format
+#: index.docbook:465
msgid "<title>id</title>"
-msgstr ""
+msgstr "<title>id</title>"
-#. Tag: para
-#: basic_mapping.xml:467
-#, no-c-format
+#: index.docbook:467
msgid ""
"Mapped classes <emphasis>must</emphasis> declare the primary key column
of "
"the database table. Most classes will also have a JavaBeans-style property "
@@ -984,14 +968,12 @@
"column."
msgstr ""
"Las clases mapeadas <emphasis>deben</emphasis> declarar la columna de
clave "
-"primaria de la tabla de la base de datos. En la mayoría de los casos tendrá "
-"también una propiedad estilo Javabeans que tenga el identificador único de "
-"una instancia. El elemento <literal><id></literal> define
el mapeo de "
-"esa propiedad a la columna de clave primaria."
+"primaria de la tabla de la base de datos. En la mayoría de los casos
"
+"tendrá también una propiedad estilo Javabeans que tenga el
"
+"identificador único de una instancia. El elemento
<literal><id>"
+"</literal> define el mapeo de esa propiedad a la columna de clave
primaria."
-#. Tag: programlisting
-#: basic_mapping.xml:482
-#, no-c-format
+#: index.docbook:482
msgid ""
"<![CDATA[<id\n"
" name=\"propertyName\"\n"
@@ -1004,27 +986,31 @@
" <generator class=\"generatorClass\"/>\n"
"</id>]]>"
msgstr ""
+"<![CDATA[<id\n"
+" name=\"propertyName\"\n"
+" type=\"typename\"\n"
+" column=\"column_name\"\n"
+" unsaved-value=\"null|any|none|undefined|id_value\"\n"
+" access=\"field|property|ClassName\"\n"
+"
node=\"element-name|@attribute-name|element/(a)attribute|.\">\n"
+"\n"
+" <generator class=\"generatorClass\"/>\n"
+"</id>]]>"
-#. Tag: para
-#: basic_mapping.xml:485
-#, no-c-format
+#: index.docbook:485
msgid ""
"<literal>name</literal> (optional): The name of the identifier
property."
msgstr ""
"<literal>name</literal> (opcional): El nombre de la propiedad del
"
"indentificador."
-#. Tag: para
-#: basic_mapping.xml:490
-#, no-c-format
+#: index.docbook:490
msgid ""
"<literal>type</literal> (optional): A name that indicates the Hibernate
type."
msgstr ""
"<literal>type</literal> (opcional): Un nombre que indica el tipo
Hibernate."
-#. Tag: para
-#: basic_mapping.xml:495
-#, no-c-format
+#: index.docbook:495
msgid ""
"<literal>column</literal> (optional - defaults to the property name):
The "
"name of the primary key column."
@@ -1032,9 +1018,7 @@
"<literal>column</literal> (opcional - por defecto al nombre de la
"
"propiedad): El nombre de la columna de clave primaria."
-#. Tag: para
-#: basic_mapping.xml:501
-#, no-c-format
+#: index.docbook:501
msgid ""
"<literal>unsaved-value</literal> (optional - defaults to a
\"sensible\" "
"value): An identifier property value that indicates that an instance is "
@@ -1043,59 +1027,23 @@
msgstr ""
"<literal>unsaved-value</literal> (opcional - por defecto al valor
\"sensible"
"\"): Una valor de la propiedad identificadora que indica que una instancia
"
-"está recién instanciada (sin salvar), distinguiéndola de instancias "
-"separadas que fueran salvadas o cargadas en una sesión previa."
+"está recién instanciada (sin salvar),
distinguiéndola "
+"de instancias separadas que fueran salvadas o cargadas en una sesión
"
+"previa."
-#. Tag: para
-#: basic_mapping.xml:509 basic_mapping.xml:1017 basic_mapping.xml:1156
-#: basic_mapping.xml:1238 basic_mapping.xml:1345 basic_mapping.xml:1534
-#: basic_mapping.xml:1708 basic_mapping.xml:1878 basic_mapping.xml:2457
-#, fuzzy, no-c-format
+#: index.docbook:509, index.docbook:1017, index.docbook:1156,
+#: index.docbook:1238, index.docbook:1345, index.docbook:1534,
+#: index.docbook:1708, index.docbook:1878, index.docbook:2457
msgid ""
"<literal>access</literal> (optional - defaults to
<literal>property</"
"literal>): The strategy Hibernate should use for accessing the property "
"value."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
"<literal>access</literal> (opcional - por defecto a
<literal>property</"
"literal>): La estrategia que Hibernate debe usar para acceder al valor de la
"
-"propiedad.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (optional - defaults to
<literal>property</"
-"literal>): The strategy Hibernate should use for accessing the property "
-"value.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (opcional - por defecto a
<literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la
"
-"propiedad.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (opcional - por defecto a
<literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la
"
-"propiedad.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (opcional - por defecto a
<literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la
"
-"propiedad.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (opcional - por defecto a
<literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la
"
-"propiedad.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (opcional - por defecto a
<literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la
"
-"propiedad.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (opcional - por defecto a
<literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la
"
-"propiedad.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (opcional - por defecto a
<literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la
"
"propiedad."
-#. Tag: para
-#: basic_mapping.xml:517
-#, no-c-format
+#: index.docbook:517
msgid ""
"If the <literal>name</literal> attribute is missing, it is assumed that
the "
"class has no identifier property."
@@ -1103,9 +1051,7 @@
"Si se omite el atributo <literal>name</literal>, se asume que la clase
no "
"tiene propiedad identificadora."
-#. Tag: para
-#: basic_mapping.xml:522
-#, no-c-format
+#: index.docbook:522
msgid ""
"The <literal>unsaved-value</literal> attribute is almost never needed
in "
"Hibernate3."
@@ -1114,27 +1060,21 @@
"identificadora de tu clase no tiene por defecto el valor por defecto normal "
"de Java (null o cero), entonces debes especificar el valor por defecto real."
-#. Tag: para
-#: basic_mapping.xml:526
-#, no-c-format
+#: index.docbook:526
msgid ""
"There is an alternative <literal><composite-id></literal>
declaration "
"to allow access to legacy data with composite keys. We strongly discourage "
"its use for anything else."
msgstr ""
-"Hay una declaración <literal><composite-id></literal>
alternativa para "
-"permitir acceso a datos heredados con claves compuestas. Desalentamos "
-"fuertemente su uso para cualquier otra cosa."
+"Hay una declaración
<literal><composite-id></literal> "
+"alternativa para permitir acceso a datos heredados con claves compuestas. "
+"Desalentamos fuertemente su uso para cualquier otra cosa."
-#. Tag: title
-#: basic_mapping.xml:532
-#, no-c-format
+#: index.docbook:532
msgid "Generator"
msgstr "Generator"
-#. Tag: para
-#: basic_mapping.xml:534
-#, no-c-format
+#: index.docbook:534
msgid ""
"The optional <literal><generator></literal> child element
names a Java "
"class used to generate unique identifiers for instances of the persistent "
@@ -1143,14 +1083,12 @@
"literal> element."
msgstr ""
"El elemento hijo opcional <literal><generator></literal>
nombra una "
-"clase Java usada en generar identificadores únicos para instancias de la "
-"clase persistente. De requerirse algún parámetro para configurar o "
-"inicializar la instancia del generador, se pasa usando el elemento "
-"<literal><param></literal>."
+"clase Java usada en generar identificadores únicos para instancias de
"
+"la clase persistente. De requerirse algún parámetro para
"
+"configurar o inicializar la instancia del generador, se pasa usando el "
+"elemento <literal><param></literal>."
-#. Tag: programlisting
-#: basic_mapping.xml:541
-#, no-c-format
+#: index.docbook:541
msgid ""
"<![CDATA[<id name=\"id\" type=\"long\"
column=\"cat_id\">\n"
" <generator
class=\"org.hibernate.id.TableHiLoGenerator\">\n"
@@ -1159,10 +1097,14 @@
" </generator>\n"
"</id>]]>"
msgstr ""
+"<![CDATA[<id name=\"id\" type=\"long\"
column=\"cat_id\">\n"
+" <generator
class=\"org.hibernate.id.TableHiLoGenerator\">\n"
+" <param
name=\"table\">uid_table</param>\n"
+" <param
name=\"column\">next_hi_value_column</param>\n"
+" </generator>\n"
+"</id>]]>"
-#. Tag: para
-#: basic_mapping.xml:543
-#, fuzzy, no-c-format
+#: index.docbook:543
msgid ""
"All generators implement the interface <literal>org.hibernate.id."
"IdentifierGenerator</literal>. This is a very simple interface; some "
@@ -1174,18 +1116,13 @@
"IdentifierGenerator</literal>. Esta es una interface muy simple; algunas
"
"aplicaciones pueden escoger proveer sus propias implementaciones "
"especializadas. Sin embargo, Hibernate provee un rango de implementaciones "
-"prefabricadas. Hay nombres alias de atajo para los generadores "
-"prefabricados: <placeholder-1/>"
+"prefabricadas. Hay nombres alias de atajo para los generadores
prefabricados:"
-#. Tag: literal
-#: basic_mapping.xml:551
-#, no-c-format
+#: index.docbook:551
msgid "increment"
msgstr "increment"
-#. Tag: para
-#: basic_mapping.xml:553
-#, no-c-format
+#: index.docbook:553
msgid ""
"generates identifiers of type <literal>long</literal>,
<literal>short</"
"literal> or <literal>int</literal> that are unique only when no
other "
@@ -1193,19 +1130,15 @@
"cluster.</emphasis>"
msgstr ""
"genera indentificadores de tipo <literal>long</literal>,
<literal>short</"
-"literal> o <literal>int</literal> que sólo son únicos cuando ningún
otro "
-"proceso está insertando datos en la misma tabla. <emphasis>No usar en un
"
-"cluster.</emphasis>"
+"literal> o <literal>int</literal> que sólo son
únicos cuando "
+"ningún otro proceso está insertando datos en la misma tabla.
"
+"<emphasis>No usar en un cluster.</emphasis>"
-#. Tag: literal
-#: basic_mapping.xml:562
-#, no-c-format
+#: index.docbook:562
msgid "identity"
msgstr "identity"
-#. Tag: para
-#: basic_mapping.xml:564
-#, no-c-format
+#: index.docbook:564
msgid ""
"supports identity columns in DB2, MySQL, MS SQL Server, Sybase and "
"HypersonicSQL. The returned identifier is of type
<literal>long</literal>, "
@@ -1215,15 +1148,11 @@
"HypersonicSQL. El identificador devuelto es de tipo
<literal>long</literal>, "
"<literal>short</literal> o <literal>int</literal>."
-#. Tag: literal
-#: basic_mapping.xml:572
-#, no-c-format
+#: index.docbook:572
msgid "sequence"
msgstr "sequence"
-#. Tag: para
-#: basic_mapping.xml:574
-#, no-c-format
+#: index.docbook:574
msgid ""
"uses a sequence in DB2, PostgreSQL, Oracle, SAP DB, McKoi or a generator in "
"Interbase. The returned identifier is of type <literal>long</literal>,
"
@@ -1233,15 +1162,11 @@
"en Interbase. El identificador devuelto es de tipo
<literal>long</literal>, "
"<literal>short</literal> o <literal>int</literal>."
-#. Tag: literal
-#: basic_mapping.xml:582
-#, no-c-format
+#: index.docbook:582
msgid "hilo"
msgstr "hilo"
-#. Tag: para
-#: basic_mapping.xml:584
-#, no-c-format
+#: index.docbook:584
msgid ""
"uses a hi/lo algorithm to efficiently generate identifiers of type "
"<literal>long</literal>, <literal>short</literal> or
<literal>int</literal>, "
@@ -1255,17 +1180,13 @@
"literal>, dada una tabla y columna como fuente de valores altos (por defecto
"
"<literal>hibernate_unique_key</literal> y
<literal>next_hi</literal> "
"respectivamente). El algoritmo alto/bajo genera identificadores que son "
-"únicos sólo para una base de datos particular."
+"únicos sólo para una base de datos particular."
-#. Tag: literal
-#: basic_mapping.xml:594
-#, no-c-format
+#: index.docbook:594
msgid "seqhilo"
msgstr "seqhilo"
-#. Tag: para
-#: basic_mapping.xml:596
-#, no-c-format
+#: index.docbook:596
msgid ""
"uses a hi/lo algorithm to efficiently generate identifiers of type "
"<literal>long</literal>, <literal>short</literal> or
<literal>int</literal>, "
@@ -1275,46 +1196,34 @@
"tipo <literal>long</literal>, <literal>short</literal> o
<literal>int</"
"literal>, dada una secuencia de base de datos."
-#. Tag: literal
-#: basic_mapping.xml:604
-#, no-c-format
+#: index.docbook:604
msgid "uuid"
msgstr "uuid"
-#. Tag: para
-#: basic_mapping.xml:606
-#, no-c-format
+#: index.docbook:606
msgid ""
"uses a 128-bit UUID algorithm to generate identifiers of type string, unique
"
"within a network (the IP address is used). The UUID is encoded as a string "
"of hexadecimal digits of length 32."
msgstr ""
"usa un algoritmo UUID de 128 bits para generar identificadore de tipo "
-"cadena, únicos en una ref (se usa la direccón IP). El UUID se codifica como "
-"una cadena hexadecimal de 32 dígitos de largo."
+"cadena, únicos en una ref (se usa la direccón IP). El UUID se
"
+"codifica como una cadena hexadecimal de 32 dígitos de largo."
-#. Tag: literal
-#: basic_mapping.xml:614
-#, no-c-format
+#: index.docbook:614
msgid "guid"
msgstr "guid"
-#. Tag: para
-#: basic_mapping.xml:616
-#, no-c-format
+#: index.docbook:616
msgid "uses a database-generated GUID string on MS SQL Server and MySQL."
msgstr ""
"usa una cadena GUID generada por base de datos en MS SQL Server y MySQL."
-#. Tag: literal
-#: basic_mapping.xml:622
-#, no-c-format
+#: index.docbook:622
msgid "native"
msgstr "native"
-#. Tag: para
-#: basic_mapping.xml:624
-#, no-c-format
+#: index.docbook:624
msgid ""
"picks <literal>identity</literal>,
<literal>sequence</literal> or "
"<literal>hilo</literal> depending upon the capabilities of the
underlying "
@@ -1324,68 +1233,52 @@
"<literal>hilo</literal> dependiendo de las capacidades de la base de
datos "
"subyacente."
-#. Tag: literal
-#: basic_mapping.xml:632
-#, no-c-format
+#: index.docbook:632
msgid "assigned"
msgstr "assigned"
-#. Tag: para
-#: basic_mapping.xml:634
-#, no-c-format
+#: index.docbook:634
msgid ""
"lets the application to assign an identifier to the object before "
"<literal>save()</literal> is called. This is the default strategy if no
"
"<literal><generator></literal> element is
specified."
msgstr ""
-"deja a la aplicación asignar un identificador al objeto antes de que se "
-"llame a <literal>save()</literal>. Esta es la estrategia por defecto si
no "
-"se especifica un elemento
<literal><generator></literal>."
+"deja a la aplicación asignar un identificador al objeto antes de que
"
+"se llame a <literal>save()</literal>. Esta es la estrategia por defecto
si "
+"no se especifica un elemento
<literal><generator></literal>."
-#. Tag: literal
-#: basic_mapping.xml:642
-#, no-c-format
+#: index.docbook:642
msgid "select"
msgstr "select"
-#. Tag: para
-#: basic_mapping.xml:644
-#, no-c-format
+#: index.docbook:644
msgid ""
"retrieves a primary key assigned by a database trigger by selecting the row "
"by some unique key and retrieving the primary key value."
msgstr ""
"recupera una clave primaria asignada por un disparador de base de datos "
-"seleccionando la fila por alguna clave única y recuperando el valor de la "
-"clave primaria."
+"seleccionando la fila por alguna clave única y recuperando el valor
"
+"de la clave primaria."
-#. Tag: literal
-#: basic_mapping.xml:651
-#, no-c-format
+#: index.docbook:651
msgid "foreign"
msgstr "foreign"
-#. Tag: para
-#: basic_mapping.xml:653
-#, no-c-format
+#: index.docbook:653
msgid ""
"uses the identifier of another associated object. Usually used in "
"conjunction with a <literal><one-to-one></literal>
primary key "
"association."
msgstr ""
"usa el identificador de otro objeto asociado. Generalmente usado en "
-"conjuncón a una asociacón de clave primaria
<literal><uno-a-uno></"
-"literal>"
+"conjuncón a una asociacón de clave primaria
<literal><uno-a-"
+"uno></literal>"
-#. Tag: literal
-#: basic_mapping.xml:660
-#, no-c-format
+#: index.docbook:660
msgid "sequence-identity"
msgstr "UNTRANSLATED! sequence-identity"
-#. Tag: para
-#: basic_mapping.xml:662
-#, no-c-format
+#: index.docbook:662
msgid ""
"a specialized sequence generation strategy which utilizes a database "
"sequence for the actual value generation, but combines this with JDBC3 "
@@ -1401,15 +1294,11 @@
"supported on Oracle 10g drivers targetted for JDK 1.4. Note comments on "
"these insert statements are disabled due to a bug in the Oracle drivers."
-#. Tag: title
-#: basic_mapping.xml:679
-#, no-c-format
+#: index.docbook:679
msgid "Hi/lo algorithm"
msgstr "Algoritmo alto/bajo"
-#. Tag: para
-#: basic_mapping.xml:680
-#, no-c-format
+#: index.docbook:680
msgid ""
"The <literal>hilo</literal> and <literal>seqhilo</literal>
generators "
"provide two alternate implementations of the hi/lo algorithm, a favorite "
@@ -1419,14 +1308,12 @@
msgstr ""
"Los generadores <literal>hilo</literal> y
<literal>seqhilo</literal> proveen "
"dos implementaciones alternativas del algoritmo alto/bajo, un enfoque "
-"favorito en generación de identificadores. La primera implementación "
-"requiere de una tabla \"especial\" de base de datos para tener el
siguiente "
-"valor \"alto\" disponible. La segunda usa una secuencia del estilo de
Oracle "
-"(donde se soporte)."
+"favorito en generación de identificadores. La primera "
+"implementación requiere de una tabla \"especial\" de base de
datos "
+"para tener el siguiente valor \"alto\" disponible. La segunda usa una
"
+"secuencia del estilo de Oracle (donde se soporte)."
-#. Tag: programlisting
-#: basic_mapping.xml:687
-#, no-c-format
+#: index.docbook:687
msgid ""
"<![CDATA[<id name=\"id\" type=\"long\"
column=\"cat_id\">\n"
" <generator class=\"hilo\">\n"
@@ -1436,10 +1323,15 @@
" </generator>\n"
"</id>]]>"
msgstr ""
+"<![CDATA[<id name=\"id\" type=\"long\"
column=\"cat_id\">\n"
+" <generator class=\"hilo\">\n"
+" <param
name=\"table\">hi_value</param>\n"
+" <param
name=\"column\">next_value</param>\n"
+" <param name=\"max_lo\">100</param>\n"
+" </generator>\n"
+"</id>]]>"
-#. Tag: programlisting
-#: basic_mapping.xml:689
-#, no-c-format
+#: index.docbook:689
msgid ""
"<![CDATA[<id name=\"id\" type=\"long\"
column=\"cat_id\">\n"
" <generator class=\"seqhilo\">\n"
@@ -1448,10 +1340,14 @@
" </generator>\n"
"</id>]]>"
msgstr ""
+"<![CDATA[<id name=\"id\" type=\"long\"
column=\"cat_id\">\n"
+" <generator class=\"seqhilo\">\n"
+" <param
name=\"sequence\">hi_value</param>\n"
+" <param name=\"max_lo\">100</param>\n"
+" </generator>\n"
+"</id>]]>"
-#. Tag: para
-#: basic_mapping.xml:691
-#, no-c-format
+#: index.docbook:691
msgid ""
"Unfortunately, you can't use <literal>hilo</literal> when supplying
your own "
"<literal>Connection</literal> to Hibernate. When Hibernate is using an
"
@@ -1460,41 +1356,33 @@
"manager_lookup_class</literal>."
msgstr ""
"Desafortunadamente, no puedes usar <literal>hilo</literal> cuando le
proveas "
-"tu propia <literal>Connection</literal> a Hibernate. Cuando Hibernate
está "
-"usando un datasource del servidor de aplicaciones para obtener conexiones "
-"alistadas con JTA, debes configurar correctamente el
<literal>hibernate."
-"transaction.manager_lookup_class</literal>."
+"tu propia <literal>Connection</literal> a Hibernate. Cuando Hibernate
"
+"está usando un datasource del servidor de aplicaciones para obtener
"
+"conexiones alistadas con JTA, debes configurar correctamente el "
+"<literal>hibernate.transaction.manager_lookup_class</literal>."
-#. Tag: title
-#: basic_mapping.xml:700
-#, no-c-format
+#: index.docbook:700
msgid "UUID algorithm"
msgstr "Algoritmo UUID"
-#. Tag: para
-#: basic_mapping.xml:701
-#, no-c-format
+#: index.docbook:701
msgid ""
"The UUID contains: IP address, startup time of the JVM (accurate to a "
"quarter second), system time and a counter value (unique within the JVM). "
"It's not possible to obtain a MAC address or memory address from Java code,
"
"so this is the best we can do without using JNI."
msgstr ""
-"El UUID contiene: la dirección IP, el instante de arranque de la JVM (con "
-"una precisión de un cuarto de segundo), el tiempo de sistema y un valor de "
-"contador (único en la JVM). No es posible obtener una dirección MAC o una "
-"dirección de memoria desde código Java, así que esto es lo mejor que podemos
"
-"hacer sin usar JNI."
+"El UUID contiene: la dirección IP, el instante de arranque de la JVM
"
+"(con una precisión de un cuarto de segundo), el tiempo de sistema y
"
+"un valor de contador (único en la JVM). No es posible obtener una
"
+"dirección MAC o una dirección de memoria desde
código "
+"Java, así que esto es lo mejor que podemos hacer sin usar JNI."
-#. Tag: title
-#: basic_mapping.xml:710
-#, no-c-format
+#: index.docbook:710
msgid "Identity columns and sequences"
msgstr "Columnas de identidad y secuencias"
-#. Tag: para
-#: basic_mapping.xml:711
-#, no-c-format
+#: index.docbook:711
msgid ""
"For databases which support identity columns (DB2, MySQL, Sybase, MS SQL), "
"you may use <literal>identity</literal> key generation. For databases
that "
@@ -1503,15 +1391,13 @@
"strategies require two SQL queries to insert a new object."
msgstr ""
"Para las bases de datos que soportan columnas de identidad (DB2, MySQL, "
-"Sybase, MS SQL), puedes usar generación de claves
<literal>identity</"
+"Sybase, MS SQL), puedes usar generación de claves
<literal>identity</"
"literal>. Para las bases de datos que soportan secuencias (DB2, Oracle, "
-"PostgreSQL, Interbase, McKoi, SAP DB) puedes usar la generación de claves "
-"del estilo <literal>sequence</literal>. Ambas estrategias requieren dos
"
-"consultas SQL para insertar un nuevo objeto."
+"PostgreSQL, Interbase, McKoi, SAP DB) puedes usar la generación de
"
+"claves del estilo <literal>sequence</literal>. Ambas estrategias
requieren "
+"dos consultas SQL para insertar un nuevo objeto."
-#. Tag: programlisting
-#: basic_mapping.xml:719
-#, no-c-format
+#: index.docbook:719
msgid ""
"<![CDATA[<id name=\"id\" type=\"long\"
column=\"person_id\">\n"
" <generator class=\"sequence\">\n"
@@ -1519,20 +1405,25 @@
" </generator>\n"
"</id>]]>"
msgstr ""
+"<![CDATA[<id name=\"id\" type=\"long\"
column=\"person_id\">\n"
+" <generator class=\"sequence\">\n"
+" <param
name=\"sequence\">person_id_sequence</param>\n"
+" </generator>\n"
+"</id>]]>"
-#. Tag: programlisting
-#: basic_mapping.xml:721
-#, no-c-format
+#: index.docbook:721
msgid ""
"<![CDATA[<id name=\"id\" type=\"long\"
column=\"person_id\" unsaved-value=\"0"
"\">\n"
" <generator class=\"identity\"/>\n"
"</id>]]>"
msgstr ""
+"<![CDATA[<id name=\"id\" type=\"long\"
column=\"person_id\" unsaved-value=\"0"
+"\">\n"
+" <generator class=\"identity\"/>\n"
+"</id>]]>"
-#. Tag: para
-#: basic_mapping.xml:723
-#, no-c-format
+#: index.docbook:723
msgid ""
"For cross-platform development, the <literal>native</literal> strategy
will "
"choose from the <literal>identity</literal>,
<literal>sequence</literal> and "
@@ -1540,19 +1431,15 @@
"underlying database."
msgstr ""
"Para desarrollos multiplataforma, la estrategia
<literal>native</literal> "
-"eiligirá de entre las estrategias <literal>identity</literal>, "
+"eiligirá de entre las estrategias
<literal>identity</literal>, "
"<literal>sequence</literal> y <literal>hilo</literal>,
dependiendo de las "
"capacidades de la base de datos subyacentes."
-#. Tag: title
-#: basic_mapping.xml:732
-#, no-c-format
+#: index.docbook:732
msgid "Assigned identifiers"
msgstr "Identificadores asignados"
-#. Tag: para
-#: basic_mapping.xml:733
-#, no-c-format
+#: index.docbook:733
msgid ""
"If you want the application to assign identifiers (as opposed to having "
"Hibernate generate them), you may use the <literal>assigned</literal>
"
@@ -1562,17 +1449,15 @@
"default behavior if you do no specify a
<literal><generator></literal> "
"element."
msgstr ""
-"Si quieres que la aplicación asigne los identificadores (en contraposición a
"
-"que los genere Hibernate), puedes usar el generador
<literal>assigned</"
-"literal>. Este generador especial usará el valor identificador ya asignado a
"
-"la propiedad identificadora del objeto. Este generador se usa cuandola clave
"
-"primaria es una clave natural en vez de una clave sustituta. Este es el "
-"comportamiento por defecto si no especificas un elemento
<literal><"
-"generator></literal>."
+"Si quieres que la aplicación asigne los identificadores (en "
+"contraposición a que los genere Hibernate), puedes usar el generador
"
+"<literal>assigned</literal>. Este generador especial usará
el valor "
+"identificador ya asignado a la propiedad identificadora del objeto. Este "
+"generador se usa cuandola clave primaria es una clave natural en vez de una "
+"clave sustituta. Este es el comportamiento por defecto si no especificas un "
+"elemento <literal><generator></literal>."
-#. Tag: para
-#: basic_mapping.xml:742
-#, no-c-format
+#: index.docbook:742
msgid ""
"Choosing the <literal>assigned</literal> generator makes Hibernate use
"
"<literal>unsaved-value=\"undefined\"</literal>, forcing
Hibernate to go to "
@@ -1583,26 +1468,20 @@
"Elegir el generador <literal>assigned</literal> hace que Hibernate use
"
"<literal>unsaved-value=\"undefined\"</literal>, forzando a
Hibernate a ir a "
"la base de datos para determinar si una instancia es transitoria o separada,
"
-"a menos que haya una propiedad de versión o timestamp, o que tu definas "
-"<literal>Interceptor.isUnsaved()</literal>."
+"a menos que haya una propiedad de versión o timestamp, o que tu "
+"definas <literal>Interceptor.isUnsaved()</literal>."
-#. Tag: title
-#: basic_mapping.xml:752
-#, no-c-format
+#: index.docbook:752
msgid "Primary keys assigned by triggers"
msgstr "Claves primarias asignadas por disparadores"
-#. Tag: para
-#: basic_mapping.xml:753
-#, no-c-format
+#: index.docbook:753
msgid ""
"For legacy schemas only (Hibernate does not generate DDL with triggers)."
msgstr ""
"Para esquemas heredados solamente (Hibernate no genera DDL con
disparadores)."
-#. Tag: programlisting
-#: basic_mapping.xml:757
-#, no-c-format
+#: index.docbook:757
msgid ""
"<![CDATA[<id name=\"id\" type=\"long\"
column=\"person_id\">\n"
" <generator class=\"select\">\n"
@@ -1610,30 +1489,29 @@
" </generator>\n"
"</id>]]>"
msgstr ""
+"<![CDATA[<id name=\"id\" type=\"long\"
column=\"person_id\">\n"
+" <generator class=\"select\">\n"
+" <param
name=\"key\">socialSecurityNumber</param>\n"
+" </generator>\n"
+"</id>]]>"
-#. Tag: para
-#: basic_mapping.xml:759
-#, no-c-format
+#: index.docbook:759
msgid ""
"In the above example, there is a unique valued property named "
"<literal>socialSecurityNumber</literal> defined by the class, as a
natural "
"key, and a surrogate key named <literal>person_id</literal> whose value
is "
"generated by a trigger."
msgstr ""
-"En el ejemplo de arriba, hay una propiedad ánica llamada "
+"En el ejemplo de arriba, hay una propiedad ánica llamada "
"<literal>socialSecurityNumber</literal> definida por la clase, como una
"
"clave natural, y una clave sustituta llamada
<literal>person_id</literal> "
"cuyo valor es generado por un disparador."
-#. Tag: title
-#: basic_mapping.xml:771
-#, no-c-format
+#: index.docbook:771
msgid "Enhanced identifier generators"
msgstr "Enhanced identifier generators"
-#. Tag: para
-#: basic_mapping.xml:773
-#, no-c-format
+#: index.docbook:773
msgid ""
"Starting with release 3.2.3, there are 2 new generators which represent a
re-"
"thinking of 2 different aspects of identifier generation. The first aspect "
@@ -1651,9 +1529,7 @@
"described above (starting in 3.3.x); however, they are included in the "
"current releases and can be referenced by FQN."
-#. Tag: para
-#: basic_mapping.xml:781
-#, fuzzy, no-c-format
+#: index.docbook:781
msgid ""
"The first of these new generators is
<literal>org.hibernate.id.enhanced."
"SequenceStyleGenerator</literal> which is intended firstly as a replacement
"
@@ -1685,12 +1561,9 @@
"The difference between this and <literal>native</literal> is that
table-"
"based and sequence-based storage have the same exact semantic (in fact "
"sequences are exactly what Hibernate tries to emmulate with its table-based "
-"generators). This generator has a number of configuration parameters: "
-"<placeholder-1/>"
+"generators). This generator has a number of configuration parameters:"
-#. Tag: para
-#: basic_mapping.xml:795
-#, no-c-format
+#: index.docbook:795
msgid ""
"<literal>sequence_name</literal> (optional, defaults to "
"<literal>hibernate_sequence</literal>): The name of the sequence (or
table) "
@@ -1700,9 +1573,7 @@
"<literal>hibernate_sequence</literal>): The name of the sequence (or
table) "
"to be used."
-#. Tag: para
-#: basic_mapping.xml:801
-#, no-c-format
+#: index.docbook:801
msgid ""
"<literal>initial_value</literal> (optional, defaults to
<literal>1</"
"literal>): The initial value to be retrieved from the sequence/table. In "
@@ -1714,9 +1585,7 @@
"sequence creation terms, this is analogous to the clause typical named "
"\"STARTS WITH\"."
-#. Tag: para
-#: basic_mapping.xml:808
-#, no-c-format
+#: index.docbook:808
msgid ""
"<literal>increment_size</literal> (optional, defaults to
<literal>1</"
"literal>): The value by which subsequent calls to the sequence/table should
"
@@ -1728,9 +1597,7 @@
"differ. In sequence creation terms, this is analogous to the clause typical "
"named \"INCREMENT BY\"."
-#. Tag: para
-#: basic_mapping.xml:815
-#, no-c-format
+#: index.docbook:815
msgid ""
"<literal>force_table_use</literal> (optional, defaults to
<literal>false</"
"literal>): Should we force the use of a table as the backing structure even
"
@@ -1740,9 +1607,7 @@
"literal>): Should we force the use of a table as the backing structure even
"
"though the dialect might support sequence?"
-#. Tag: para
-#: basic_mapping.xml:822
-#, no-c-format
+#: index.docbook:822
msgid ""
"<literal>value_column</literal> (optional, defaults to
<literal>next_val</"
"literal>): Only relevant for table structures! The name of the column on the
"
@@ -1752,19 +1617,15 @@
"literal>): Only relevant for table structures! The name of the column on the
"
"table which is used to hold the value."
-#. Tag: para
-#: basic_mapping.xml:829
-#, fuzzy, no-c-format
+#: index.docbook:829
msgid ""
"<literal>optimizer</literal> (optional, defaults to
<literal>none</"
"literal>): See"
msgstr ""
-"<literal>cascade</literal> (opcional- por defecto a
<literal>none</"
-"literal>): el estilo de cascada."
+"<literal>optimizer</literal> (optional, defaults to
<literal>none</"
+"literal>): See"
-#. Tag: para
-#: basic_mapping.xml:836
-#, fuzzy, no-c-format
+#: index.docbook:836
msgid ""
"The second of these new generators is
<literal>org.hibernate.id.enhanced."
"TableGenerator</literal> which is intended firstly as a replacement for the
"
@@ -1786,11 +1647,9 @@
"optimiziers. Essentially this generator defines a table capable of holding a
"
"number of different increment values simultaneously by using multiple "
"distinctly keyed rows. This generator has a number of configuration "
-"parameters: <placeholder-1/>"
+"parameters:"
-#. Tag: para
-#: basic_mapping.xml:846
-#, no-c-format
+#: index.docbook:846
msgid ""
"<literal>table_name</literal> (optional, defaults to "
"<literal>hibernate_sequences</literal>): The name of the table to be
used."
@@ -1798,9 +1657,7 @@
"<literal>table_name</literal> (optional, defaults to "
"<literal>hibernate_sequences</literal>): The name of the table to be
used."
-#. Tag: para
-#: basic_mapping.xml:852
-#, no-c-format
+#: index.docbook:852
msgid ""
"<literal>value_column_name</literal> (optional, defaults to "
"<literal>next_val</literal>): The name of the column on the table which
is "
@@ -1810,9 +1667,7 @@
"<literal>next_val</literal>): The name of the column on the table which
is "
"used to hold the value."
-#. Tag: para
-#: basic_mapping.xml:858
-#, no-c-format
+#: index.docbook:858
msgid ""
"<literal>segment_column_name</literal> (optional, defaults to "
"<literal>sequence_name</literal>): The name of the column on the table
which "
@@ -1824,9 +1679,7 @@
"is used to hold the \"segement key\". This is the value which distinctly
"
"identifies which increment value to use."
-#. Tag: para
-#: basic_mapping.xml:865
-#, no-c-format
+#: index.docbook:865
msgid ""
"<literal>segment_value</literal> (optional, defaults to
<literal>default</"
"literal>): The \"segment key\" value for the segment from which we
want to "
@@ -1836,9 +1689,7 @@
"literal>): The \"segment key\" value for the segment from which we
want to "
"pull increment values for this generator."
-#. Tag: para
-#: basic_mapping.xml:872
-#, no-c-format
+#: index.docbook:872
msgid ""
"<literal>segment_value_length</literal> (optional, defaults to
<literal>255</"
"literal>): Used for schema generation; the column size to create this "
@@ -1848,9 +1699,7 @@
"literal>): Used for schema generation; the column size to create this "
"segment key column."
-#. Tag: para
-#: basic_mapping.xml:878
-#, no-c-format
+#: index.docbook:878
msgid ""
"<literal>initial_value</literal> (optional, defaults to
<literal>1</"
"literal>): The initial value to be retrieved from the table."
@@ -1858,9 +1707,7 @@
"<literal>initial_value</literal> (optional, defaults to
<literal>1</"
"literal>): The initial value to be retrieved from the table."
-#. Tag: para
-#: basic_mapping.xml:884
-#, no-c-format
+#: index.docbook:884
msgid ""
"<literal>increment_size</literal> (optional, defaults to
<literal>1</"
"literal>): The value by which subsequent calls to the table should
differ."
@@ -1868,24 +1715,17 @@
"<literal>increment_size</literal> (optional, defaults to
<literal>1</"
"literal>): The value by which subsequent calls to the table should
differ."
-#. Tag: para
-#: basic_mapping.xml:890
-#, fuzzy, no-c-format
+#: index.docbook:890
msgid ""
"<literal>optimizer</literal> (optional, defaults to
<literal></literal>): See"
msgstr ""
-"<literal>cascade</literal> (opcional- por defecto a
<literal>none</"
-"literal>): el estilo de cascada."
+"<literal>optimizer</literal> (optional, defaults to
<literal></literal>): See"
-#. Tag: title
-#: basic_mapping.xml:900
-#, no-c-format
+#: index.docbook:900
msgid "Identifier generator optimization"
msgstr "Identifier generator optimization"
-#. Tag: para
-#: basic_mapping.xml:901
-#, fuzzy, no-c-format
+#: index.docbook:901
msgid ""
"For identifier generators which store values in the database, it is "
"inefficient for them to hit the database on each and every call to generate "
@@ -1901,11 +1741,9 @@
"in memory and only hit the database when you have exhausted your in-memory "
"value group. This is the role of the pluggable optimizers. Currently only "
"the two enhanced generators (<xref
linkend=\"mapping-declaration-id-enhanced"
-"\"/> support this notion. <placeholder-1/>"
+"\"/> support this notion."
-#. Tag: para
-#: basic_mapping.xml:909
-#, no-c-format
+#: index.docbook:909
msgid ""
"<literal>none</literal> (generally this is the default if no optimizer
was "
"specified): This says to not perform any optimizations, and hit the database
"
@@ -1915,9 +1753,7 @@
"specified): This says to not perform any optimizations, and hit the database
"
"each and every request."
-#. Tag: para
-#: basic_mapping.xml:915
-#, no-c-format
+#: index.docbook:915
msgid ""
"<literal>hilo</literal>: applies a hi/lo algorithm around the database
"
"retrieved values. The values from the database for this optimizer are "
@@ -1933,9 +1769,7 @@
"<literal>increment_size</literal> is multiplied by that value in memory
to "
"define a group \"hi value\"."
-#. Tag: para
-#: basic_mapping.xml:924
-#, no-c-format
+#: index.docbook:924
msgid ""
"<literal>pooled</literal>: like was discussed for
<literal>hilo</literal>, "
"this optimizers attempts to minimize the number of hits to the database. "
@@ -1951,15 +1785,11 @@
"with an in-memory grouping algorithm. <literal>increment_size</literal>
here "
"refers to the values coming from the database."
-#. Tag: title
-#: basic_mapping.xml:937
-#, no-c-format
+#: index.docbook:937
msgid "composite-id"
msgstr "composite-id"
-#. Tag: programlisting
-#: basic_mapping.xml:939
-#, no-c-format
+#: index.docbook:939
msgid ""
"<![CDATA[<composite-id\n"
" name=\"propertyName\"\n"
@@ -1975,35 +1805,46 @@
" ......\n"
"</composite-id>]]>"
msgstr ""
+"<![CDATA[<composite-id\n"
+" name=\"propertyName\"\n"
+" class=\"ClassName\"\n"
+" unsaved-value=\"undefined|any|none\"\n"
+" access=\"field|property|ClassName\"\n"
+" node=\"element-name|.\">\n"
+"\n"
+" <key-property name=\"propertyName\"
type=\"typename\" column="
+"\"column_name\"/>\n"
+" <key-many-to-one name=\"propertyName class=\"ClassName\"
column="
+"\"column_name\"/>\n"
+" ......\n"
+"</composite-id>]]>"
-#. Tag: para
-#: basic_mapping.xml:941
-#, no-c-format
+#: index.docbook:941
msgid ""
"For a table with a composite key, you may map multiple properties of the "
"class as identifier properties. The
<literal><composite-id></literal> "
"element accepts <literal><key-property></literal>
property mappings "
"and <literal><key-many-to-one></literal> mappings as
child elements."
msgstr ""
-"Para una tabla con clave compuesta, puedes mapear múltiples propiedades de "
-"la clase como propiedades identificadoras. El elemento
<literal><"
-"composite-id></literal> acepta los mapeos de propiedad
<literal><key-"
-"property></literal> y los mapeos
<literal><key-many-to-one></"
-"literal> como elementos hijo."
+"Para una tabla con clave compuesta, puedes mapear múltiples "
+"propiedades de la clase como propiedades identificadoras. El elemento "
+"<literal><composite-id></literal> acepta los mapeos de
propiedad "
+"<literal><key-property></literal> y los mapeos
<literal><key-many-"
+"to-one></literal> como elementos hijo."
-#. Tag: programlisting
-#: basic_mapping.xml:948
-#, no-c-format
+#: index.docbook:948
msgid ""
"<![CDATA[<composite-id>\n"
" <key-property name=\"medicareNumber\"/>\n"
" <key-property name=\"dependent\"/>\n"
"</composite-id>]]>"
msgstr ""
+"<![CDATA[<composite-id>\n"
+" <key-property name=\"medicareNumber\"/>\n"
+" <key-property name=\"dependent\"/>\n"
+"</composite-id>]]>"
-#. Tag: para
-#: basic_mapping.xml:950
-#, no-c-format
+#: index.docbook:950
msgid ""
"Your persistent class <emphasis>must</emphasis> override
<literal>equals()</"
"literal> and <literal>hashCode()</literal> to implement composite
identifier "
@@ -2011,12 +1852,10 @@
msgstr ""
"Tu clase persistente <emphasis>debe</emphasis> sobreescribir
<literal>equals"
"()</literal> y <literal>hashCode()</literal> para implementar
igualdad de "
-"identificador compuesto. Debe también implementar
<literal>Serializable</"
-"literal>."
+"identificador compuesto. Debe también implementar "
+"<literal>Serializable</literal>."
-#. Tag: para
-#: basic_mapping.xml:956
-#, no-c-format
+#: index.docbook:956
msgid ""
"Unfortunately, this approach to composite identifiers means that a "
"persistent object is its own identifier. There is no convenient
\"handle\" "
@@ -2028,17 +1867,15 @@
msgstr ""
"Desafortunadamente, este enfoque de identificadores compuestos significa que
"
"un objeto persistente es su propio identificador. No existe otra \"asa\"
"
-"conveniente más que el objeto mismo. Debes instanciar una instancia de la "
-"clase misma y poblar sus propiedades identificadoras antes que puedas "
+"conveniente más que el objeto mismo. Debes instanciar una instancia
"
+"de la clase misma y poblar sus propiedades identificadoras antes que puedas "
"<literal>load()</literal> el estado persistente asociado a una clave
"
-"compuesta. Describiremos un enfoque mucho más conveniente donde el "
-"identificador compuesto está implementado como una clase separada en <xref
"
-"linkend=\"components-compositeid\"/>. Los atributos descriptos debajo
"
+"compuesta. Describiremos un enfoque mucho más conveniente donde el
"
+"identificador compuesto está implementado como una clase separada en
"
+"<xref linkend=\"components-compositeid\"/>. Los atributos
descriptos debajo "
"solamente se aplican a este enfoque alternativo:"
-#. Tag: para
-#: basic_mapping.xml:965
-#, no-c-format
+#: index.docbook:965
msgid ""
"A second approach is what we call a <emphasis>mapped</emphasis>
composite "
"identifier, where the identifier properties named inside the
<literal><"
@@ -2050,19 +1887,19 @@
"composite-id></literal> element are duplicated on both the persistent
"
"class and a separate identifier class."
-#. Tag: programlisting
-#: basic_mapping.xml:971
-#, no-c-format
+#: index.docbook:971
msgid ""
"<![CDATA[<composite-id class=\"MedicareId\"
mapped=\"true\">\n"
" <key-property name=\"medicareNumber\"/>\n"
" <key-property name=\"dependent\"/>\n"
"</composite-id>]]>"
msgstr ""
+"<![CDATA[<composite-id class=\"MedicareId\"
mapped=\"true\">\n"
+" <key-property
name=\"medicareNumber\"/>\n"
+" <key-property
name=\"dependent\"/>\n"
+" </composite-id>]]>"
-#. Tag: para
-#: basic_mapping.xml:973
-#, no-c-format
+#: index.docbook:973
msgid ""
"In this example, both the composite identifier class,
<literal>MedicareId</"
"literal>, and the entity class itself have properties named "
@@ -2080,17 +1917,13 @@
"literal>. The disadvantage of this approach is quite obvious—code
"
"duplication."
-#. Tag: para
-#: basic_mapping.xml:982
-#, no-c-format
+#: index.docbook:982
msgid ""
"The following attributes are used to specify a mapped composite identifier:"
msgstr ""
"The following attributes are used to specify a mapped composite identifier:"
-#. Tag: para
-#: basic_mapping.xml:988
-#, no-c-format
+#: index.docbook:988
msgid ""
"<literal>mapped</literal> (optional, defaults to
<literal>false</literal>): "
"indicates that a mapped composite identifier is used, and that the contained
"
@@ -2102,9 +1935,7 @@
"property mappings refer to both the entity class and the composite "
"identifier class."
-#. Tag: para
-#: basic_mapping.xml:996
-#, no-c-format
+#: index.docbook:996
msgid ""
"<literal>class</literal> (optional, but required for a mapped composite
"
"identifier): The class used as a composite identifier."
@@ -2112,9 +1943,7 @@
"<literal>class</literal> (optional, but required for a mapped composite
"
"identifier): The class used as a composite identifier."
-#. Tag: para
-#: basic_mapping.xml:1003
-#, no-c-format
+#: index.docbook:1003
msgid ""
"We will describe a third, even more convenient approach where the composite "
"identifier is implemented as a component class in <xref
linkend=\"components-"
@@ -2126,31 +1955,25 @@
"compositeid\"/>. The attributes described below apply only to this "
"alternative approach:"
-#. Tag: para
-#: basic_mapping.xml:1011
-#, no-c-format
+#: index.docbook:1011
msgid ""
"<literal>name</literal> (optional, required for this approach): A
property "
"of component type that holds the composite identifier (see chapter 9)."
msgstr ""
"<literal>name</literal> (opcional): Una propiedad de tipo componente
que "
-"tiene el identificador compuesto (ver siguiente sección)."
+"tiene el identificador compuesto (ver siguiente sección)."
-#. Tag: para
-#: basic_mapping.xml:1023
-#, no-c-format
+#: index.docbook:1023
msgid ""
"<literal>class</literal> (optional - defaults to the property type
"
"determined by reflection): The component class used as a composite "
"identifier (see next section)."
msgstr ""
"<literal>class</literal> (opcional - por defecto al tipo de la
propiedad "
-"determinado por reflección): La clase del componente usado como "
-"identificador compuesto (ver siguiente sección)."
+"determinado por reflección): La clase del componente usado como "
+"identificador compuesto (ver siguiente sección)."
-#. Tag: para
-#: basic_mapping.xml:1030
-#, no-c-format
+#: index.docbook:1030
msgid ""
"This third approach, an <emphasis>identifier component</emphasis> is
the one "
"we recommend for almost all applications."
@@ -2158,15 +1981,11 @@
"This third approach, an <emphasis>identifier component</emphasis> is
the one "
"we recommend for almost all applications."
-#. Tag: title
-#: basic_mapping.xml:1038
-#, no-c-format
+#: index.docbook:1038
msgid "discriminator"
msgstr "discriminator"
-#. Tag: para
-#: basic_mapping.xml:1040
-#, no-c-format
+#: index.docbook:1040
msgid ""
"The <literal><discriminator></literal> element is
required for "
"polymorphic persistence using the table-per-class-hierarchy mapping strategy
"
@@ -2179,18 +1998,16 @@
"literal>."
msgstr ""
"El elemento <literal><discriminator></literal> es
requerido para la "
-"persistencia polimórfica usando la estrategia de mapeo de tabla-por-"
-"jerarquía-de-clases y declara una columna discriminadora de la tabla. La "
-"columna discriminidora contiene valores de marca que le dicen a la capa de "
-"persistencia qué subclase instanciar para una fila en particular. Un "
-"conjunto restringido de tipos puede ser usado:
<literal>string</literal>, "
+"persistencia polimórfica usando la estrategia de mapeo de
tabla-por-"
+"jerarquía-de-clases y declara una columna discriminadora de la tabla.
"
+"La columna discriminidora contiene valores de marca que le dicen a la capa "
+"de persistencia qué subclase instanciar para una fila en particular.
"
+"Un conjunto restringido de tipos puede ser usado:
<literal>string</literal>, "
"<literal>character</literal>, <literal>integer</literal>,
<literal>byte</"
"literal>, <literal>short</literal>,
<literal>boolean</literal>, "
"<literal>yes_no</literal>,
<literal>true_false</literal>."
-#. Tag: programlisting
-#: basic_mapping.xml:1058
-#, no-c-format
+#: index.docbook:1058
msgid ""
"<![CDATA[<discriminator\n"
" column=\"discriminator_column\"\n"
@@ -2200,10 +2017,15 @@
" formula=\"arbitrary sql expression\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<discriminator\n"
+" column=\"discriminator_column\"\n"
+" type=\"discriminator_type\"\n"
+" force=\"true|false\"\n"
+" insert=\"true|false\"\n"
+" formula=\"arbitrary sql expression\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1061
-#, no-c-format
+#: index.docbook:1061
msgid ""
"<literal>column</literal> (optional - defaults to
<literal>class</literal>) "
"the name of the discriminator column."
@@ -2211,9 +2033,7 @@
"<literal>column</literal> (opcional - por defecto a
<literal>class</"
"literal>) el nombre de la columna discriminadora."
-#. Tag: para
-#: basic_mapping.xml:1067
-#, no-c-format
+#: index.docbook:1067
msgid ""
"<literal>type</literal> (optional - defaults to
<literal>string</literal>) a "
"name that indicates the Hibernate type"
@@ -2221,9 +2041,7 @@
"<literal>type</literal> (opcional - por defecto a
<literal>string</literal>) "
"un nombre que indique el tipo Hibernate"
-#. Tag: para
-#: basic_mapping.xml:1073
-#, no-c-format
+#: index.docbook:1073
msgid ""
"<literal>force</literal> (optional - defaults to
<literal>false</literal>) "
"\"force\" Hibernate to specify allowed discriminator values even when
"
@@ -2231,11 +2049,9 @@
msgstr ""
"<literal>force</literal> (optconal - por defecto a
<literal>false</literal>) "
"\"fuerza\" a Hibernate a especificar valores discriminadores permitidos
"
-"incluso cuando se recuperan todas las instancias de la clase raíz."
+"incluso cuando se recuperan todas las instancias de la clase
raíz."
-#. Tag: para
-#: basic_mapping.xml:1080
-#, no-c-format
+#: index.docbook:1080
msgid ""
"<literal>insert</literal> (optional - defaults to
<literal>true</literal>) "
"set this to <literal>false</literal> if your discriminator column is
also "
@@ -2244,85 +2060,73 @@
msgstr ""
"<literal>insert</literal> (opcional - por defecto a
<literal>true</literal>) "
"establezca este a <literal>false</literal> si tu columna discriminadora
es "
-"también parte de un identificador mapeado compuesto. (Le dice a Hibernate "
-"que no incluya la columna en los SQL
<literal>INSERT</literal>s.)"
+"también parte de un identificador mapeado compuesto. (Le dice a "
+"Hibernate que no incluya la columna en los SQL
<literal>INSERT</literal>s.)"
-#. Tag: para
-#: basic_mapping.xml:1088
-#, no-c-format
+#: index.docbook:1088
msgid ""
"<literal>formula</literal> (optional) an arbitrary SQL expression that
is "
"executed when a type has to be evaluated. Allows content-based "
"discrimination."
msgstr ""
-"<literal>formula</literal> (opcional) una expresión SQL arbitraria que
es "
-"ejecutada cuando un tipo tenga que ser evaluado. Permite dicriminación "
-"basada en el contenido."
+"<literal>formula</literal> (opcional) una expresión SQL
arbitraria "
+"que es ejecutada cuando un tipo tenga que ser evaluado. Permite "
+"dicriminación basada en el contenido."
-#. Tag: para
-#: basic_mapping.xml:1096
-#, no-c-format
+#: index.docbook:1096
msgid ""
"Actual values of the discriminator column are specified by the "
"<literal>discriminator-value</literal> attribute of the
<literal><"
"class></literal> and
<literal><subclass></literal> elements."
msgstr ""
-"Los valores reales de la columna discriminadora están especificados por el "
-"atributo <literal>discriminator-value</literal> de los elementos
"
+"Los valores reales de la columna discriminadora están especificados
"
+"por el atributo <literal>discriminator-value</literal> de los elementos
"
"<literal><class></literal> y
<literal><subclass></literal>."
-#. Tag: para
-#: basic_mapping.xml:1102
-#, no-c-format
+#: index.docbook:1102
msgid ""
"The <literal>force</literal> attribute is (only) useful if the table
"
"contains rows with \"extra\" discriminator values that are not mapped to
a "
"persistent class. This will not usually be the case."
msgstr ""
-"El atributo <literal>force</literal> es (sólo) útil si la tabla
contiene "
-"filas con valores discriminadores \"extra\" que no están mapeados a la
clase "
-"persistente. Generalmente este no es el caso."
+"El atributo <literal>force</literal> es (sólo)
útil si la "
+"tabla contiene filas con valores discriminadores \"extra\" que no
está"
+"n mapeados a la clase persistente. Generalmente este no es el caso."
-#. Tag: para
-#: basic_mapping.xml:1108
-#, no-c-format
+#: index.docbook:1108
msgid ""
"Using the <literal>formula</literal> attribute you can declare an
arbitrary "
"SQL expression that will be used to evaluate the type of a row:"
msgstr ""
-"Usando el atributo <literal>formula</literal> puedes declarar una
expresión "
-"SQL arbitraria que será usada para evaluar el tipo de una fila:"
+"Usando el atributo <literal>formula</literal> puedes declarar una
"
+"expresión SQL arbitraria que será usada para evaluar el tipo
"
+"de una fila:"
-#. Tag: programlisting
-#: basic_mapping.xml:1113
-#, no-c-format
+#: index.docbook:1113
msgid ""
"<![CDATA[<discriminator\n"
" formula=\"case when CLASS_TYPE in ('a', 'b', 'c')
then 0 else 1 end\"\n"
" type=\"integer\"/>]]>"
msgstr ""
+"<![CDATA[<discriminator\n"
+" formula=\"case when CLASS_TYPE in ('a', 'b', 'c')
then 0 else 1 end\"\n"
+" type=\"integer\"/>]]>"
-#. Tag: title
-#: basic_mapping.xml:1118
-#, no-c-format
+#: index.docbook:1118
msgid "version (optional)"
msgstr "version (opcional)"
-#. Tag: para
-#: basic_mapping.xml:1120
-#, no-c-format
+#: index.docbook:1120
msgid ""
"The <literal><version></literal> element is optional and
indicates "
"that the table contains versioned data. This is particularly useful if you "
"plan to use <emphasis>long transactions</emphasis> (see below)."
msgstr ""
"El elemento <literal><version></literal> es opcional e
indica que la "
-"tabla contiene datos versionados. Esto es particularmente útil si planeas "
-"usar <emphasis>transacciones largas</emphasis> (ver debajo)."
+"tabla contiene datos versionados. Esto es particularmente útil si
"
+"planeas usar <emphasis>transacciones largas</emphasis> (ver
debajo)."
-#. Tag: programlisting
-#: basic_mapping.xml:1136
-#, no-c-format
+#: index.docbook:1136
msgid ""
"<![CDATA[<version\n"
" column=\"version_column\"\n"
@@ -2335,38 +2139,39 @@
"
node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<version\n"
+" column=\"version_column\"\n"
+" name=\"propertyName\"\n"
+" type=\"typename\"\n"
+" access=\"field|property|ClassName\"\n"
+" unsaved-value=\"null|negative|undefined\"\n"
+"
node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1139
-#, no-c-format
+#: index.docbook:1139
msgid ""
"<literal>column</literal> (optional - defaults to the property name):
The "
"name of the column holding the version number."
msgstr ""
"<literal>column</literal> (opcional - por defecto al nombre de la
"
-"propiedad): El nombre de la columna que tiene el número de versión."
+"propiedad): El nombre de la columna que tiene el número de "
+"versión."
-#. Tag: para
-#: basic_mapping.xml:1145
-#, no-c-format
+#: index.docbook:1145
msgid ""
"<literal>name</literal>: The name of a property of the persistent
class."
msgstr ""
"<literal>name</literal>: El nombre de una propiedad de la clase
persistente."
-#. Tag: para
-#: basic_mapping.xml:1150
-#, no-c-format
+#: index.docbook:1150
msgid ""
"<literal>type</literal> (optional - defaults to
<literal>integer</literal>): "
"The type of the version number."
msgstr ""
"<literal>type</literal> (opcional - por defecto a
<literal>integer</"
-"literal>): El tipo del nú.mero de vesión."
+"literal>): El tipo del nú.mero de vesión."
-#. Tag: para
-#: basic_mapping.xml:1162
-#, no-c-format
+#: index.docbook:1162
msgid ""
"<literal>unsaved-value</literal> (optional - defaults to
<literal>undefined</"
"literal>): A version property value that indicates that an instance is newly
"
@@ -2375,15 +2180,13 @@
"specifies that the identifier property value should be used.)"
msgstr ""
"<literal>unsaved-value</literal> (opcional - por defecto a "
-"<literal>undefined</literal>): Un valor de la propiedad de versión que
"
-"indica que una instancia está recién instanciada (sin guardar), "
-"distinguiéndola de instancias separadas que fueran guardadas o cargadas en "
-"una sesión previa. (<literal>undefined</literal> especifica que debe
usarse "
-"el valor de la propiedad identificadora.)"
+"<literal>undefined</literal>): Un valor de la propiedad de
versión "
+"que indica que una instancia está recién instanciada (sin
"
+"guardar), distinguiéndola de instancias separadas que fueran "
+"guardadas o cargadas en una sesión previa.
(<literal>undefined</"
+"literal> especifica que debe usarse el valor de la propiedad
identificadora.)"
-#. Tag: para
-#: basic_mapping.xml:1171
-#, no-c-format
+#: index.docbook:1171
msgid ""
"<literal>generated</literal> (optional - defaults to
<literal>never</"
"literal>): Specifies that this version property value is actually generated
"
@@ -2395,9 +2198,7 @@
"actually generated by the database. See the discussion of <link linkend="
"\"mapping-generated\">generated properties</link>."
-#. Tag: para
-#: basic_mapping.xml:1178
-#, no-c-format
+#: index.docbook:1178
msgid ""
"<literal>insert</literal> (optional - defaults to
<literal>true</literal>): "
"Specifies whether the version column should be included in SQL insert "
@@ -2410,21 +2211,17 @@
"and only if the database column is defined with a default value of "
"<literal>0</literal>."
-#. Tag: para
-#: basic_mapping.xml:1188
-#, no-c-format
+#: index.docbook:1188
msgid ""
"Version numbers may be of Hibernate type <literal>long</literal>,
"
"<literal>integer</literal>, <literal>short</literal>,
<literal>timestamp</"
"literal> or <literal>calendar</literal>."
msgstr ""
-"Los números de versión deben ser de tipo <literal>long</literal>,
"
-"<literal>integer</literal>, <literal>short</literal>,
<literal>timestamp</"
-"literal> o <literal>calendar</literal> de Hibernate."
+"Los números de versión deben ser de tipo
<literal>long</"
+"literal>, <literal>integer</literal>,
<literal>short</literal>, "
+"<literal>timestamp</literal> o <literal>calendar</literal>
de Hibernate."
-#. Tag: para
-#: basic_mapping.xml:1193
-#, no-c-format
+#: index.docbook:1193
msgid ""
"A version or timestamp property should never be null for a detached "
"instance, so Hibernate will detect any instance with a null version or "
@@ -2434,24 +2231,20 @@
"reattachment in Hibernate, especially useful for people using assigned "
"identifiers or composite keys!</emphasis>"
msgstr ""
-"Una propiedad de versión o timestamp nunca debe ser nula para una instancia "
-"separada, de modo que Hibernate detectará cualquier instancia con una "
-"versión o timestamp nulo como transitoria, sin importar qué otras "
-"estrategias <literal>unsaved-value</literal> se hayan especificado.
"
-"<emphasis>Declarar una propiedad de versón o timestamp nulable es una forma
"
-"fácil de evitar cualquier problema con la re-unión transitiva en Hibernate, "
-"especialmente útil para que usa identificadores asignados o claves "
-"compuestas!</emphasis>"
+"Una propiedad de versión o timestamp nunca debe ser nula para una
"
+"instancia separada, de modo que Hibernate detectará cualquier "
+"instancia con una versión o timestamp nulo como transitoria, sin "
+"importar qué otras estrategias
<literal>unsaved-value</literal> se "
+"hayan especificado. <emphasis>Declarar una propiedad de versón o
"
+"timestamp nulable es una forma fácil de evitar cualquier problema con
"
+"la re-unión transitiva en Hibernate, especialmente útil para
"
+"que usa identificadores asignados o claves compuestas!</emphasis>"
-#. Tag: title
-#: basic_mapping.xml:1204
-#, no-c-format
+#: index.docbook:1204
msgid "timestamp (optional)"
msgstr "timestamp (opcional)"
-#. Tag: para
-#: basic_mapping.xml:1206
-#, no-c-format
+#: index.docbook:1206
msgid ""
"The optional <literal><timestamp></literal> element
indicates that the "
"table contains timestamped data. This is intended as an alternative to "
@@ -2462,12 +2255,11 @@
"El elemento opcional <literal><timestamp></literal>
indica que la "
"tabla contiene datos con sellos de tiempo. Esto esta concebido como una "
"alternativa al versionado. Los timestamps (sellos de tiempo) son por su "
-"naturaleza una implementación menos segura de bloqueo optimista. Sin "
-"embrago, a veces la aplicación puede usar los timestamps en otras formas."
+"naturaleza una implementación menos segura de bloqueo optimista. Sin
"
+"embrago, a veces la aplicación puede usar los timestamps en otras
"
+"formas."
-#. Tag: programlisting
-#: basic_mapping.xml:1222
-#, no-c-format
+#: index.docbook:1222
msgid ""
"<![CDATA[<timestamp\n"
" column=\"timestamp_column\"\n"
@@ -2479,10 +2271,15 @@
"
node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<timestamp\n"
+" column=\"timestamp_column\"\n"
+" name=\"propertyName\"\n"
+" access=\"field|property|ClassName\"\n"
+" unsaved-value=\"null|undefined\"\n"
+"
node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1225
-#, no-c-format
+#: index.docbook:1225
msgid ""
"<literal>column</literal> (optional - defaults to the property name):
The "
"name of a column holding the timestamp."
@@ -2490,9 +2287,7 @@
"<literal>column</literal> (opcional - por defecto al nombre de la
"
"propiedad): El nombre de una columna que tiene el timestamp."
-#. Tag: para
-#: basic_mapping.xml:1231
-#, no-c-format
+#: index.docbook:1231
msgid ""
"<literal>name</literal>: The name of a JavaBeans style property of Java
type "
"<literal>Date</literal> or <literal>Timestamp</literal> of
the persistent "
@@ -2502,9 +2297,7 @@
"tipo Java <literal>Date</literal> o
<literal>Timestamp</literal> de la clase "
"persistente."
-#. Tag: para
-#: basic_mapping.xml:1244
-#, no-c-format
+#: index.docbook:1244
msgid ""
"<literal>unsaved-value</literal> (optional - defaults to
<literal>null</"
"literal>): A version property value that indicates that an instance is newly
"
@@ -2513,15 +2306,13 @@
"specifies that the identifier property value should be used.)"
msgstr ""
"<literal>unsaved-value</literal> (opcional - por defecto a
<literal>null</"
-"literal>): Un valor de propiedad de versión que indica que una instancia "
-"está recién instanciada (sin guardar), distinguiéndola de instancias "
-"separadas que hayan sido guardadas o cargadas en una sesión previa. "
-"(<literal>undefined</literal> especifica que debe usarse el valor de la
"
-"propiedad identificadora.)"
+"literal>): Un valor de propiedad de versión que indica que una
"
+"instancia está recién instanciada (sin guardar), "
+"distinguiéndola de instancias separadas que hayan sido guardadas o
"
+"cargadas en una sesión previa. (<literal>undefined</literal>
"
+"especifica que debe usarse el valor de la propiedad identificadora.)"
-#. Tag: para
-#: basic_mapping.xml:1253
-#, no-c-format
+#: index.docbook:1253
msgid ""
"<literal>source</literal> (optional - defaults to
<literal>vm</literal>): "
"From where should Hibernate retrieve the timestamp value? From the database,
"
@@ -2541,9 +2332,7 @@
"retrieving of the database's current timestamp, while others might be unsafe
"
"for usage in locking due to lack of precision (Oracle 8 for example)."
-#. Tag: para
-#: basic_mapping.xml:1265
-#, no-c-format
+#: index.docbook:1265
msgid ""
"<literal>generated</literal> (optional - defaults to
<literal>never</"
"literal>): Specifies that this timestamp property value is actually "
@@ -2555,9 +2344,7 @@
"actually generated by the database. See the discussion of <link linkend="
"\"mapping-generated\">generated properties</link>."
-#. Tag: para
-#: basic_mapping.xml:1274
-#, no-c-format
+#: index.docbook:1274
msgid ""
"Note that <literal><timestamp></literal> is equivalent to
<literal><"
"version type=\"timestamp\"></literal>. And
<literal><timestamp source="
@@ -2567,15 +2354,11 @@
"Note that <literal><timestamp></literal> is equivalent to
<literal><"
"version type=\"timestamp\"></literal>."
-#. Tag: title
-#: basic_mapping.xml:1284
-#, no-c-format
+#: index.docbook:1284
msgid "property"
msgstr "property"
-#. Tag: para
-#: basic_mapping.xml:1286
-#, no-c-format
+#: index.docbook:1286
msgid ""
"The <literal><property></literal> element declares a
persistent, "
"JavaBean style property of the class."
@@ -2583,9 +2366,7 @@
"El elemento <literal><property></literal> declara una
propiedad "
"persistente estilo JavaBean de la clase."
-#. Tag: programlisting
-#: basic_mapping.xml:1308
-#, no-c-format
+#: index.docbook:1308
msgid ""
"<![CDATA[<property\n"
" name=\"propertyName\"\n"
@@ -2608,20 +2389,35 @@
" scale=\"S\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<property\n"
+" name=\"propertyName\"\n"
+" column=\"column_name\"\n"
+" type=\"typename\"\n"
+" update=\"true|false\"\n"
+" insert=\"true|false\"\n"
+" formula=\"arbitrary SQL expression\"\n"
+" access=\"field|property|ClassName\"\n"
+" lazy=\"true|false\"\n"
+" unique=\"true|false\"\n"
+" not-null=\"true|false\"\n"
+" optimistic-lock=\"true|false\"\n"
+"
node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+" index=\"index_name\"\n"
+" unique_key=\"unique_key_id\"\n"
+" length=\"L\"\n"
+" precision=\"P\"\n"
+" scale=\"S\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1311
-#, no-c-format
+#: index.docbook:1311
msgid ""
"<literal>name</literal>: the name of the property, with an initial
lowercase "
"letter."
msgstr ""
"<literal>name</literal>: el nombre de la propiedad, con la letra
inicial en "
-"minúsculas."
+"minúsculas."
-#. Tag: para
-#: basic_mapping.xml:1317
-#, no-c-format
+#: index.docbook:1317
msgid ""
"<literal>column</literal> (optional - defaults to the property name):
the "
"name of the mapped database table column. This may also be specified by "
@@ -2629,20 +2425,16 @@
msgstr ""
"<literal>column</literal> (opcional - por defecto al nombre de la
"
"propiedad): el nombre de la columna de tabla de base de datos mapeada. Esto "
-"puede también ser especificado con elemento(s)
<literal><column></"
-"literal> anidado(s)."
+"puede también ser especificado con elemento(s)
<literal><column>"
+"</literal> anidado(s)."
-#. Tag: para
-#: basic_mapping.xml:1324
-#, no-c-format
+#: index.docbook:1324
msgid ""
"<literal>type</literal> (optional): a name that indicates the Hibernate
type."
msgstr ""
"<literal>type</literal> (opcional): un nombre que indica el nobre
Hibernate."
-#. Tag: para
-#: basic_mapping.xml:1329
-#, no-c-format
+#: index.docbook:1329
msgid ""
"<literal>update, insert</literal> (optional - defaults to
<literal>true</"
"literal>) : specifies that the mapped columns should be included in SQL "
@@ -2652,62 +2444,54 @@
"colum(s) or by a trigger or other application."
msgstr ""
"<literal>update, insert</literal> (opcional - por defecto a
<literal>true</"
-"literal>) : especifica que las columnas mapeadas deben ser incluídas en las
"
-"sentencias SQL <literal>UPDATE</literal> y/o
<literal>INSERT</literal> . "
-"Especificando ambas a <literal>false</literal> permite una propiedad
"
-"\"derivada\" cuyo valor es inicializado desde alguna otra propiedad que
"
-"mapee a la misma columna (o columnas) o por un disparador u otra aplicación."
+"literal>) : especifica que las columnas mapeadas deben ser incluídas
"
+"en las sentencias SQL <literal>UPDATE</literal> y/o
<literal>INSERT</"
+"literal> . Especificando ambas a <literal>false</literal> permite
una "
+"propiedad \"derivada\" cuyo valor es inicializado desde alguna otra
"
+"propiedad que mapee a la misma columna (o columnas) o por un disparador u "
+"otra aplicación."
-#. Tag: para
-#: basic_mapping.xml:1338
-#, no-c-format
+#: index.docbook:1338
msgid ""
"<literal>formula</literal> (optional): an SQL expression that defines
the "
"value for a <emphasis>computed</emphasis> property. Computed properties
do "
"not have a column mapping of their own."
msgstr ""
-"<literal>formula</literal> (opcional): una expresión SQL que define el
valor "
-"para una propiedad <emphasis>computada</emphasis>. Las propiedades
"
+"<literal>formula</literal> (opcional): una expresión SQL que
define "
+"el valor para una propiedad <emphasis>computada</emphasis>. Las
propiedades "
"computadas no tienen una columna mapeada propia."
-#. Tag: para
-#: basic_mapping.xml:1351
-#, no-c-format
+#: index.docbook:1351
msgid ""
"<literal>lazy</literal> (optional - defaults to
<literal>false</literal>): "
"Specifies that this property should be fetched lazily when the instance "
"variable is first accessed (requires build-time bytecode instrumentation)."
msgstr ""
"<literal>lazy</literal> (opcional - por defecto a
<literal>false</literal>): "
-"Especifica que esta propiedad debe ser traída perezosamente cuando la "
-"variable de instancia sea accedida por primera vez (requiere instrumentación
"
-"en tiempo de compilación)."
+"Especifica que esta propiedad debe ser traída perezosamente cuando la
"
+"variable de instancia sea accedida por primera vez (requiere "
+"instrumentación en tiempo de compilación)."
-#. Tag: para
-#: basic_mapping.xml:1358
-#, no-c-format
+#: index.docbook:1358
msgid ""
"<literal>unique</literal> (optional): Enable the DDL generation of a
unique "
"constraint for the columns. Also, allow this to be the target of a "
"<literal>property-ref</literal>."
msgstr ""
-"<literal>unique</literal> (opcional): Habilita la generació DDL de una
"
-"restricción de unicidad para las columnas. Además, permite que ésta sea un "
-"blanco objetivo de una <literal>property-ref</literal>."
+"<literal>unique</literal> (opcional): Habilita la generació
DDL de "
+"una restricción de unicidad para las columnas. Además,
permite "
+"que ésta sea un blanco objetivo de una
<literal>property-ref</"
+"literal>."
-#. Tag: para
-#: basic_mapping.xml:1365
-#, no-c-format
+#: index.docbook:1365
msgid ""
"<literal>not-null</literal> (optional): Enable the DDL generation of a
"
"nullability constraint for the columns."
msgstr ""
-"<literal>not-null</literal> (opcional): Habilita la generació DDL de
una "
-"restricción de nulabilidad para las columnas."
+"<literal>not-null</literal> (opcional): Habilita la
generació DDL de "
+"una restricción de nulabilidad para las columnas."
-#. Tag: para
-#: basic_mapping.xml:1371
-#, no-c-format
+#: index.docbook:1371
msgid ""
"<literal>optimistic-lock</literal> (optional - defaults to
<literal>true</"
"literal>): Specifies that updates to this property do or do not require "
@@ -2716,13 +2500,11 @@
msgstr ""
"<literal>optimistic-lock</literal> (opcional - por defecto a
<literal>true</"
"literal>): Especifica que las actualizaciones a esta propiedad requieran o
"
-"no de la obtención de un bloqueo optimista. En otras palabras, determina si "
-"debe ocurrir un incremento de versión cuando la propiedad este sucia "
-"(desactualizada)."
+"no de la obtención de un bloqueo optimista. En otras palabras, "
+"determina si debe ocurrir un incremento de versión cuando la "
+"propiedad este sucia (desactualizada)."
-#. Tag: para
-#: basic_mapping.xml:1379
-#, no-c-format
+#: index.docbook:1379
msgid ""
"<literal>generated</literal> (optional - defaults to
<literal>never</"
"literal>): Specifies that this property value is actually generated by the
"
@@ -2734,44 +2516,34 @@
"generated by the database. See the discussion of <link
linkend=\"mapping-"
"generated\">generated properties</link>."
-#. Tag: para
-#: basic_mapping.xml:1388
-#, no-c-format
+#: index.docbook:1388
msgid "<emphasis>typename</emphasis> could be:"
msgstr "<emphasis>typename</emphasis> puede ser:"
-#. Tag: para
-#: basic_mapping.xml:1394
-#, no-c-format
+#: index.docbook:1394
msgid ""
"The name of a Hibernate basic type (eg. <literal>integer, string, character,
"
"date, timestamp, float, binary, serializable, object, blob</literal>)."
msgstr ""
-"El nombre de un tipo básico Hibernate (por ejemplo, <literal>integer, "
+"El nombre de un tipo básico Hibernate (por ejemplo,
<literal>integer, "
"string, character, date, timestamp, float, binary, serializable, object, "
"blob</literal>)."
-#. Tag: para
-#: basic_mapping.xml:1400
-#, no-c-format
+#: index.docbook:1400
msgid ""
"The name of a Java class with a default basic type (eg. <literal>int, float,
"
"char, java.lang.String, java.util.Date, java.lang.Integer,
java.sql.Clob</"
"literal>)."
msgstr ""
-"El nombre de una clase Java de tipo básico (por ejemplo, <literal>int,
"
-"float, char, java.lang.String, java.util.Date, java.lang.Integer, java.sql."
-"Clob</literal>)."
+"El nombre de una clase Java de tipo básico (por ejemplo, "
+"<literal>int, float, char, java.lang.String, java.util.Date,
java.lang."
+"Integer, java.sql.Clob</literal>)."
-#. Tag: para
-#: basic_mapping.xml:1406
-#, no-c-format
+#: index.docbook:1406
msgid "The name of a serializable Java class."
msgstr "El nombre de una clase Java serializable."
-#. Tag: para
-#: basic_mapping.xml:1411
-#, no-c-format
+#: index.docbook:1411
msgid ""
"The class name of a custom type (eg.
<literal>com.illflow.type.MyCustomType</"
"literal>)."
@@ -2779,9 +2551,7 @@
"El nombre de un tipo personalizado (por ejemplo,
<literal>com.illflow.type."
"MyCustomType</literal>)."
-#. Tag: para
-#: basic_mapping.xml:1417
-#, no-c-format
+#: index.docbook:1417
msgid ""
"If you do not specify a type, Hibernate will use reflection upon the named "
"property to take a guess at the correct Hibernate type. Hibernate will try "
@@ -2791,18 +2561,16 @@
"distinguish between <literal>Hibernate.DATE</literal> and
<literal>Hibernate."
"TIMESTAMP</literal>, or to specify a custom type.)"
msgstr ""
-"Si no especificas un tipo, Hibernate usará reflección sobre la propiedad "
-"mencionada para deducir el tipo Hibernate correcto. Hibernate intentará "
-"interpretar el nombre de la clase de retorno del getter de la propiedad "
-"usando las reglas 2, 3 y 4 en ese orden. Sin embargo, esto no siempre "
-"suficiente. En ciertos casos, necesitarás aún el atributo
<literal>type</"
-"literal>. (Por ejemplo, para distinguir entre
<literal>Hibernate.DATE</"
-"literal> y <literal>Hibernate.TIMESTAMP</literal>, o especificar un
tipo "
-"personalizado.)"
+"Si no especificas un tipo, Hibernate usará reflección sobre
la "
+"propiedad mencionada para deducir el tipo Hibernate correcto. Hibernate "
+"intentará interpretar el nombre de la clase de retorno del getter de
"
+"la propiedad usando las reglas 2, 3 y 4 en ese orden. Sin embargo, esto no "
+"siempre suficiente. En ciertos casos, necesitarás aún el
"
+"atributo <literal>type</literal>. (Por ejemplo, para distinguir entre
"
+"<literal>Hibernate.DATE</literal> y
<literal>Hibernate.TIMESTAMP</literal>, "
+"o especificar un tipo personalizado.)"
-#. Tag: para
-#: basic_mapping.xml:1427
-#, no-c-format
+#: index.docbook:1427
msgid ""
"The <literal>access</literal> attribute lets you control how Hibernate
will "
"access the property at runtime. By default, Hibernate will call the property
"
@@ -2812,18 +2580,16 @@
"a class that implements the interface <literal>org.hibernate.property."
"PropertyAccessor</literal>."
msgstr ""
-"El atributo <literal>access</literal> te deja controlar cómo Hibernate
"
-"accederá a la propiedad en tiempo de ejecución. Por defecto, Hibernate "
-"llamará al par de getter/setter de la propiedad. Si especificas "
-"<literal>access=\"field\"</literal>, Hibernate se saltará el
par get/set y "
-"accederá al campo directamente usando reflección. Puedes especificar tu "
-"propia estrategia de acceso a la propiedad mencionando una clase que "
-"implemente la interface
<literal>org.hibernate.property.PropertyAccessor</"
-"literal>."
+"El atributo <literal>access</literal> te deja controlar cómo
"
+"Hibernate accederá a la propiedad en tiempo de ejecución. Por
"
+"defecto, Hibernate llamará al par de getter/setter de la propiedad.
"
+"Si especificas <literal>access=\"field\"</literal>, Hibernate
se "
+"saltará el par get/set y accederá al campo directamente
usando "
+"reflección. Puedes especificar tu propia estrategia de acceso a la
"
+"propiedad mencionando una clase que implemente la interface
<literal>org."
+"hibernate.property.PropertyAccessor</literal>."
-#. Tag: para
-#: basic_mapping.xml:1436
-#, no-c-format
+#: index.docbook:1436
msgid ""
"An especially powerful feature are derived properties. These properties are "
"by definition read-only, the property value is computed at load time. You "
@@ -2832,14 +2598,13 @@
"instance:"
msgstr ""
"Una aspecto especialmente poderoso son las propiedades derivadas. Estas "
-"propiedades son por definición de sólo lectura, el valor de la propiedad es "
-"computado en tiempo de carga. Tu declaras la computación como una expresión "
-"SQL, y ésta se traduce a cláusula de subconsulta
<literal>SELECT</literal> "
-"en la consulta SQL que cargue una instancia:"
+"propiedades son por definición de sólo lectura, el valor de
la "
+"propiedad es computado en tiempo de carga. Tu declaras la computación
"
+"como una expresión SQL, y ésta se traduce a
cláusula de "
+"subconsulta <literal>SELECT</literal> en la consulta SQL que cargue una
"
+"instancia:"
-#. Tag: programlisting
-#: basic_mapping.xml:1443
-#, no-c-format
+#: index.docbook:1443
msgid ""
"<![CDATA[\n"
"<property name=\"totalPrice\"\n"
@@ -2849,10 +2614,15 @@
" AND li.customerId = customerId\n"
" AND li.orderNumber = orderNumber )\"/>]]>"
msgstr ""
+"<![CDATA[\n"
+"<property name=\"totalPrice\"\n"
+" formula=\"( SELECT SUM (li.quantity*p.price) FROM LineItem li, Product
"
+"p\n"
+" WHERE li.productId = p.productId\n"
+" AND li.customerId = customerId\n"
+" AND li.orderNumber = orderNumber )\"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1445
-#, no-c-format
+#: index.docbook:1445
msgid ""
"Note that you can reference the entities own table by not declaring an alias
"
"on a particular column (<literal>customerId</literal> in the given
example). "
@@ -2861,32 +2631,27 @@
msgstr ""
"Observa que puedes referenciar la propia tabla de las entidades sin declarar
"
"un alias o una columna particular (<literal>customerId</literal> en el
"
-"ejemplo dado). Observa además que puedes usar el elemento anidado de mapeo "
-"<literal><formula></literal> si no te gusta usar el
atributo."
+"ejemplo dado). Observa además que puedes usar el elemento anidado de
"
+"mapeo <literal><formula></literal> si no te gusta usar el
atributo."
-#. Tag: title
-#: basic_mapping.xml:1455
-#, no-c-format
+#: index.docbook:1455
msgid "many-to-one"
msgstr "many-to-one"
-#. Tag: para
-#: basic_mapping.xml:1457
-#, no-c-format
+#: index.docbook:1457
msgid ""
"An ordinary association to another persistent class is declared using a "
"<literal>many-to-one</literal> element. The relational model is a
many-to-"
"one association: a foreign key in one table is referencing the primary key "
"column(s) of the target table."
msgstr ""
-"Una asociación ordinaria a otra clase persistente se declara usando el "
-"elemento <literal>many-to-one</literal>. El modelo relacional es una
"
-"asociación muchos-a-uno: una clave foránea en una tabla está referenciando "
-"la columna (o columnas) de la clave primaria de la tabla objetivo."
+"Una asociación ordinaria a otra clase persistente se declara usando
"
+"el elemento <literal>many-to-one</literal>. El modelo relacional es una
"
+"asociación muchos-a-uno: una clave foránea en una tabla
"
+"está referenciando la columna (o columnas) de la clave primaria de la
"
+"tabla objetivo."
-#. Tag: programlisting
-#: basic_mapping.xml:1485
-#, no-c-format
+#: index.docbook:1485
msgid ""
"<![CDATA[<many-to-one\n"
" name=\"propertyName\"\n"
@@ -2912,67 +2677,70 @@
" foreign-key=\"foreign_key_name\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one\n"
+" name=\"propertyName\"\n"
+" column=\"column_name\"\n"
+" class=\"ClassName\"\n"
+" cascade=\"cascade_style\"\n"
+" fetch=\"join|select\"\n"
+" update=\"true|false\"\n"
+" insert=\"true|false\"\n"
+" property-ref=\"propertyNameFromAssociatedClass\"\n"
+" access=\"field|property|ClassName\"\n"
+" unique=\"true|false\"\n"
+" not-null=\"true|false\"\n"
+" optimistic-lock=\"true|false\"\n"
+" lazy=\"true|proxy|false\"\n"
+" not-found=\"ignore|exception\"\n"
+" entity-name=\"EntityName\"\n"
+" formula=\"cualquier expresión SQL\"\n"
+"
node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+" embed-xml=\"true|false\"\n"
+" index=\"index_name\"\n"
+" unique_key=\"unique_key_id\"\n"
+" foreign-key=\"foreign_key_name\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1488 basic_mapping.xml:1669 basic_mapping.xml:1855
-#, no-c-format
+#: index.docbook:1488, index.docbook:1669, index.docbook:1855
msgid "<literal>name</literal>: The name of the property."
msgstr "<literal>name</literal>: El nombre de la propiedad."
-#. Tag: para
-#: basic_mapping.xml:1493 basic_mapping.xml:2284
-#, fuzzy, no-c-format
+#: index.docbook:1493, index.docbook:2284
msgid ""
"<literal>column</literal> (optional): The name of the foreign key
column. "
"This may also be specified by nested
<literal><column></literal> "
"element(s)."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>column</literal> (opcional): El nombre de la columna clave
foránea. "
-"También puede ser especificado por uno o varios elementos anidados "
-"<literal><column></literal>.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>column</literal> (opcional): El nombre de columna de la clave
"
-"foránea. Puede ser también especificado por elemento(s) anidado(s) "
-"<literal><column></literal>."
+"<literal>column</literal> (opcional): El nombre de la columna clave
"
+"foránea. También puede ser especificado por uno o varios
"
+"elementos anidados <literal><column></literal>."
-#. Tag: para
-#: basic_mapping.xml:1500 basic_mapping.xml:1674
-#, no-c-format
+#: index.docbook:1500, index.docbook:1674
msgid ""
"<literal>class</literal> (optional - defaults to the property type
"
"determined by reflection): The name of the associated class."
msgstr ""
"<literal>class</literal> (opcional - por defecto al tipo de la
propiedad "
-"determinado por reflección): El nombre de la clase asociada."
+"determinado por reflección): El nombre de la clase asociada."
-#. Tag: para
-#: basic_mapping.xml:1506
-#, no-c-format
+#: index.docbook:1506
msgid ""
"<literal>cascade</literal> (optional): Specifies which operations
should be "
"cascaded from the parent object to the associated object."
msgstr ""
-"<literal>cascade</literal> (opcional): Especifica qué operaciones deben
ir "
-"en cascada desde el objeto padre al objeto asociado"
+"<literal>cascade</literal> (opcional): Especifica qué
operaciones "
+"deben ir en cascada desde el objeto padre al objeto asociado"
-#. Tag: para
-#: basic_mapping.xml:1512 basic_mapping.xml:1695
-#, fuzzy, no-c-format
+#: index.docbook:1512, index.docbook:1695
msgid ""
"<literal>fetch</literal> (optional - defaults to
<literal>select</literal>): "
"Chooses between outer-join fetching or sequential select fetching."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
"<literal>fetch</literal> (opcional - por defecto a
1<literal>select</"
-"literal>): Escoge entre recuperación outer-join o por selección
secuencial.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>fetch</literal> (opcional - por defecto
<literal>select</literal>): "
-"Elige entre recuperación outer-join o recuperación por consulta secuencial."
+"literal>): Escoge entre recuperación outer-join o por
selecció"
+"n secuencial."
-#. Tag: para
-#: basic_mapping.xml:1518
-#, no-c-format
+#: index.docbook:1518
msgid ""
"<literal>update, insert</literal> (optional - defaults to
<literal>true</"
"literal>) specifies that the mapped columns should be included in SQL "
@@ -2982,52 +2750,46 @@
"the same colum(s) or by a trigger or other application."
msgstr ""
"<literal>update, insert</literal> (opcional - por defecto a
<literal>true</"
-"literal>) especifica que las columnas mapeadas deben ser incluídas en las
"
-"sentencias SQL <literal>UPDATE</literal> y/o
<literal>INSERT</literal>. "
-"Establecer ambas a <literal>false</literal> permite una asociación
puramente "
-"\"derivada\" cuyo valor es inicializado desde alguna otra propiedad que
"
-"mapea a las misma columna (o columnas), o por un disparador, o por otra "
-"aplicación."
+"literal>) especifica que las columnas mapeadas deben ser incluídas en
"
+"las sentencias SQL <literal>UPDATE</literal> y/o
<literal>INSERT</literal>. "
+"Establecer ambas a <literal>false</literal> permite una
asociación "
+"puramente \"derivada\" cuyo valor es inicializado desde alguna otra
"
+"propiedad que mapea a las misma columna (o columnas), o por un disparador, o
"
+"por otra aplicación."
-#. Tag: para
-#: basic_mapping.xml:1527
-#, no-c-format
+#: index.docbook:1527
msgid ""
"<literal>property-ref</literal>: (optional) The name of a property of
the "
"associated class that is joined to this foreign key. If not specified, the "
"primary key of the associated class is used."
msgstr ""
"<literal>property-ref</literal>: (opcional) El nombre de la propiedad
de la "
-"clase asociada que está unida a la clave foránea. Si no se especifica, se "
-"usa la clave primaria de la clase asociada."
+"clase asociada que está unida a la clave foránea. Si no se
"
+"especifica, se usa la clave primaria de la clase asociada."
-#. Tag: para
-#: basic_mapping.xml:1540
-#, no-c-format
+#: index.docbook:1540
msgid ""
"<literal>unique</literal> (optional): Enable the DDL generation of a
unique "
"constraint for the foreign-key column. Also, allow this to be the target of "
"a <literal>property-ref</literal>. This makes the association
multiplicity "
"effectively one to one."
msgstr ""
-"<literal>unique</literal> (opcional): Habilita la generación DDL de una
"
-"restricción de unicidad para la columna de clave foránea. Además, permite "
-"que ésta sea el objetivo de una <literal>property-ref</literal>. Esto
hace "
-"efectivamente la multiplicidad de la asociación uno a uno."
+"<literal>unique</literal> (opcional): Habilita la generación
DDL de "
+"una restricción de unicidad para la columna de clave foránea.
"
+"Además, permite que ésta sea el objetivo de una "
+"<literal>property-ref</literal>. Esto hace efectivamente la
multiplicidad de "
+"la asociación uno a uno."
-#. Tag: para
-#: basic_mapping.xml:1548
-#, no-c-format
+#: index.docbook:1548
msgid ""
"<literal>not-null</literal> (optional): Enable the DDL generation of a
"
"nullability constraint for the foreign key columns."
msgstr ""
-"<literal>not-null</literal> (opcional): Habilita la generación DDL de
una "
-"restricción de nulabilidad para las columnas de clave foránea."
+"<literal>not-null</literal> (opcional): Habilita la
generación DDL de "
+"una restricción de nulabilidad para las columnas de clave
forá"
+"nea."
-#. Tag: para
-#: basic_mapping.xml:1554
-#, no-c-format
+#: index.docbook:1554
msgid ""
"<literal>optimistic-lock</literal> (optional - defaults to
<literal>true</"
"literal>): Specifies that updates to this property do or do not require "
@@ -3036,12 +2798,11 @@
msgstr ""
"<literal>optimistic-lock</literal> (opcional - por defecto a
<literal>true</"
"literal>): Especifica que las actualizaciones a esta propiedad requieran o
"
-"no la obtención del bloqueo optimista. En otras palabras, determina si debe "
-"darse un incremento de versión cuando esta propiedad esté desactualizada."
+"no la obtención del bloqueo optimista. En otras palabras, determina
"
+"si debe darse un incremento de versión cuando esta propiedad "
+"esté desactualizada."
-#. Tag: para
-#: basic_mapping.xml:1562
-#, no-c-format
+#: index.docbook:1562
msgid ""
"<literal>lazy</literal> (optional - defaults to
<literal>proxy</literal>): "
"By default, single point associations are proxied.
<literal>lazy=\"no-proxy"
@@ -3051,16 +2812,14 @@
"association will always be eagerly fetched."
msgstr ""
"<literal>lazy</literal> (opcional - por defecto a
<literal>proxy</literal>): "
-"Por defecto, las asociaciones de punto único van con proxies.
<literal>lazy="
-"\"true\"</literal> especifica que esta propiedad debe ser traída
"
-"perezosamente cuando la variable de instancia sea accedida por primera vez "
-"(requiere instrumentación del bytecode en tiempo de compilación). "
-"<literal>lazy=\"false\"</literal> especifica que la
asociación siempre será "
-"recuperada tempranamente."
+"Por defecto, las asociaciones de punto único van con proxies. "
+"<literal>lazy=\"true\"</literal> especifica que esta
propiedad debe ser "
+"traída perezosamente cuando la variable de instancia sea accedida por
"
+"primera vez (requiere instrumentación del bytecode en tiempo de "
+"compilación). <literal>lazy=\"false\"</literal>
especifica que la "
+"asociación siempre será recuperada tempranamente."
-#. Tag: para
-#: basic_mapping.xml:1572
-#, no-c-format
+#: index.docbook:1572
msgid ""
"<literal>not-found</literal> (optional - defaults to
<literal>exception</"
"literal>): Specifies how foreign keys that reference missing rows will be
"
@@ -3068,37 +2827,27 @@
"association."
msgstr ""
"<literal>not-found</literal> (opcional - por defecto a
<literal>exception</"
-"literal>): Especifica cómo deben manejarse las claves foráneas que "
-"referencien filas inexistentes: <literal>ignore</literal> tratará una
fila "
-"perdida como una asociación nula."
+"literal>): Especifica cómo deben manejarse las claves
foráneas "
+"que referencien filas inexistentes: <literal>ignore</literal>
tratará "
+"una fila perdida como una asociación nula."
-#. Tag: para
-#: basic_mapping.xml:1579 basic_mapping.xml:1733
-#, fuzzy, no-c-format
+#: index.docbook:1579, index.docbook:1733
msgid ""
"<literal>entity-name</literal> (optional): The entity name of the
associated "
"class."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
"<literal>entity-name</literal> (opcional): El nombre de entidad de la
clase "
-"asociada.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>entity-name</literal> (optional): The entity name of the
associated "
-"class."
+"asociada."
-#. Tag: para
-#: basic_mapping.xml:1585
-#, no-c-format
+#: index.docbook:1585
msgid ""
"<literal>formula</literal> (optional): an SQL expression that defines
the "
"value for a <emphasis>computed</emphasis> foreign key."
msgstr ""
-"<literal>formula</literal> (opcional): una expresión SQL que define el
valor "
-"para una clave foránea <emphasis>computada</emphasis>."
+"<literal>formula</literal> (opcional): una expresión SQL que
define "
+"el valor para una clave foránea
<emphasis>computada</emphasis>."
-#. Tag: para
-#: basic_mapping.xml:1592
-#, no-c-format
+#: index.docbook:1592
msgid ""
"Setting a value of the <literal>cascade</literal> attribute to any
"
"meaningful value other than <literal>none</literal> will propagate
certain "
@@ -3113,35 +2862,32 @@
"one associations) do not support orphan delete."
msgstr ""
"Establecer el valor del atributo <literal>cascade</literal> a cualquier
"
-"valor significativo distinto de <literal>none</literal> propagará
ciertas "
-"operaciones al objeto asociado. Los valores significativos son los nombres "
-"de las operaciones básicas de Hibernate, <literal>persist, merge, delete,
"
-"save-update, evict, replicate, lock, refresh</literal>, así como los valores
"
-"especiales <literal>delete-orphan</literal> y
<literal>all</literal> y "
-"combinaciones de operaciones separadas por coma, por ejemplo, "
-"<literal>cascade=\"persist,merge,evict\"</literal> o
<literal>cascade=\"all,"
-"delete-orphan\"</literal>. Para una explicación completa, ver <xref
linkend="
-"\"objectstate-transitive\"/>."
+"valor significativo distinto de <literal>none</literal>
propagará "
+"ciertas operaciones al objeto asociado. Los valores significativos son los "
+"nombres de las operaciones básicas de Hibernate, <literal>persist,
"
+"merge, delete, save-update, evict, replicate, lock, refresh</literal>,
"
+"así como los valores especiales
<literal>delete-orphan</literal> y "
+"<literal>all</literal> y combinaciones de operaciones separadas por
coma, "
+"por ejemplo,
<literal>cascade=\"persist,merge,evict\"</literal> o "
+"<literal>cascade=\"all,delete-orphan\"</literal>. Para una
explicació"
+"n completa, ver <xref linkend=\"objectstate-transitive\"/>."
-#. Tag: para
-#: basic_mapping.xml:1605
-#, no-c-format
+#: index.docbook:1605
msgid ""
"A typical <literal>many-to-one</literal> declaration looks as simple as
this:"
msgstr ""
-"Una declaración típica <literal>muchos-a-uno</literal> se parece a
esto:"
+"Una declaración típica
<literal>muchos-a-uno</literal> se "
+"parece a esto:"
-#. Tag: programlisting
-#: basic_mapping.xml:1609
-#, no-c-format
+#: index.docbook:1609
msgid ""
"<![CDATA[<many-to-one name=\"product\" class=\"Product\"
column=\"PRODUCT_ID"
"\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"product\" class=\"Product\"
column=\"PRODUCT_ID"
+"\"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1611
-#, no-c-format
+#: index.docbook:1611
msgid ""
"The <literal>property-ref</literal> attribute should only be used for
"
"mapping legacy data where a foreign key refers to a unique key of the "
@@ -3152,90 +2898,75 @@
"tool.)"
msgstr ""
"El atributo <literal>property-ref</literal> debe ser usado solamente
para el "
-"mapeo de datos heredados donde una clave foránea referencia una clave única "
-"de la tabla asociada, distinta de la clave primaria. Este es un modelo "
-"relacional feo. Por ejemplo, supón que la clase
<literal>Product</literal> "
-"tuviera un número único serial que no es la clave primaria. (El atributo "
-"<literal>unique</literal> controla la generación de DDL con la
herramienta "
-"SchemaExport.)"
+"mapeo de datos heredados donde una clave foránea referencia una clave
"
+"única de la tabla asociada, distinta de la clave primaria. Este es un
"
+"modelo relacional feo. Por ejemplo, supón que la clase "
+"<literal>Product</literal> tuviera un número
único serial que "
+"no es la clave primaria. (El atributo <literal>unique</literal>
controla la "
+"generación de DDL con la herramienta SchemaExport.)"
-#. Tag: programlisting
-#: basic_mapping.xml:1620
-#, no-c-format
+#: index.docbook:1620
msgid ""
"<![CDATA[<property name=\"serialNumber\" unique=\"true\"
type=\"string\" "
"column=\"SERIAL_NUMBER\"/>]]>"
msgstr ""
+"<![CDATA[<property name=\"serialNumber\" unique=\"true\"
type=\"string\" "
+"column=\"SERIAL_NUMBER\"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1622
-#, no-c-format
+#: index.docbook:1622
msgid "Then the mapping for <literal>OrderItem</literal> might
use:"
-msgstr "Entonces el mapeo para <literal>OrderItem</literal> debería
usar:"
+msgstr ""
+"Entonces el mapeo para <literal>OrderItem</literal> debería
usar:"
-#. Tag: programlisting
-#: basic_mapping.xml:1626
-#, no-c-format
+#: index.docbook:1626
msgid ""
"<![CDATA[<many-to-one name=\"product\"
property-ref=\"serialNumber\" column="
"\"PRODUCT_SERIAL_NUMBER\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"product\"
property-ref=\"serialNumber\" column="
+"\"PRODUCT_SERIAL_NUMBER\"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1628
-#, no-c-format
+#: index.docbook:1628
msgid "This is certainly not encouraged, however."
msgstr "Sin embargo, esto no esta ciertamente alentado."
-#. Tag: para
-#: basic_mapping.xml:1632
-#, no-c-format
+#: index.docbook:1632
msgid ""
"If the referenced unique key comprises multiple properties of the associated
"
"entity, you should map the referenced properties inside a named
<literal><"
"properties></literal> element."
msgstr ""
-"Si la clave única referenciada abarca múltiples propiedades de la entidad "
-"asociada, debes mapear las propiedades dentro de un elemento
<literal><"
-"properties></literal>."
+"Si la clave única referenciada abarca múltiples propiedades
de "
+"la entidad asociada, debes mapear las propiedades dentro de un elemento "
+"<literal><properties></literal>."
-#. Tag: para
-#: basic_mapping.xml:1637
-#, no-c-format
+#: index.docbook:1637
msgid ""
"If the referenced unique key is the property of a component, you may specify
"
"a property path:"
-msgstr ""
-"UNTRANSLATED! If the referenced unique key is the property of a component, "
-"you may specify a property path:"
+msgstr "UNTRANSLATED!"
-#. Tag: programlisting
-#: basic_mapping.xml:1641
-#, no-c-format
+#: index.docbook:1641
msgid ""
"<![CDATA[<many-to-one name=\"owner\"
property-ref=\"identity.ssn\" column="
"\"OWNER_SSN\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"owner\"
property-ref=\"identity.ssn\" column="
+"\"OWNER_SSN\"/>]]>"
-#. Tag: title
-#: basic_mapping.xml:1646
-#, no-c-format
+#: index.docbook:1646
msgid "one-to-one"
msgstr "one-to-one"
-#. Tag: para
-#: basic_mapping.xml:1648
-#, no-c-format
+#: index.docbook:1648
msgid ""
"A one-to-one association to another persistent class is declared using a "
"<literal>one-to-one</literal> element."
msgstr ""
-"Una asociación uno-a-uno a otra clase persistente se declara usando un "
-"elemento <literal>one-to-one</literal>."
+"Una asociación uno-a-uno a otra clase persistente se declara usando
"
+"un elemento <literal>one-to-one</literal>."
-#. Tag: programlisting
-#: basic_mapping.xml:1666
-#, no-c-format
+#: index.docbook:1666
msgid ""
"<![CDATA[<one-to-one\n"
" name=\"propertyName\"\n"
@@ -3253,20 +2984,31 @@
" foreign-key=\"foreign_key_name\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<one-to-one\n"
+" name=\"propertyName\"\n"
+" class=\"ClassName\"\n"
+" cascade=\"cascade_style\"\n"
+" constrained=\"true|false\"\n"
+" fetch=\"join|select\"\n"
+" property-ref=\"propertyNameFromAssociatedClass\"\n"
+" access=\"field|property|ClassName\"\n"
+" formula=\"cualquier expresión SQL\"\n"
+" lazy=\"true|proxy|false\"\n"
+" entity-name=\"EntityName\"\n"
+"
node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+" embed-xml=\"true|false\"\n"
+" foreign-key=\"foreign_key_name\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1680
-#, no-c-format
+#: index.docbook:1680
msgid ""
"<literal>cascade</literal> (optional) specifies which operations should
be "
"cascaded from the parent object to the associated object."
msgstr ""
-"<literal>cascade</literal> (opcional) especifica qué operaciones deben
ir en "
-"cascada desde el objeto padre al objeto asociado."
+"<literal>cascade</literal> (opcional) especifica qué
operaciones "
+"deben ir en cascada desde el objeto padre al objeto asociado."
-#. Tag: para
-#: basic_mapping.xml:1686
-#, no-c-format
+#: index.docbook:1686
msgid ""
"<literal>constrained</literal> (optional) specifies that a foreign key
"
"constraint on the primary key of the mapped table references the table of "
@@ -3275,28 +3017,25 @@
"whether the association may be proxied (it is also used by the schema export
"
"tool)."
msgstr ""
-"<literal>constrained</literal> (opcional) especifica que una
restricción de "
-"clave foránea de la tabla mapeada referencia a la tabla de la clase "
-"asociada. Esta opción afecta el orden en que van en cascada
<literal>save()</"
-"literal> y <literal>delete()</literal>, y determina cuándo la
asociación "
-"pueden ser virtualizados por proxies (es también usado por la herramienta de
"
-"exportación de esquemas)."
+"<literal>constrained</literal> (opcional) especifica que una "
+"restricción de clave foránea de la tabla mapeada referencia a
"
+"la tabla de la clase asociada. Esta opción afecta el orden en que van
"
+"en cascada <literal>save()</literal> y
<literal>delete()</literal>, y "
+"determina cuándo la asociación pueden ser virtualizados por
"
+"proxies (es también usado por la herramienta de exportación
de "
+"esquemas)."
-#. Tag: para
-#: basic_mapping.xml:1701
-#, no-c-format
+#: index.docbook:1701
msgid ""
"<literal>property-ref</literal>: (optional) The name of a property of
the "
"associated class that is joined to the primary key of this class. If not "
"specified, the primary key of the associated class is used."
msgstr ""
"<literal>property-ref</literal>: (opcional) El nombre de una propiedad
de la "
-"clase asociada que esté unida a la clave primaria de esta clase. Si no se "
-"especifica, se usa la clave primaria de la clase asociada."
+"clase asociada que esté unida a la clave primaria de esta clase. Si
"
+"no se especifica, se usa la clave primaria de la clase asociada."
-#. Tag: para
-#: basic_mapping.xml:1714
-#, no-c-format
+#: index.docbook:1714
msgid ""
"<literal>formula</literal> (optional): Almost all one to one
associations "
"map to the primary key of the owning entity. In the rare case that this is "
@@ -3307,12 +3046,10 @@
"<literal>formula</literal> (opcional): Casi todas las asociaciones
uno-a-uno "
"mapean a la clave primaria de la entidad propietaria. En el raro caso en que
"
"este no sea el caso, puedes especificar alguna otra columna, o columnas, o "
-"expresión para unir usando una fórmula SQL. (Para un ejemplo ver "
-"<literal>org.hibernate.test.onetooneformula</literal>)."
+"expresión para unir usando una fórmula SQL. (Para un ejemplo
"
+"ver <literal>org.hibernate.test.onetooneformula</literal>)."
-#. Tag: para
-#: basic_mapping.xml:1722
-#, no-c-format
+#: index.docbook:1722
msgid ""
"<literal>lazy</literal> (optional - defaults to
<literal>proxy</literal>): "
"By default, single point associations are proxied.
<literal>lazy=\"no-proxy"
@@ -3324,36 +3061,29 @@
"Hibernate will eager fetch the association!</emphasis>"
msgstr ""
"<literal>lazy</literal> (opcional - por defecto a
<literal>proxy</literal>): "
-"Por defecto, las asociaciones de punto único van con proxies.
<literal>lazy="
-"\"true\"</literal> especifica que esta propiedad debe ser traída
"
-"perezosamente cuando la variable de instancia sea accedida por primera vez "
-"(requiere instrumentación del bytecode en tiempo de compilación). "
-"<literal>lazy=\"false\"</literal> especifica que la
asociación siempre será "
-"recuperada tempranamente. <emphasis>Observa que si
<literal>constrained="
-"\"false\"</literal>, la aplicación de proxies es imposible e
Hibernate "
-"traerá temprano la asociación!</emphasis>"
+"Por defecto, las asociaciones de punto único van con proxies. "
+"<literal>lazy=\"true\"</literal> especifica que esta
propiedad debe ser "
+"traída perezosamente cuando la variable de instancia sea accedida por
"
+"primera vez (requiere instrumentación del bytecode en tiempo de "
+"compilación). <literal>lazy=\"false\"</literal>
especifica que la "
+"asociación siempre será recuperada tempranamente. "
+"<emphasis>Observa que si
<literal>constrained=\"false\"</literal>, la "
+"aplicación de proxies es imposible e Hibernate traerá
temprano "
+"la asociación!</emphasis>"
-#. Tag: para
-#: basic_mapping.xml:1740
-#, no-c-format
+#: index.docbook:1740
msgid "There are two varieties of one-to-one association:"
msgstr "Hay dos variedades de asociaciones uno-a-uno:"
-#. Tag: para
-#: basic_mapping.xml:1744
-#, no-c-format
+#: index.docbook:1744
msgid "primary key associations"
msgstr "asociaciones de clave primaria"
-#. Tag: para
-#: basic_mapping.xml:1747
-#, no-c-format
+#: index.docbook:1747
msgid "unique foreign key associations"
-msgstr "asociaciones de clave foráneas única"
+msgstr "asociaciones de clave foráneas única"
-#. Tag: para
-#: basic_mapping.xml:1752
-#, no-c-format
+#: index.docbook:1752
msgid ""
"Primary key associations don't need an extra table column; if two rows are
"
"related by the association then the two table rows share the same primary "
@@ -3362,38 +3092,34 @@
"value!"
msgstr ""
"Las asociaciones de clave primaria no necesitan una columna de tabla extra; "
-"si dos filas están relacionadas por la asociación entonces las dos filas de "
-"tablas comparten el mismo valor de clave primaria. Por lo tanto, si quieres "
-"que dos objetos estén relacionados por una asociación de clave primaria, "
-"debes asegurarte que se les asigne el mismo valor de identificador!"
+"si dos filas están relacionadas por la asociación entonces
las "
+"dos filas de tablas comparten el mismo valor de clave primaria. Por lo "
+"tanto, si quieres que dos objetos estén relacionados por una "
+"asociación de clave primaria, debes asegurarte que se les asigne el
"
+"mismo valor de identificador!"
-#. Tag: para
-#: basic_mapping.xml:1759
-#, no-c-format
+#: index.docbook:1759
msgid ""
"For a primary key association, add the following mappings to "
"<literal>Employee</literal> and <literal>Person</literal>,
respectively."
msgstr ""
-"Para una asociación de clave primaria, añade los siguientes mapeos a "
-"<literal>Employee</literal> y <literal>Person</literal>,
respectivamente."
+"Para una asociación de clave primaria, añade los siguientes
"
+"mapeos a <literal>Employee</literal> y
<literal>Person</literal>, "
+"respectivamente."
-#. Tag: programlisting
-#: basic_mapping.xml:1764
-#, no-c-format
+#: index.docbook:1764
msgid "<![CDATA[<one-to-one name=\"person\"
class=\"Person\"/>]]>"
-msgstr ""
+msgstr "<![CDATA[<one-to-one name=\"person\"
class=\"Person\"/>]]>"
-#. Tag: programlisting
-#: basic_mapping.xml:1765
-#, no-c-format
+#: index.docbook:1765
msgid ""
"<![CDATA[<one-to-one name=\"employee\" class=\"Employee\"
constrained=\"true"
"\"/>]]>"
msgstr ""
+"<![CDATA[<one-to-one name=\"employee\" class=\"Employee\"
constrained=\"true"
+"\"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1767
-#, no-c-format
+#: index.docbook:1767
msgid ""
"Now we must ensure that the primary keys of related rows in the PERSON and "
"EMPLOYEE tables are equal. We use a special Hibernate identifier generation "
@@ -3401,12 +3127,10 @@
msgstr ""
"Ahora debemos asegurarnos que las claves primarias de las filas relacionadas
"
"en las tablas PERSON y EMPLOYEE sean iguales. Usamos una estrategia especial
"
-"de generación de identificador de Hibernate llamada
<literal>foreign</"
+"de generación de identificador de Hibernate llamada
<literal>foreign</"
"literal>:"
-#. Tag: programlisting
-#: basic_mapping.xml:1773
-#, no-c-format
+#: index.docbook:1773
msgid ""
"<![CDATA[<class name=\"person\"
table=\"PERSON\">\n"
" <id name=\"id\" column=\"PERSON_ID\">\n"
@@ -3420,68 +3144,69 @@
" constrained=\"true\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"person\"
table=\"PERSON\">\n"
+" <id name=\"id\" column=\"PERSON_ID\">\n"
+" <generator class=\"foreign\">\n"
+" <param
name=\"property\">employee</param>\n"
+" </generator>\n"
+" </id>\n"
+" ...\n"
+" <one-to-one name=\"employee\"\n"
+" class=\"Employee\"\n"
+" constrained=\"true\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: basic_mapping.xml:1775
-#, no-c-format
+#: index.docbook:1775
msgid ""
"A newly saved instance of <literal>Person</literal> is then assigned
the "
"same primary key value as the <literal>Employee</literal> instance
refered "
"with the <literal>employee</literal> property of that
<literal>Person</"
"literal>."
msgstr ""
-"A una instancia recién salvada de <literal>Person</literal> se le
asigna "
-"entonces el mismo valor de clave primaria con que la instancia "
+"A una instancia recién salvada de <literal>Person</literal>
se le "
+"asigna entonces el mismo valor de clave primaria con que la instancia "
"<literal>Employee</literal> referida por la propiedad
<literal>employee</"
"literal> de esta <literal>Person</literal>."
-#. Tag: para
-#: basic_mapping.xml:1781
-#, no-c-format
+#: index.docbook:1781
msgid ""
"Alternatively, a foreign key with a unique constraint, from "
"<literal>Employee</literal> to <literal>Person</literal>,
may be expressed "
"as:"
msgstr ""
-"Alternativamente, una clave foránea con una restricción de unicidad, desde "
-"<literal>Employee</literal> a <literal>Person</literal>,
puede ser expresada "
-"como:"
+"Alternativamente, una clave foránea con una restricción de
"
+"unicidad, desde <literal>Employee</literal> a
<literal>Person</literal>, "
+"puede ser expresada como:"
-#. Tag: programlisting
-#: basic_mapping.xml:1786
-#, no-c-format
+#: index.docbook:1786
msgid ""
"<![CDATA[<many-to-one name=\"person\" class=\"Person\"
column=\"PERSON_ID\" "
"unique=\"true\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"person\" class=\"Person\"
column=\"PERSON_ID\" "
+"unique=\"true\"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1788
-#, no-c-format
+#: index.docbook:1788
msgid ""
"And this association may be made bidirectional by adding the following to "
"the <literal>Person</literal> mapping:"
msgstr ""
-"Y esta asociación puede hacerse bidireccional agregando lo siguiente al "
-"mapeo de <literal>Person</literal> :"
+"Y esta asociación puede hacerse bidireccional agregando lo siguiente
"
+"al mapeo de <literal>Person</literal> :"
-#. Tag: programlisting
-#: basic_mapping.xml:1793
-#, no-c-format
+#: index.docbook:1793
msgid ""
"<![CDATA[<one-to-one name=\"employee\" class=\"Employee\"
property-ref="
"\"person\"/>]]>"
msgstr ""
+"<![CDATA[<one-to-one name=\"employee\" class=\"Employee\"
property-ref="
+"\"person\"/>]]>"
-#. Tag: title
-#: basic_mapping.xml:1798
-#, no-c-format
+#: index.docbook:1798
msgid "natural-id"
msgstr "natural-id"
-#. Tag: programlisting
-#: basic_mapping.xml:1800
-#, no-c-format
+#: index.docbook:1800
msgid ""
"<![CDATA[<natural-id mutable=\"true|false\"/>\n"
" <property ... />\n"
@@ -3489,10 +3214,13 @@
" ......\n"
"</natural-id>]]>"
msgstr ""
+"<![CDATA[<natural-id mutable=\"true|false\"/>\n"
+" <property ... />\n"
+" <many-to-one ... />\n"
+" ......\n"
+"</natural-id>]]>"
-#. Tag: para
-#: basic_mapping.xml:1802
-#, no-c-format
+#: index.docbook:1802
msgid ""
"Even though we recommend the use of surrogate keys as primary keys, you "
"should still try to identify natural keys for all entities. A natural key is
"
@@ -3503,16 +3231,15 @@
"be more self-documenting."
msgstr ""
"Aunque recomendamos el uso de claves delegadas como claves primarias, "
-"todavía debes intentar identificar claves naturales para todas las "
-"entidades. Una clave natural es una propiedad o combinación de propiedades "
-"que es única y no nula. Si además es inmutable, mejor aún. Mapea las "
-"propiedades de la clave natural dentro del elemento
<literal><natural-"
-"id></literal>. Hibernate generará las restricciones de clave única y
"
-"nulabilidad necesarias, y tu mapeo será más auto-documentado."
+"todavía debes intentar identificar claves naturales para todas las
"
+"entidades. Una clave natural es una propiedad o combinación de "
+"propiedades que es única y no nula. Si además es inmutable,
"
+"mejor aún. Mapea las propiedades de la clave natural dentro del "
+"elemento <literal><natural-id></literal>. Hibernate
generará "
+"las restricciones de clave única y nulabilidad necesarias, y tu mapeo
"
+"será más auto-documentado."
-#. Tag: para
-#: basic_mapping.xml:1811
-#, no-c-format
+#: index.docbook:1811
msgid ""
"We strongly recommend that you implement <literal>equals()</literal>
and "
"<literal>hashCode()</literal> to compare the natural key properties of
the "
@@ -3522,18 +3249,14 @@
"<literal>hashCode()</literal> para comparar las propiedades de clave
natural "
"de la entidad."
-#. Tag: para
-#: basic_mapping.xml:1816
-#, no-c-format
+#: index.docbook:1816
msgid ""
"This mapping is not intended for use with entities with natural primary
keys."
msgstr ""
-"Este mapeo no está concebido para usar con entidades con claves primarias "
-"naturales."
+"Este mapeo no está concebido para usar con entidades con claves "
+"primarias naturales."
-#. Tag: para
-#: basic_mapping.xml:1822
-#, no-c-format
+#: index.docbook:1822
msgid ""
"<literal>mutable</literal> (optional, defaults to
<literal>false</literal>): "
"By default, natural identifier properties as assumed to be immutable "
@@ -3543,15 +3266,11 @@
"literal>): Por defecto, se asume que las propiedades de identificadores "
"naturales son inmutables (constantes)."
-#. Tag: title
-#: basic_mapping.xml:1832
-#, no-c-format
+#: index.docbook:1832
msgid "component, dynamic-component"
msgstr "component, dynamic-component"
-#. Tag: para
-#: basic_mapping.xml:1834
-#, no-c-format
+#: index.docbook:1834
msgid ""
"The <literal><component></literal> element maps
properties of a child "
"object to columns of the table of a parent class. Components may, in turn, "
@@ -3563,9 +3282,7 @@
"a su vez declarar sus propias propiedades, componentes o colecciones. Ver "
"debajo \"Componentes\"."
-#. Tag: programlisting
-#: basic_mapping.xml:1852
-#, no-c-format
+#: index.docbook:1852
msgid ""
"<![CDATA[<component\n"
" name=\"propertyName\"\n"
@@ -3584,20 +3301,33 @@
" ........\n"
"</component>]]>"
msgstr ""
+"<![CDATA[<component \n"
+" name=\"propertyName\" \n"
+" class=\"className\"\n"
+" insert=\"true|false\"\n"
+" update=\"true|false\"\n"
+" access=\"field|property|ClassName\"\n"
+" lazy=\"true|false\"\n"
+" optimistic-lock=\"true|false\"\n"
+" unique=\"true|false\"\n"
+" node=\"element-name|.\"\n"
+">\n"
+" \n"
+" <property ...../>\n"
+" <many-to-one .... />\n"
+" ........\n"
+"</component>]]>"
-#. Tag: para
-#: basic_mapping.xml:1860
-#, no-c-format
+#: index.docbook:1860
msgid ""
"<literal>class</literal> (optional - defaults to the property type
"
"determined by reflection): The name of the component (child) class."
msgstr ""
"<literal>class</literal> (opcional - por defecto al tipo de la
propiedad "
-"determinado por reflección): El nombre de la clase del componente (hijo)."
+"determinado por reflección): El nombre de la clase del componente
"
+"(hijo)."
-#. Tag: para
-#: basic_mapping.xml:1866 basic_mapping.xml:1955
-#, no-c-format
+#: index.docbook:1866, index.docbook:1955
msgid ""
"<literal>insert</literal>: Do the mapped columns appear in SQL "
"<literal>INSERT</literal>s?"
@@ -3605,9 +3335,7 @@
"<literal>insert</literal>: Aparecen las columnas mapeadas en "
"<literal>INSERT</literal>s SQL?"
-#. Tag: para
-#: basic_mapping.xml:1872 basic_mapping.xml:1961
-#, no-c-format
+#: index.docbook:1872, index.docbook:1961
msgid ""
"<literal>update</literal>: Do the mapped columns appear in SQL "
"<literal>UPDATE</literal>s?"
@@ -3615,9 +3343,7 @@
"<literal>update</literal>: Aparecen las columnas mapeadas en "
"<literal>UPDATE</literal>s SQL?"
-#. Tag: para
-#: basic_mapping.xml:1884
-#, no-c-format
+#: index.docbook:1884
msgid ""
"<literal>lazy</literal> (optional - defaults to
<literal>false</literal>): "
"Specifies that this component should be fetched lazily when the instance "
@@ -3625,12 +3351,10 @@
msgstr ""
"<literal>lazy</literal> (opcional - por defecto a
<literal>false</literal>): "
"Especifica que este componente debe ser recuperado perezosamente cuando la "
-"variable de instancia sea accedida por primera vez (requiere instrumentación
"
-"de bytecode en tiempo de compilación)."
+"variable de instancia sea accedida por primera vez (requiere "
+"instrumentación de bytecode en tiempo de compilación)."
-#. Tag: para
-#: basic_mapping.xml:1891
-#, no-c-format
+#: index.docbook:1891
msgid ""
"<literal>optimistic-lock</literal> (optional - defaults to
<literal>true</"
"literal>): Specifies that updates to this component do or do not require "
@@ -3639,25 +3363,21 @@
msgstr ""
"<literal>optimistic-lock</literal> (opcional - por defecto a
<literal>true</"
"literal>): Especifica si las actualizaciones de este componente requieren o
"
-"no la adquisición de un bloqueo optimista. En otras palabras, determina si "
-"debe ocurrir un incremento de versión cuando esta propiedad está "
-"desactualizada."
+"no la adquisición de un bloqueo optimista. En otras palabras, "
+"determina si debe ocurrir un incremento de versión cuando esta "
+"propiedad está desactualizada."
-#. Tag: para
-#: basic_mapping.xml:1899 basic_mapping.xml:1975
-#, no-c-format
+#: index.docbook:1899, index.docbook:1975
msgid ""
"<literal>unique</literal> (optional - defaults to
<literal>false</literal>): "
"Specifies that a unique constraint exists upon all mapped columns of the "
"component."
msgstr ""
"<literal>unique</literal> (opcional - por defecto a
<literal>false</"
-"literal>): Especifica que existe una restricción de unicidad sobre todas las
"
-"columnas mapeadas del componente."
+"literal>): Especifica que existe una restricción de unicidad sobre
"
+"todas las columnas mapeadas del componente."
-#. Tag: para
-#: basic_mapping.xml:1908
-#, no-c-format
+#: index.docbook:1908
msgid ""
"The child <literal><property></literal> tags map
properties of the "
"child class to table columns."
@@ -3665,9 +3385,7 @@
"Las etiquetas hijas <literal><property></literal> mapean
propiedades "
"de la clase hija columnas de la tabla."
-#. Tag: para
-#: basic_mapping.xml:1913
-#, no-c-format
+#: index.docbook:1913
msgid ""
"The <literal><component></literal> element allows a
<literal><"
"parent></literal> subelement that maps a property of the component
class "
@@ -3677,9 +3395,7 @@
"<literal><parent></literal> que mapea una propiedad de la
clase del "
"componente como una referencia de regreso a la entidad contenedora."
-#. Tag: para
-#: basic_mapping.xml:1919
-#, no-c-format
+#: index.docbook:1919
msgid ""
"The <literal><dynamic-component></literal> element allows
a "
"<literal>Map</literal> to be mapped as a component, where the property
names "
@@ -3690,15 +3406,11 @@
"las propiedades se corresponden a las claves del mapa, ver <xref linkend="
"\"components-dynamic\"/>."
-#. Tag: title
-#: basic_mapping.xml:1928
-#, no-c-format
+#: index.docbook:1928
msgid "properties"
msgstr "properties"
-#. Tag: para
-#: basic_mapping.xml:1930
-#, no-c-format
+#: index.docbook:1930
msgid ""
"The <literal><properties></literal> element allows the
definition of a "
"named, logical grouping of properties of a class. The most important use of "
@@ -3706,15 +3418,14 @@
"of a <literal>property-ref</literal>. It is also a convenient way to
define "
"a multi-column unique constraint."
msgstr ""
-"El elemento <literal><properties></literal> permite la
definición de "
-"un grupo de propiedades lógico con nombre de una clase. El uso más "
-"importante de la contrucción es que permite que una combinación de "
-"propiedades sea objetivo de una <literal>property-ref</literal>. Es
también "
-"una forma conveniente de definir una restricción de unicidad multicolumna."
+"El elemento <literal><properties></literal> permite la
definició"
+"n de un grupo de propiedades lógico con nombre de una clase. El uso
"
+"más importante de la contrucción es que permite que una
"
+"combinación de propiedades sea objetivo de una
<literal>property-ref</"
+"literal>. Es también una forma conveniente de definir una "
+"restricción de unicidad multicolumna."
-#. Tag: programlisting
-#: basic_mapping.xml:1946
-#, no-c-format
+#: index.docbook:1946
msgid ""
"<![CDATA[<properties\n"
" name=\"logicalName\"\n"
@@ -3729,20 +3440,28 @@
" ........\n"
"</properties>]]>"
msgstr ""
+"<![CDATA[<properties \n"
+" name=\"logicalName\" \n"
+" insert=\"true|false\"\n"
+" update=\"true|false\"\n"
+" optimistic-lock=\"true|false\"\n"
+" unique=\"true|false\"\n"
+">\n"
+" \n"
+" <property ...../>\n"
+" <many-to-one .... />\n"
+" ........\n"
+"</properties>]]>"
-#. Tag: para
-#: basic_mapping.xml:1949
-#, no-c-format
+#: index.docbook:1949
msgid ""
"<literal>name</literal>: The logical name of the grouping -
<emphasis>not</"
"emphasis> an actual property name."
msgstr ""
-"<literal>name</literal>: El nombre lógico del agrupamiento -
<emphasis>no</"
-"emphasis> un nombre de propiedad real."
+"<literal>name</literal>: El nombre lógico del agrupamiento -
"
+"<emphasis>no</emphasis> un nombre de propiedad real."
-#. Tag: para
-#: basic_mapping.xml:1967
-#, no-c-format
+#: index.docbook:1967
msgid ""
"<literal>optimistic-lock</literal> (optional - defaults to
<literal>true</"
"literal>): Specifies that updates to these properties do or do not require
"
@@ -3751,13 +3470,11 @@
msgstr ""
"<literal>optimistic-lock</literal> (opcional - por defecto a
<literal>true</"
"literal>): Especifica si las actualizaciones de estas propiedades requieren
"
-"o no de la adquisición de un bloqueo optimista. En otras palabras, determina
"
-"si debe ocurrir un incremento de versión cuando estas propiedades están "
-"desactualizadas."
+"o no de la adquisición de un bloqueo optimista. En otras palabras,
"
+"determina si debe ocurrir un incremento de versión cuando estas "
+"propiedades están desactualizadas."
-#. Tag: para
-#: basic_mapping.xml:1984
-#, no-c-format
+#: index.docbook:1984
msgid ""
"For example, if we have the following
<literal><properties></literal> "
"mapping:"
@@ -3765,9 +3482,7 @@
"Por ejemplo, si tenemos el siguiente mapeo de
<literal><properties></"
"literal>:"
-#. Tag: programlisting
-#: basic_mapping.xml:1988
-#, no-c-format
+#: index.docbook:1988
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"personNumber\"/>\n"
@@ -3780,21 +3495,27 @@
" </properties>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"personNumber\"/>\n"
+" ...\n"
+" <properties name=\"name\" \n"
+" unique=\"true\" update=\"false\">\n"
+" <property name=\"firstName\"/>\n"
+" <property name=\"initial\"/>\n"
+" <property name=\"lastName\"/>\n"
+" </properties>\n"
+"</class>]]>"
-#. Tag: para
-#: basic_mapping.xml:1990
-#, no-c-format
+#: index.docbook:1990
msgid ""
"Then we might have some legacy data association which refers to this unique "
"key of the <literal>Person</literal> table, instead of to the primary
key:"
msgstr ""
-"Entonces puede que tengamos alguna asociación de datos heredados que se "
-"refiera a esta clave única de la tabla de <literal>Person</literal>, en
vez "
-"de la clave primaria:"
+"Entonces puede que tengamos alguna asociación de datos heredados que
"
+"se refiera a esta clave única de la tabla de
<literal>Person</"
+"literal>, en vez de la clave primaria:"
-#. Tag: programlisting
-#: basic_mapping.xml:1995
-#, no-c-format
+#: index.docbook:1995
msgid ""
"<![CDATA[<many-to-one name=\"person\"\n"
" class=\"Person\" property-ref=\"name\">\n"
@@ -3803,10 +3524,14 @@
" <column name=\"lastName\"/>\n"
"</many-to-one>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"person\" \n"
+" class=\"Person\" property-ref=\"name\">\n"
+" <column name=\"firstName\"/>\n"
+" <column name=\"initial\"/>\n"
+" <column name=\"lastName\"/>\n"
+"</many-to-one>]]>"
-#. Tag: para
-#: basic_mapping.xml:1997
-#, no-c-format
+#: index.docbook:1997
msgid ""
"We don't recommend the use of this kind of thing outside the context of "
"mapping legacy data."
@@ -3814,27 +3539,22 @@
"No recomendamos el uso de este tipo de cosas fuera del contexto del mapeo de
"
"datos heredados."
-#. Tag: title
-#: basic_mapping.xml:2005
-#, no-c-format
+#: index.docbook:2005
msgid "subclass"
msgstr "subclass"
-#. Tag: para
-#: basic_mapping.xml:2007
-#, no-c-format
+#: index.docbook:2007
msgid ""
"Finally, polymorphic persistence requires the declaration of each subclass "
"of the root persistent class. For the table-per-class-hierarchy mapping "
"strategy, the <literal><subclass></literal> declaration
is used."
msgstr ""
-"Finalmente, la persistencia polimórfica requiere la declaración de la clase "
-"persistente raíz. Para la estrategia de mapeo tabla-por-jerarquía-de-clases,
"
-"se usa la declaración de
<literal><subclass></literal>."
+"Finalmente, la persistencia polimórfica requiere la
declaració"
+"n de la clase persistente raíz. Para la estrategia de mapeo
tabla-por-"
+"jerarquía-de-clases, se usa la declaración de
<literal><"
+"subclass></literal>."
-#. Tag: programlisting
-#: basic_mapping.xml:2020
-#, no-c-format
+#: index.docbook:2020
msgid ""
"<![CDATA[<subclass\n"
" name=\"ClassName\"\n"
@@ -3851,26 +3571,28 @@
" .....\n"
"</subclass>]]>"
msgstr ""
+"<![CDATA[<subclass\n"
+" name=\"ClassName\"\n"
+" discriminator-value=\"discriminator_value\"\n"
+" proxy=\"ProxyInterface\"\n"
+" lazy=\"true|false\"\n"
+" dynamic-update=\"true|false\"\n"
+" dynamic-insert=\"true|false\"\n"
+" entity-name=\"EntityName\"\n"
+" node=\"element-name\">\n"
+"\n"
+" <property .... />\n"
+" .....\n"
+"</subclass>]]>"
-#. Tag: para
-#: basic_mapping.xml:2023 basic_mapping.xml:2081 basic_mapping.xml:2144
-#, fuzzy, no-c-format
+#: index.docbook:2023, index.docbook:2081, index.docbook:2144
msgid ""
"<literal>name</literal>: The fully qualified class name of the
subclass."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
"<literal>name</literal>: El nombre de clase cualificado completamente
de la "
-"subclase.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>name</literal>: El nombre de clase completamente cualificado
de la "
-"subclase.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>name</literal>: El nombre de clase completamente cualificado
de la "
"subclase."
-#. Tag: para
-#: basic_mapping.xml:2028
-#, no-c-format
+#: index.docbook:2028
msgid ""
"<literal>discriminator-value</literal> (optional - defaults to the
class "
"name): A value that distiguishes individual subclasses."
@@ -3878,37 +3600,24 @@
"<literal>discriminator-value</literal> (opcional - por defecto al
nombre de "
"la clase): Un valor que distingue a subclases individuales."
-#. Tag: para
-#: basic_mapping.xml:2034 basic_mapping.xml:2091 basic_mapping.xml:2154
-#, fuzzy, no-c-format
+#: index.docbook:2034, index.docbook:2091, index.docbook:2154
msgid ""
"<literal>proxy</literal> (optional): Specifies a class or interface to
use "
"for lazy initializing proxies."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
"<literal>proxy</literal> (opcional): Especifica una clase o interface a
usar "
-"para proxies de inicialización perezosa.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>proxy</literal> (opcional): Especifica una clase o interface a
usar "
-"para proxies de inicializacón perezosa.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>proxy</literal> (optional): Especifica una clase o interface a
usar "
-"para proxies de inicializacón perezosa."
+"para proxies de inicialización perezosa."
-#. Tag: para
-#: basic_mapping.xml:2040 basic_mapping.xml:2097 basic_mapping.xml:2160
-#, no-c-format
+#: index.docbook:2040, index.docbook:2097, index.docbook:2160
msgid ""
"<literal>lazy</literal> (optional, defaults to
<literal>true</literal>): "
"Setting <literal>lazy=\"false\"</literal> disables the use of
lazy fetching."
msgstr ""
"<literal>lazy</literal> (opcional, por defecto a
<literal>true</literal>): "
"Establecer <literal>lazy=\"false\"</literal> deshabilita el
uso de "
-"recuperación perezosa."
+"recuperación perezosa."
-#. Tag: para
-#: basic_mapping.xml:2048
-#, no-c-format
+#: index.docbook:2048
msgid ""
"Each subclass should declare its own persistent properties and subclasses. "
"<literal><version></literal> and
<literal><id></literal> "
@@ -3922,25 +3631,19 @@
"subclass in a heirarchy must define a unique
<literal>discriminator-value</"
"literal>. If none is specified, the fully qualified Java class name is
used."
-#. Tag: para
-#: basic_mapping.xml:2056 basic_mapping.xml:2114 basic_mapping.xml:2172
-#, no-c-format
+#: index.docbook:2056, index.docbook:2114, index.docbook:2172
msgid ""
"For information about inheritance mappings, see <xref
linkend=\"inheritance"
"\"/>."
msgstr ""
-"Para información acerca de mapeos de herencia, ver <xref linkend="
+"Para información acerca de mapeos de herencia, ver <xref
linkend="
"\"inheritance\"/>."
-#. Tag: title
-#: basic_mapping.xml:2063
-#, no-c-format
+#: index.docbook:2063
msgid "joined-subclass"
msgstr "joined-subclass"
-#. Tag: para
-#: basic_mapping.xml:2065
-#, no-c-format
+#: index.docbook:2065
msgid ""
"Alternatively, each subclass may be mapped to its own table (table-per-"
"subclass mapping strategy). Inherited state is retrieved by joining with the
"
@@ -3952,9 +3655,7 @@
"uniendo con la tabla de la superclase. Usamos el elemento
<literal><"
"joined-subclass></literal>."
-#. Tag: programlisting
-#: basic_mapping.xml:2078
-#, no-c-format
+#: index.docbook:2078
msgid ""
"<![CDATA[<joined-subclass\n"
" name=\"ClassName\"\n"
@@ -3977,16 +3678,32 @@
" .....\n"
"</joined-subclass>]]>"
msgstr ""
+"<![CDATA[<joined-subclass\n"
+" name=\"ClassName\"\n"
+" table=\"tablename\"\n"
+" proxy=\"ProxyInterface\"\n"
+" lazy=\"true|false\"\n"
+" dynamic-update=\"true|false\"\n"
+" dynamic-insert=\"true|false\"\n"
+" schema=\"schema\"\n"
+" catalog=\"catalog\"\n"
+" extends=\"SuperclassName\"\n"
+" persister=\"ClassName\"\n"
+" subselect=\"SQL expression\"\n"
+" entity-name=\"EntityName\"\n"
+" node=\"element-name\">\n"
+"\n"
+" <key .... >\n"
+"\n"
+" <property .... />\n"
+" .....\n"
+"</joined-subclass>]]>"
-#. Tag: para
-#: basic_mapping.xml:2086 basic_mapping.xml:2149
-#, no-c-format
+#: index.docbook:2086, index.docbook:2149
msgid "<literal>table</literal>: The name of the subclass table."
msgstr "<literal>table</literal>: El nombre de tabla de la
subclase."
-#. Tag: para
-#: basic_mapping.xml:2105
-#, no-c-format
+#: index.docbook:2105
msgid ""
"No discriminator column is required for this mapping strategy. Each subclass
"
"must, however, declare a table column holding the object identifier using "
@@ -3996,11 +3713,9 @@
"No se requiere de una columna discriminadora para esta estrategia de mapeo. "
"Cada subclase debe, sin embargo, declarar una columna de tabla que tenga el "
"identificador del objeto usando el elemento
<literal><key></literal>. "
-"El mapeo del comienzo del capítulo debería ser reescrito como:"
+"El mapeo del comienzo del capítulo debería ser reescrito
como:"
-#. Tag: programlisting
-#: basic_mapping.xml:2112
-#, no-c-format
+#: index.docbook:2112
msgid ""
"<![CDATA[<?xml version=\"1.0\"?>\n"
"<!DOCTYPE hibernate-mapping PUBLIC\n"
@@ -4035,16 +3750,44 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+" \"-//Hibernate/Hibernate Mapping DTD//EN\"\n"
+"
\"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping package=\"eg\">\n"
+"\n"
+" <class name=\"Cat\" table=\"CATS\">\n"
+" <id name=\"id\" column=\"uid\"
type=\"long\">\n"
+" <generator class=\"hilo\"/>\n"
+" </id>\n"
+" <property name=\"birthdate\"
type=\"date\"/>\n"
+" <property name=\"color\"
not-null=\"true\"/>\n"
+" <property name=\"sex\"
not-null=\"true\"/>\n"
+" <property name=\"weight\"/>\n"
+" <many-to-one name=\"mate\"/>\n"
+" <set name=\"kittens\">\n"
+" <key column=\"MOTHER\"/>\n"
+" <one-to-many class=\"Cat\"/>\n"
+" </set>\n"
+" <joined-subclass name=\"DomesticCat\"
table=\"DOMESTIC_CATS"
+"\">\n"
+" <key column=\"CAT\"/>\n"
+" <property name=\"name\"
type=\"string\"/>\n"
+" </joined-subclass>\n"
+" </class>\n"
+"\n"
+" <class name=\"eg.Dog\">\n"
+" <!-- mapping for Dog could go here -->\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: title
-#: basic_mapping.xml:2121
-#, no-c-format
+#: index.docbook:2121
msgid "union-subclass"
msgstr "union-subclass"
-#. Tag: para
-#: basic_mapping.xml:2123
-#, no-c-format
+#: index.docbook:2123
msgid ""
"A third option is to map only the concrete classes of an inheritance "
"hierarchy to tables, (the table-per-concrete-class strategy) where each "
@@ -4056,19 +3799,17 @@
"hierarchy), you need to use the
<literal><union-subclass></literal> "
"mapping."
msgstr ""
-"Una tercera opción es mapear sólo las clases concretas de una jerarquía de "
-"clases a tablas, (la estrategia tabla-por-clase-concreta) donde cada tabla "
-"define todo el estado persistente de la clase, incluyendo el estado "
-"heredado. En Hibernate, no es absolutamente necesario mapear dichas "
-"jerarquías de herencia. Puedes simplemente mapear cada clase con una "
-"declaración <literal><class></literal> separada. Sin
embargo, si "
-"deseas usar asociaciones polimórficas (por ejemplo, una asociación a la "
-"superclase de tu jerarquía), debes usar el mapeo
<literal><union-"
-"subclass></literal>."
+"Una tercera opción es mapear sólo las clases concretas de una
"
+"jerarquía de clases a tablas, (la estrategia tabla-por-clase-"
+"concreta) donde cada tabla define todo el estado persistente de la clase, "
+"incluyendo el estado heredado. En Hibernate, no es absolutamente necesario "
+"mapear dichas jerarquías de herencia. Puedes simplemente mapear cada
"
+"clase con una declaración
<literal><class></literal> separada. "
+"Sin embargo, si deseas usar asociaciones polimórficas (por ejemplo,
"
+"una asociación a la superclase de tu jerarquía), debes usar
el "
+"mapeo <literal><union-subclass></literal>."
-#. Tag: programlisting
-#: basic_mapping.xml:2141
-#, no-c-format
+#: index.docbook:2141
msgid ""
"<![CDATA[<union-subclass\n"
" name=\"ClassName\"\n"
@@ -4090,25 +3831,38 @@
" .....\n"
"</union-subclass>]]>"
msgstr ""
+"<![CDATA[<union-subclass\n"
+" name=\"ClassName\"\n"
+" table=\"tablename\"\n"
+" proxy=\"ProxyInterface\"\n"
+" lazy=\"true|false\"\n"
+" dynamic-update=\"true|false\"\n"
+" dynamic-insert=\"true|false\"\n"
+" schema=\"schema\"\n"
+" catalog=\"catalog\"\n"
+" extends=\"SuperclassName\"\n"
+" abstract=\"true|false\"\n"
+" persister=\"ClassName\"\n"
+" subselect=\"SQL expression\"\n"
+" entity-name=\"EntityName\"\n"
+" node=\"element-name\">\n"
+"\n"
+" <property .... />\n"
+" .....\n"
+"</union-subclass>]]>"
-#. Tag: para
-#: basic_mapping.xml:2168
-#, no-c-format
+#: index.docbook:2168
msgid ""
"No discriminator column or key column is required for this mapping strategy."
msgstr ""
"No se requiere columna o columna clave discriminadora para esta estrategia "
"de mapeo."
-#. Tag: title
-#: basic_mapping.xml:2179
-#, no-c-format
+#: index.docbook:2179
msgid "join"
msgstr "join"
-#. Tag: para
-#: basic_mapping.xml:2181
-#, no-c-format
+#: index.docbook:2181
msgid ""
"Using the <literal><join></literal> element, it is
possible to map "
"properties of one class to several tables, when there's a 1-to-1 "
@@ -4117,9 +3871,7 @@
"Usando el elemento <literal><join></literal>, es posible
mapear "
"propiedades de una clase a varias tablas."
-#. Tag: programlisting
-#: basic_mapping.xml:2195
-#, no-c-format
+#: index.docbook:2195
msgid ""
"<![CDATA[<join\n"
" table=\"tablename\"\n"
@@ -4135,16 +3887,25 @@
" ...\n"
"</join>]]>"
msgstr ""
+"<![CDATA[<join\n"
+" table=\"tablename\"\n"
+" schema=\"owner\"\n"
+" catalog=\"catalog\"\n"
+" fetch=\"join|select\"\n"
+" inverse=\"true|false\"\n"
+" optional=\"true|false\">\n"
+" \n"
+" <key ... />\n"
+" \n"
+" <property ... />\n"
+" ...\n"
+"</join>]]>"
-#. Tag: para
-#: basic_mapping.xml:2199
-#, no-c-format
+#: index.docbook:2199
msgid "<literal>table</literal>: The name of the joined table."
msgstr "<literal>table</literal>: El nombre de la clase unida."
-#. Tag: para
-#: basic_mapping.xml:2216
-#, no-c-format
+#: index.docbook:2216
msgid ""
"<literal>fetch</literal> (optional - defaults to
<literal>join</literal>): "
"If set to <literal>join</literal>, the default, Hibernate will use an
inner "
@@ -4157,32 +3918,29 @@
"<literal><join></literal> defined by the class and its
superclasses."
msgstr ""
"<literal>fetch</literal> (opcional - por defecto a
<literal>join</literal>): "
-"Si se establece a <literal>join</literal>, por defecto, Hibernate usará
una "
-"unión interior (inner join) para recuperar un
<literal><join></"
-"literal> definido por una clase o sus superclases y una unión externa (outer
"
-"join) para un <literal><join></literal> definido por una
subclase. Si "
-"se establece a <literal>select</literal>, entonces Hibernate usará una
"
-"select secuencial para un <literal><join></literal>
definido en una "
-"subclase, que será publicada sólo si una fila resulta representar una "
-"instancia de la subclase. Las uniones interiores todavía serán usados para "
+"Si se establece a <literal>join</literal>, por defecto, Hibernate
"
+"usará una unión interior (inner join) para recuperar un
"
+"<literal><join></literal> definido por una clase o sus
superclases y "
+"una unión externa (outer join) para un
<literal><join></"
+"literal> definido por una subclase. Si se establece a
<literal>select</"
+"literal>, entonces Hibernate usará una select secuencial para un
"
+"<literal><join></literal> definido en una subclase, que
será "
+"publicada sólo si una fila resulta representar una instancia de la
"
+"subclase. Las uniones interiores todavía serán usados para
"
"recuperar un <literal><join></literal> definido por la
clase y sus "
"superclases."
-#. Tag: para
-#: basic_mapping.xml:2229
-#, no-c-format
+#: index.docbook:2229
msgid ""
"<literal>inverse</literal> (optional - defaults to
<literal>false</"
"literal>): If enabled, Hibernate will not try to insert or update the "
"properties defined by this join."
msgstr ""
"<literal>inverse</literal> (opcional - por defecto a
<literal>false</"
-"literal>): De habilitarse, Hibernate no intentará insertar o actualizar las
"
-"propiedades definidas por esta unión."
+"literal>): De habilitarse, Hibernate no intentará insertar o "
+"actualizar las propiedades definidas por esta unión."
-#. Tag: para
-#: basic_mapping.xml:2236
-#, no-c-format
+#: index.docbook:2236
msgid ""
"<literal>optional</literal> (optional - defaults to
<literal>false</"
"literal>): If enabled, Hibernate will insert a row only if the properties
"
@@ -4190,24 +3948,20 @@
"retrieve the properties."
msgstr ""
"<literal>optional</literal> (opcional - por defecto a
<literal>false</"
-"literal>): De habilitarse, Hibernate insertará una fila sólo si las "
-"propiedades definidas por esta unión son no nulas y siempre usará una unión "
-"externa para recuperar las propiedades."
+"literal>): De habilitarse, Hibernate insertará una fila
sólo "
+"si las propiedades definidas por esta unión son no nulas y siempre
"
+"usará una unión externa para recuperar las
propiedades."
-#. Tag: para
-#: basic_mapping.xml:2245
-#, no-c-format
+#: index.docbook:2245
msgid ""
"For example, the address information for a person can be mapped to a "
"separate table (while preserving value type semantics for all properties):"
msgstr ""
-"Por ejemplo, la información domiciliaria de una persona puede ser mapeada a "
-"una tabla separada (preservando a la vez la semántica de tipo de valor para "
-"todas las propiedades):"
+"Por ejemplo, la información domiciliaria de una persona puede ser
"
+"mapeada a una tabla separada (preservando a la vez la semántica de
"
+"tipo de valor para todas las propiedades):"
-#. Tag: programlisting
-#: basic_mapping.xml:2250
-#, no-c-format
+#: index.docbook:2250
msgid ""
"<![CDATA[<class name=\"Person\"\n"
" table=\"PERSON\">\n"
@@ -4222,30 +3976,37 @@
" </join>\n"
" ...]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\"\n"
+" table=\"PERSON\">\n"
+"\n"
+" <id name=\"id\"
column=\"PERSON_ID\">...</id>\n"
+"\n"
+" <join table=\"ADDRESS\">\n"
+" <key column=\"ADDRESS_ID\"/>\n"
+" <property name=\"address\"/>\n"
+" <property name=\"zip\"/>\n"
+" <property name=\"country\"/>\n"
+" </join>\n"
+" ...]]>"
-#. Tag: para
-#: basic_mapping.xml:2252
-#, no-c-format
+#: index.docbook:2252
msgid ""
"This feature is often only useful for legacy data models, we recommend fewer
"
"tables than classes and a fine-grained domain model. However, it is useful "
"for switching between inheritance mapping strategies in a single hierarchy, "
"as explained later."
msgstr ""
-"Esta funcionalidad es a menudo solamente útil para modelos de datos "
-"heredados; recomendamos menos tablas que clases un modelo de dominio más "
-"granularizado. Sin embargo, es útil para cambiar entre estrategias de mapeo "
-"de herencias en una misma jerarquía, como se explica luego."
+"Esta funcionalidad es a menudo solamente útil para modelos de datos
"
+"heredados; recomendamos menos tablas que clases un modelo de dominio "
+"más granularizado. Sin embargo, es útil para cambiar entre
"
+"estrategias de mapeo de herencias en una misma jerarquía, como se
"
+"explica luego."
-#. Tag: title
-#: basic_mapping.xml:2262
-#, no-c-format
+#: index.docbook:2262
msgid "<title>key</title>"
-msgstr ""
+msgstr "<title>key</title>"
-#. Tag: para
-#: basic_mapping.xml:2264
-#, no-c-format
+#: index.docbook:2264
msgid ""
"We've seen the <literal><key></literal> element crop
up a few times "
"now. It appears anywhere the parent mapping element defines a join to a new "
@@ -4254,12 +4015,10 @@
msgstr ""
"Hasta ahora hemos visto el elemento
<literal><key></literal> pocas "
"veces. Aparece en cualquier sitio en que el elemento padre de mapeo defina "
-"una unión a una nueva tabla, y define la clave foránea en la tabla unida, "
-"que referencia la clave primaria de la tabla original."
+"una unión a una nueva tabla, y define la clave foránea en la
"
+"tabla unida, que referencia la clave primaria de la tabla original."
-#. Tag: programlisting
-#: basic_mapping.xml:2280
-#, no-c-format
+#: index.docbook:2280
msgid ""
"<![CDATA[<key\n"
" column=\"columnname\"\n"
@@ -4270,70 +4029,66 @@
" unique=\"true|false\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<key\n"
+" column=\"columnname\"\n"
+" on-delete=\"noaction|cascade\"\n"
+" property-ref=\"propertyName\"\n"
+" not-null=\"true|false\"\n"
+" update=\"true|false\"\n"
+" unique=\"true|false\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:2291
-#, no-c-format
+#: index.docbook:2291
msgid ""
"<literal>on-delete</literal> (optional, defaults to
<literal>noaction</"
"literal>): Specifies whether the foreign key constraint has database-level
"
"cascade delete enabled."
msgstr ""
"<literal>on-delete</literal> (opcional, por defecto a
<literal>noaction</"
-"literal>): Especifica si la restricción de clave foránea tiene el borrado en
"
-"cascada habilitado a nivel de base de datos."
+"literal>): Especifica si la restricción de clave foránea
tiene "
+"el borrado en cascada habilitado a nivel de base de datos."
-#. Tag: para
-#: basic_mapping.xml:2298
-#, no-c-format
+#: index.docbook:2298
msgid ""
"<literal>property-ref</literal> (optional): Specifies that the foreign
key "
"refers to columns that are not the primary key of the orginal table. "
"(Provided for legacy data.)"
msgstr ""
-"<literal>property-ref</literal> (opcional): Especifica que la clave
foránea "
-"referencia columnas que no son del la clave primaria de la tabla original. "
-"(Provisto para datos heredados.)"
+"<literal>property-ref</literal> (opcional): Especifica que la clave
"
+"foránea referencia columnas que no son del la clave primaria de la
"
+"tabla original. (Provisto para datos heredados.)"
-#. Tag: para
-#: basic_mapping.xml:2305
-#, no-c-format
+#: index.docbook:2305
msgid ""
"<literal>not-null</literal> (optional): Specifies that the foreign key
"
"columns are not nullable (this is implied whenever the foreign key is also "
"part of the primary key)."
msgstr ""
"<literal>not-null</literal> (opcional): Especifica que las columnas de
la "
-"clave foránea son no nulables (esto está implicado si la clave foránea es "
-"también parte de la clave primaria)."
+"clave foránea son no nulables (esto está implicado si la
clave "
+"foránea es también parte de la clave primaria)."
-#. Tag: para
-#: basic_mapping.xml:2312
-#, no-c-format
+#: index.docbook:2312
msgid ""
"<literal>update</literal> (optional): Specifies that the foreign key
should "
"never be updated (this is implied whenever the foreign key is also part of "
"the primary key)."
msgstr ""
-"<literal>update</literal> (opcional): Especifica que la clave foránea
nunca "
-"debe ser actualizada (esto está implicado si la clave foránea es también "
-"parte de la clave primaria)."
+"<literal>update</literal> (opcional): Especifica que la clave
foránea "
+"nunca debe ser actualizada (esto está implicado si la clave "
+"foránea es también parte de la clave primaria)."
-#. Tag: para
-#: basic_mapping.xml:2319
-#, no-c-format
+#: index.docbook:2319
msgid ""
"<literal>unique</literal> (optional): Specifies that the foreign key
should "
"have a unique constraint (this is implied whenever the foreign key is also "
"the primary key)."
msgstr ""
-"<literal>unique</literal> (opcional): Especifica que la clave foránea
debe "
-"tener una restricción de unicidad (esto está implicado si la clave foránea "
-"es también la clave primaria)."
+"<literal>unique</literal> (opcional): Especifica que la clave
foránea "
+"debe tener una restricción de unicidad (esto está implicado
si "
+"la clave foránea es también la clave primaria)."
-#. Tag: para
-#: basic_mapping.xml:2327
-#, no-c-format
+#: index.docbook:2327
msgid ""
"We recommend that for systems where delete performance is important, all "
"keys should be defined
<literal>on-delete=\"cascade\"</literal>, and "
@@ -4344,15 +4099,13 @@
msgstr ""
"Recomendamos que, para los sistemas en donde el rendimiento sea importante, "
"todas las claves deben ser definidas
<literal>on-delete=\"cascade\"</"
-"literal>, e Hibernate usará una restricción <literal>ON CASCADE
DELETE</"
-"literal> a nivel de base de datos, en vez de muchas sentencias "
-"<literal>DELETE</literal> individuales. Ten en cuenta que esta
funcionalidad "
-"se salta la habitual estrategia de bloqueo optimista de Hibernate para datos
"
-"versionados."
+"literal>, e Hibernate usará una restricción
<literal>ON "
+"CASCADE DELETE</literal> a nivel de base de datos, en vez de muchas "
+"sentencias <literal>DELETE</literal> individuales. Ten en cuenta que
esta "
+"funcionalidad se salta la habitual estrategia de bloqueo optimista de "
+"Hibernate para datos versionados."
-#. Tag: para
-#: basic_mapping.xml:2335
-#, no-c-format
+#: index.docbook:2335
msgid ""
"The <literal>not-null</literal> and
<literal>update</literal> attributes are "
"useful when mapping a unidirectional one to many association. If you map a "
@@ -4361,20 +4114,16 @@
"null=\"true\"></literal>."
msgstr ""
"Los atributos <literal>not-null</literal> y
<literal>update</literal> son "
-"útiles al mapear una asociación uno a muchos unidireccional. Si mapeas una "
-"uno a muchos unidireccional a una clave foránea no nulable,
<emphasis>debes</"
-"emphasis> declarar la columna clave usando <literal><key
not-null=\"true"
-"\"></literal>."
+"útiles al mapear una asociación uno a muchos unidireccional.
"
+"Si mapeas una uno a muchos unidireccional a una clave foránea no "
+"nulable, <emphasis>debes</emphasis> declarar la columna clave usando
"
+"<literal><key
not-null=\"true\"></literal>."
-#. Tag: title
-#: basic_mapping.xml:2345
-#, no-c-format
+#: index.docbook:2345
msgid "column and formula elements"
msgstr "los elementos column y formula"
-#. Tag: para
-#: basic_mapping.xml:2346
-#, no-c-format
+#: index.docbook:2346
msgid ""
"Any mapping element which accepts a <literal>column</literal> attribute
will "
"alternatively accept a <literal><column></literal>
subelement. "
@@ -4382,13 +4131,11 @@
"<literal>formula</literal> attribute."
msgstr ""
"Cualquier elemento de mapeo que acepte un atributo
<literal>column</literal> "
-"aceptará alternativamente un subelemento
<literal><column></literal>. "
-"De forma similar, <literal><formula></literal> es una
alternativa al "
-"atributo <literal>formula</literal>."
+"aceptará alternativamente un subelemento
<literal><column></"
+"literal>. De forma similar,
<literal><formula></literal> es una "
+"alternativa al atributo <literal>formula</literal>."
-#. Tag: programlisting
-#: basic_mapping.xml:2352
-#, no-c-format
+#: index.docbook:2352
msgid ""
"<![CDATA[<column\n"
" name=\"column_name\"\n"
@@ -4403,28 +4150,33 @@
" check=\"SQL expression\"\n"
" default=\"SQL expression\"/>]]>"
msgstr ""
+"<![CDATA[<column\n"
+" name=\"column_name\"\n"
+" length=\"N\"\n"
+" precision=\"N\"\n"
+" scale=\"N\"\n"
+" not-null=\"true|false\"\n"
+" unique=\"true|false\"\n"
+" unique-key=\"multicolumn_unique_key_name\"\n"
+" index=\"index_name\"\n"
+" sql-type=\"sql_type_name\"\n"
+" check=\"SQL expression\"/>]]>"
-#. Tag: programlisting
-#: basic_mapping.xml:2354
-#, no-c-format
+#: index.docbook:2354
msgid "<![CDATA[<formula>SQL expression</formula>]]>"
-msgstr ""
+msgstr "<![CDATA[<formula>expresión
SQL</formula>]]>"
-#. Tag: para
-#: basic_mapping.xml:2356
-#, no-c-format
+#: index.docbook:2356
msgid ""
"<literal>column</literal> and <literal>formula</literal>
attributes may even "
"be combined within the same property or association mapping to express, for "
"example, exotic join conditions."
msgstr ""
"Los atributos <literal>column</literal> y
<literal>formula</literal> pueden "
-"incluso ser combinados dentro del mismo mapeo de propiedad o asociación para
"
-"expresar, por ejemplo, condiciones de unión exóticas."
+"incluso ser combinados dentro del mismo mapeo de propiedad o
asociació"
+"n para expresar, por ejemplo, condiciones de unión
exóticas."
-#. Tag: programlisting
-#: basic_mapping.xml:2362
-#, no-c-format
+#: index.docbook:2362
msgid ""
"<![CDATA[<many-to-one name=\"homeAddress\"
class=\"Address\"\n"
" insert=\"false\" update=\"false\">\n"
@@ -4432,16 +4184,17 @@
" <formula>'MAILING'</formula>\n"
"</many-to-one>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"homeAddress\"
class=\"Address\"\n"
+" insert=\"false\" update=\"false\">\n"
+" <column name=\"person_id\" not-null=\"true\"
length=\"10\"/>\n"
+" <formula>'MAILING'</formula>\n"
+"</many-to-one>]]>"
-#. Tag: title
-#: basic_mapping.xml:2367
-#, no-c-format
+#: index.docbook:2367
msgid "import"
msgstr "import"
-#. Tag: para
-#: basic_mapping.xml:2369
-#, no-c-format
+#: index.docbook:2369
msgid ""
"Suppose your application has two persistent classes with the same name, and "
"you don't want to specify the fully qualified (package) name in Hibernate
"
@@ -4449,31 +4202,30 @@
"<literal>auto-import=\"true\"</literal>. You may even import
classes and "
"interfaces that are not explicitly mapped."
msgstr ""
-"Supón que tu aplicación tiene dos clases persistentes con el mismo nombre, y
"
-"no quieres especificar el nombre completamenta cualificado (paquete) en las "
-"consultas Hibernate. Las clases pueden ser \"importadas\" explícitamente,
en "
-"vez de confiar en <literal>auto-import=\"true\"</literal>.
Puedes incluso "
-"importar clases e interfaces que no estén mapeadas explícitamente."
+"Supón que tu aplicación tiene dos clases persistentes con el
"
+"mismo nombre, y no quieres especificar el nombre completamenta cualificado "
+"(paquete) en las consultas Hibernate. Las clases pueden ser
\"importadas\" "
+"explícitamente, en vez de confiar en
<literal>auto-import=\"true\"</"
+"literal>. Puedes incluso importar clases e interfaces que no estén
"
+"mapeadas explícitamente."
-#. Tag: programlisting
-#: basic_mapping.xml:2376
-#, no-c-format
+#: index.docbook:2376
msgid "<![CDATA[<import class=\"java.lang.Object\"
rename=\"Universe\"/>]]>"
-msgstr ""
+msgstr "<![CDATA[<import class=\"java.lang.Object\"
rename=\"Universe\"/>]]>"
-#. Tag: programlisting
-#: basic_mapping.xml:2383
-#, no-c-format
+#: index.docbook:2383
msgid ""
"<![CDATA[<import\n"
" class=\"ClassName\"\n"
" rename=\"ShortName\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<import\n"
+" class=\"ClassName\"\n"
+" rename=\"ShortName\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:2386
-#, no-c-format
+#: index.docbook:2386
msgid ""
"<literal>class</literal>: The fully qualified class name of of any Java
"
"class."
@@ -4481,25 +4233,19 @@
"<literal>class</literal>: El nombre de clase completamente cualificado
de "
"cualquier clase Java."
-#. Tag: para
-#: basic_mapping.xml:2391
-#, no-c-format
+#: index.docbook:2391
msgid ""
"<literal>rename</literal> (optional - defaults to the unqualified class
"
"name): A name that may be used in the query language."
msgstr ""
"<literal>rename</literal> (opcional - por defecto al nombre de clase
sin "
-"cualificar): Un nombre que será usado en el leguaje de consulta."
+"cualificar): Un nombre que será usado en el leguaje de consulta."
-#. Tag: title
-#: basic_mapping.xml:2402
-#, no-c-format
+#: index.docbook:2402
msgid "<title>any</title>"
-msgstr ""
+msgstr "<title>any</title>"
-#. Tag: para
-#: basic_mapping.xml:2404
-#, no-c-format
+#: index.docbook:2404
msgid ""
"There is one further type of property mapping. The
<literal><any></"
"literal> mapping element defines a polymorphic association to classes from
"
@@ -4510,19 +4256,18 @@
"as the usual way of mapping (polymorphic) associations. You should use this "
"only in very special cases (eg. audit logs, user session data, etc)."
msgstr ""
-"Hay un tipo más de mapeo de propiedad. El elemento de mapeo
<literal><"
-"any></literal> define una asociacián polimórfica a clases desde
múltiples "
-"tablas. Este tipo de mapeo siempre requiere más de una columna. La primera "
-"columna contiene el tipo de la entidad asociada. Las columnas restantes "
-"contienen el identificador. Es imposible especificar una restricción de "
-"clave foránea para este tipo de asociación, por lo que esto ciertamente no "
-"está concebido como la forma habitual de mapear asociaciones (polimórficas).
"
-"Sólo debes usar esto en casos muy especiales (por ejemplo, trazas de "
-"auditoréa, datos de sesión de usuario, etc)."
+"Hay un tipo más de mapeo de propiedad. El elemento de mapeo "
+"<literal><any></literal> define una asociacián
polimó"
+"rfica a clases desde múltiples tablas. Este tipo de mapeo siempre
"
+"requiere más de una columna. La primera columna contiene el tipo de
"
+"la entidad asociada. Las columnas restantes contienen el identificador. Es "
+"imposible especificar una restricción de clave foránea para
"
+"este tipo de asociación, por lo que esto ciertamente no está
"
+"concebido como la forma habitual de mapear asociaciones (polimó"
+"rficas). Sólo debes usar esto en casos muy especiales (por ejemplo,
"
+"trazas de auditoréa, datos de sesión de usuario, etc)."
-#. Tag: para
-#: basic_mapping.xml:2414
-#, no-c-format
+#: index.docbook:2414
msgid ""
"The <literal>meta-type</literal> attribute lets the application specify
a "
"custom type that maps database column values to persistent classes which "
@@ -4530,15 +4275,13 @@
"literal>. You must specify the mapping from values of the meta-type to class
"
"names."
msgstr ""
-"El atributo <literal>meta-type</literal> permite a la aplicación
especificar "
-"un tipo personalizado que mapee columnas de base de datos a clases "
-"persistentes que tengan propiedades identificadoras del tipo especificado "
-"por <literal>id-type</literal>. Debes especificar el mapeo de valores
del "
-"meta-type a nombres de clase."
+"El atributo <literal>meta-type</literal> permite a la
aplicación "
+"especificar un tipo personalizado que mapee columnas de base de datos a "
+"clases persistentes que tengan propiedades identificadoras del tipo "
+"especificado por <literal>id-type</literal>. Debes especificar el mapeo
de "
+"valores del meta-type a nombres de clase."
-#. Tag: programlisting
-#: basic_mapping.xml:2421
-#, no-c-format
+#: index.docbook:2421
msgid ""
"<![CDATA[<any name=\"being\" id-type=\"long\"
meta-type=\"string\">\n"
" <meta-value value=\"TBL_ANIMAL\"
class=\"Animal\"/>\n"
@@ -4548,10 +4291,15 @@
" <column name=\"id\"/>\n"
"</any>]]>"
msgstr ""
+"<![CDATA[<any name=\"being\" id-type=\"long\"
meta-type=\"string\">\n"
+" <meta-value value=\"TBL_ANIMAL\"
class=\"Animal\"/>\n"
+" <meta-value value=\"TBL_HUMAN\"
class=\"Human\"/>\n"
+" <meta-value value=\"TBL_ALIEN\"
class=\"Alien\"/>\n"
+" <column name=\"table_name\"/>\n"
+" <column name=\"id\"/>\n"
+"</any>]]>"
-#. Tag: programlisting
-#: basic_mapping.xml:2432
-#, no-c-format
+#: index.docbook:2432
msgid ""
"<![CDATA[<any\n"
" name=\"propertyName\"\n"
@@ -4569,22 +4317,31 @@
" .....\n"
"</any>]]>"
msgstr ""
+"<![CDATA[<any\n"
+" name=\"propertyName\"\n"
+" id-type=\"idtypename\"\n"
+" meta-type=\"metatypename\"\n"
+" cascade=\"cascade_style\"\n"
+" access=\"field|property|ClassName\"\n"
+" optimistic-lock=\"true|false\"\n"
+">\n"
+" <meta-value ... />\n"
+" <meta-value ... />\n"
+" .....\n"
+" <column .... />\n"
+" <column .... />\n"
+" .....\n"
+"</any>]]>"
-#. Tag: para
-#: basic_mapping.xml:2435
-#, no-c-format
+#: index.docbook:2435
msgid "<literal>name</literal>: the property name."
msgstr "<literal>name</literal>: el nombre de la propiedad."
-#. Tag: para
-#: basic_mapping.xml:2440
-#, no-c-format
+#: index.docbook:2440
msgid "<literal>id-type</literal>: the identifier type."
msgstr "<literal>id-type</literal>: el tipo del identificador."
-#. Tag: para
-#: basic_mapping.xml:2445
-#, no-c-format
+#: index.docbook:2445
msgid ""
"<literal>meta-type</literal> (optional - defaults to
<literal>string</"
"literal>): Any type that is allowed for a discriminator mapping."
@@ -4592,9 +4349,7 @@
"<literal>meta-type</literal> (opcional - por defecto a
<literal>string</"
"literal>): Cualquier tipo que sea permitido para un mapeo de
discriminador."
-#. Tag: para
-#: basic_mapping.xml:2451
-#, no-c-format
+#: index.docbook:2451
msgid ""
"<literal>cascade</literal> (optional- defaults to
<literal>none</literal>): "
"the cascade style."
@@ -4602,9 +4357,7 @@
"<literal>cascade</literal> (opcional- por defecto a
<literal>none</"
"literal>): el estilo de cascada."
-#. Tag: para
-#: basic_mapping.xml:2463
-#, no-c-format
+#: index.docbook:2463
msgid ""
"<literal>optimistic-lock</literal> (optional - defaults to
<literal>true</"
"literal>): Specifies that updates to this property do or do not require "
@@ -4613,25 +4366,19 @@
msgstr ""
"<literal>optimistic-lock</literal> (opcional - por defecto a
<literal>true</"
"literal>): Especifica si las actualizaciones de esta propiedad requieren o
"
-"no de la adquisición del bloqueo optimista. En otras palabras, determina si "
-"debe ocurrir un incremento de versión cuando esta propiedad está "
-"desactualizada."
+"no de la adquisición del bloqueo optimista. En otras palabras, "
+"determina si debe ocurrir un incremento de versión cuando esta "
+"propiedad está desactualizada."
-#. Tag: title
-#: basic_mapping.xml:2478
-#, no-c-format
+#: index.docbook:2478
msgid "Hibernate Types"
msgstr "Tipos de Hibernate"
-#. Tag: title
-#: basic_mapping.xml:2481
-#, no-c-format
+#: index.docbook:2481
msgid "Entities and values"
msgstr "Entidades y Valores"
-#. Tag: para
-#: basic_mapping.xml:2483
-#, no-c-format
+#: index.docbook:2483
msgid ""
"To understand the behaviour of various Java language-level objects with "
"respect to the persistence service, we need to classify them into two
groups:"
@@ -4640,9 +4387,7 @@
"con respecto al servicio de persistencia, necesitamos clasificarlos en dos "
"grupos:"
-#. Tag: para
-#: basic_mapping.xml:2488
-#, no-c-format
+#: index.docbook:2488
msgid ""
"An <emphasis>entity</emphasis> exists independently of any other
objects "
"holding references to the entity. Contrast this with the usual Java model "
@@ -4657,17 +4402,15 @@
"Una <emphasis>entidad</emphasis> existe independientemente de cualquier
"
"otros objetos que referencien a la entidad. Contrasta esto con el model "
"habitual de Java donde un objeto desreferenciado es recolectado como basura.
"
-"Las entidades deben ser salvadas y borradas explícitamente (excepto que las "
-"grabaciones y borrados puedan ser <emphasis>tratados en
cascada</emphasis> "
-"desde una entidad padre a sus hijos). Esto es diferente al modelo de "
-"persistencia de objetos por alcance - y se corresponde más de cerca a cómo "
-"los objetos de aplicación son usados habitualmente en grandes sistemas. Las "
-"entidades soportan referencias circulares y compartidas, que tambié pueden "
-"ser versionadas."
+"Las entidades deben ser salvadas y borradas explícitamente (excepto
"
+"que las grabaciones y borrados puedan ser <emphasis>tratados en
cascada</"
+"emphasis> desde una entidad padre a sus hijos). Esto es diferente al modelo
"
+"de persistencia de objetos por alcance - y se corresponde más de "
+"cerca a cómo los objetos de aplicación son usados "
+"habitualmente en grandes sistemas. Las entidades soportan referencias "
+"circulares y compartidas, que tambié pueden ser versionadas."
-#. Tag: para
-#: basic_mapping.xml:2499
-#, no-c-format
+#: index.docbook:2499
msgid ""
"An entity's persistent state consists of references to other entities and
"
"instances of <emphasis>value</emphasis> types. Values are primitives,
"
@@ -4681,18 +4424,16 @@
msgstr ""
"El estado persistente de una entidad consiste en referencias a otras "
"entidades e instancias de tipo <emphasis>valor</emphasis>. Los valores
son "
-"primitivos, colecciones (no lo que está dentro de la colección), componentes
"
-"y ciertos objetos inmutables. A diferencia de las entidades, los valores (en
"
-"particular las colecciones y los componentes) <emphasis>son</emphasis>
"
-"hechos persitentes y borrados por alcance. Como los objetos valor (y "
-"primitivos) son persistidos y borrados junto a sus entidades contenedoras, "
-"no pueden ser versionados independientemente. Los valores no tienen "
-"identidad independiente, por los que no pueden ser compartidos por dos "
-"entidades o colleciones."
+"primitivos, colecciones (no lo que está dentro de la
colecció"
+"n), componentes y ciertos objetos inmutables. A diferencia de las entidades,
"
+"los valores (en particular las colecciones y los componentes)
<emphasis>son</"
+"emphasis> hechos persitentes y borrados por alcance. Como los objetos valor
"
+"(y primitivos) son persistidos y borrados junto a sus entidades "
+"contenedoras, no pueden ser versionados independientemente. Los valores no "
+"tienen identidad independiente, por los que no pueden ser compartidos por "
+"dos entidades o colleciones."
-#. Tag: para
-#: basic_mapping.xml:2510
-#, no-c-format
+#: index.docbook:2510
msgid ""
"Up until now, we've been using the term \"persistent class\" to refer
to "
"entities. We will continue to do that. Strictly speaking, however, not all "
@@ -4706,29 +4447,28 @@
"model are shared references to a single instance of that class, while "
"composition or aggregation usually translates to a value type."
msgstr ""
-"Hasta ahora, hemos estado usando el término \"clase persistente\" para
"
-"referirnos a entidades. Continuaremos haciéndolo. Hablando estrictamente, "
-"sin embargo, no todas la clases con estado persistente definidas por el "
-"usuario son entidades. Un <emphasis>componente</emphasis> es una clase
"
-"definida por el usuario con semántica de valor. Una propiedad Java de tipo "
-"<literal>java.lang.String</literal> también tiene semántica de valor.
Dada "
-"esta definición, podemos decir que todos los tipo (clases) provistos por el "
-"JDK tienen una semántica de tipo valor en Java, mientras que los tipos "
-"definidos por el usuario pueden ser mapeados con semántica de tipo valor o "
-"de entidad. La desición corre por cuenta del desarrollador de la aplicación.
"
+"Hasta ahora, hemos estado usando el término \"clase
persistente\" "
+"para referirnos a entidades. Continuaremos haciéndolo. Hablando "
+"estrictamente, sin embargo, no todas la clases con estado persistente "
+"definidas por el usuario son entidades. Un
<emphasis>componente</emphasis> "
+"es una clase definida por el usuario con semántica de valor. Una "
+"propiedad Java de tipo <literal>java.lang.String</literal>
también "
+"tiene semántica de valor. Dada esta definición, podemos decir
"
+"que todos los tipo (clases) provistos por el JDK tienen una semántica
"
+"de tipo valor en Java, mientras que los tipos definidos por el usuario "
+"pueden ser mapeados con semántica de tipo valor o de entidad. La "
+"desición corre por cuenta del desarrollador de la aplicación.
"
"Un buen consejo para una clase entidad en un modelo de dominio son las "
"referencias compartidas a una sola instancia de esa clase, mientras que la "
-"composición o agregación usualmente se traducen a un tipo de valor."
+"composición o agregación usualmente se traducen a un tipo de
"
+"valor."
-#. Tag: para
-#: basic_mapping.xml:2524
-#, no-c-format
+#: index.docbook:2524
msgid "We'll revisit both concepts throughout the documentation."
-msgstr "Volveremos a visitar ambos conceptos a lo largo de la documentación."
+msgstr ""
+"Volveremos a visitar ambos conceptos a lo largo de la
documentación."
-#. Tag: para
-#: basic_mapping.xml:2528
-#, no-c-format
+#: index.docbook:2528
msgid ""
"The challenge is to map the Java type system (and the developers' definition
"
"of entities and value types) to the SQL/database type system. The bridge "
@@ -4742,45 +4482,38 @@
"types and implement your custom conversion strategies as well, as you'll see
"
"later."
msgstr ""
-"EL desafío es mapear el sistema de tipos de Java (y la definición de "
-"entidades y tipos de valor de los desarrolladores) al sistema de tipos de "
-"SQL/base de datos. EL puente entre ambos sistemas es provisto por Hibernate:
"
-"para las entidades usamos <literal><class></literal>,
<literal><"
-"subclass></literal>, etc. Para los tipos de valor usamos
<literal><"
-"property></literal>,
<literal><component></literal>, etc, "
-"usualmente con un atributo <literal>type</literal>. El valor de este
"
-"atributo es el nombre de un <emphasis>tipo de mapeo</emphasis> de
Hibernate. "
-"Hibernate provee de fábrica muchos mapeos (para tipos de valores del JDK "
-"estándar). Puedes escribir tus propios mapeos de tipo, así como implementar "
-"tus estrategias de conversión personalizadas, como veremos luego."
+"EL desafío es mapear el sistema de tipos de Java (y la "
+"definición de entidades y tipos de valor de los desarrolladores) al
"
+"sistema de tipos de SQL/base de datos. EL puente entre ambos sistemas es "
+"provisto por Hibernate: para las entidades usamos
<literal><class></"
+"literal>, <literal><subclass></literal>, etc. Para los
tipos de valor "
+"usamos <literal><property></literal>,
<literal><component></"
+"literal>, etc, usualmente con un atributo <literal>type</literal>.
El valor "
+"de este atributo es el nombre de un <emphasis>tipo de mapeo</emphasis>
de "
+"Hibernate. Hibernate provee de fábrica muchos mapeos (para tipos de
"
+"valores del JDK estándar). Puedes escribir tus propios mapeos de "
+"tipo, así como implementar tus estrategias de conversión
"
+"personalizadas, como veremos luego."
-#. Tag: para
-#: basic_mapping.xml:2541
-#, no-c-format
+#: index.docbook:2541
msgid "All built-in Hibernate types except collections support null
semantics."
msgstr ""
-"Todos los tipos prefabricados de Hibernate soportan semántica de nulos "
-"excepto las colecciones."
+"Todos los tipos prefabricados de Hibernate soportan semántica de "
+"nulos excepto las colecciones."
-#. Tag: title
-#: basic_mapping.xml:2548
-#, no-c-format
+#: index.docbook:2548
msgid "Basic value types"
-msgstr "Tipos de valores básicos"
+msgstr "Tipos de valores básicos"
-#. Tag: para
-#: basic_mapping.xml:2550
-#, fuzzy, no-c-format
+#: index.docbook:2550
msgid ""
"The built-in <emphasis>basic mapping types</emphasis> may be roughly
"
"categorized into"
msgstr ""
-"Los <emphasis>tipos de mapeo básicos</emphasis> prefabricados pueden
ser "
-"categorizado a grandes rasgos en: <placeholder-1/>"
+"Los <emphasis>tipos de mapeo básicos</emphasis>
prefabricados pueden "
+"ser categorizado a grandes rasgos en:"
-#. Tag: literal
-#: basic_mapping.xml:2555
-#, no-c-format
+#: index.docbook:2555
msgid ""
"integer, long, short, float, double, character, byte, boolean, yes_no, "
"true_false"
@@ -4788,9 +4521,7 @@
"integer, long, short, float, double, character, byte, boolean, yes_no, "
"true_false"
-#. Tag: para
-#: basic_mapping.xml:2558
-#, no-c-format
+#: index.docbook:2558
msgid ""
"Type mappings from Java primitives or wrapper classes to appropriate
(vendor-"
"specific) SQL column types. <literal>boolean, yes_no</literal> and
"
@@ -4798,19 +4529,15 @@
"<literal>boolean</literal> or
<literal>java.lang.Boolean</literal>."
msgstr ""
"Mapeos de tipos primitivos de Java o clases de envoltura a la tipos de "
-"columna SQL (especícifica del vendedor). <literal>boolean,
yes_no</literal> "
-"y <literal>true_false</literal> son codificaciones alternativas a
"
+"columna SQL (especícifica del vendedor). <literal>boolean,
yes_no</"
+"literal> y <literal>true_false</literal> son codificaciones
alternativas a "
"<literal>boolean</literal> de Java o
<literal>java.lang.Boolean</literal>."
-#. Tag: literal
-#: basic_mapping.xml:2567
-#, no-c-format
+#: index.docbook:2567
msgid "string"
msgstr "string"
-#. Tag: para
-#: basic_mapping.xml:2569
-#, no-c-format
+#: index.docbook:2569
msgid ""
"A type mapping from <literal>java.lang.String</literal> to
<literal>VARCHAR</"
"literal> (or Oracle <literal>VARCHAR2</literal>)."
@@ -4818,15 +4545,11 @@
"Un mapeo del tipo <literal>java.lang.String</literal> a
<literal>VARCHAR</"
"literal> (u Oracle <literal>VAARCHAR2</literal>)."
-#. Tag: literal
-#: basic_mapping.xml:2576
-#, no-c-format
+#: index.docbook:2576
msgid "date, time, timestamp"
msgstr "date, time, timestamp"
-#. Tag: para
-#: basic_mapping.xml:2578
-#, no-c-format
+#: index.docbook:2578
msgid ""
"Type mappings from <literal>java.util.Date</literal> and its subclasses
to "
"SQL types <literal>DATE</literal>, <literal>TIME</literal>
and "
@@ -4836,15 +4559,11 @@
"tipos SQL <literal>DATE</literal>, <literal>TIME</literal>
y "
"<literal>TIMESTAMP</literal> (o equivalente)."
-#. Tag: literal
-#: basic_mapping.xml:2586
-#, no-c-format
+#: index.docbook:2586
msgid "calendar, calendar_date"
msgstr "calendar, calendar_date"
-#. Tag: para
-#: basic_mapping.xml:2588
-#, no-c-format
+#: index.docbook:2588
msgid ""
"Type mappings from <literal>java.util.Calendar</literal> to SQL types
"
"<literal>TIMESTAMP</literal> and <literal>DATE</literal>
(or equivalent)."
@@ -4853,15 +4572,11 @@
"tipos SQL <literal>TIMESTAMP</literal> y
<literal>DATE</literal> (o "
"equivalente)."
-#. Tag: literal
-#: basic_mapping.xml:2596
-#, no-c-format
+#: index.docbook:2596
msgid "big_decimal, big_integer"
msgstr "big_decimal, big_integer"
-#. Tag: para
-#: basic_mapping.xml:2598
-#, no-c-format
+#: index.docbook:2598
msgid ""
"Type mappings from <literal>java.math.BigDecimal</literal> and
<literal>java."
"math.BigInteger</literal> to <literal>NUMERIC</literal> (or
Oracle "
@@ -4871,15 +4586,11 @@
"math.BigInteger</literal> a <literal>NUMERIC</literal> (o
<literal>NUMBER</"
"literal> de Oracle)."
-#. Tag: literal
-#: basic_mapping.xml:2606
-#, no-c-format
+#: index.docbook:2606
msgid "locale, timezone, currency"
msgstr "locale, timezone, currency"
-#. Tag: para
-#: basic_mapping.xml:2608
-#, no-c-format
+#: index.docbook:2608
msgid ""
"Type mappings from <literal>java.util.Locale</literal>,
<literal>java.util."
"TimeZone</literal> and <literal>java.util.Currency</literal> to
"
@@ -4892,18 +4603,14 @@
"TimeZone</literal> y <literal>java.util.Currency</literal> a
"
"<literal>VARCHAR</literal> (o <literal>VARCHAR2</literal>
de Oracle). Las "
"instancias de <literal>Locale</literal> y
<literal>Currency</literal> son "
-"mapeadas a sus códigos ISO. Las instancias de
<literal>TimeZone</literal> "
-"son mapeadas a sus <literal>ID</literal>."
+"mapeadas a sus códigos ISO. Las instancias de
<literal>TimeZone</"
+"literal> son mapeadas a sus <literal>ID</literal>."
-#. Tag: literal
-#: basic_mapping.xml:2620
-#, fuzzy, no-c-format
+#: index.docbook:2620
msgid "<literal>class</literal>"
-msgstr "<literal>all</literal> chequea todas las columnas"
+msgstr "<literal>class</literal>"
-#. Tag: para
-#: basic_mapping.xml:2622
-#, no-c-format
+#: index.docbook:2622
msgid ""
"A type mapping from <literal>java.lang.Class</literal> to
<literal>VARCHAR</"
"literal> (or Oracle <literal>VARCHAR2</literal>). A
<literal>Class</literal> "
@@ -4913,27 +4620,19 @@
"literal> (o <literal>VARCHAR2</literal> de Oracle). Una
<literal>Class</"
"literal> es mapeara a su nombre completamente cualificado."
-#. Tag: literal
-#: basic_mapping.xml:2630
-#, no-c-format
+#: index.docbook:2630
msgid "binary"
msgstr "binary"
-#. Tag: para
-#: basic_mapping.xml:2632
-#, no-c-format
+#: index.docbook:2632
msgid "Maps byte arrays to an appropriate SQL binary type."
msgstr "Mapea arreglos de bytes a un tipo binario SQL apropiado."
-#. Tag: literal
-#: basic_mapping.xml:2638
-#, no-c-format
+#: index.docbook:2638
msgid "text"
msgstr "text"
-#. Tag: para
-#: basic_mapping.xml:2640
-#, no-c-format
+#: index.docbook:2640
msgid ""
"Maps long Java strings to a SQL <literal>CLOB</literal> or
<literal>TEXT</"
"literal> type."
@@ -4941,34 +4640,26 @@
"Mapea cadenas largas Java al tipo SQL <literal>CLOB</literal> o "
"<literal>TEXT</literal>."
-#. Tag: literal
-#: basic_mapping.xml:2647
-#, no-c-format
+#: index.docbook:2647
msgid "serializable"
msgstr "serializable"
-#. Tag: para
-#: basic_mapping.xml:2649
-#, no-c-format
+#: index.docbook:2649
msgid ""
"Maps serializable Java types to an appropriate SQL binary type. You may also
"
"indicate the Hibernate type <literal>serializable</literal> with the
name of "
"a serializable Java class or interface that does not default to a basic
type."
msgstr ""
"Mapea tipos serializables Java a un tipo binario SQL apropiado. Puedes "
-"además indicar el tipo <literal>serializable</literal> de Hibernate con
el "
-"nombre de una clase o interface serializable Java que no sea por defecto un "
-"tipo básico."
+"además indicar el tipo <literal>serializable</literal> de
Hibernate "
+"con el nombre de una clase o interface serializable Java que no sea por "
+"defecto un tipo básico."
-#. Tag: literal
-#: basic_mapping.xml:2658
-#, no-c-format
+#: index.docbook:2658
msgid "clob, blob"
msgstr "clob, blob"
-#. Tag: para
-#: basic_mapping.xml:2660
-#, no-c-format
+#: index.docbook:2660
msgid ""
"Type mappings for the JDBC classes <literal>java.sql.Clob</literal> and
"
"<literal>java.sql.Blob</literal>. These types may be inconvenient for
some "
@@ -4978,12 +4669,10 @@
"Mapeos de tipo para las clases JDBC <literal>java.sql.Clob</literal> y
"
"<literal>java.sql.Blob</literal>. Estos tipos pueden ser inconvenientes
para "
"algunas aplicaciones, pues el objeto blob o clob no puede ser reusado fuera "
-"de una transacción (Además, el soporte del driver suele ser malo e "
-"inconsistente)."
+"de una transacción (Además, el soporte del driver suele ser
"
+"malo e inconsistente)."
-#. Tag: literal
-#: basic_mapping.xml:2670
-#, no-c-format
+#: index.docbook:2670
msgid ""
"imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, "
"imm_serializable, imm_binary"
@@ -4991,9 +4680,7 @@
"UNTRANSLATED! imm_date, imm_time, imm_timestamp, imm_calendar, "
"imm_calendar_date, imm_serializable, imm_binary"
-#. Tag: para
-#: basic_mapping.xml:2674
-#, no-c-format
+#: index.docbook:2674
msgid ""
"Type mappings for what are usually considered mutable Java types, where "
"Hibernate makes certain optimizations appropriate only for immutable Java "
@@ -5011,42 +4698,34 @@
"have that change made persistent, the application must assign a new "
"(nonidentical) object to the property."
-#. Tag: para
-#: basic_mapping.xml:2689
-#, no-c-format
+#: index.docbook:2689
msgid ""
"Unique identifiers of entities and collections may be of any basic type "
"except <literal>binary</literal>, <literal>blob</literal>
and <literal>clob</"
"literal>. (Composite identifiers are also allowed, see below.)"
msgstr ""
-"Los identificadores únicos de entidades y collecciones pueden ser de "
-"cualquier tipo básico excepto <literal>binary</literal>,
<literal>blob</"
-"literal> y <literal>clob</literal>. (Los identificadores compuestos
están "
-"también permitidos, ver debajo.)"
+"Los identificadores únicos de entidades y collecciones pueden ser de
"
+"cualquier tipo básico excepto <literal>binary</literal>,
"
+"<literal>blob</literal> y <literal>clob</literal>. (Los
identificadores "
+"compuestos están también permitidos, ver debajo.)"
-#. Tag: para
-#: basic_mapping.xml:2695
-#, no-c-format
+#: index.docbook:2695
msgid ""
"The basic value types have corresponding <literal>Type</literal>
constants "
"defined on <literal>org.hibernate.Hibernate</literal>. For example,
"
"<literal>Hibernate.STRING</literal> represents the
<literal>string</literal> "
"type."
msgstr ""
-"Los tipos de valor básicos tienen sus constantes
<literal>Type</literal> "
-"correspondientes definidas en
<literal>org.hibernate.Hibernate</literal>. "
-"Por ejemplo, <literal>Hibernate.STRING</literal> representa el tipo
"
-"<literal>string</literal>."
+"Los tipos de valor básicos tienen sus constantes
<literal>Type</"
+"literal> correspondientes definidas en
<literal>org.hibernate.Hibernate</"
+"literal>. Por ejemplo, <literal>Hibernate.STRING</literal>
representa el "
+"tipo <literal>string</literal>."
-#. Tag: title
-#: basic_mapping.xml:2704
-#, no-c-format
+#: index.docbook:2704
msgid "Custom value types"
msgstr "Tipos de valor personalizados"
-#. Tag: para
-#: basic_mapping.xml:2706
-#, no-c-format
+#: index.docbook:2706
msgid ""
"It is relatively easy for developers to create their own value types. For "
"example, you might want to persist properties of type
<literal>java.lang."
@@ -5058,20 +4737,18 @@
"that is persisted to the columns <literal>FIRST_NAME</literal>, "
"<literal>INITIAL</literal>,
<literal>SURNAME</literal>."
msgstr ""
-"Es relativamente fácil para los desarrolladores crear sus propios tipos de "
-"valor. Por ejemplo, podrías querer persistir propiedades del tipo "
-"<literal>java.lang.BigInteger</literal> a columnas
<literal>VARCHAR</"
-"literal>. Hibernate no provee un tipo de fábrica para esto. Pero los tipos
"
-"personalizados no están limitados a mapear una propiedad (o elemento de "
-"colección) a una sola columna de tabla. Así, por ejemplo, podrías tener una "
-"propiedad Java
<literal>getName()</literal>/<literal>setName()</literal> de
"
-"tipo <literal>java.lang.String</literal> que fuera persistida a las
columnas "
-"<literal>FIRST_NAME</literal>, <literal>INITIAL</literal>,
<literal>SURNAME</"
-"literal>."
+"Es relativamente fácil para los desarrolladores crear sus propios
"
+"tipos de valor. Por ejemplo, podrías querer persistir propiedades del
"
+"tipo <literal>java.lang.BigInteger</literal> a columnas
<literal>VARCHAR</"
+"literal>. Hibernate no provee un tipo de fábrica para esto. Pero los
"
+"tipos personalizados no están limitados a mapear una propiedad (o
"
+"elemento de colección) a una sola columna de tabla. Así, por
"
+"ejemplo, podrías tener una propiedad Java
<literal>getName()</"
+"literal>/<literal>setName()</literal> de tipo
<literal>java.lang.String</"
+"literal> que fuera persistida a las columnas
<literal>FIRST_NAME</literal>, "
+"<literal>INITIAL</literal>,
<literal>SURNAME</literal>."
-#. Tag: para
-#: basic_mapping.xml:2717
-#, no-c-format
+#: index.docbook:2717
msgid ""
"To implement a custom type, implement either <literal>org.hibernate."
"UserType</literal> or
<literal>org.hibernate.CompositeUserType</literal> and "
@@ -5083,11 +4760,9 @@
"hibernate.UserType</literal> o
<literal>org.hibernate.CompositeUserType</"
"literal> y declara las propiedades usando el nombre de clase completamente
"
"cualificado del tipo. Revisa
<literal>org.hibernate.test.DoubleStringType</"
-"literal> para ver qué tipo de cosas son posibles."
+"literal> para ver qué tipo de cosas son posibles."
-#. Tag: programlisting
-#: basic_mapping.xml:2725
-#, no-c-format
+#: index.docbook:2725
msgid ""
"<![CDATA[<property name=\"twoStrings\"
type=\"org.hibernate.test."
"DoubleStringType\">\n"
@@ -5095,20 +4770,21 @@
" <column name=\"second_string\"/>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<property name=\"twoStrings\"
type=\"org.hibernate.test."
+"DoubleStringType\">\n"
+" <column name=\"first_string\"/>\n"
+" <column name=\"second_string\"/>\n"
+"</property>]]>"
-#. Tag: para
-#: basic_mapping.xml:2727
-#, no-c-format
+#: index.docbook:2727
msgid ""
"Notice the use of <literal><column></literal> tags to map
a property "
"to multiple columns."
msgstr ""
"Observa el uso de etiquetas <literal><column></literal>
para mapear "
-"una propiedad a múltiples columnas."
+"una propiedad a múltiples columnas."
-#. Tag: para
-#: basic_mapping.xml:2732
-#, no-c-format
+#: index.docbook:2732
msgid ""
"The <literal>CompositeUserType</literal>,
<literal>EnhancedUserType</"
"literal>, <literal>UserCollectionType</literal>, and "
@@ -5117,12 +4793,10 @@
msgstr ""
"Las interfaces <literal>CompositeUserType</literal>, "
"<literal>EnhancedUserType</literal>,
<literal>UserCollectionType</literal>, "
-"y <literal>UserVersionType</literal> proveen soporte a usos más "
+"y <literal>UserVersionType</literal> proveen soporte a usos
más "
"especializados."
-#. Tag: para
-#: basic_mapping.xml:2738
-#, no-c-format
+#: index.docbook:2738
msgid ""
"You may even supply parameters to a <literal>UserType</literal> in the
"
"mapping file. To do this, your <literal>UserType</literal> must
implement "
@@ -5130,15 +4804,13 @@
"To supply parameters to your custom type, you can use the
<literal><"
"type></literal> element in your mapping files."
msgstr ""
-"Puedes incluso proveer de parámetros a un <literal>UserType</literal>
en el "
-"fichero de mapeo. Para hacer esto, tu <literal>UserType</literal> debe
"
+"Puedes incluso proveer de parámetros a un
<literal>UserType</literal> "
+"en el fichero de mapeo. Para hacer esto, tu <literal>UserType</literal>
debe "
"implementar la interface
<literal>org.hibernate.usertype.ParameterizedType</"
-"literal>. Para proveer de parámetros a tu tipo personalizado, puedes usar el
"
-"elemento <literal><type></literal> en tus ficheros de
mapeo."
+"literal>. Para proveer de parámetros a tu tipo personalizado, puedes
"
+"usar el elemento <literal><type></literal> en tus
ficheros de mapeo."
-#. Tag: programlisting
-#: basic_mapping.xml:2746
-#, no-c-format
+#: index.docbook:2746
msgid ""
"<![CDATA[<property name=\"priority\">\n"
" <type
name=\"com.mycompany.usertypes.DefaultValueIntegerType\">\n"
@@ -5146,22 +4818,23 @@
" </type>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<property name=\"priority\">\n"
+" <type
name=\"com.mycompany.usertypes.DefaultValueIntegerType\">\n"
+" <param name=\"default\">0</param>\n"
+" </type>\n"
+"</property>]]>"
-#. Tag: para
-#: basic_mapping.xml:2748
-#, no-c-format
+#: index.docbook:2748
msgid ""
"The <literal>UserType</literal> can now retrieve the value for the
parameter "
"named <literal>default</literal> from the
<literal>Properties</literal> "
"object passed to it."
msgstr ""
-"Ahora el <literal>UserType</literal> puede recuperar el valor del
parámetro "
-"llamado <literal>default</literal> del objeto
<literal>Properties</literal> "
-"que se le pasa."
+"Ahora el <literal>UserType</literal> puede recuperar el valor del
pará"
+"metro llamado <literal>default</literal> del objeto
<literal>Properties</"
+"literal> que se le pasa."
-#. Tag: para
-#: basic_mapping.xml:2753
-#, no-c-format
+#: index.docbook:2753
msgid ""
"If you use a certain <literal>UserType</literal> very often, it may be
"
"useful to define a shorter name for it. You can do this using the "
@@ -5170,40 +4843,37 @@
"type is parameterized."
msgstr ""
"Si usas cierto <literal>UserType</literal> muy frecuentemente, puede
ser "
-"útil definir un nombre corto para é. Puedes hacer esto usando el elemento "
-"<literal><typedef></literal>. Los typedefs asignan un
nombre a un tipo "
-"personalizado, y pueden también contener una lista de valores por defecto de
"
-"parámetros si el tipo fuese parametrizado."
+"útil definir un nombre corto para é. Puedes hacer esto usando
"
+"el elemento <literal><typedef></literal>. Los typedefs
asignan un "
+"nombre a un tipo personalizado, y pueden también contener una lista
"
+"de valores por defecto de parámetros si el tipo fuese
parametrizado."
-#. Tag: programlisting
-#: basic_mapping.xml:2760
-#, no-c-format
+#: index.docbook:2760
msgid ""
"<![CDATA[<typedef
class=\"com.mycompany.usertypes.DefaultValueIntegerType\" "
"name=\"default_zero\">\n"
" <param name=\"default\">0</param>\n"
"</typedef>]]>"
msgstr ""
+"<![CDATA[<typedef
class=\"com.mycompany.usertypes.DefaultValueIntegerType\" "
+"name=\"default_zero\">\n"
+" <param name=\"default\">0</param>\n"
+"</typedef>]]>"
-#. Tag: programlisting
-#: basic_mapping.xml:2762
-#, no-c-format
+#: index.docbook:2762
msgid "<![CDATA[<property name=\"priority\"
type=\"default_zero\"/>]]>"
-msgstr ""
+msgstr "<![CDATA[<property name=\"priority\"
type=\"default_zero\"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:2764
-#, no-c-format
+#: index.docbook:2764
msgid ""
"It is also possible to override the parameters supplied in a typedef on a "
"case-by-case basis by using type parameters on the property mapping."
msgstr ""
-"también es posible sobrescribir los parámetros provistos en un typedef sobre
"
-"una base caso por caso usando parámetros de tipo en el mapeo de la
propiedad."
+"también es posible sobrescribir los parámetros provistos en
un "
+"typedef sobre una base caso por caso usando parámetros de tipo en el
"
+"mapeo de la propiedad."
-#. Tag: para
-#: basic_mapping.xml:2769
-#, no-c-format
+#: index.docbook:2769
msgid ""
"Even though Hibernate's rich range of built-in types and support for "
"components means you will very rarely <emphasis>need</emphasis> to use
a "
@@ -5219,22 +4889,18 @@
"Hibernate significa que raramente <emphasis>necesites</emphasis> usar
un "
"tipo personalizado; sin embargo se considera una buena forma usar tipos "
"personalizados para clases (no-entidades) que aparezcan frecuentemente en tu
"
-"aplicación. Por ejemplo, una clase <literal>MonetaryAmount</literal> es
una "
-"buena candidata para un <literal>CompositeUserType</literal>, incluso
cuando "
-"puede ser facilmente mapeada como un componente. Un motivo para esto es la "
-"abstracción. Con un tipo personalizado, tus documentos de mapeo estará "
-"impermeabilizados contra posibles cambios futuros en la forma de representar
"
-"valores monetarios."
+"aplicación. Por ejemplo, una clase
<literal>MonetaryAmount</literal> "
+"es una buena candidata para un <literal>CompositeUserType</literal>,
incluso "
+"cuando puede ser facilmente mapeada como un componente. Un motivo para esto "
+"es la abstracción. Con un tipo personalizado, tus documentos de mapeo
"
+"estará impermeabilizados contra posibles cambios futuros en la forma
"
+"de representar valores monetarios."
-#. Tag: title
-#: basic_mapping.xml:2785
-#, no-c-format
+#: index.docbook:2785
msgid "Mapping a class more than once"
-msgstr "Mapeando una clase más de una vez"
+msgstr "Mapeando una clase más de una vez"
-#. Tag: para
-#: basic_mapping.xml:2786
-#, no-c-format
+#: index.docbook:2786
msgid ""
"It is possible to provide more than one mapping for a particular persistent "
"class. In this case you must specify an <emphasis>entity
name</emphasis> do "
@@ -5243,17 +4909,15 @@
"entity name when working with persistent objects, when writing queries, or "
"when mapping associations to the named entity."
msgstr ""
-"Es posible proveer más de un mapeo para una clase persistente en particular.
"
-"En este caso debes especificar un <emphasis>nombre de
entidad</emphasis> "
-"para desambiguar entr las instancias de las dos entidades mapeadas. (Por "
-"defectom, el nombre de la entidad es el mismo que el nombre de la clase.) "
-"Hibernate te deja especificar el nombre de entidad al trabajar con objetos "
-"persistentes, al escribir consultas, o al mapear asociaciones a la entidad "
-"mencionada."
+"Es posible proveer más de un mapeo para una clase persistente en "
+"particular. En este caso debes especificar un <emphasis>nombre de
entidad</"
+"emphasis> para desambiguar entr las instancias de las dos entidades "
+"mapeadas. (Por defectom, el nombre de la entidad es el mismo que el nombre "
+"de la clase.) Hibernate te deja especificar el nombre de entidad al trabajar
"
+"con objetos persistentes, al escribir consultas, o al mapear asociaciones a "
+"la entidad mencionada."
-#. Tag: programlisting
-#: basic_mapping.xml:2794
-#, no-c-format
+#: index.docbook:2794
msgid ""
"<![CDATA[<class name=\"Contract\"
table=\"Contracts\"\n"
" entity-name=\"CurrentContract\">\n"
@@ -5273,26 +4937,37 @@
" entity-name=\"CurrentContract\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Contract\" table=\"Contracts\"
\n"
+" entity-name=\"CurrentContract\">\n"
+" ...\n"
+" <set name=\"history\" inverse=\"true\" \n"
+" order-by=\"effectiveEndDate desc\">\n"
+" <key column=\"currentContractId\"/>\n"
+" <one-to-many entity-name=\"HistoricalContract\"/>\n"
+" </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Contract\" table=\"ContractHistory\" \n"
+" entity-name=\"HistoricalContract\">\n"
+" ...\n"
+" <many-to-one name=\"currentContract\" \n"
+" column=\"currentContractId\" \n"
+" entity-name=\"CurrentContract\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: basic_mapping.xml:2796
-#, no-c-format
+#: index.docbook:2796
msgid ""
"Notice how associations are now specified using
<literal>entity-name</"
"literal> instead of <literal>class</literal>."
msgstr ""
-"Observa cómo las asociaciones ahora se especifican usando
<literal>entity-"
-"name</literal> en vez de <literal>class</literal>."
+"Observa cómo las asociaciones ahora se especifican usando "
+"<literal>entity-name</literal> en vez de
<literal>class</literal>."
-#. Tag: title
-#: basic_mapping.xml:2804
-#, no-c-format
+#: index.docbook:2804
msgid "SQL quoted identifiers"
msgstr "identificadores SQL encomillados"
-#. Tag: para
-#: basic_mapping.xml:2805
-#, no-c-format
+#: index.docbook:2805
msgid ""
"You may force Hibernate to quote an identifier in the generated SQL by "
"enclosing the table or column name in backticks in the mapping document. "
@@ -5302,13 +4977,11 @@
msgstr ""
"Puedes forzar a Hibernate a encomillar un identificador en el SQL generado "
"encerrando el nombre de tabla o columna entre backticks en el documento de "
-"mapeo. Hibernate usará el estilo de encomillado para el
<literal>Dialect</"
-"literal> SQL (usualmente comillas dobles, excepto corchetes para SQL Server
"
-"y backsticks para MySQL)."
+"mapeo. Hibernate usará el estilo de encomillado para el "
+"<literal>Dialect</literal> SQL (usualmente comillas dobles, excepto
"
+"corchetes para SQL Server y backsticks para MySQL)."
-#. Tag: programlisting
-#: basic_mapping.xml:2812
-#, no-c-format
+#: index.docbook:2812
msgid ""
"<![CDATA[<class name=\"LineItem\" table=\"`Line
Item`\">\n"
" <id name=\"id\" column=\"`Item Id`\"/><generator
class=\"assigned\"/></"
@@ -5317,32 +4990,30 @@
" ...\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"LineItem\" table=\"`Line
Item`\">\n"
+" <id name=\"id\" column=\"`Item Id`\"/><generator
class=\"assigned\"/></"
+"id>\n"
+" <property name=\"itemNumber\" column=\"`Item
#`\"/>\n"
+" ...\n"
+"</class>]]>"
-#. Tag: title
-#: basic_mapping.xml:2818
-#, no-c-format
+#: index.docbook:2818
msgid "Metadata alternatives"
msgstr "Alternativas de metadatos"
-#. Tag: para
-#: basic_mapping.xml:2820
-#, no-c-format
+#: index.docbook:2820
msgid ""
"XML isn't for everyone, and so there are some alternative ways to define O/R
"
"mapping metadata in Hibernate."
msgstr ""
-"XML no es para todos, asá que hay algunas formas alternativas de definir "
-"metadatos de mapeo O/R en Hibernate."
+"XML no es para todos, asá que hay algunas formas alternativas de "
+"definir metadatos de mapeo O/R en Hibernate."
-#. Tag: title
-#: basic_mapping.xml:2825
-#, no-c-format
+#: index.docbook:2825
msgid "Using XDoclet markup"
msgstr "Usando marcado de XDoclet"
-#. Tag: para
-#: basic_mapping.xml:2827
-#, no-c-format
+#: index.docbook:2827
msgid ""
"Many Hibernate users prefer to embed mapping information directly in "
"sourcecode using XDoclet <literal>(a)hibernate.tags</literal>. We will
not "
@@ -5350,15 +5021,14 @@
"of XDoclet. However, we include the following example of the
<literal>Cat</"
"literal> class with XDoclet mappings."
msgstr ""
-"Muchos usuarios de Hibernate prefieren embeber la información de mapeo "
-"directamente en el código fuente usando las
<literal>(a)hibernate.etiquetas</"
-"literal> XDoclet. No cubriremos este enfoque en este documento, pues "
-"estrictamente es considerado parte de XDoclet. Sin embargo, incluímos el "
-"siguiente ejemplo de la clase <literal>Cat</literal> con mapeos
XDoclet."
+"Muchos usuarios de Hibernate prefieren embeber la información de "
+"mapeo directamente en el código fuente usando las
<literal>(a)hibernate."
+"etiquetas</literal> XDoclet. No cubriremos este enfoque en este documento,
"
+"pues estrictamente es considerado parte de XDoclet. Sin embargo, "
+"incluímos el siguiente ejemplo de la clase
<literal>Cat</literal> con "
+"mapeos XDoclet."
-#. Tag: programlisting
-#: basic_mapping.xml:2834
-#, no-c-format
+#: index.docbook:2834
msgid ""
"<![CDATA[package eg;\n"
"import java.util.Set;\n"
@@ -5465,23 +5135,122 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[package eg;\n"
+"import java.util.Set;\n"
+"import java.util.Date;\n"
+"\n"
+"/**\n"
+" * @hibernate.class\n"
+" * table=\"CATS\"\n"
+" */\n"
+"public class Cat {\n"
+" private Long id; // identifier\n"
+" private Date birthdate;\n"
+" private Cat mother;\n"
+" private Set kittens\n"
+" private Color color;\n"
+" private char sex;\n"
+" private float weight;\n"
+"\n"
+" /*\n"
+" * @hibernate.id\n"
+" * generator-class=\"native\"\n"
+" * column=\"CAT_ID\"\n"
+" */\n"
+" public Long getId() {\n"
+" return id;\n"
+" }\n"
+" private void setId(Long id) {\n"
+" this.id=id;\n"
+" }\n"
+"\n"
+" /**\n"
+" * @hibernate.many-to-one\n"
+" * column=\"PARENT_ID\"\n"
+" */\n"
+" public Cat getMother() {\n"
+" return mother;\n"
+" }\n"
+" void setMother(Cat mother) {\n"
+" this.mother = mother;\n"
+" }\n"
+"\n"
+" /**\n"
+" * @hibernate.property\n"
+" * column=\"BIRTH_DATE\"\n"
+" */\n"
+" public Date getBirthdate() {\n"
+" return birthdate;\n"
+" }\n"
+" void setBirthdate(Date date) {\n"
+" birthdate = date;\n"
+" }\n"
+" /**\n"
+" * @hibernate.property\n"
+" * column=\"WEIGHT\"\n"
+" */\n"
+" public float getWeight() {\n"
+" return weight;\n"
+" }\n"
+" void setWeight(float weight) {\n"
+" this.weight = weight;\n"
+" }\n"
+"\n"
+" /**\n"
+" * @hibernate.property\n"
+" * column=\"COLOR\"\n"
+" * not-null=\"true\"\n"
+" */\n"
+" public Color getColor() {\n"
+" return color;\n"
+" }\n"
+" void setColor(Color color) {\n"
+" this.color = color;\n"
+" }\n"
+" /**\n"
+" * @hibernate.set\n"
+" * inverse=\"true\"\n"
+" * order-by=\"BIRTH_DATE\"\n"
+" * @hibernate.collection-key\n"
+" * column=\"PARENT_ID\"\n"
+" * @hibernate.collection-one-to-many\n"
+" */\n"
+" public Set getKittens() {\n"
+" return kittens;\n"
+" }\n"
+" void setKittens(Set kittens) {\n"
+" this.kittens = kittens;\n"
+" }\n"
+" // addKitten not needed by Hibernate\n"
+" public void addKitten(Cat kitten) {\n"
+" kittens.add(kitten);\n"
+" }\n"
+"\n"
+" /**\n"
+" * @hibernate.property\n"
+" * column=\"SEX\"\n"
+" * not-null=\"true\"\n"
+" * update=\"false\"\n"
+" */\n"
+" public char getSex() {\n"
+" return sex;\n"
+" }\n"
+" void setSex(char sex) {\n"
+" this.sex=sex;\n"
+" }\n"
+"}]]>"
-#. Tag: para
-#: basic_mapping.xml:2836
-#, no-c-format
+#: index.docbook:2836
msgid "See the Hibernate web site for more examples of XDoclet and Hibernate."
msgstr ""
-"Para más ejemplos de XDoclet e Hibernate ver en el sitio web de Hibernate."
+"Para más ejemplos de XDoclet e Hibernate ver en el sitio web de "
+"Hibernate."
-#. Tag: title
-#: basic_mapping.xml:2843
-#, no-c-format
+#: index.docbook:2843
msgid "Using JDK 5.0 Annotations"
msgstr "Usando anotaciones JDK 5.0"
-#. Tag: para
-#: basic_mapping.xml:2845
-#, no-c-format
+#: index.docbook:2845
msgid ""
"JDK 5.0 introduced XDoclet-style annotations at the language level, type-"
"safe and checked at compile time. This mechnism is more powerful than "
@@ -5495,27 +5264,24 @@
"Both EJB3 (JSR-220) and Hibernate3 metadata is supported."
msgstr ""
"El JDK 5.0 introdujo anotaciones del estilo XDoclet a nivel del lenguaje, "
-"con chequeo seguro de tipos en tiempo de compilación. Este mecanismo es más "
-"potente y que las anotaciones XDoclet, y mejor soportado por herramientas e "
-"IDEs. IntelliJ IDEA, por ejemplo, soporta auto-compleción y resaltado de "
-"sintaxis de anotaciones JDK 5.0. La nueva revisión de la especificación de "
-"EJB (JSR-220) usa anotaciones JDK 5.0 como el mecanismo primario de "
-"metadatos para beans de entidad. Hibernate3 implementa el "
-"<literal>EntityManager</literal> del JSR-220 (la API de persistencia),
y el "
-"soporte para metadatos de mapeo está disponible vía el paquete "
-"<emphasis>Hibernate Annotations</emphasis>, como una descarga por
separado. "
-"Tanto metadatos de EJB3 (JSR-220) como de Hibernate3 están soportados."
+"con chequeo seguro de tipos en tiempo de compilación. Este mecanismo
"
+"es más potente y que las anotaciones XDoclet, y mejor soportado por
"
+"herramientas e IDEs. IntelliJ IDEA, por ejemplo, soporta auto-"
+"compleción y resaltado de sintaxis de anotaciones JDK 5.0. La nueva
"
+"revisión de la especificación de EJB (JSR-220) usa
anotaciones "
+"JDK 5.0 como el mecanismo primario de metadatos para beans de entidad. "
+"Hibernate3 implementa el <literal>EntityManager</literal> del JSR-220
(la "
+"API de persistencia), y el soporte para metadatos de mapeo está "
+"disponible vía el paquete <emphasis>Hibernate
Annotations</emphasis>, "
+"como una descarga por separado. Tanto metadatos de EJB3 (JSR-220) como de "
+"Hibernate3 están soportados."
-#. Tag: para
-#: basic_mapping.xml:2856
-#, no-c-format
+#: index.docbook:2856
msgid "This is an example of a POJO class annotated as an EJB entity bean:"
msgstr ""
"Este es un ejemplo de una clase POJO anotada como un bean de entidad EJB:"
-#. Tag: programlisting
-#: basic_mapping.xml:2860
-#, no-c-format
+#: index.docbook:2860
msgid ""
"<![CDATA[@Entity(access = AccessType.FIELD)\n"
"public class Customer implements Serializable {\n"
@@ -5540,28 +5306,45 @@
" // Getter/setter and business methods\n"
"}]]>"
msgstr ""
+"<![CDATA[@Entity(access = AccessType.FIELD)\n"
+"public class Customer implements Serializable {\n"
+"\n"
+" @Id;\n"
+" Long id;\n"
+"\n"
+" String firstName;\n"
+" String lastName;\n"
+" Date birthday;\n"
+"\n"
+" @Transient\n"
+" Integer age;\n"
+"\n"
+" @Embedded\n"
+" private Address homeAddress;\n"
+"\n"
+" @OneToMany(cascade=CascadeType.ALL)\n"
+"\n"
+" @JoinColumn(name=\"CUSTOMER_ID\")\n"
+" Set<Order> orders;\n"
+"\n"
+" // Getter/setter and business methods\n"
+"}]]>"
-#. Tag: para
-#: basic_mapping.xml:2862
-#, no-c-format
+#: index.docbook:2862
msgid ""
"Note that support for JDK 5.0 Annotations (and JSR-220) is still work in "
"progress and not completed. Please refer to the Hibernate Annotations module
"
"for more details."
msgstr ""
-"Ten en cuenta que el soporte a anotaciones JDK 5.0 (y JSR-220) es todavía un
"
-"trabajo en progreso y no completado. Por favor, para más detalles refiérete "
-"al modulo de Anotaciones de Hibernate."
+"Ten en cuenta que el soporte a anotaciones JDK 5.0 (y JSR-220) es "
+"todavía un trabajo en progreso y no completado. Por favor, para "
+"más detalles refiérete al modulo de Anotaciones de
Hibernate."
-#. Tag: title
-#: basic_mapping.xml:2871
-#, no-c-format
+#: index.docbook:2871
msgid "Generated Properties"
-msgstr "translator-credits"
+msgstr "UNTRANSLATED! Generated Properties"
-#. Tag: para
-#: basic_mapping.xml:2872
-#, no-c-format
+#: index.docbook:2872
msgid ""
"Generated properties are properties which have their values generated by the
"
"database. Typically, Hibernate applications needed to
<literal>refresh</"
@@ -5572,10 +5355,16 @@
"generated properties, it immediately issues a select afterwards to retrieve "
"the generated values."
msgstr ""
+"Generated properties are properties which have their values generated by the
"
+"database. Typically, Hibernate applications needed to
<literal>refresh</"
+"literal> objects which contain any properties for which the database was "
+"generating values. Marking properties as generated, however, lets the "
+"application delegate this responsibility to Hibernate. Essentially, whenever
"
+"Hibernate issues an SQL INSERT or UPDATE for an entity which has defined "
+"generated properties, it immediately issues a select afterwards to retrieve "
+"the generated values."
-#. Tag: para
-#: basic_mapping.xml:2881
-#, no-c-format
+#: index.docbook:2881
msgid ""
"Properties marked as generated must additionally be non-insertable and non-"
"updateable. Only <link
linkend=\"mapping-declaration-version\">versions</"
@@ -5583,18 +5372,21 @@
"and <link linkend=\"mapping-declaration-property\">simple
properties</link> "
"can be marked as generated."
msgstr ""
+"Properties marked as generated must additionally be non-insertable and non-"
+"updateable. Only <link
linkend=\"mapping-declaration-version\">versions</"
+"link>, <link
linkend=\"mapping-declaration-timestamp\">timestamps</link>, "
+"and <link linkend=\"mapping-declaration-property\">simple
properties</link> "
+"can be marked as generated."
-#. Tag: para
-#: basic_mapping.xml:2888
-#, no-c-format
+#: index.docbook:2888
msgid ""
"<literal>never</literal> (the default) - means that the given property
value "
"is not generated within the database."
msgstr ""
+"<literal>never</literal> (the default) - means that the given property
value "
+"is not generated within the database."
-#. Tag: para
-#: basic_mapping.xml:2892
-#, no-c-format
+#: index.docbook:2892
msgid ""
"<literal>insert</literal> - states that the given property value is
"
"generated on insert, but is not regenerated on subsequent updates. Things "
@@ -5603,24 +5395,26 @@
"linkend=\"mapping-declaration-timestamp\">timestamp</link>
properties can be "
"marked as generated, this option is not available there..."
msgstr ""
+"<literal>insert</literal> - states that the given property value is
"
+"generated on insert, but is not regenerated on subsequent updates. Things "
+"like created-date would fall into this category. Note that even thought "
+"<link linkend=\"mapping-declaration-version\">version</link>
and <link "
+"linkend=\"mapping-declaration-timestamp\">timestamp</link>
properties can be "
+"marked as generated, this option is not available there..."
-#. Tag: para
-#: basic_mapping.xml:2900
-#, no-c-format
+#: index.docbook:2900
msgid ""
"<literal>always</literal> - states that the property value is generated
both "
"on insert and on update."
msgstr ""
+"<literal>always</literal> - states that the property value is generated
both "
+"on insert and on update."
-#. Tag: title
-#: basic_mapping.xml:2907
-#, no-c-format
+#: index.docbook:2907
msgid "Auxiliary Database Objects"
-msgstr ""
+msgstr "UNTRANSLATED! Auxiliary Database Objects"
-#. Tag: para
-#: basic_mapping.xml:2908
-#, no-c-format
+#: index.docbook:2908
msgid ""
"Allows CREATE and DROP of arbitrary database objects, in conjunction with "
"Hibernate's schema evolution tools, to provide the ability to fully define a
"
@@ -5630,18 +5424,23 @@
"Statement.execute()</literal> method is valid here (ALTERs, INSERTS, etc).
"
"There are essentially two modes for defining auxiliary database objects..."
msgstr ""
+"Allows CREATE and DROP of arbitrary database objects, in conjunction with "
+"Hibernate's schema evolution tools, to provide the ability to fully define a
"
+"user schema within the Hibernate mapping files. Although designed "
+"specifically for creating and dropping things like triggers or stored "
+"procedures, really any SQL command that can be run via a
<literal>java.sql."
+"Statement.execute()</literal> method is valid here (ALTERs, INSERTS, etc).
"
+"There are essentially two modes for defining auxiliary database objects..."
-#. Tag: para
-#: basic_mapping.xml:2917
-#, no-c-format
+#: index.docbook:2917
msgid ""
"The first mode is to explicitly list the CREATE and DROP commands out in the
"
"mapping file:"
msgstr ""
+"The first mode is to explicitly list the CREATE and DROP commands out in the
"
+"mapping file:"
-#. Tag: programlisting
-#: basic_mapping.xml:2921
-#, no-c-format
+#: index.docbook:2921
msgid ""
"<![CDATA[<hibernate-mapping>\n"
" ...\n"
@@ -5651,19 +5450,26 @@
" </database-object>\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+" ...\n"
+" <database-object>\n"
+" <create>CREATE TRIGGER my_trigger
...</"
+"create>\n"
+" <drop>DROP TRIGGER
my_trigger</drop>\n"
+" </database-object>\n"
+" </hibernate-mapping>]]>"
-#. Tag: para
-#: basic_mapping.xml:2922
-#, no-c-format
+#: index.docbook:2922
msgid ""
"The second mode is to supply a custom class which knows how to construct the
"
"CREATE and DROP commands. This custom class must implement the
<literal>org."
"hibernate.mapping.AuxiliaryDatabaseObject</literal> interface."
msgstr ""
+"The second mode is to supply a custom class which knows how to construct the
"
+"CREATE and DROP commands. This custom class must implement the
<literal>org."
+"hibernate.mapping.AuxiliaryDatabaseObject</literal> interface."
-#. Tag: programlisting
-#: basic_mapping.xml:2927
-#, no-c-format
+#: index.docbook:2927
msgid ""
"<![CDATA[<hibernate-mapping>\n"
" ...\n"
@@ -5672,18 +5478,23 @@
" </database-object>\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+" ...\n"
+" <database-object>\n"
+" <definition
class=\"MyTriggerDefinition"
+"\"/>\n"
+" </database-object>\n"
+" </hibernate-mapping>]]>"
-#. Tag: para
-#: basic_mapping.xml:2928
-#, no-c-format
+#: index.docbook:2928
msgid ""
"Additionally, these database objects can be optionally scoped such that they
"
"only apply when certain dialects are used."
msgstr ""
+"Additionally, these database objects can be optionally scoped such that they
"
+"only apply when certain dialects are used."
-#. Tag: programlisting
-#: basic_mapping.xml:2932
-#, no-c-format
+#: index.docbook:2932
msgid ""
"<![CDATA[<hibernate-mapping>\n"
" ...\n"
@@ -5694,31 +5505,20 @@
" </database-object>\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+" ...\n"
+" <database-object>\n"
+" <definition
class=\"MyTriggerDefinition"
+"\"/>\n"
+" <dialect-scope
name=\"org.hibernate."
+"dialect.Oracle9Dialect\"/>\n"
+" <dialect-scope
name=\"org.hibernate."
+"dialect.OracleDialect\"/>\n"
+" </database-object>\n"
+" </hibernate-mapping>]]>"
-#~ msgid "class"
-#~ msgstr "class"
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-#~ msgid "id"
-#~ msgstr "id"
-
-#~ msgid ""
-#~ "<literal>optimizer</literal> (optional, defaults to
<literal>none</"
-#~ "literal>): See <xref
linkend=\"mapping-declaration-id-enhanced-optimizers"
-#~ "\"/>"
-#~ msgstr ""
-#~ "<literal>optimizer</literal> (optional, defaults to
<literal>none</"
-#~ "literal>): See <xref
linkend=\"mapping-declaration-id-enhanced-optimizers"
-#~ "\"/>"
-
-#~ msgid ""
-#~ "<literal>optimizer</literal> (optional, defaults to
<literal/>): See "
-#~ "<xref
linkend=\"mapping-declaration-id-enhanced-optimizers\"/>"
-#~ msgstr ""
-#~ "<literal>optimizer</literal> (optional, defaults to
<literal/>): See "
-#~ "<xref
linkend=\"mapping-declaration-id-enhanced-optimizers\"/>"
-
-#~ msgid "key"
-#~ msgstr "key"
-
-#~ msgid "any"
-#~ msgstr "any"
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/batch.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/batch.po 2007-11-02
00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/batch.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: batch.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Batch processing"
msgstr "Procesamiento por lotes"
-#. Tag: para
-#: batch.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"A naive approach to inserting 100 000 rows in the database using Hibernate "
"might look like this:"
@@ -26,9 +17,7 @@
"Un enfoque ingenuo para insertar 100.000 filas en la base de datos usando "
"Hibernate podría verse así:"
-#. Tag: programlisting
-#: batch.xml:12
-#, no-c-format
+#: index.docbook:12
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -39,10 +28,16 @@
"tx.commit();\n"
"session.close();]]>"
msgstr ""
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+"for ( int i=0; i<100000; i++ ) {\n"
+" Customer customer = new Customer(.....);\n"
+" session.save(customer);\n"
+"}\n"
+"tx.commit();\n"
+"session.close();]]>"
-#. Tag: para
-#: batch.xml:14
-#, no-c-format
+#: index.docbook:14
msgid ""
"This would fall over with an <literal>OutOfMemoryException</literal>
"
"somewhere around the 50 000th row. That's because Hibernate caches all the
"
@@ -54,9 +49,7 @@
"las instancias de <literal>Customer</literal> recién instanciadas en el
"
"caché de nivel de sesión."
-#. Tag: para
-#: batch.xml:20
-#, no-c-format
+#: index.docbook:20
msgid ""
"In this chapter we'll show you how to avoid this problem. First, however, if
"
"you are doing batch processing, it is absolutely critical that you enable "
@@ -69,15 +62,11 @@
"lograr un rendimiento razonable. Establece el tamaño de lote JDBC a un "
"número razonable (digamos 10-50):"
-#. Tag: programlisting
-#: batch.xml:27
-#, no-c-format
+#: index.docbook:27
msgid "<![CDATA[hibernate.jdbc.batch_size 20]]>"
-msgstr ""
+msgstr "<![CDATA[hibernate.jdbc.batch_size 20]]>"
-#. Tag: para
-#: batch.xml:29
-#, no-c-format
+#: index.docbook:29
msgid ""
"Note that Hibernate disables insert batching at the JDBC level transparently
"
"if you use an <literal>identiy</literal> identifier generator."
@@ -85,9 +74,7 @@
"UNTRANSLATED! Note that Hibernate disables insert batching at the JDBC level
"
"transparently if you use an <literal>identiy</literal> identifier
generator."
-#. Tag: para
-#: batch.xml:34
-#, no-c-format
+#: index.docbook:34
msgid ""
"You also might like to do this kind of work in a process where interaction "
"with the second-level cache is completely disabled:"
@@ -95,15 +82,11 @@
"Podrías además querer hacer este tipo de trabajo en un proceso donde la "
"interacción con el caché de segundo nivel esté completamente deshabilitado:"
-#. Tag: programlisting
-#: batch.xml:39
-#, no-c-format
+#: index.docbook:39
msgid "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
-msgstr ""
+msgstr "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
-#. Tag: para
-#: batch.xml:41
-#, no-c-format
+#: index.docbook:41
msgid ""
"However, this is not absolutely necessary, since we can explicitly set the "
"<literal>CacheMode</literal> to disable interaction with the
second-level "
@@ -113,15 +96,11 @@
"explicitly set the <literal>CacheMode</literal> to disable interaction
with "
"the second-level cache."
-#. Tag: title
-#: batch.xml:47
-#, no-c-format
+#: index.docbook:47
msgid "Batch inserts"
msgstr "Inserciones en lote"
-#. Tag: para
-#: batch.xml:49
-#, no-c-format
+#: index.docbook:49
msgid ""
"When making new objects persistent, you must <literal>flush()</literal>
and "
"then <literal>clear()</literal> the session regularly, to control the
size "
@@ -131,9 +110,7 @@
"literal> y llamar a <literal>clear()</literal> en la sesión
regularmente, "
"para controlar el tamaño del caché de primer nivel."
-#. Tag: programlisting
-#: batch.xml:55
-#, no-c-format
+#: index.docbook:55
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -151,16 +128,27 @@
"tx.commit();\n"
"session.close();]]>"
msgstr ""
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+" \n"
+"for ( int i=0; i<100000; i++ ) {\n"
+" Customer customer = new Customer(.....);\n"
+" session.save(customer);\n"
+" if ( i % 20 == 0 ) { //20, same as the JDBC batch size\n"
+" //flush a batch of inserts and release memory:\n"
+" session.flush();\n"
+" session.clear();\n"
+" }\n"
+"}\n"
+" \n"
+"tx.commit();\n"
+"session.close();]]>"
-#. Tag: title
-#: batch.xml:60
-#, no-c-format
+#: index.docbook:60
msgid "Batch updates"
msgstr "Actualizaciones en lote"
-#. Tag: para
-#: batch.xml:62
-#, no-c-format
+#: index.docbook:62
msgid ""
"For retrieving and updating data the same ideas apply. In addition, you need
"
"to use <literal>scroll()</literal> to take advantage of server-side
cursors "
@@ -171,9 +159,7 @@
"ventaja de los cursores del lado del servidor en consultas que devuelvan "
"muchas filas de datos."
-#. Tag: programlisting
-#: batch.xml:68
-#, no-c-format
+#: index.docbook:68
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -195,16 +181,31 @@
"tx.commit();\n"
"session.close();]]>"
msgstr ""
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+" \n"
+"ScrollableResults customers =
session.getNamedQuery(\"GetCustomers\")\n"
+" .setCacheMode(CacheMode.IGNORE)\n"
+" .scroll(ScrollMode.FORWARD_ONLY);\n"
+"int count=0;\n"
+"while ( customers.next() ) {\n"
+" Customer customer = (Customer) customers.get(0);\n"
+" customer.updateStuff(...);\n"
+" if ( ++count % 20 == 0 ) {\n"
+" //flush a batch of updates and release memory:\n"
+" session.flush();\n"
+" session.clear();\n"
+" }\n"
+"}\n"
+" \n"
+"tx.commit();\n"
+"session.close();]]>"
-#. Tag: title
-#: batch.xml:73
-#, no-c-format
+#: index.docbook:73
msgid "The StatelessSession interface"
msgstr "UNTRANSLATED! The StatelessSession interface"
-#. Tag: para
-#: batch.xml:74
-#, no-c-format
+#: index.docbook:74
msgid ""
"Alternatively, Hibernate provides a command-oriented API that may be used "
"for streaming data to and from the database in the form of detached objects.
"
@@ -234,9 +235,7 @@
"level cache. A stateless session is a lower-level abstraction, much closer "
"to the underlying JDBC."
-#. Tag: programlisting
-#: batch.xml:89
-#, no-c-format
+#: index.docbook:89
msgid ""
"<![CDATA[StatelessSession session =
sessionFactory.openStatelessSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -252,10 +251,28 @@
"tx.commit();\n"
"session.close();]]>"
msgstr ""
+"<![CDATA[StatelessSession session =
sessionFactory.openStatelessSession();\n"
+" Transaction tx = "
+"session.beginTransaction();\n"
+" \n"
+" ScrollableResults "
+"customers = session.getNamedQuery(\"GetCustomers\")\n"
+" .scroll(ScrollMode."
+"FORWARD_ONLY);\n"
+" while ( customers.next"
+"() ) {\n"
+" Customer customer = "
+"(Customer) customers.get(0);\n"
+" customer.updateStuff"
+"(...);\n"
+" session.update"
+"(customer);\n"
+" }\n"
+" \n"
+" tx.commit();\n"
+" session.close();]]>"
-#. Tag: para
-#: batch.xml:91
-#, no-c-format
+#: index.docbook:91
msgid ""
"Note that in this code example, the <literal>Customer</literal>
instances "
"returned by the query are immediately detached. They are never associated "
@@ -265,9 +282,7 @@
"returned by the query are immediately detached. They are never associated "
"with any persistence context."
-#. Tag: para
-#: batch.xml:97
-#, no-c-format
+#: index.docbook:97
msgid ""
"The <literal>insert(), update()</literal> and
<literal>delete()</literal> "
"operations defined by the <literal>StatelessSession</literal> interface
are "
@@ -287,15 +302,11 @@
"<literal>delete()</literal> operations defined by the
<literal>Session</"
"literal> interface."
-#. Tag: title
-#: batch.xml:110
-#, no-c-format
+#: index.docbook:110
msgid "DML-style operations"
msgstr "update/delete en masa"
-#. Tag: para
-#: batch.xml:112
-#, no-c-format
+#: index.docbook:112
msgid ""
"As already discussed, automatic and transparent object/relational mapping is
"
"concerned with the management of object state. This implies that the object "
@@ -315,11 +326,9 @@
"embargo, Hibernate provee métodos para la ejecución de sentencias del estilo
"
"de <literal>UPDATE</literal> y <literal>DELETE</literal> de
SQL que se "
"realizan a través del Lenguaje de Consulta de Hibernate (Hibernate Query "
-"Language o <xref linkend=\"queryhql\">HQL</xref>)."
+"Language o <xref linkend=\"queryhql\"/>HQL)."
-#. Tag: para
-#: batch.xml:122
-#, no-c-format
+#: index.docbook:122
msgid ""
"The pseudo-syntax for <literal>UPDATE</literal> and
<literal>DELETE</"
"literal> statements is: <literal>( UPDATE | DELETE ) FROM? EntityName
(WHERE "
@@ -329,15 +338,11 @@
"<literal>DELETE</literal> es: <literal>( UPDATE | DELETE ) FROM?
ClassName "
"(WHERE WHERE_CONDITIONS)?</literal>. Algunos puntos a tener en cuenta:"
-#. Tag: para
-#: batch.xml:130
-#, no-c-format
+#: index.docbook:130
msgid "In the from-clause, the FROM keyword is optional"
msgstr "En la cláusula-from, la palabra clave FROM es opcional"
-#. Tag: para
-#: batch.xml:135
-#, no-c-format
+#: index.docbook:135
msgid ""
"There can only be a single entity named in the from-clause; it can "
"optionally be aliased. If the entity name is aliased, then any property "
@@ -349,9 +354,7 @@
"references must be qualified using that alias; if the entity name is not "
"aliased, then it is illegal for any property references to be qualified."
-#. Tag: para
-#: batch.xml:143
-#, no-c-format
+#: index.docbook:143
msgid ""
"No <link linkend=\"queryhql-joins-forms\">joins</link>
(either implicit or "
"explicit) can be specified in a bulk HQL query. Sub-queries may be used in "
@@ -361,15 +364,11 @@
"explicit) can be specified in a bulk HQL query. Sub-queries may be used in "
"the where-clause; the subqueries, themselves, may contain joins."
-#. Tag: para
-#: batch.xml:150
-#, no-c-format
+#: index.docbook:150
msgid "The where-clause is also optional."
msgstr "La cláusula-where es también opcional."
-#. Tag: para
-#: batch.xml:156
-#, no-c-format
+#: index.docbook:156
msgid ""
"As an example, to execute an HQL <literal>UPDATE</literal>, use the
"
"<literal>Query.executeUpdate()</literal> method (the method is named
for "
@@ -381,9 +380,7 @@
"those familiar with JDBC's
<literal>PreparedStatement.executeUpdate()</"
"literal>):"
-#. Tag: programlisting
-#: batch.xml:162
-#, no-c-format
+#: index.docbook:162
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -399,10 +396,23 @@
"tx.commit();\n"
"session.close();]]>"
msgstr ""
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+" Transaction tx = session."
+"beginTransaction();\n"
+" \n"
+" String hqlUpdate = \"update "
+"Customer c set c.name = :newName where c.name = :oldName\";\n"
+" // or String hqlUpdate = \"update
"
+"Customer set name = :newName where name = :oldName\";\n"
+" int updatedEntities = s.createQuery"
+"( hqlUpdate )\n"
+" .setString( \"newName\", newName
)\n"
+" .setString( \"oldName\", oldName
)\n"
+" .executeUpdate();\n"
+" tx.commit();\n"
+" session.close();]]>"
-#. Tag: para
-#: batch.xml:164
-#, no-c-format
+#: index.docbook:164
msgid ""
"HQL <literal>UPDATE</literal> statements, by default do not effect the
<link "
"linkend=\"mapping-declaration-version\">version</link> or the
<link linkend="
@@ -424,9 +434,7 @@
"<literal>VERSIONED</literal> keyword after the
<literal>UPDATE</literal> "
"keyword."
-#. Tag: programlisting
-#: batch.xml:174
-#, no-c-format
+#: index.docbook:174
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -439,10 +447,20 @@
"tx.commit();\n"
"session.close();]]>"
msgstr ""
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+" Transaction tx = session."
+"beginTransaction();\n"
+" String hqlVersionedUpdate = "
+"\"update versioned Customer set name = :newName where name =
:oldName\";\n"
+" int updatedEntities = s.createQuery"
+"( hqlUpdate )\n"
+" .setString( \"newName\", newName
)\n"
+" .setString( \"oldName\", oldName
)\n"
+" .executeUpdate();\n"
+" tx.commit();\n"
+" session.close();]]>"
-#. Tag: para
-#: batch.xml:176
-#, no-c-format
+#: index.docbook:176
msgid ""
"Note that custom version types (<literal>org.hibernate.usertype."
"UserVersionType</literal>) are not allowed in conjunction with a "
@@ -452,9 +470,7 @@
"UserVersionType</literal>) are not allowed in conjunction with a "
"<literal>update versioned</literal> statement."
-#. Tag: para
-#: batch.xml:181
-#, no-c-format
+#: index.docbook:181
msgid ""
"To execute an HQL <literal>DELETE</literal>, use the same
<literal>Query."
"executeUpdate()</literal> method:"
@@ -462,9 +478,7 @@
"Para ejecutar un <literal>DELETE</literal> HQL, usa el mismo método
"
"<literal>Query.executeUpdate()</literal>:"
-#. Tag: programlisting
-#: batch.xml:186
-#, no-c-format
+#: index.docbook:186
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -477,10 +491,17 @@
"tx.commit();\n"
"session.close();]]>"
msgstr ""
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+" Transaction tx = session.beginTransaction();\n"
+"\n"
+" String hqlDelete = \"delete Customer where name =
:oldName\";\n"
+" int deletedEntities = s.createQuery( hqlDelete )\n"
+" .setString( \"oldName\", oldName )\n"
+" .executeUpdate();\n"
+" tx.commit();\n"
+" session.close();]]>"
-#. Tag: para
-#: batch.xml:188
-#, no-c-format
+#: index.docbook:188
msgid ""
"The <literal>int</literal> value returned by the
<literal>Query.executeUpdate"
"()</literal> method indicate the number of entities effected by the "
@@ -505,9 +526,7 @@
"tabla \"raíz\" y potencialmente tablas de joined-subclass más debajo en
la "
"jerarquía de herencia."
-#. Tag: para
-#: batch.xml:199
-#, no-c-format
+#: index.docbook:199
msgid ""
"The pseudo-syntax for <literal>INSERT</literal> statements is: "
"<literal>INSERT INTO EntityName properties_list
select_statement</literal>. "
@@ -517,17 +536,13 @@
"operaciones HQL masivas, que serán atendidas en lanzamientos futuros; "
"consulta la hoja de ruta de JIRA para más detalles."
-#. Tag: para
-#: batch.xml:207
-#, no-c-format
+#: index.docbook:207
msgid ""
"Only the INSERT INTO ... SELECT ... form is supported; not the INSERT "
"INTO ... VALUES ... form."
-msgstr "translator-credits"
+msgstr ""
-#. Tag: para
-#: batch.xml:210
-#, no-c-format
+#: index.docbook:210
msgid ""
"The properties_list is analogous to the <literal>column
speficiation</"
"literal> in the SQL <literal>INSERT</literal> statement. For
entities "
@@ -537,9 +552,7 @@
"<literal>INSERT</literal> statements are inherently
non-polymorphic."
msgstr ""
-#. Tag: para
-#: batch.xml:220
-#, no-c-format
+#: index.docbook:220
msgid ""
"select_statement can be any valid HQL select query, with the caveat that the
"
"return types must match the types expected by the insert. Currently, this is
"
@@ -553,9 +566,7 @@
"distinction or might be able to handle the conversion."
msgstr ""
-#. Tag: para
-#: batch.xml:232
-#, no-c-format
+#: index.docbook:232
msgid ""
"For the id property, the insert statement gives you two options. You can "
"either explicitly specify the id property in the properties_list (in which "
@@ -572,9 +583,7 @@
"because it does not expose a selectable way to get its values."
msgstr ""
-#. Tag: para
-#: batch.xml:247
-#, no-c-format
+#: index.docbook:247
msgid ""
"For properties mapped as either <literal>version</literal> or "
"<literal>timestamp</literal>, the insert statement gives you two
options. "
@@ -584,15 +593,11 @@
"defined by the <literal>org.hibernate.type.VersionType</literal> is
used)."
msgstr ""
-#. Tag: para
-#: batch.xml:257
-#, no-c-format
+#: index.docbook:257
msgid "An example HQL <literal>INSERT</literal> statement
execution:"
msgstr ""
-#. Tag: programlisting
-#: batch.xml:261
-#, no-c-format
+#: index.docbook:261
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -604,3 +609,9 @@
"tx.commit();\n"
"session.close();]]>"
msgstr ""
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified:
core/trunk/documentation/manual/src/main/docbook/es-ES/content/best_practices.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/best_practices.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/best_practices.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: best_practices.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Best Practices"
-msgstr "Mejores Prácticas"
+msgstr "Mejores Prácticas"
-#. Tag: term
-#: best_practices.xml:9
-#, no-c-format
+#: index.docbook:9
msgid ""
"Write fine-grained classes and map them using
<literal><component></"
"literal>."
@@ -26,29 +17,23 @@
"Escribe clase finamente granularizadas y mapealas usando
<literal><"
"component></literal>."
-#. Tag: para
-#: best_practices.xml:11
-#, no-c-format
+#: index.docbook:11
msgid ""
"Use an <literal>Address</literal> class to encapsulate
<literal>street</"
"literal>, <literal>suburb</literal>,
<literal>state</literal>, "
"<literal>postcode</literal>. This encourages code reuse and simplifies
"
"refactoring."
msgstr ""
-"Usa una clase <literal>Dirección</literal> para encapsular
<literal>calle</"
-"literal>, <literal>distrito</literal>,
<literal>estado</literal>, "
-"<literal>código postal</literal>. Esto alienta la reutilización de
código y "
-"simplifica el refactoring."
+"Usa una clase <literal>Dirección</literal> para encapsular
"
+"<literal>calle</literal>, <literal>distrito</literal>,
<literal>estado</"
+"literal>, <literal>código postal</literal>. Esto alienta
la "
+"reutilización de código y simplifica el refactoring."
-#. Tag: term
-#: best_practices.xml:19
-#, no-c-format
+#: index.docbook:19
msgid "Declare identifier properties on persistent classes."
msgstr "Declara las propiedades identificadoras en clases persistentes."
-#. Tag: para
-#: best_practices.xml:21
-#, no-c-format
+#: index.docbook:21
msgid ""
"Hibernate makes identifier properties optional. There are all sorts of "
"reasons why you should use them. We recommend that identifiers be "
@@ -56,17 +41,14 @@
msgstr ""
"Hibernate hace opcionales las propiedades identificadoras. Existen todo tipo
"
"de razones por las que debes usarlas. Recomendamos que los identificadores "
-"sean 'sintéticos' (generados, sin ningún significado de negocio)."
+"sean 'sintéticos' (generados, sin ningún significado
de "
+"negocio)."
-#. Tag: term
-#: best_practices.xml:29
-#, no-c-format
+#: index.docbook:29
msgid "Identify natural keys."
msgstr "Identifica las claves naturales."
-#. Tag: para
-#: best_practices.xml:31
-#, no-c-format
+#: index.docbook:31
msgid ""
"Identify natural keys for all entities, and map them using
<literal><"
"natural-id></literal>. Implement
<literal>equals()</literal> and "
@@ -78,102 +60,79 @@
"literal> y <literal>hashCode()</literal> para comparar las
propiedades que "
"componen la clave natural."
-#. Tag: term
-#: best_practices.xml:39
-#, no-c-format
+#: index.docbook:39
msgid "Place each class mapping in its own file."
msgstr "Coloca cada mapeo de clase en su propio fichero."
-#. Tag: para
-#: best_practices.xml:41
-#, no-c-format
+#: index.docbook:41
msgid ""
"Don't use a single monolithic mapping document. Map
<literal>com.eg.Foo</"
"literal> in the file <literal>com/eg/Foo.hbm.xml</literal>. This
makes "
"particularly good sense in a team environment."
msgstr ""
-"No uses un solo documento monolítico de mapeo. Mapea
<literal>com.eg.Foo</"
-"literal> en el fichero <literal>com/eg/Foo.hbm.xml</literal>. Esto
tiene "
-"sentido particularmente en un ambiente de equipo."
+"No uses un solo documento monolítico de mapeo. Mapea
<literal>com.eg."
+"Foo</literal> en el fichero
<literal>com/eg/Foo.hbm.xml</literal>. Esto "
+"tiene sentido particularmente en un ambiente de equipo."
-#. Tag: term
-#: best_practices.xml:49
-#, no-c-format
+#: index.docbook:49
msgid "Load mappings as resources."
msgstr "Carga los mapeos como recursos."
-#. Tag: para
-#: best_practices.xml:51
-#, no-c-format
+#: index.docbook:51
msgid "Deploy the mappings along with the classes they map."
msgstr "Despliega los mapeos junto a las clases que mapean."
-#. Tag: term
-#: best_practices.xml:57
-#, no-c-format
+#: index.docbook:57
msgid "Consider externalising query strings."
msgstr "Considera externalizar las cadenas de consulta."
-#. Tag: para
-#: best_practices.xml:59
-#, no-c-format
+#: index.docbook:59
msgid ""
"This is a good practice if your queries call non-ANSI-standard SQL "
"functions. Externalising the query strings to mapping files will make the "
"application more portable."
msgstr ""
-"Esta es una buena práctica si tus consultas llaman a funciones SQL que no "
-"son del estándar ANSI. Externalizar las cadenas de consulta a ficheros de "
-"mapeo hará la aplicación más portable."
+"Esta es una buena práctica si tus consultas llaman a funciones SQL
"
+"que no son del estándar ANSI. Externalizar las cadenas de consulta a
"
+"ficheros de mapeo hará la aplicación más
portable."
-#. Tag: term
-#: best_practices.xml:67
-#, no-c-format
+#: index.docbook:67
msgid "Use bind variables."
msgstr "Usa variables de ligado."
-#. Tag: para
-#: best_practices.xml:69
-#, no-c-format
+#: index.docbook:69
msgid ""
"As in JDBC, always replace non-constant values by \"?\". Never use string
"
"manipulation to bind a non-constant value in a query! Even better, consider "
"using named parameters in queries."
msgstr ""
-"Igual que en JDBC, siempre remplaza valores no constantes con \"?\".
¡Nunca "
-"uses manipulación de cadenas para ligar un valor no constante en una "
-"consulta! Incluso mejor, considera usar parámetros con nombre en las "
-"consultas."
+"Igual que en JDBC, siempre remplaza valores no constantes con \"?\".
¡"
+"Nunca uses manipulación de cadenas para ligar un valor no constante
"
+"en una consulta! Incluso mejor, considera usar parámetros con nombre
"
+"en las consultas."
-#. Tag: term
-#: best_practices.xml:77
-#, no-c-format
+#: index.docbook:77
msgid "Don't manage your own JDBC connections."
msgstr "No manejes tus propias conexiones JDBC."
-#. Tag: para
-#: best_practices.xml:79
-#, no-c-format
+#: index.docbook:79
msgid ""
"Hibernate lets the application manage JDBC connections. This approach should
"
"be considered a last-resort. If you can't use the built-in connections "
"providers, consider providing your own implementation of <literal>org."
"hibernate.connection.ConnectionProvider</literal>."
msgstr ""
-"Hibernate deja a la aplicación administre las conexiones JDBC. Este enfoque "
-"debe considerarse como último recurso. Si no puedes usar los provedores de "
-"conexión prefabricados, considera prover tu propia implementación de "
-"<literal>org.hibernate.connection.ConnectionProvider</literal>."
+"Hibernate deja a la aplicación administre las conexiones JDBC. Este
"
+"enfoque debe considerarse como último recurso. Si no puedes usar los
"
+"provedores de conexión prefabricados, considera prover tu propia "
+"implementación de <literal>org.hibernate.connection."
+"ConnectionProvider</literal>."
-#. Tag: term
-#: best_practices.xml:87
-#, no-c-format
+#: index.docbook:87
msgid "Consider using a custom type."
msgstr "Considera usar un tipo personalizado."
-#. Tag: para
-#: best_practices.xml:89
-#, no-c-format
+#: index.docbook:89
msgid ""
"Suppose you have a Java type, say from some library, that needs to be "
"persisted but doesn't provide the accessors needed to map it as a component.
"
@@ -181,21 +140,18 @@
"This approach frees the application code from implementing transformations "
"to / from a Hibernate type."
msgstr ""
-"Supón que tienes un tipo Java, digamos de alguna biblioteca, que necesita "
-"hacerse persistente pero no provee los métodos de acceso necesarios para "
-"mapearlo como un componente. Debes considerar implementar
<literal>org."
-"hibernate.UserType</literal>. Este enfoque libera al código de aplicación de
"
-"implementar transformaciones a / desde un tipo Hibernate."
+"Supón que tienes un tipo Java, digamos de alguna biblioteca, que "
+"necesita hacerse persistente pero no provee los métodos de acceso
"
+"necesarios para mapearlo como un componente. Debes considerar implementar "
+"<literal>org.hibernate.UserType</literal>. Este enfoque libera al
có"
+"digo de aplicación de implementar transformaciones a / desde un tipo
"
+"Hibernate."
-#. Tag: term
-#: best_practices.xml:98
-#, no-c-format
+#: index.docbook:98
msgid "Use hand-coded JDBC in bottlenecks."
msgstr "Usa JDBC codificado a mano en cuellos de botella."
-#. Tag: para
-#: best_practices.xml:100
-#, no-c-format
+#: index.docbook:100
msgid ""
"In performance-critical areas of the system, some kinds of operations might "
"benefit from direct JDBC. But please, wait until you
<emphasis>know</"
@@ -205,23 +161,20 @@
"connection. That way you can still use the same transaction strategy and "
"underlying connection provider."
msgstr ""
-"En áreas del sistema de rendimiento crítico, algunos tipos de operaciones "
-"podrían beneficiarse del JDBC directo. Pero por favor, espero hasta que "
-"<emphasis>sepas</emphasis> que algo es un cuello de botella. Y no
asumas que "
-"el JDBC directo es necesariamente más rápido. Si necesitas usar JDBC "
-"directo, podría ser valioso abrir una <literal>Session</literal> de
"
-"Hibernate y usar esa conexión JDBC. De esta forma puedes usar aún la misma "
-"estrategia de transacción y el mismo proveedor de conexiones subyacente."
+"En áreas del sistema de rendimiento crítico, algunos tipos de
"
+"operaciones podrían beneficiarse del JDBC directo. Pero por favor,
"
+"espero hasta que <emphasis>sepas</emphasis> que algo es un cuello de
"
+"botella. Y no asumas que el JDBC directo es necesariamente más "
+"rápido. Si necesitas usar JDBC directo, podría ser valioso
"
+"abrir una <literal>Session</literal> de Hibernate y usar esa
conexión "
+"JDBC. De esta forma puedes usar aún la misma estrategia de "
+"transacción y el mismo proveedor de conexiones subyacente."
-#. Tag: term
-#: best_practices.xml:110
-#, no-c-format
+#: index.docbook:110
msgid "Understand <literal>Session</literal> flushing."
msgstr "Comprende la limpieza (flushing) de
<literal>Session</literal>."
-#. Tag: para
-#: best_practices.xml:112
-#, no-c-format
+#: index.docbook:112
msgid ""
"From time to time the Session synchronizes its persistent state with the "
"database. Performance will be affected if this process occurs too often. You
"
@@ -229,21 +182,18 @@
"or even by changing the order of queries and other operations within a "
"particular transaction."
msgstr ""
-"De vez en cuando la sesión sincroniza su estado persistente con la base de "
-"datos. El rendimiento se verá afectado si este proceso ocurre demasiado "
-"frecuentemente. A veces puedes minimizar limpieza innecesaria deshabilitando
"
-"la limpieza automática o incluso cambiando el orden de las consultas u otras
"
-"operaciones en una transacción en particular."
+"De vez en cuando la sesión sincroniza su estado persistente con la
"
+"base de datos. El rendimiento se verá afectado si este proceso ocurre
"
+"demasiado frecuentemente. A veces puedes minimizar limpieza innecesaria "
+"deshabilitando la limpieza automática o incluso cambiando el orden de
"
+"las consultas u otras operaciones en una transacción en
particular."
-#. Tag: term
-#: best_practices.xml:121
-#, no-c-format
+#: index.docbook:121
msgid "In a three tiered architecture, consider using detached objects."
-msgstr "En una aplicación en tres gradas, considera usar objetos separados."
+msgstr ""
+"En una aplicación en tres gradas, considera usar objetos
separados."
-#. Tag: para
-#: best_practices.xml:123
-#, no-c-format
+#: index.docbook:123
msgid ""
"When using a servlet / session bean architecture, you could pass persistent "
"objects loaded in the session bean to and from the servlet / JSP layer. Use "
@@ -251,23 +201,19 @@
"literal> or <literal>Session.saveOrUpdate()</literal> to synchronize
objects "
"with the database."
msgstr ""
-"Al usar una arquitectura de servlet / sesión, puedes pasar objetos "
-"persistentes en el bean de sesión hacia y desde la capa de servlet / JSP. "
-"Usa una sesión nueva para atender el servicio de cada petición. Usa "
-"<literal>Session.merge()</literal> o
<literal>Session.saveOrUpdate()</"
-"literal> para sincronizar los objetos con la base de datos."
+"Al usar una arquitectura de servlet / sesión, puedes pasar objetos
"
+"persistentes en el bean de sesión hacia y desde la capa de servlet /
"
+"JSP. Usa una sesión nueva para atender el servicio de cada "
+"petición. Usa <literal>Session.merge()</literal> o
<literal>Session."
+"saveOrUpdate()</literal> para sincronizar los objetos con la base de
datos."
-#. Tag: term
-#: best_practices.xml:132
-#, no-c-format
+#: index.docbook:132
msgid "In a two tiered architecture, consider using long persistence
contexts."
msgstr ""
"En una arquitectura en dos gradas, considera usar contexto de persistencia "
"largos."
-#. Tag: para
-#: best_practices.xml:134
-#, no-c-format
+#: index.docbook:134
msgid ""
"Database Transactions have to be as short as possible for best scalability. "
"However, it is often neccessary to implement long running "
@@ -284,27 +230,25 @@
msgstr ""
"Las transacciones de base de datos tienen que ser tan cortas como sea "
"posible. Sin embargo, frecuentemente es necesario implementar "
-"<emphasis>transacciones de aplicación</emphasis> ejecutándose en largo,
una "
-"sola unidad de trabajo desde el punto de vista de un usuario. Una "
-"transacción de aplicación puede abarcar muchos ciclos petición/respuesta del
"
-"cliente. Es común usar objetos separados para implementar transacciones de "
-"aplicación. Una alternativa, extremadamente apropiada en arquitecturas en "
-"dos gradas, es mantener un solo contacto de persistencia abierto (sesión) "
-"para todo el ciclo de vida de la transacción de aplicación y simplemente "
-"desconectar de la conexión JDBC al final de cada petición, y reconectar al "
-"comienzo de la petición subsecuente. Nunca compartas una única sesión a "
-"través de más de una transacción de aplicación, o estarás trabajando con "
+"<emphasis>transacciones de aplicación</emphasis>
ejecutándose "
+"en largo, una sola unidad de trabajo desde el punto de vista de un usuario. "
+"Una transacción de aplicación puede abarcar muchos ciclos
"
+"petición/respuesta del cliente. Es común usar objetos "
+"separados para implementar transacciones de aplicación. Una "
+"alternativa, extremadamente apropiada en arquitecturas en dos gradas, es "
+"mantener un solo contacto de persistencia abierto (sesión) para todo
"
+"el ciclo de vida de la transacción de aplicación y
simplemente "
+"desconectar de la conexión JDBC al final de cada petición, y
"
+"reconectar al comienzo de la petición subsecuente. Nunca compartas
"
+"una única sesión a través de más de una
"
+"transacción de aplicación, o estarás trabajando
con "
"datos añejos."
-#. Tag: term
-#: best_practices.xml:148
-#, no-c-format
+#: index.docbook:148
msgid "Don't treat exceptions as recoverable."
msgstr "No trates la excepciones como recuperables."
-#. Tag: para
-#: best_practices.xml:150
-#, no-c-format
+#: index.docbook:150
msgid ""
"This is more of a necessary practice than a \"best\" practice. When an
"
"exception occurs, roll back the <literal>Transaction</literal> and
close the "
@@ -314,23 +258,20 @@
"instance with the given identifier exists on the database; use "
"<literal>Session.get()</literal> or a query instead."
msgstr ""
-"Esto es más una práctica necesaria que una \"mejor\" práctica. Cuando
ocurra "
-"una excepción, deshaz (rollback) la <literal>Transaction</literal> y
cierra "
-"la <literal>Session</literal>. Si no lo haces, Hibernate no puede
garantizar "
-"que el estado en memoria representa con exactitud el estado persistente. "
-"Como un caso especial de esto, no uses
<literal>Session.load()</literal> "
-"para determinar si una instancia con el identificador dado existe en la base
"
-"de datos. En cambio, usa <literal>Session.get()</literal> o una
consulta."
+"Esto es más una práctica necesaria que una
\"mejor\" prá"
+"ctica. Cuando ocurra una excepción, deshaz (rollback) la "
+"<literal>Transaction</literal> y cierra la
<literal>Session</literal>. Si no "
+"lo haces, Hibernate no puede garantizar que el estado en memoria representa "
+"con exactitud el estado persistente. Como un caso especial de esto, no uses "
+"<literal>Session.load()</literal> para determinar si una instancia con
el "
+"identificador dado existe en la base de datos. En cambio, usa "
+"<literal>Session.get()</literal> o una consulta."
-#. Tag: term
-#: best_practices.xml:160
-#, no-c-format
+#: index.docbook:160
msgid "Prefer lazy fetching for associations."
-msgstr "Prefiere la recuperación perezosa para las asociaciones."
+msgstr "Prefiere la recuperación perezosa para las asociaciones."
-#. Tag: para
-#: best_practices.xml:162
-#, no-c-format
+#: index.docbook:162
msgid ""
"Use eager fetching sparingly. Use proxies and lazy collections for most "
"associations to classes that are not likely to be completely held in the "
@@ -340,29 +281,26 @@
"appropriate to a particular use case, use a query with a <literal>left join
"
"fetch</literal>."
msgstr ""
-"Usa escasamente la recuperación temprana. Usa proxies y colecciones "
-"perezosas para la mayoría de asociaciones a clases probablemente no estén "
-"mantenidas en el caché de segundo nivel. Para las asociaciones a clases en "
-"caché, donde hay una probabilidad de acceso a caché extremadamente alta, "
-"deshabilita explícitamente la recuperación temprana usando
<literal>lazy="
-"\"false\"</literal>. Cuando sea apropiada la recuperación por unión
(join "
-"fetching) para un caso de uso en particular, usa una consulta con un "
-"<literal>left join fetch</literal>."
+"Usa escasamente la recuperación temprana. Usa proxies y colecciones
"
+"perezosas para la mayoría de asociaciones a clases probablemente no
"
+"estén mantenidas en el caché de segundo nivel. Para las
"
+"asociaciones a clases en caché, donde hay una probabilidad de acceso
"
+"a caché extremadamente alta, deshabilita explícitamente la
"
+"recuperación temprana usando
<literal>lazy=\"false\"</literal>. "
+"Cuando sea apropiada la recuperación por unión (join
fetching) "
+"para un caso de uso en particular, usa una consulta con un <literal>left
"
+"join fetch</literal>."
-#. Tag: term
-#: best_practices.xml:172
-#, no-c-format
+#: index.docbook:172
msgid ""
"Use the <emphasis>open session in view</emphasis> pattern, or a
disciplined "
"<emphasis>assembly phase</emphasis> to avoid problems with unfetched
data."
msgstr ""
-"Usa el patrón <emphasis>sesión abierta en vista</emphasis>, o una
"
-"<emphasis>fase de ensamblado</emphasis> disciplinada para evitar
problemas "
-"con datos no recuperados."
+"Usa el patrón <emphasis>sesión abierta en
vista</emphasis>, o "
+"una <emphasis>fase de ensamblado</emphasis> disciplinada para evitar
"
+"problemas con datos no recuperados."
-#. Tag: para
-#: best_practices.xml:177
-#, no-c-format
+#: index.docbook:177
msgid ""
"Hibernate frees the developer from writing tedious <emphasis>Data Transfer
"
"Objects</emphasis> (DTO). In a traditional EJB architecture, DTOs serve dual
"
@@ -379,28 +317,25 @@
msgstr ""
"Hibernate liberal al desarrollador de escribir <emphasis>Objetos de "
"Transferencia de Datos (Data Transfer Objects)</emphasis> (DTO). En una
"
-"arquitectura tradicional de EJB, los DTOs tienen un propósito doble: "
+"arquitectura tradicional de EJB, los DTOs tienen un propósito doble:
"
"primero, atacan el problema que los beans de entidad no son serializables. "
-"Segundo, definen implícitamente una fase de ensamblado cuando se recuperan y
"
-"se forman (marshalling) todos los datos a usar por la vista en los DTOs "
-"antes de devolver el control a la grada de presentación. Hibernate elimina "
-"el primer propósito. Sin embargo, aún necesitas una fase de ensamblado "
-"(piensa en tus métodos de negocio como si tuviesen un contrato estricto con "
-"la grada de presentación sobre qué datos están disponibles en los objetos "
-"separados) a menos que estés preparado para tener el contexto de "
-"persistencia (la sesión) abierto a través del proceso de renderización de la
"
-"vista. ¡Esta no es una limitación de Hibernate! Es un requerimiento "
-"fundamental de acceso seguro a datos transaccionales."
+"Segundo, definen implícitamente una fase de ensamblado cuando se "
+"recuperan y se forman (marshalling) todos los datos a usar por la vista en "
+"los DTOs antes de devolver el control a la grada de presentación.
"
+"Hibernate elimina el primer propósito. Sin embargo, aún
"
+"necesitas una fase de ensamblado (piensa en tus métodos de negocio
"
+"como si tuviesen un contrato estricto con la grada de presentación
"
+"sobre qué datos están disponibles en los objetos separados) a
"
+"menos que estés preparado para tener el contexto de persistencia (la
"
+"sesión) abierto a través del proceso de
renderización "
+"de la vista. ¡Esta no es una limitación de Hibernate! Es un
"
+"requerimiento fundamental de acceso seguro a datos transaccionales."
-#. Tag: term
-#: best_practices.xml:191
-#, no-c-format
+#: index.docbook:191
msgid "Consider abstracting your business logic from Hibernate."
-msgstr "Considera abstraer tu lógica de negocio de Hibernate"
+msgstr "Considera abstraer tu lógica de negocio de Hibernate"
-#. Tag: para
-#: best_practices.xml:193
-#, no-c-format
+#: index.docbook:193
msgid ""
"Hide (Hibernate) data-access code behind an interface. Combine the "
"<emphasis>DAO</emphasis> and <emphasis>Thread Local
Session</emphasis> "
@@ -409,23 +344,19 @@
"intended for \"sufficiently large\" applications; it is not appropriate
for "
"an application with five tables!)"
msgstr ""
-"Oculta el código de acceso a datos (Hibernate) detrás de una interface. "
-"Combina los patrones <emphasis>DAO</emphasis> y <emphasis>Sesión
de Hebra "
-"Local</emphasis>. Incluso puedes tener algunas clases hechas persistentes
"
-"por JDBC escrito a mano, asociadas a Hibernate por medio de un "
-"<literal>UserType</literal>. (Este consejo está pensado para
aplicaciones "
-"\"suficientemente grandes\"; ¡no es apropiado para una aplicación con
cinco "
-"tablas!)"
+"Oculta el código de acceso a datos (Hibernate) detrás de una
"
+"interface. Combina los patrones <emphasis>DAO</emphasis> y "
+"<emphasis>Sesión de Hebra Local</emphasis>. Incluso puedes
tener "
+"algunas clases hechas persistentes por JDBC escrito a mano, asociadas a "
+"Hibernate por medio de un <literal>UserType</literal>. (Este consejo
"
+"está pensado para aplicaciones \"suficientemente grandes\";
¡"
+"no es apropiado para una aplicación con cinco tablas!)"
-#. Tag: term
-#: best_practices.xml:203
-#, no-c-format
+#: index.docbook:203
msgid "Don't use exotic association mappings."
-msgstr "No uses mapeos de asociación exóticos."
+msgstr "No uses mapeos de asociación exóticos."
-#. Tag: para
-#: best_practices.xml:205
-#, no-c-format
+#: index.docbook:205
msgid ""
"Good usecases for a real many-to-many associations are rare. Most of the "
"time you need additional information stored in the \"link table\". In
this "
@@ -435,26 +366,29 @@
"style and ask yourself if it is really neccessary."
msgstr ""
"Son raros los casos de uso de asociaciones reales muchos-a-muchos. La mayor "
-"parte del tiempo necesitas información adicional almacenada en una \"tabla
"
-"de enlace\". En este caso, es mucho mejor usar dos asociaciones uno-a-muchos
"
-"a una clase de enlace intermedia. De hecho, pensamos que la mayoría de "
-"asociaciones son uno-a-muchos y muchos-a-uno, debes ser cuidadoso al usr "
-"cualquier otro estilo de asociación y preguntarte si es realmente necesario."
+"parte del tiempo necesitas información adicional almacenada en una
"
+"\"tabla de enlace\". En este caso, es mucho mejor usar dos asociaciones
uno-"
+"a-muchos a una clase de enlace intermedia. De hecho, pensamos que la "
+"mayoría de asociaciones son uno-a-muchos y muchos-a-uno, debes ser
"
+"cuidadoso al usr cualquier otro estilo de asociación y preguntarte si
"
+"es realmente necesario."
-#. Tag: term
-#: best_practices.xml:215
-#, no-c-format
+#: index.docbook:215
msgid "Prefer bidirectional associations."
msgstr "Prefiere las asociaciones bidireccionales."
-#. Tag: para
-#: best_practices.xml:217
-#, no-c-format
+#: index.docbook:217
msgid ""
"Unidirectional associations are more difficult to query. In a large "
"application, almost all associations must be navigable in both directions in
"
"queries."
msgstr ""
-"Las asociaciones unidireccionales son más difíciles de consultar. En una "
-"aplicación grande, casi todas las asociaciones deben ser navegables en ambas
"
-"direcciones en consultas."
+"Las asociaciones unidireccionales son más difíciles de
"
+"consultar. En una aplicación grande, casi todas las asociaciones "
+"deben ser navegables en ambas direcciones en consultas."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified:
core/trunk/documentation/manual/src/main/docbook/es-ES/content/collection_mapping.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/collection_mapping.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/collection_mapping.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,40 +1,27 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: collection_mapping.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Collection Mapping"
msgstr "Mapeo de Colecciones"
-#. Tag: title
-#: collection_mapping.xml:8
-#, no-c-format
+#: index.docbook:8
msgid "Persistent collections"
msgstr "Colecciones persistentes"
-#. Tag: para
-#: collection_mapping.xml:10
-#, no-c-format
+#: index.docbook:10
msgid ""
"Hibernate requires that persistent collection-valued fields be declared as "
"an interface type, for example:"
msgstr ""
-"Hibernate requiere que los campos valuados en colección persistentes sean "
-"declarados como un tipo de interface, por ejemplo:"
+"Hibernate requiere que los campos valuados en colección persistentes
"
+"sean declarados como un tipo de interface, por ejemplo:"
-#. Tag: programlisting
-#: collection_mapping.xml:15
-#, no-c-format
+#: index.docbook:15
msgid ""
"<![CDATA[public class Product {\n"
" private String serialNumber;\n"
@@ -46,10 +33,17 @@
" void setSerialNumber(String sn) { serialNumber = sn; }\n"
"}]]>"
msgstr ""
+"<![CDATA[public class Product {\n"
+" private String serialNumber;\n"
+" private Set parts = new HashSet();\n"
+" \n"
+" public Set getParts() { return parts; }\n"
+" void setParts(Set parts) { this.parts = parts; }\n"
+" public String getSerialNumber() { return serialNumber; }\n"
+" void setSerialNumber(String sn) { serialNumber = sn; }\n"
+"}]]>"
-#. Tag: para
-#: collection_mapping.xml:17
-#, no-c-format
+#: index.docbook:17
msgid ""
"The actual interface might be <literal>java.util.Set</literal>, "
"<literal>java.util.Collection</literal>,
<literal>java.util.List</literal>, "
@@ -58,16 +52,15 @@
"\"anything you like\" means you will have to write an implementation of
"
"<literal>org.hibernate.usertype.UserCollectionType</literal>.)"
msgstr ""
-"La interface real podría ser <literal>java.util.Set</literal>,
<literal>java."
-"util.Collection</literal>, <literal>java.util.List</literal>,
<literal>java."
-"util.Map</literal>, <literal>java.util.SortedSet</literal>,
<literal>java."
-"util.SortedMap</literal> o ... lo que te guste! (Donde \"lo que te
guste\" "
-"significa que tendrás que escribir una implementación de <literal>org."
-"hibernate.usertype.UserCollectionType</literal>.)"
+"La interface real podría ser
<literal>java.util.Set</literal>, "
+"<literal>java.util.Collection</literal>,
<literal>java.util.List</literal>, "
+"<literal>java.util.Map</literal>,
<literal>java.util.SortedSet</literal>, "
+"<literal>java.util.SortedMap</literal> o ... lo que te guste! (Donde
\"lo "
+"que te guste\" significa que tendrás que escribir una "
+"implementación de
<literal>org.hibernate.usertype.UserCollectionType</"
+"literal>.)"
-#. Tag: para
-#: collection_mapping.xml:26
-#, no-c-format
+#: index.docbook:26
msgid ""
"Notice how we initialized the instance variable with an instance of "
"<literal>HashSet</literal>. This is the best way to initialize
collection "
@@ -77,17 +70,16 @@
"with an instance of Hibernate's own implementation of
<literal>Set</"
"literal>. Watch out for errors like this:"
msgstr ""
-"Nota cómo hemos inicializado la variable de instancia de
<literal>HashSet</"
-"literal>. Esta es la mejor forma de inicializar propiedades valuadas en "
-"colección de instancias recién instanciadas (no persistentes). Cuando haces "
-"persistente la instancia - llamando a <literal>persist()</literal>, por
"
-"ejemplo - Hibernate realmente remplazará el <literal>HashSet</literal>
con "
-"una instancia de una implementación de <literal>Set</literal> propia de
"
-"Hibernate. Observa errores como este:"
+"Nota cómo hemos inicializado la variable de instancia de "
+"<literal>HashSet</literal>. Esta es la mejor forma de inicializar
"
+"propiedades valuadas en colección de instancias recién
"
+"instanciadas (no persistentes). Cuando haces persistente la instancia - "
+"llamando a <literal>persist()</literal>, por ejemplo - Hibernate
realmente "
+"remplazará el <literal>HashSet</literal> con una instancia
de una "
+"implementación de <literal>Set</literal> propia de
Hibernate. Observa "
+"errores como este:"
-#. Tag: programlisting
-#: collection_mapping.xml:36
-#, no-c-format
+#: index.docbook:36
msgid ""
"<![CDATA[Cat cat = new DomesticCat();\n"
"Cat kitten = new DomesticCat();\n"
@@ -99,10 +91,17 @@
"kittens = cat.getKittens(); // Okay, kittens collection is a Set\n"
"(HashSet) cat.getKittens(); // Error!]]>"
msgstr ""
+"<![CDATA[Cat cat = new DomesticCat();\n"
+"Cat kitten = new DomesticCat();\n"
+"....\n"
+"Set kittens = new HashSet();\n"
+"kittens.add(kitten);\n"
+"cat.setKittens(kittens);\n"
+"session.persist(cat);\n"
+"kittens = cat.getKittens(); // Okay, kittens collection is a Set\n"
+"(HashSet) cat.getKittens(); // Error!]]>"
-#. Tag: para
-#: collection_mapping.xml:38
-#, no-c-format
+#: index.docbook:38
msgid ""
"The persistent collections injected by Hibernate behave like "
"<literal>HashMap</literal>, <literal>HashSet</literal>,
<literal>TreeMap</"
@@ -114,9 +113,7 @@
"literal>, <literal>TreeSet</literal> o
<literal>ArrayList</literal>, "
"dependiendo del tipo de interface."
-#. Tag: para
-#: collection_mapping.xml:45
-#, no-c-format
+#: index.docbook:45
msgid ""
"Collections instances have the usual behavior of value types. They are "
"automatically persisted when referenced by a persistent object and "
@@ -128,18 +125,16 @@
"distinguish between a null collection reference and an empty collection."
msgstr ""
"Las instancias de colecciones tienen el comportamiento usual de tipos de "
-"valor. Son automáticamente persistidas al ser referenciadas por un objeto "
-"persistente y automáticamente borradas al desreferenciarse. Si una colección
"
-"es pasada de un objeto persistente a otro, sus elementos serían movidos de "
-"una tabla a otra. Dos entidades pueden no compartir una referencia a la "
-"misma instancia de colección. Debido al modelo relacional subyacente, las "
-"propiedades valuadas en colección no soportan la semántica de valor nulo. "
-"Hibernate no distingue entre una referencia de colección nula y una "
-"colección vacía."
+"valor. Son automáticamente persistidas al ser referenciadas por un
"
+"objeto persistente y automáticamente borradas al desreferenciarse. Si
"
+"una colección es pasada de un objeto persistente a otro, sus "
+"elementos serían movidos de una tabla a otra. Dos entidades pueden no
"
+"compartir una referencia a la misma instancia de colección. Debido al
"
+"modelo relacional subyacente, las propiedades valuadas en colección
"
+"no soportan la semántica de valor nulo. Hibernate no distingue entre
"
+"una referencia de colección nula y una colección
vacía."
-#. Tag: para
-#: collection_mapping.xml:56
-#, no-c-format
+#: index.docbook:56
msgid ""
"You shouldn't have to worry much about any of this. Use persistent "
"collections the same way you use ordinary Java collections. Just make sure "
@@ -147,30 +142,25 @@
msgstr ""
"No debes tener que preocuparte demasiado por esto. Usa las colecciones "
"persistentes de la misma forma en que usas colecciones de Java ordinarias. "
-"Sólo asegúrate que entiendes la semántica de las asociaciones "
-"bidireccionales (discutida luego)."
+"Sólo asegúrate que entiendes la semántica de las
"
+"asociaciones bidireccionales (discutida luego)."
-#. Tag: title
-#: collection_mapping.xml:65
-#, no-c-format
+#: index.docbook:65
msgid "Collection mappings"
-msgstr "Mapeos de colección"
+msgstr "Mapeos de colección"
-#. Tag: para
-#: collection_mapping.xml:67
-#, no-c-format
+#: index.docbook:67
msgid ""
"The Hibernate mapping element used for mapping a collection depends upon the
"
"type of the interface. For example, a
<literal><set></literal> element "
"is used for mapping properties of type <literal>Set</literal>."
msgstr ""
-"El elemento de mapeo de Hibernate usado para mapear una colección depende "
-"del tipo de la interface. Por ejemplom un elemento
<literal><set></"
-"literal> se usa para mapear propiedades de tipo
<literal>Set</literal>."
+"El elemento de mapeo de Hibernate usado para mapear una colección
"
+"depende del tipo de la interface. Por ejemplom un elemento
<literal><"
+"set></literal> se usa para mapear propiedades de tipo
<literal>Set</"
+"literal>."
-#. Tag: programlisting
-#: collection_mapping.xml:73
-#, no-c-format
+#: index.docbook:73
msgid ""
"<![CDATA[<class name=\"Product\">\n"
" <id name=\"serialNumber\"
column=\"productSerialNumber\"/>\n"
@@ -180,10 +170,15 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Product\">\n"
+" <id name=\"serialNumber\"
column=\"productSerialNumber\"/>\n"
+" <set name=\"parts\">\n"
+" <key column=\"productSerialNumber\"
not-null=\"true\"/>\n"
+" <one-to-many class=\"Part\"/>\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: para
-#: collection_mapping.xml:75
-#, no-c-format
+#: index.docbook:75
msgid ""
"Apart from <literal><set></literal>, there is also
<literal><"
"list></literal>, <literal><map></literal>,
<literal><bag></"
@@ -191,15 +186,13 @@
"array></literal> mapping elements. The
<literal><map></literal> "
"element is representative:"
msgstr ""
-"Aparte de <literal><set></literal>, existen además los
elementos de "
-"mapeo <literal><list></literal>,
<literal><map></literal>, "
-"<literal><bag></literal>,
<literal><array></literal> y "
+"Aparte de <literal><set></literal>, existen
además los "
+"elementos de mapeo <literal><list></literal>,
<literal><map></"
+"literal>, <literal><bag></literal>,
<literal><array></literal> y "
"<literal><primitive-array></literal>. El elemento
<literal><map>"
"</literal> es representativo:"
-#. Tag: programlisting
-#: collection_mapping.xml:100
-#, no-c-format
+#: index.docbook:100
msgid ""
"<![CDATA[<map\n"
" name=\"propertyName\"\n"
@@ -225,36 +218,51 @@
" <element .... />\n"
"</map>]]>"
msgstr ""
+"<![CDATA[<map\n"
+" name=\"propertyName\"\n"
+" table=\"table_name\"\n"
+" schema=\"schema_name\"\n"
+" lazy=\"true|false\"\n"
+" inverse=\"true|false\"\n"
+" cascade=\"all|none|save-update|delete|all-delete-orphan\"\n"
+" sort=\"unsorted|natural|comparatorClass\"\n"
+" order-by=\"column_name asc|desc\"\n"
+" where=\"arbitrary sql where condition\"\n"
+" fetch=\"join|select|subselect\"\n"
+" batch-size=\"N\"\n"
+" access=\"field|property|ClassName\"\n"
+" optimistic-lock=\"true|false\"\n"
+" node=\"element-name|.\"\n"
+" embed-xml=\"true|false\"\n"
+">\n"
+"\n"
+" <key .... />\n"
+" <map-key .... />\n"
+" <element .... />\n"
+"</map>]]>"
-#. Tag: para
-#: collection_mapping.xml:103
-#, no-c-format
+#: index.docbook:103
msgid "<literal>name</literal> the collection property name"
-msgstr "<literal>name</literal> el nombre de la propiedad de
colección"
+msgstr "<literal>name</literal> el nombre de la propiedad de
colección"
-#. Tag: para
-#: collection_mapping.xml:108
-#, no-c-format
+#: index.docbook:108
msgid ""
"<literal>table</literal> (optional - defaults to property name) the
name of "
"the collection table (not used for one-to-many associations)"
msgstr ""
"<literal>table</literal> (opcional - por defecto al nombre de la
propiedad) "
-"el nombre de la tabla de coleciión (no usado para asociaciones uno-a-muchos)"
+"el nombre de la tabla de coleciión (no usado para asociaciones
uno-a-"
+"muchos)"
-#. Tag: para
-#: collection_mapping.xml:114
-#, no-c-format
+#: index.docbook:114
msgid ""
"<literal>schema</literal> (optional) the name of a table schema to
override "
"the schema declared on the root element"
msgstr ""
"<literal>schema</literal> (opcional) el nombre de un esquema de tablas
para "
-"sobrescribir el esquema declarado en el elemento raíz"
+"sobrescribir el esquema declarado en el elemento raíz"
-#. Tag: para
-#: collection_mapping.xml:120
-#, no-c-format
+#: index.docbook:120
msgid ""
"<literal>lazy</literal> (optional - defaults to
<literal>true</literal>) may "
"be used to disable lazy fetching and specify that the association is always "
@@ -262,23 +270,20 @@
"do not initialize the collection (suitable for very large collections)"
msgstr ""
"<literal>lazy</literal> (opcional - por defecto a
<literal>true</literal>) "
-"puede ser usado para deshabilitar la recuperación perezosa y especificar que
"
-"la asociación es siempre recuperada tempranamente (no disponible para
arrays)"
+"puede ser usado para deshabilitar la recuperación perezosa y "
+"especificar que la asociación es siempre recuperada tempranamente (no
"
+"disponible para arrays)"
-#. Tag: para
-#: collection_mapping.xml:129
-#, no-c-format
+#: index.docbook:129
msgid ""
"<literal>inverse</literal> (optional - defaults to
<literal>false</literal>) "
"mark this collection as the \"inverse\" end of a bidirectional
association"
msgstr ""
"<literal>inverse</literal> (opcional - por defecto a
<literal>false</"
-"literal>) marca esta colección como el extremo \"inverso\" de una
asociación "
-"bidireccional."
+"literal>) marca esta colección como el extremo \"inverso\"
de una "
+"asociación bidireccional."
-#. Tag: para
-#: collection_mapping.xml:135
-#, no-c-format
+#: index.docbook:135
msgid ""
"<literal>cascade</literal> (optional - defaults to
<literal>none</literal>) "
"enable operations to cascade to child entities"
@@ -286,69 +291,58 @@
"<literal>cascade</literal> (opcional - por defecto a
<literal>none</"
"literal>) habilita operaciones en cascada a entidades hijas"
-#. Tag: para
-#: collection_mapping.xml:141
-#, no-c-format
+#: index.docbook:141
msgid ""
"<literal>sort</literal> (optional) specify a sorted collection with
"
"<literal>natural</literal> sort order, or a given comparator
class"
msgstr ""
-"<literal>sort</literal> (opcional) especifica una colección con
ordenamiento "
-"<literal>natural</literal>, o una clase comparadora dada"
+"<literal>sort</literal> (opcional) especifica una colección
con "
+"ordenamiento <literal>natural</literal>, o una clase comparadora
dada"
-#. Tag: para
-#: collection_mapping.xml:147
-#, no-c-format
+#: index.docbook:147
msgid ""
"<literal>order-by</literal> (optional, JDK1.4 only) specify a table
column "
"(or columns) that define the iteration order of the
<literal>Map</literal>, "
"<literal>Set</literal> or bag, together with an optional
<literal>asc</"
"literal> or <literal>desc</literal>"
msgstr ""
-"<literal>order-by</literal> (opcional, sólo JDK1.4) especifica una
columna "
-"de tabla (o columnas) que definen el orden de iteración del
<literal>Map</"
-"literal>, <literal>Set</literal> o bag, junto a un
<literal>asc</literal> o "
-"<literal>desc</literal> opcional."
+"<literal>order-by</literal> (opcional, sólo JDK1.4)
especifica una "
+"columna de tabla (o columnas) que definen el orden de iteración del
"
+"<literal>Map</literal>, <literal>Set</literal> o bag, junto
a un "
+"<literal>asc</literal> o <literal>desc</literal>
opcional."
-#. Tag: para
-#: collection_mapping.xml:154
-#, no-c-format
+#: index.docbook:154
msgid ""
"<literal>where</literal> (optional) specify an arbitrary SQL
<literal>WHERE</"
"literal> condition to be used when retrieving or removing the collection "
"(useful if the collection should contain only a subset of the available
data)"
msgstr ""
-"<literal>where</literal> (opcional) especifica una condición
<literal>WHERE</"
-"literal> de SQL arbitrario para ser usada al recuperar o quitar la colección
"
-"(útil si la colección debe contener sólo un subconjunto de los datos "
-"disponibles)"
+"<literal>where</literal> (opcional) especifica una condición
"
+"<literal>WHERE</literal> de SQL arbitrario para ser usada al recuperar
o "
+"quitar la colección (útil si la colección debe
contener "
+"sólo un subconjunto de los datos disponibles)"
-#. Tag: para
-#: collection_mapping.xml:161
-#, no-c-format
+#: index.docbook:161
msgid ""
"<literal>fetch</literal> (optional, defaults to
<literal>select</literal>) "
"Choose between outer-join fetching, fetching by sequential select, and "
"fetching by sequential subselect."
msgstr ""
"<literal>fetch</literal> (opcional, por defecto a
<literal>select</literal>) "
-"Elige entre recuperación por unión externa (outer-join), recuperar por "
-"selección secuencial, y recuperación por subselección secuencial."
+"Elige entre recuperación por unión externa (outer-join),
"
+"recuperar por selección secuencial, y recuperación por
"
+"subselección secuencial."
-#. Tag: para
-#: collection_mapping.xml:168
-#, no-c-format
+#: index.docbook:168
msgid ""
"<literal>batch-size</literal> (optional, defaults to
<literal>1</literal>) "
"specify a \"batch size\" for lazily fetching instances of this
collection."
msgstr ""
"<literal>batch-size</literal> (opcional, por defecto a
<literal>1</literal>) "
-"especifica un \"tamaño de lote\" para la recuperar perezosamente
instancias "
-"de esta colección."
+"especifica un \"tamaño de lote\" para la recuperar
perezosamente "
+"instancias de esta colección."
-#. Tag: para
-#: collection_mapping.xml:174
-#, no-c-format
+#: index.docbook:174
msgid ""
"<literal>access</literal> (optional - defaults to
<literal>property</"
"literal>): The strategy Hibernate should use for accessing the collection
"
@@ -358,9 +352,7 @@
"literal>): La estrategia que debe usar Hibernate para acceder al valor de la
"
"propiedad."
-#. Tag: para
-#: collection_mapping.xml:180
-#, no-c-format
+#: index.docbook:180
msgid ""
"<literal>optimistic-lock</literal> (optional - defaults to
<literal>true</"
"literal>): Species that changes to the state of the collection results in
"
@@ -368,13 +360,12 @@
"is often reasonable to disable this setting.)"
msgstr ""
"<literal>optimistic-lock</literal> (opcional - por defecto a
<literal>true</"
-"literal>): Especifica que los cambios de estado de la colección resultan en
"
-"incrementos de versión de la entidad dueña. (Para asociaciones uno a muchos,
"
-"frecuentemente es razonable deshabilitar esta opción.)"
+"literal>): Especifica que los cambios de estado de la colección
"
+"resultan en incrementos de versión de la entidad dueña. (Para
"
+"asociaciones uno a muchos, frecuentemente es razonable deshabilitar esta "
+"opción.)"
-#. Tag: para
-#: collection_mapping.xml:188
-#, no-c-format
+#: index.docbook:188
msgid ""
"<literal>mutable</literal> (optional - defaults to
<literal>true</literal>): "
"A value of <literal>false</literal> specifies that the elements of the
"
@@ -384,15 +375,11 @@
"A value of <literal>false</literal> specifies that the elements of the
"
"collection never change (a minor performance optimization in some cases)."
-#. Tag: title
-#: collection_mapping.xml:198
-#, no-c-format
+#: index.docbook:198
msgid "Collection foreign keys"
-msgstr "Claves foráneas de collección"
+msgstr "Claves foráneas de collección"
-#. Tag: para
-#: collection_mapping.xml:200
-#, no-c-format
+#: index.docbook:200
msgid ""
"Collection instances are distinguished in the database by the foreign key of
"
"the entity that owns the collection. This foreign key is referred to as the "
@@ -400,67 +387,55 @@
"table. The collection key column is mapped by the
<literal><key></"
"literal> element."
msgstr ""
-"Las instancias de colección se distinguen en la base de datos por la clave "
-"foránea de la entidad que posee la colección. Se hace referencia a esta "
-"clave foránea como la <emphasis>columna clave de colección</emphasis>
(o "
-"columnas) de la tabla de colección. La columna clave de la colección es "
-"mapeada por el elemento <literal><key></literal>."
+"Las instancias de colección se distinguen en la base de datos por la
"
+"clave foránea de la entidad que posee la colección. Se hace
"
+"referencia a esta clave foránea como la <emphasis>columna clave de
"
+"colección</emphasis> (o columnas) de la tabla de
colección. La "
+"columna clave de la colección es mapeada por el elemento
<literal><"
+"key></literal>."
-#. Tag: para
-#: collection_mapping.xml:208
-#, no-c-format
+#: index.docbook:208
msgid ""
"There may be a nullability constraint on the foreign key column. For most "
"collections, this is implied. For unidirectional one to many associations, "
"the foreign key column is nullable by default, so you might need to specify "
"<literal>not-null=\"true\"</literal>."
msgstr ""
-"Puede haber una restricción de nulabilidad sobre la columna de clave "
-"foránea. Para la mayoría de colecciones, esto está implicado. Para "
-"asociaciones unidireccionales uno a muchos, la columna de clave foránea es "
-"nulable por defecto, de modo que podrías necesitar especificar
<literal>not-"
-"null=\"true\"</literal>."
+"Puede haber una restricción de nulabilidad sobre la columna de clave
"
+"foránea. Para la mayoría de colecciones, esto está
"
+"implicado. Para asociaciones unidireccionales uno a muchos, la columna de "
+"clave foránea es nulable por defecto, de modo que podrías
"
+"necesitar especificar
<literal>not-null=\"true\"</literal>."
-#. Tag: programlisting
-#: collection_mapping.xml:215
-#, no-c-format
+#: index.docbook:215
msgid "<![CDATA[<key column=\"productSerialNumber\"
not-null=\"true\"/>]]>"
-msgstr ""
+msgstr "<![CDATA[<key column=\"productSerialNumber\"
not-null=\"true\"/>]]>"
-#. Tag: para
-#: collection_mapping.xml:217
-#, no-c-format
+#: index.docbook:217
msgid ""
"The foreign key constraint may use <literal>ON DELETE
CASCADE</literal>."
msgstr ""
-"La restricción de clave foránea puede usar <literal>ON DELETE
CASCADE</"
-"literal>."
+"La restricción de clave foránea puede usar <literal>ON
DELETE "
+"CASCADE</literal>."
-#. Tag: programlisting
-#: collection_mapping.xml:221
-#, no-c-format
+#: index.docbook:221
msgid "<![CDATA[<key column=\"productSerialNumber\"
on-delete=\"cascade\"/>]]>"
msgstr ""
+"<![CDATA[<key column=\"productSerialNumber\"
on-delete=\"cascade\"/>]]>"
-#. Tag: para
-#: collection_mapping.xml:223
-#, no-c-format
+#: index.docbook:223
msgid ""
"See the previous chapter for a full definition of the
<literal><key></"
"literal> element."
msgstr ""
-"Mira el capítulo anterior por una definición completa del elemento "
-"<literal><key></literal>."
+"Mira el capítulo anterior por una definición completa del
"
+"elemento <literal><key></literal>."
-#. Tag: title
-#: collection_mapping.xml:231
-#, no-c-format
+#: index.docbook:231
msgid "Collection elements"
-msgstr "Elementos de collección"
+msgstr "Elementos de collección"
-#. Tag: para
-#: collection_mapping.xml:233
-#, no-c-format
+#: index.docbook:233
msgid ""
"Collections may contain almost any other Hibernate type, including all basic
"
"types, custom types, components, and of course, references to other "
@@ -471,16 +446,16 @@
"considered to be state held by the collection."
msgstr ""
"Las colecciones pueden contener casi cualquier tipo de Hibernate, incluyendo
"
-"todos los tipos básicos, componentes, y por supuesto, referencias a otras "
-"entidades. Esta es una distinción importante: un objeto en una colección "
-"puede ser manejado con una semántica de \"valor\" (su ciclo de vida
depende "
-"completamente del propietario de la colección) o podría ser una referencia a
"
-"otra entidad, con su propio ciclo de vida. En el último caso, sólo el estado
"
-"del \"enlace\" entre los dos objetos se considera mantenido por la
colección."
+"todos los tipos básicos, componentes, y por supuesto, referencias a
"
+"otras entidades. Esta es una distinción importante: un objeto en una
"
+"colección puede ser manejado con una semántica de
\"valor"
+"\" (su ciclo de vida depende completamente del propietario de la "
+"colección) o podría ser una referencia a otra entidad, con su
"
+"propio ciclo de vida. En el último caso, sólo el estado del
"
+"\"enlace\" entre los dos objetos se considera mantenido por la "
+"colección."
-#. Tag: para
-#: collection_mapping.xml:242
-#, no-c-format
+#: index.docbook:242
msgid ""
"The contained type is referred to as the <emphasis>collection element
type</"
"emphasis>. Collection elements are mapped by
<literal><element></"
@@ -490,22 +465,18 @@
"value semantics, the next two are used to map entity associations."
msgstr ""
"Se hace referencia al tipo contenido como el <emphasis>tipo de elemento de
"
-"la colección</emphasis>. Los elementos de colección son mapeados por "
-"<literal><element></literal> o
<literal><composite-element></"
-"literal>, o en el caso de referencias de entidades, con
<literal><one-to-"
-"many></literal> o
<literal><many-to-many></literal>. Las dos "
-"primeras mapean elementos con semántica de valor, los dos siguientes son "
-"usados para mapear asociaciones de entidades."
+"la colección</emphasis>. Los elementos de colección son
"
+"mapeados por <literal><element></literal> o
<literal><composite-"
+"element></literal>, o en el caso de referencias de entidades, con
"
+"<literal><one-to-many></literal> o
<literal><many-to-many></"
+"literal>. Las dos primeras mapean elementos con semántica de valor,
"
+"los dos siguientes son usados para mapear asociaciones de entidades."
-#. Tag: title
-#: collection_mapping.xml:254
-#, no-c-format
+#: index.docbook:254
msgid "Indexed collections"
msgstr "Colecciones indexadas"
-#. Tag: para
-#: collection_mapping.xml:256
-#, no-c-format
+#: index.docbook:256
msgid ""
"All collection mappings, except those with set and bag semantics, need an "
"<emphasis>index column</emphasis> in the collection table - a column
that "
@@ -519,22 +490,20 @@
"element. The mapped column contains sequential integers (numbered from zero,
"
"by default)."
msgstr ""
-"Todos los mapeos de colección, excepto aquellos con semántica de set o bag, "
-"necesitan una <emphasis>columna índice</emphasis> en la tabla de
colección, "
-"una columna que mapea a un índice de array, o índice de
<literal>List</"
-"literal>, o clave de <literal>Map</literal>. El índice de un
<literal>Map</"
-"literal> puede ser de cualquier tipo básico, mapeado con
<literal><map-"
-"key></literal>, o puede ser una referencia de entidad, mapeada con
"
-"<literal><map-key-many-to-many></literal>, o puede ser un
tipo "
-"compuesto, mapeado con
<literal><composite-map-key></literal>. El "
-"índice de un array o lista es siempre de tipo
<literal>integer</literal> y "
-"se mapea usando el elemento
<literal><list-index></literal>. La "
-"columna mapeada contiene enteros secuenciales (numerados desde cero, por "
-"defecto)."
+"Todos los mapeos de colección, excepto aquellos con semántica
"
+"de set o bag, necesitan una <emphasis>columna
índice</emphasis> en la "
+"tabla de colección, una columna que mapea a un índice de
"
+"array, o índice de <literal>List</literal>, o clave de
<literal>Map</"
+"literal>. El índice de un <literal>Map</literal> puede
ser de "
+"cualquier tipo básico, mapeado con
<literal><map-key></"
+"literal>, o puede ser una referencia de entidad, mapeada con
<literal><"
+"map-key-many-to-many></literal>, o puede ser un tipo compuesto,
mapeado "
+"con <literal><composite-map-key></literal>. El
índice de un "
+"array o lista es siempre de tipo <literal>integer</literal> y se mapea
"
+"usando el elemento <literal><list-index></literal>. La
columna mapeada "
+"contiene enteros secuenciales (numerados desde cero, por defecto)."
-#. Tag: sect2
-#: collection_mapping.xml:267
-#, no-c-format
+#: index.docbook:267
msgid ""
"<programlistingco> <areaspec> <area id=\"index1\"
coords=\"2 45\"/> <area id="
"\"index2\" coords=\"3 45\"/> </areaspec>
<programlisting><![CDATA[<list-"
@@ -577,10 +546,49 @@
"(required): The entity class used as the map key. </para> </callout>
</"
"calloutlist> </programlistingco>"
msgstr ""
+"<programlistingco> <areaspec> <area id=\"index1\"
coords=\"2 45\"/> <area id="
+"\"index2\" coords=\"3 45\"/> </areaspec>
<programlisting><![CDATA[<list-"
+"index \n"
+" column=\"column_name\"\n"
+" base=\"0|1|...\"/>]]></programlisting>
<calloutlist> <callout "
+"arearefs=\"index1\"> <para>
<literal>column_name</literal> (requerido): El "
+"nombre de la columna que tiene los valores índice de la "
+"colección. </para> </callout> <callout
arearefs=\"index1\"> <para> "
+"<literal>base</literal> (opcional, por defecto a
<literal>0</literal>): El "
+"valor de la columna índice que corresponde al primer elemento de la
"
+"lista o array. </para> </callout> </calloutlist>
</programlistingco> "
+"<programlistingco> <areaspec> <area id=\"mapkey1\"
coords=\"2 45\"/> <area "
+"id=\"mapkey2\" coords=\"3 45\"/> <area
id=\"mapkey3\" coords=\"4 45\"/> </"
+"areaspec> <programlisting><![CDATA[<map-key \n"
+" column=\"column_name\"\n"
+" formula=\"any SQL expression\"\n"
+" type=\"type_name\"\n"
+" node=\"@attribute-name\"\n"
+" length=\"N\"/>]]></programlisting>
<calloutlist> <callout arearefs="
+"\"mapkey1\"> <para> <literal>column</literal>
(opcional): El nombre de la "
+"columna que tiene los valores índice de la colección.
</para> "
+"</callout> <callout arearefs=\"mapkey2\"> <para>
<literal>formula</literal> "
+"(opcional): Una fórmula SQL usada para evaluar la clave del mapa.
</"
+"para> </callout> <callout arearefs=\"mapkey3\">
<para> <literal>type</"
+"literal> (requerido): el tipo de las claves del mapa. </para>
</callout> </"
+"calloutlist> </programlistingco> <programlistingco> <areaspec>
<area id="
+"\"indexmanytomany1\" coords=\"2 45\"/> <area
id=\"indexmanytomany2\" coords="
+"\"3 45\"/> <area id=\"indexmanytomany3\" coords=\"3
45\"/> </areaspec> "
+"<programlisting><![CDATA[<map-key-many-to-many\n"
+" column=\"column_name\"\n"
+" formula=\"any SQL expression\"\n"
+" class=\"ClassName\"\n"
+"/>]]></programlisting> <calloutlist> <callout
arearefs=\"indexmanytomany1\"> "
+"<para> <literal>column</literal> (opcional): El nombre de la
columna clave "
+"foránea para los valores índice de la colección.
</"
+"para> </callout> <callout arearefs=\"indexmanytomany2\">
<para> "
+"<literal>formula</literal> (opcional): Una fórmula SQL usada
para "
+"evaluar la clave foránea de la clave del mapa. </para>
</callout> "
+"<callout arearefs=\"indexmanytomany3\"> <para>
<literal>class</literal> "
+"(requerido): La clase de entidad usada como clave del mapa. </para>
</"
+"callout> </calloutlist> </programlistingco>"
-#. Tag: para
-#: collection_mapping.xml:348
-#, no-c-format
+#: index.docbook:348
msgid ""
"If your table doesn't have an index column, and you still wish to use "
"<literal>List</literal> as the property type, you should map the
property as "
@@ -588,15 +596,13 @@
"order when it is retrieved from the database, but it may be optionally "
"sorted or ordered."
msgstr ""
-"Si tu tabla no tiene una columna índice, y deseas aún usar
<literal>List</"
-"literal> como tipo de propiedad, debes mapear la propiedad como un "
-"<emphasis><bag></emphasis> de Hibernate. Un bag (bolsa)
no retiene su "
-"orden al ser recuperado de la base de datos, pero puede ser ordenado o "
-"clasificado opcionalmente."
+"Si tu tabla no tiene una columna índice, y deseas aún usar
"
+"<literal>List</literal> como tipo de propiedad, debes mapear la
propiedad "
+"como un <emphasis><bag></emphasis> de Hibernate. Un bag
(bolsa) no "
+"retiene su orden al ser recuperado de la base de datos, pero puede ser "
+"ordenado o clasificado opcionalmente."
-#. Tag: para
-#: collection_mapping.xml:357
-#, no-c-format
+#: index.docbook:357
msgid ""
"There are quite a range of mappings that can be generated for collections, "
"covering many common relational models. We suggest you experiment with the "
@@ -605,43 +611,36 @@
msgstr ""
"Hay absolutamente un rango de mapeos que pueden ser generados para "
"colecciones, cubriendo muchos modelos relacionales comunes. Te sugerimos que
"
-"experimentes con la herramienta de generación de esquemas para obtener una "
-"idea de cómo varias declaraciones de mapeo se traducen a tablas de base de "
-"datos."
+"experimentes con la herramienta de generación de esquemas para "
+"obtener una idea de cómo varias declaraciones de mapeo se traducen a
"
+"tablas de base de datos."
-#. Tag: title
-#: collection_mapping.xml:364
-#, no-c-format
+#: index.docbook:364
msgid "Collections of values and many-to-many associations"
msgstr "Colecciones de valores y asociaciones muchos-a-muchos"
-#. Tag: para
-#: collection_mapping.xml:366
-#, no-c-format
+#: index.docbook:366
msgid ""
"Any collection of values or many-to-many association requires a dedicated "
"<emphasis>collection table</emphasis> with a foreign key column or
columns, "
"<emphasis>collection element column</emphasis> or columns and possibly
an "
"index column or columns."
msgstr ""
-"Cualquier colección de valores o asociación muchos a muchos requiere una "
-"<emphasis>tabla de colección</emphasis> dedicada con una columna o
columnas "
-"de clave foránea, <emphasis>columna de elemento de colección</emphasis>
o "
-"columnas y posiblemente una columna o columnas índice."
+"Cualquier colección de valores o asociación muchos a muchos
"
+"requiere una <emphasis>tabla de colección</emphasis>
dedicada con una "
+"columna o columnas de clave foránea, <emphasis>columna de elemento
de "
+"colección</emphasis> o columnas y posiblemente una columna o
columnas "
+"índice."
-#. Tag: para
-#: collection_mapping.xml:373
-#, no-c-format
+#: index.docbook:373
msgid ""
"For a collection of values, we use the
<literal><element></literal> "
"tag."
msgstr ""
-"Para una colección de valores, usamos la etiqueta
<literal><element></"
-"literal>."
+"Para una colección de valores, usamos la etiqueta
<literal><"
+"element></literal>."
-#. Tag: sect2
-#: collection_mapping.xml:375
-#, no-c-format
+#: index.docbook:375
msgid ""
"<programlistingco> <areaspec> <area id=\"element1b\"
coords=\"2 50\"/> <area "
"id=\"element2b\" coords=\"3 50\"/> <area
id=\"element3b\" coords=\"4 50\"/> "
@@ -709,36 +708,100 @@
"specified, the primary key of the associated class is used. </para>
</"
"callout> </calloutlist> </programlistingco>"
msgstr ""
+"<programlistingco> <areaspec> <area id=\"element1b\"
coords=\"2 50\"/> <area "
+"id=\"element2b\" coords=\"3 50\"/> <area
id=\"element3b\" coords=\"4 50\"/> "
+"</areaspec> <programlisting><![CDATA[<element\n"
+" column=\"column_name\"\n"
+" formula=\"any SQL expression\"\n"
+" type=\"typename\"\n"
+" length=\"L\"\n"
+" precision=\"P\"\n"
+" scale=\"S\"\n"
+" not-null=\"true|false\"\n"
+" unique=\"true|false\"\n"
+" node=\"element-name\"\n"
+"/>]]></programlisting> <calloutlist> <callout
arearefs=\"element1b\"> <para> "
+"<literal>column</literal> (opcional): El nombre de la columna que tiene
los "
+"valores de los elementos de la colección. </para> </callout>
<callout "
+"arearefs=\"element2b\"> <para>
<literal>formula</literal> (opcional): Una "
+"fórmula SQL usada para evaluar el elemento. </para>
</callout> "
+"<callout arearefs=\"element3b\"> <para>
<literal>type</literal> (requerido): "
+"El tipo del elemento de colección. </para> </callout>
</calloutlist> "
+"</programlistingco> <para> Una <emphasis>asociación
muchos-a-muchos</"
+"emphasis> se especifica usando el elemento
<literal><many-to-many></"
+"literal>. </para> <programlistingco> <areaspec> <area
id=\"manytomany1\" "
+"coords=\"2 60\"/> <area id=\"manytomany2\"
coords=\"3 60\"/> <area id="
+"\"manytomany3\" coords=\"4 60\"/> <area
id=\"manytomany4\" coords=\"5 60\"/> "
+"<area id=\"manytomany5\" coords=\"6 60\"/> <area
id=\"manytomany6\" coords="
+"\"7 60\"/> <area id=\"manytomany7\" coords=\"8
60\"/> </areaspec> "
+"<programlisting><![CDATA[<many-to-many\n"
+" column=\"column_name\"\n"
+" formula=\"any SQL expression\"\n"
+" class=\"ClassName\"\n"
+" fetch=\"select|join\"\n"
+" unique=\"true|false\"\n"
+" not-found=\"ignore|exception\"\n"
+" entity-name=\"EntityName\"\n"
+" node=\"element-name\"\n"
+" embed-xml=\"true|false\"\n"
+" />]]></programlisting> <calloutlist> <callout
arearefs=\"manytomany1\"> "
+"<para> <literal>column</literal> (opcional): El nombre de la
columna de "
+"clave foránea del elemento. </para> </callout> <callout
arearefs="
+"\"manytomany2\"> <para> <literal>formula</literal>
(opcional): Una fó"
+"rmula SQL opcional usada para evaluar el valor de clave foránea del
"
+"elemento. </para> </callout> <callout
arearefs=\"manytomany3\"> <para> "
+"<literal>class</literal> (requerido): El nombre de la clase asociada.
</"
+"para> </callout> <callout arearefs=\"manytomany4\">
<para> <literal>fetch</"
+"literal> (opcional - por defecto a <literal>join</literal>):
habilita la "
+"recuperación por unión externa o selección
secuencial "
+"para esta asociación. Este es un caso especial; para una "
+"recuperación completamente temprana (en un solo
<literal>SELECT</"
+"literal>) de una entidad y sus relaciones muchos-a-muchos a otras entidades,
"
+"deberías habilitar la recuperación
<literal>join</literal> no "
+"sólo de la colección misma, sino también con este
"
+"atributo en el elemento anidado
<literal><many-to-many></literal>. </"
+"para> </callout> <callout arearefs=\"manytomany5\">
<para> <literal>unique</"
+"literal> (opcional): Habilita la generación DDL de una "
+"restricción de unicidad para la columna clave foránea. Esto
"
+"hace la multiplicidad de la asociación efectivamente uno a muchos.
</"
+"para> </callout> <callout arearefs=\"manytomany6\">
<para> <literal>not-"
+"found</literal> (opcional - por defecto a
<literal>exception</literal>): "
+"Especifica cómo serán manejadas las claves
foráneas que "
+"referencian filas perdidas: <literal>ignore</literal>
tratará una "
+"fila perdida como una asociación nula. </para> </callout>
<callout "
+"arearefs=\"manytomany7\"> <para>
<literal>entity-name</literal> (opcional): "
+"El nombre de entidad de la clase asociada, como una alternativa a "
+"<literal>class</literal>. </para> </callout> <callout
arearefs=\"manytomany8"
+"\"> <para> UNTRANSLATED! <literal>property-ref</literal>:
(optional) The "
+"name of a property of the associated class that is joined to this foreign "
+"key. If not specified, the primary key of the associated class is used.
</"
+"para> </callout> </calloutlist> </programlistingco>"
-#. Tag: para
-#: collection_mapping.xml:480
-#, no-c-format
+#: index.docbook:480
msgid "Some examples, first, a set of strings:"
msgstr "Algunos ejemplos, primero, un conjunto de cadenas:"
-#. Tag: programlisting
-#: collection_mapping.xml:484
-#, no-c-format
+#: index.docbook:484
msgid ""
"<![CDATA[<set name=\"names\"
table=\"person_names\">\n"
" <key column=\"person_id\"/>\n"
" <element column=\"person_name\"
type=\"string\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"names\"
table=\"person_names\">\n"
+" <key column=\"person_id\"/>\n"
+" <element column=\"person_name\"
type=\"string\"/>\n"
+"</set>]]>"
-#. Tag: para
-#: collection_mapping.xml:486
-#, no-c-format
+#: index.docbook:486
msgid ""
"A bag containing integers (with an iteration order determined by the "
"<literal>order-by</literal> attribute):"
msgstr ""
-"Un bag conteniendo enteros (con un orden de iteración determinado por el "
-"atributo <literal>order-by</literal>):"
+"Un bag conteniendo enteros (con un orden de iteración determinado por
"
+"el atributo <literal>order-by</literal>):"
-#. Tag: programlisting
-#: collection_mapping.xml:491
-#, no-c-format
+#: index.docbook:491
msgid ""
"<![CDATA[<bag name=\"sizes\" \n"
" table=\"item_sizes\" \n"
@@ -747,16 +810,19 @@
" <element column=\"size\" type=\"integer\"/>\n"
"</bag>]]>"
msgstr ""
+"<![CDATA[<bag name=\"sizes\" \n"
+" table=\"item_sizes\" \n"
+" order-by=\"size asc\">\n"
+" <key column=\"item_id\"/>\n"
+" <element column=\"size\" type=\"integer\"/>\n"
+"</bag>]]>"
-#. Tag: para
-#: collection_mapping.xml:493
-#, no-c-format
+#: index.docbook:493
msgid "An array of entities - in this case, a many to many association:"
-msgstr "Un array de entidades - en este caso, una asociación muchos a muchos:"
+msgstr ""
+"Un array de entidades - en este caso, una asociación muchos a
muchos:"
-#. Tag: programlisting
-#: collection_mapping.xml:497
-#, no-c-format
+#: index.docbook:497
msgid ""
"<![CDATA[<array name=\"addresses\" \n"
" table=\"PersonAddress\" \n"
@@ -766,16 +832,19 @@
" <many-to-many column=\"addressId\"
class=\"Address\"/>\n"
"</array>]]>"
msgstr ""
+"<![CDATA[<array name=\"addresses\" \n"
+" table=\"PersonAddress\" \n"
+" cascade=\"persist\">\n"
+" <key column=\"personId\"/>\n"
+" <list-index column=\"sortOrder\"/>\n"
+" <many-to-many column=\"addressId\"
class=\"Address\"/>\n"
+"</array>]]>"
-#. Tag: para
-#: collection_mapping.xml:499
-#, no-c-format
+#: index.docbook:499
msgid "A map from string indices to dates:"
-msgstr "Un mapa de índices de cadenas a fechas:"
+msgstr "Un mapa de índices de cadenas a fechas:"
-#. Tag: programlisting
-#: collection_mapping.xml:503
-#, no-c-format
+#: index.docbook:503
msgid ""
"<![CDATA[<map name=\"holidays\" \n"
" table=\"holidays\" \n"
@@ -786,16 +855,21 @@
" <element column=\"hol_date\" type=\"date\"/>\n"
"</map>]]>"
msgstr ""
+"<![CDATA[<map name=\"holidays\" \n"
+" table=\"holidays\" \n"
+" schema=\"dbo\" \n"
+" order-by=\"hol_name asc\">\n"
+" <key column=\"id\"/>\n"
+" <map-key column=\"hol_name\"
type=\"string\"/>\n"
+" <element column=\"hol_date\" type=\"date\"/>\n"
+"</map>]]>"
-#. Tag: para
-#: collection_mapping.xml:505
-#, no-c-format
+#: index.docbook:505
msgid "A list of components (discussed in the next chapter):"
-msgstr "Una lista de componentes (discutidos en el próximo capítulo):"
+msgstr ""
+"Una lista de componentes (discutidos en el próximo
capítulo):"
-#. Tag: programlisting
-#: collection_mapping.xml:509
-#, no-c-format
+#: index.docbook:509
msgid ""
"<![CDATA[<list name=\"carComponents\" \n"
" table=\"CarComponents\">\n"
@@ -808,63 +882,62 @@
" </composite-element>\n"
"</list>]]>"
msgstr ""
+"<![CDATA[<list name=\"carComponents\" \n"
+" table=\"CarComponents\">\n"
+" <key column=\"carId\"/>\n"
+" <list-index column=\"sortOrder\"/>\n"
+" <composite-element class=\"CarComponent\">\n"
+" <property name=\"price\"/>\n"
+" <property name=\"type\"/>\n"
+" <property name=\"serialNumber\"
column=\"serialNum\"/>\n"
+" </composite-element>\n"
+"</list>]]>"
-#. Tag: title
-#: collection_mapping.xml:514
-#, no-c-format
+#: index.docbook:514
msgid "One-to-many associations"
msgstr "Asociaciones uno-a-muchos"
-#. Tag: para
-#: collection_mapping.xml:516
-#, no-c-format
+#: index.docbook:516
msgid ""
"A <emphasis>one to many association</emphasis> links the tables of two
"
"classes via a foreign key, with no intervening collection table. This "
"mapping loses certain semantics of normal Java collections:"
msgstr ""
-"Una <emphasis>asociación uno a muchos</emphasis> enlaza las tablas de
dos "
-"clases por medio de una clave foránea, sin intervención de tabla de "
-"colección alguna. Este mapeo pierde cierta semántica de colecciones Java "
-"normales:"
+"Una <emphasis>asociación uno a muchos</emphasis> enlaza las
tablas de "
+"dos clases por medio de una clave foránea, sin intervención
de "
+"tabla de colección alguna. Este mapeo pierde cierta semántica
"
+"de colecciones Java normales:"
-#. Tag: para
-#: collection_mapping.xml:524
-#, no-c-format
+#: index.docbook:524
msgid ""
"An instance of the contained entity class may not belong to more than one "
"instance of the collection"
msgstr ""
-"Una instancia de la clase entidad contenida no puede pertenecer a más de una
"
-"instancia de la colección."
+"Una instancia de la clase entidad contenida no puede pertenecer a más
"
+"de una instancia de la colección."
-#. Tag: para
-#: collection_mapping.xml:530
-#, no-c-format
+#: index.docbook:530
msgid ""
"An instance of the contained entity class may not appear at more than one "
"value of the collection index"
msgstr ""
-"Una instancia de la clase entidad contenida no puede aparecer en más de un "
-"valor del índice de colección."
+"Una instancia de la clase entidad contenida no puede aparecer en más
"
+"de un valor del índice de colección."
-#. Tag: para
-#: collection_mapping.xml:537
-#, no-c-format
+#: index.docbook:537
msgid ""
"An association from <literal>Product</literal> to
<literal>Part</literal> "
"requires existence of a foreign key column and possibly an index column to "
"the <literal>Part</literal> table. A
<literal><one-to-many></literal> "
"tag indicates that this is a one to many association."
msgstr ""
-"Una asociación de <literal>Product</literal> a
<literal>Part</literal> "
-"requiere la existencia de una columna clave foránea y posiblemente una "
-"columna índice a la tabla <literal>Part</literal>. Una etiqueta
<literal><"
-"one-to-many></literal> indica que ésta es una asociación uno a
muchos."
+"Una asociación de <literal>Product</literal> a
<literal>Part</"
+"literal> requiere la existencia de una columna clave foránea y
"
+"posiblemente una columna índice a la tabla
<literal>Part</literal>. "
+"Una etiqueta <literal><one-to-many></literal> indica que
ésta "
+"es una asociación uno a muchos."
-#. Tag: programlisting
-#: collection_mapping.xml:550
-#, no-c-format
+#: index.docbook:550
msgid ""
"<![CDATA[<one-to-many \n"
" class=\"ClassName\"\n"
@@ -874,16 +947,19 @@
" embed-xml=\"true|false\"\n"
" />]]>"
msgstr ""
+"<![CDATA[<one-to-many \n"
+" class=\"ClassName\"\n"
+" not-found=\"ignore|exception\"\n"
+" entity-name=\"EntityName\"\n"
+" node=\"element-name\"\n"
+" embed-xml=\"true|false\"\n"
+" />]]>"
-#. Tag: para
-#: collection_mapping.xml:553
-#, no-c-format
+#: index.docbook:553
msgid "<literal>class</literal> (required): The name of the associated
class."
msgstr "<literal>class</literal> (requerido): El nombre de la clase
asociada."
-#. Tag: para
-#: collection_mapping.xml:558
-#, no-c-format
+#: index.docbook:558
msgid ""
"<literal>not-found</literal> (optional - defaults to
<literal>exception</"
"literal>): Specifies how cached identifiers that reference missing rows will
"
@@ -891,13 +967,11 @@
"association."
msgstr ""
"<literal>not-found</literal> (opcional - por defecto a
<literal>exception</"
-"literal>): Especifica cómo serán manejados los identificadores en caché que
"
-"referencien filas perdidas: <literal>ignore</literal> tratará una fila
"
-"perdida como una asociación nula."
+"literal>): Especifica cómo serán manejados los
identificadores "
+"en caché que referencien filas perdidas:
<literal>ignore</literal> "
+"tratará una fila perdida como una asociación nula."
-#. Tag: para
-#: collection_mapping.xml:565
-#, no-c-format
+#: index.docbook:565
msgid ""
"<literal>entity-name</literal> (optional): The entity name of the
associated "
"class, as an alternative to <literal>class</literal>."
@@ -905,9 +979,7 @@
"<literal>entity-name</literal> (opcional): El nombre de entidad de la
clase "
"asociada, como una alternativa a <literal>class</literal>."
-#. Tag: para
-#: collection_mapping.xml:573
-#, no-c-format
+#: index.docbook:573
msgid ""
"Notice that the <literal><one-to-many></literal> element
does not need "
"to declare any columns. Nor is it necessary to specify the
<literal>table</"
@@ -915,11 +987,9 @@
msgstr ""
"Observa que el elemento <literal><one-to-many></literal>
no necesita "
"declarar ninguna columna. Ni es necesario especificar el nombre de "
-"<literal>table</literal> en ningún sitio."
+"<literal>table</literal> en ningún sitio."
-#. Tag: para
-#: collection_mapping.xml:579
-#, no-c-format
+#: index.docbook:579
msgid ""
"<emphasis>Very important note:</emphasis> If the foreign key column of
a "
"<literal><one-to-many></literal> association is declared
<literal>NOT "
@@ -929,17 +999,15 @@
"\"true\"</literal>. See the discussion of bidirectional
associations later "
"in this chapter."
msgstr ""
-"<emphasis>Nota muy importante:</emphasis> Si la columna clave foránea
de una "
-"asociación <literal><one-to-many></literal> es declarada
<literal>NOT "
-"NULL</literal>, debes declarar el mapeo de
<literal><key></"
-"literal><literal>not-null=\"true\"</literal> o
<emphasis>usar una asociación "
-"bidireccional</emphasis> con el mapeo de colección marcado
<literal>inverse="
-"\"true\"</literal>. Ver la discusión sobre asociaciones
bidireccionales más "
-"adelante en este capítulo."
+"<emphasis>Nota muy importante:</emphasis> Si la columna clave
foránea "
+"de una asociación
<literal><one-to-many></literal> es declarada "
+"<literal>NOT NULL</literal>, debes declarar el mapeo de
<literal><key>"
+"</literal> <literal>not-null=\"true\"</literal> o
<emphasis>usar una "
+"asociación bidireccional</emphasis> con el mapeo de
colección "
+"marcado <literal>inverse=\"true\"</literal>. Ver la
discusión sobre "
+"asociaciones bidireccionales más adelante en este
capítulo."
-#. Tag: para
-#: collection_mapping.xml:588
-#, no-c-format
+#: index.docbook:588
msgid ""
"This example shows a map of <literal>Part</literal> entities by name
(where "
"<literal>partName</literal> is a persistent property of
<literal>Part</"
@@ -947,11 +1015,10 @@
msgstr ""
"Este ejemplo muestra un mapa de entidades <literal>Part</literal> por
nombre "
"(donde <literal>partName</literal> es una propiedad persistente de
"
-"<literal>Part</literal>). Observa el uso de un índice basado en
fórmula."
+"<literal>Part</literal>). Observa el uso de un índice basado
en "
+"fórmula."
-#. Tag: programlisting
-#: collection_mapping.xml:594
-#, no-c-format
+#: index.docbook:594
msgid ""
"<![CDATA[<map name=\"parts\"\n"
" cascade=\"all\">\n"
@@ -960,22 +1027,22 @@
" <one-to-many class=\"Part\"/>\n"
"</map>]]>"
msgstr ""
+"<![CDATA[<map name=\"parts\"\n"
+" cascade=\"all\">\n"
+" <key column=\"productId\"
not-null=\"true\"/>\n"
+" <map-key formula=\"partName\"/>\n"
+" <one-to-many class=\"Part\"/>\n"
+"</map>]]>"
-#. Tag: title
-#: collection_mapping.xml:600
-#, no-c-format
+#: index.docbook:600
msgid "Advanced collection mappings"
-msgstr "Mapeos de colección avanzados"
+msgstr "Mapeos de colección avanzados"
-#. Tag: title
-#: collection_mapping.xml:603
-#, no-c-format
+#: index.docbook:603
msgid "Sorted collections"
msgstr "Colecciones ordenadas"
-#. Tag: para
-#: collection_mapping.xml:605
-#, no-c-format
+#: index.docbook:605
msgid ""
"Hibernate supports collections implementing
<literal>java.util.SortedMap</"
"literal> and <literal>java.util.SortedSet</literal>. You must
specify a "
@@ -985,9 +1052,7 @@
"literal> y <literal>java.util.SortedSet</literal>. Debes especificar
un "
"comparador en el fichero de mapeo:"
-#. Tag: programlisting
-#: collection_mapping.xml:610
-#, no-c-format
+#: index.docbook:610
msgid ""
"<![CDATA[<set name=\"aliases\" \n"
" table=\"person_aliases\" \n"
@@ -1002,10 +1067,20 @@
" <element column=\"hol_date\" type=\"date\"/>\n"
"</map>]]>"
msgstr ""
+"<![CDATA[<set name=\"aliases\" \n"
+" table=\"person_aliases\" \n"
+" sort=\"natural\">\n"
+" <key column=\"person\"/>\n"
+" <element column=\"name\" type=\"string\"/>\n"
+"</set>\n"
+"\n"
+"<map name=\"holidays\"
sort=\"my.custom.HolidayComparator\">\n"
+" <key column=\"year_id\"/>\n"
+" <map-key column=\"hol_name\"
type=\"string\"/>\n"
+" <element column=\"hol_date\" type=\"date\"/>\n"
+"</map>]]>"
-#. Tag: para
-#: collection_mapping.xml:612
-#, no-c-format
+#: index.docbook:612
msgid ""
"Allowed values of the <literal>sort</literal> attribute are "
"<literal>unsorted</literal>, <literal>natural</literal> and
the name of a "
@@ -1015,9 +1090,7 @@
"<literal>unsorted</literal>, <literal>natural</literal> y
el nombre de una "
"clase que implemente <literal>java.util.Comparator</literal>."
-#. Tag: para
-#: collection_mapping.xml:618
-#, no-c-format
+#: index.docbook:618
msgid ""
"Sorted collections actually behave like
<literal>java.util.TreeSet</literal> "
"or <literal>java.util.TreeMap</literal>."
@@ -1025,9 +1098,7 @@
"Las colecciones ordenadas realmente se comportan como
<literal>java.util."
"TreeSet</literal> o <literal>java.util.TreeMap</literal>."
-#. Tag: para
-#: collection_mapping.xml:623
-#, no-c-format
+#: index.docbook:623
msgid ""
"If you want the database itself to order the collection elements use the "
"<literal>order-by</literal> attribute of
<literal>set</literal>, "
@@ -1036,16 +1107,15 @@
"<literal>LinkedHashSet</literal> or
<literal>LinkedHashMap</literal>). This "
"performs the ordering in the SQL query, not in memory."
msgstr ""
-"Si quieres que la misma base de datos ordene los elementos de colección usa "
-"el atributo <literal>order-by</literal> de los mapeos
<literal>set</"
-"literal>, <literal>bag</literal> o
<literal>map</literal>. Esta solución "
-"está disponible sólo bajo el JDK 1.4 o superior (está implementado usando "
-"<literal>LinkedHashSet</literal> o
<literal>LinkedHashMap</literal>). Esto "
-"realiza la ordenación en la consulta SQL, no en memoria."
+"Si quieres que la misma base de datos ordene los elementos de
colecció"
+"n usa el atributo <literal>order-by</literal> de los mapeos
<literal>set</"
+"literal>, <literal>bag</literal> o
<literal>map</literal>. Esta "
+"solución está disponible sólo bajo el JDK 1.4 o
"
+"superior (está implementado usando
<literal>LinkedHashSet</literal> o "
+"<literal>LinkedHashMap</literal>). Esto realiza la
ordenación en la "
+"consulta SQL, no en memoria."
-#. Tag: programlisting
-#: collection_mapping.xml:632
-#, no-c-format
+#: index.docbook:632
msgid ""
"<![CDATA[<set name=\"aliases\" table=\"person_aliases\"
order-by=\"lower"
"(name) asc\">\n"
@@ -1059,105 +1129,96 @@
" <element column=\"hol_date type=\"date\"/>\n"
"</map>]]>"
msgstr ""
+"<![CDATA[<set name=\"aliases\" table=\"person_aliases\"
order-by=\"lower"
+"(name) asc\">\n"
+" <key column=\"person\"/>\n"
+" <element column=\"name\" type=\"string\"/>\n"
+"</set>\n"
+"\n"
+"<map name=\"holidays\" order-by=\"hol_date,
hol_name\">\n"
+" <key column=\"year_id\"/>\n"
+" <map-key column=\"hol_name\"
type=\"string\"/>\n"
+" <element column=\"hol_date type=\"date\"/>\n"
+"</map>]]>"
-#. Tag: para
-#: collection_mapping.xml:634
-#, no-c-format
+#: index.docbook:634
msgid ""
"Note that the value of the <literal>order-by</literal> attribute is an
SQL "
"ordering, not a HQL ordering!"
msgstr ""
"Observa que el valor del atributo <literal>order-by</literal> es una
"
-"ordenación SQL, no una ordenación HQL!"
+"ordenación SQL, no una ordenación HQL!"
-#. Tag: para
-#: collection_mapping.xml:639
-#, no-c-format
+#: index.docbook:639
msgid ""
"Associations may even be sorted by some arbitrary criteria at runtime using "
"a collection <literal>filter()</literal>."
msgstr ""
-"Las asociaciones pueden incluso ser ordenadas por algún criterio arbitrario "
-"en tiempo de ejecución usando un <literal>filter()</literal> de
colección."
+"Las asociaciones pueden incluso ser ordenadas por algún criterio "
+"arbitrario en tiempo de ejecución usando un
<literal>filter()</"
+"literal> de colección."
-#. Tag: programlisting
-#: collection_mapping.xml:644
-#, no-c-format
+#: index.docbook:644
msgid ""
"<![CDATA[sortedUsers = s.createFilter( group.getUsers(), \"order by
this.name"
"\" ).list();]]>"
msgstr ""
+"<![CDATA[sortedUsers = s.createFilter( group.getUsers(), \"order by
this.name"
+"\" ).list();]]>"
-#. Tag: title
-#: collection_mapping.xml:649
-#, no-c-format
+#: index.docbook:649
msgid "Bidirectional associations"
msgstr "Asociaciones bidireccionales"
-#. Tag: para
-#: collection_mapping.xml:651
-#, fuzzy, no-c-format
+#: index.docbook:651
msgid ""
"A <emphasis>bidirectional association</emphasis> allows navigation from
both "
"\"ends\" of the association. Two kinds of bidirectional association are
"
"supported:"
msgstr ""
-"Una <emphasis>asociación bidireccional</emphasis> permite la nevegación
"
-"desde ambos \"extremos\" de la asociación. Son soportados dos tipos de
"
-"asociación bidireccional: <placeholder-1/>"
+"Una <emphasis>asociación bidireccional</emphasis> permite la
"
+"nevegación desde ambos \"extremos\" de la
asociación. Son "
+"soportados dos tipos de asociación bidireccional:"
-#. Tag: term
-#: collection_mapping.xml:658
-#, no-c-format
+#: index.docbook:658
msgid "one-to-many"
msgstr "uno-a-muchos"
-#. Tag: para
-#: collection_mapping.xml:660
-#, no-c-format
+#: index.docbook:660
msgid "set or bag valued at one end, single-valued at the other"
msgstr "set o bag valorados en un extremo, monovaluados al otro"
-#. Tag: term
-#: collection_mapping.xml:666
-#, no-c-format
+#: index.docbook:666
msgid "many-to-many"
msgstr "muchos-a-muchos"
-#. Tag: para
-#: collection_mapping.xml:668
-#, no-c-format
+#: index.docbook:668
msgid "set or bag valued at both ends"
msgstr "set o bag valorados a ambos extremos"
-#. Tag: para
-#: collection_mapping.xml:677
-#, no-c-format
+#: index.docbook:677
msgid ""
"You may specify a bidirectional many-to-many association simply by mapping "
"two many-to-many associations to the same database table and declaring one "
"end as <emphasis>inverse</emphasis> (which one is your choice, but it
can "
"not be an indexed collection)."
msgstr ""
-"Puedes especificar una asociación bidireccional muchos-a-muchos simplemente "
-"mapeando dos asociaciones muchos-a-muchos a la misma tabla de base de datos "
-"y declarando un extremo como <emphasis>inverse</emphasis> (cuál de
ellos es "
-"tu elección, pero no puede ser una colección indexada)."
+"Puedes especificar una asociación bidireccional muchos-a-muchos "
+"simplemente mapeando dos asociaciones muchos-a-muchos a la misma tabla de "
+"base de datos y declarando un extremo como <emphasis>inverse</emphasis>
"
+"(cuál de ellos es tu elección, pero no puede ser una "
+"colección indexada)."
-#. Tag: para
-#: collection_mapping.xml:684
-#, no-c-format
+#: index.docbook:684
msgid ""
"Here's an example of a bidirectional many-to-many association; each category
"
"can have many items and each item can be in many categories:"
msgstr ""
-"He aquí un ejemplo de una asociación bidireccional muchos-a-muchos; cada "
-"categoría puede tener muchos ítems y cada ítem puede estar en muchas "
-"categorías:"
+"He aquí un ejemplo de una asociación bidireccional
muchos-a-"
+"muchos; cada categoría puede tener muchos ítems y cada
í"
+"tem puede estar en muchas categorías:"
-#. Tag: programlisting
-#: collection_mapping.xml:689
-#, no-c-format
+#: index.docbook:689
msgid ""
"<![CDATA[<class name=\"Category\">\n"
" <id name=\"id\" column=\"CATEGORY_ID\"/>\n"
@@ -1179,10 +1240,27 @@
" </bag>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Category\">\n"
+" <id name=\"id\" column=\"CATEGORY_ID\"/>\n"
+" ...\n"
+" <bag name=\"items\" table=\"CATEGORY_ITEM\">\n"
+" <key column=\"CATEGORY_ID\"/>\n"
+" <many-to-many class=\"Item\"
column=\"ITEM_ID\"/>\n"
+" </bag>\n"
+"</class>\n"
+"\n"
+"<class name=\"Item\">\n"
+" <id name=\"id\" column=\"ITEM_ID\"/>\n"
+" ...\n"
+"\n"
+" <!-- inverse end -->\n"
+" <bag name=\"categories\" table=\"CATEGORY_ITEM\"
inverse=\"true\">\n"
+" <key column=\"ITEM_ID\"/>\n"
+" <many-to-many class=\"Category\"
column=\"CATEGORY_ID\"/>\n"
+" </bag>\n"
+"</class>]]>"
-#. Tag: para
-#: collection_mapping.xml:691
-#, no-c-format
+#: index.docbook:691
msgid ""
"Changes made only to the inverse end of the association are
<emphasis>not</"
"emphasis> persisted. This means that Hibernate has two representations in
"
@@ -1190,16 +1268,14 @@
"link from B to A. This is easier to understand if you think about the Java "
"object model and how we create a many-to-many relationship in Java:"
msgstr ""
-"Los cambios hechos sólo al extremo inverso de la asociación
<emphasis>no</"
-"emphasis> son persistidos. Esto significa que Hibernate tiene dos "
-"representaciones en memoria para cada asociación bidireccional, una enlaza "
-"de A a B y otra enlaza de B a A. Esto es más fácil de entender si piensas en
"
-"el modelo de objetos de Java y cómo creamos una relación muchos-a-muchos en "
-"Java:"
+"Los cambios hechos sólo al extremo inverso de la asociación
"
+"<emphasis>no</emphasis> son persistidos. Esto significa que Hibernate
tiene "
+"dos representaciones en memoria para cada asociación bidireccional,
"
+"una enlaza de A a B y otra enlaza de B a A. Esto es más fácil
"
+"de entender si piensas en el modelo de objetos de Java y cómo creamos
"
+"una relación muchos-a-muchos en Java:"
-#. Tag: programlisting
-#: collection_mapping.xml:699
-#, no-c-format
+#: index.docbook:699
msgid ""
"<![CDATA[\n"
"category.getItems().add(item); // The category now \"knows\"
about "
@@ -1211,33 +1287,36 @@
"saved!\n"
"session.persist(category); // The relationship will be
saved]]>"
msgstr ""
+"<![CDATA[\n"
+"category.getItems().add(item); // The category now \"knows\"
about "
+"the relationship\n"
+"item.getCategories().add(category); // The item now \"knows\" about
the "
+"relationship\n"
+"\n"
+"session.persist(item); // The relationship won't be "
+"saved!\n"
+"session.persist(category); // The relationship will be
saved]]>"
-#. Tag: para
-#: collection_mapping.xml:701
-#, no-c-format
+#: index.docbook:701
msgid ""
"The non-inverse side is used to save the in-memory representation to the "
"database."
msgstr ""
-"El lado no-inverso se usa para salvar la representación en memoria a la base
"
-"de datos."
+"El lado no-inverso se usa para salvar la representación en memoria a
"
+"la base de datos."
-#. Tag: para
-#: collection_mapping.xml:705
-#, no-c-format
+#: index.docbook:705
msgid ""
"You may define a bidirectional one-to-many association by mapping a one-to-"
"many association to the same table column(s) as a many-to-one association "
"and declaring the many-valued end
<literal>inverse=\"true\"</literal>."
msgstr ""
-"Puedes definir una asociación bidireccional uno-a-muchos mapeando una "
-"asociación uno-a-muchos a la misma columna (o columnas) de tabla como una "
-"asociación muchos-a-uno y declarando el extremo multivaluado "
+"Puedes definir una asociación bidireccional uno-a-muchos mapeando una
"
+"asociación uno-a-muchos a la misma columna (o columnas) de tabla como
"
+"una asociación muchos-a-uno y declarando el extremo multivaluado "
"<literal>inverse=\"true\"</literal>."
-#. Tag: programlisting
-#: collection_mapping.xml:711
-#, no-c-format
+#: index.docbook:711
msgid ""
"<![CDATA[<class name=\"Parent\">\n"
" <id name=\"id\" column=\"parent_id\"/>\n"
@@ -1257,26 +1336,38 @@
" not-null=\"true\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Parent\">\n"
+" <id name=\"id\" column=\"parent_id\"/>\n"
+" ....\n"
+" <set name=\"children\" inverse=\"true\">\n"
+" <key column=\"parent_id\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+" </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"eg.Child\">\n"
+" <id name=\"id\" column=\"id\"/>\n"
+" ....\n"
+" <many-to-one name=\"parent\" \n"
+" class=\"Parent\" \n"
+" column=\"parent_id\"\n"
+" not-null=\"true\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: collection_mapping.xml:713
-#, no-c-format
+#: index.docbook:713
msgid ""
"Mapping one end of an association with
<literal>inverse=\"true\"</literal> "
"doesn't affect the operation of cascades, these are orthogonal concepts!"
msgstr ""
-"Mapear un extremo de una asociación con
<literal>inverse=\"true\"</literal> "
-"no afecta la operación de cascadas; éstos son conceptos ortogonales!"
+"Mapear un extremo de una asociación con
<literal>inverse=\"true\"</"
+"literal> no afecta la operación de cascadas; éstos son
"
+"conceptos ortogonales!"
-#. Tag: title
-#: collection_mapping.xml:721
-#, no-c-format
+#: index.docbook:721
msgid "Bidirectional associations with indexed collections"
msgstr "Asociaciones bidireccionales con colecciones indexadas"
-#. Tag: para
-#: collection_mapping.xml:722
-#, no-c-format
+#: index.docbook:722
msgid ""
"A bidirectional association where one end is represented as a
<literal><"
"list></literal> or <literal><map></literal>
requires special "
@@ -1284,15 +1375,14 @@
"index column, no problem, we can continue using
<literal>inverse=\"true\"</"
"literal> on the collection mapping:"
msgstr ""
-"Requiere especial consideración una asociación bidireccional donde un "
-"extremo esté representado como una
<literal><list></literal> o "
-"<literal><map></literal>. Si hay una propiedad de la
clase hija que "
-"mapee a la columna índice, no hay problema, podemos seguir usando "
-"<literal>inverse=\"true\"</literal> en el mapeo de la
colección:"
+"Requiere especial consideración una asociación bidireccional
"
+"donde un extremo esté representado como una
<literal><list></"
+"literal> o <literal><map></literal>. Si hay una
propiedad de la clase "
+"hija que mapee a la columna índice, no hay problema, podemos seguir
"
+"usando <literal>inverse=\"true\"</literal> en el mapeo de la
colecció"
+"n:"
-#. Tag: programlisting
-#: collection_mapping.xml:729
-#, no-c-format
+#: index.docbook:729
msgid ""
"<![CDATA[<class name=\"Parent\">\n"
" <id name=\"id\" column=\"parent_id\"/>\n"
@@ -1316,10 +1406,29 @@
" not-null=\"true\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Parent\">\n"
+" <id name=\"id\" column=\"parent_id\"/>\n"
+" ....\n"
+" <map name=\"children\" inverse=\"true\">\n"
+" <key column=\"parent_id\"/>\n"
+" <map-key column=\"name\" \n"
+" type=\"string\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+" </map>\n"
+"</class>\n"
+"\n"
+"<class name=\"Child\">\n"
+" <id name=\"id\" column=\"child_id\"/>\n"
+" ....\n"
+" <property name=\"name\" \n"
+" not-null=\"true\"/>\n"
+" <many-to-one name=\"parent\" \n"
+" class=\"Parent\" \n"
+" column=\"parent_id\"\n"
+" not-null=\"true\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: collection_mapping.xml:731
-#, no-c-format
+#: index.docbook:731
msgid ""
"But, if there is no such property on the child class, we can't think of the
"
"association as truly bidirectional (there is information available at one "
@@ -1328,14 +1437,13 @@
"Instead, we could use the following mapping:"
msgstr ""
"Pero, si no existe tal proiedad en la clase hija, no podemos pensar en la "
-"asociación como verdaderamente bidireccional (hay información en un extremo "
-"de la asociación que no está disponible en el otro extremo). En este caso, "
-"no podemos mapear la colección con
<literal>inverse=\"true\"</literal>. En "
-"cambio, podríamos usar el siguiente mapeo:"
+"asociación como verdaderamente bidireccional (hay información
"
+"en un extremo de la asociación que no está disponible en el
"
+"otro extremo). En este caso, no podemos mapear la colección con "
+"<literal>inverse=\"true\"</literal>. En cambio,
podríamos usar el "
+"siguiente mapeo:"
-#. Tag: programlisting
-#: collection_mapping.xml:738
-#, no-c-format
+#: index.docbook:738
msgid ""
"<![CDATA[<class name=\"Parent\">\n"
" <id name=\"id\" column=\"parent_id\"/>\n"
@@ -1360,37 +1468,53 @@
" not-null=\"true\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Parent\">\n"
+" <id name=\"id\" column=\"parent_id\"/>\n"
+" ....\n"
+" <map name=\"children\">\n"
+" <key column=\"parent_id\"\n"
+" not-null=\"true\"/>\n"
+" <map-key column=\"name\" \n"
+" type=\"string\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+" </map>\n"
+"</class>\n"
+"\n"
+"<class name=\"Child\">\n"
+" <id name=\"id\" column=\"child_id\"/>\n"
+" ....\n"
+" <many-to-one name=\"parent\" \n"
+" class=\"Parent\" \n"
+" column=\"parent_id\"\n"
+" insert=\"false\"\n"
+" update=\"false\"\n"
+" not-null=\"true\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: collection_mapping.xml:740
-#, no-c-format
+#: index.docbook:740
msgid ""
"Note that in this mapping, the collection-valued end of the association is "
"responsible for updates to the foreign key. TODO: Does this really result in
"
"some unnecessary update statements?"
msgstr ""
-"Nota que, en este mapeo, el extremo de la asociación valuado en colección es
"
-"responsable de las actualizaciones a la clave foránea."
+"Nota que, en este mapeo, el extremo de la asociación valuado en "
+"colección es responsable de las actualizaciones a la clave
forá"
+"nea."
-#. Tag: title
-#: collection_mapping.xml:748
-#, no-c-format
+#: index.docbook:748
msgid "Ternary associations"
msgstr "Asociaciones ternarias"
-#. Tag: para
-#: collection_mapping.xml:750
-#, no-c-format
+#: index.docbook:750
msgid ""
"There are three possible approaches to mapping a ternary association. One is
"
"to use a <literal>Map</literal> with an association as its
index:"
msgstr ""
-"Hay tres enfoques posibles para mapear una asociación ternaria. Una es usar "
-"un <literal>Map</literal> con una asociación como su índice:"
+"Hay tres enfoques posibles para mapear una asociación ternaria. Una
"
+"es usar un <literal>Map</literal> con una asociación como su
í"
+"ndice:"
-#. Tag: programlisting
-#: collection_mapping.xml:755
-#, no-c-format
+#: index.docbook:755
msgid ""
"<![CDATA[<map name=\"contracts\">\n"
" <key column=\"employer_id\"
not-null=\"true\"/>\n"
@@ -1398,10 +1522,13 @@
" <one-to-many class=\"Contract\"/>\n"
"</map>]]>"
msgstr ""
+"<![CDATA[<map name=\"contracts\">\n"
+" <key column=\"employer_id\"
not-null=\"true\"/>\n"
+" <map-key-many-to-many column=\"employee_id\"
class=\"Employee\"/>\n"
+" <one-to-many class=\"Contract\"/>\n"
+"</map>]]>"
-#. Tag: programlisting
-#: collection_mapping.xml:757
-#, no-c-format
+#: index.docbook:757
msgid ""
"<![CDATA[<map name=\"connections\">\n"
" <key column=\"incoming_node_id\"/>\n"
@@ -1409,36 +1536,33 @@
" <many-to-many column=\"connection_id\"
class=\"Connection\"/>\n"
"</map>]]>"
msgstr ""
+"<![CDATA[<map name=\"connections\">\n"
+" <key column=\"incoming_node_id\"/>\n"
+" <map-key-many-to-many column=\"outgoing_node_id\"
class=\"Node\"/>\n"
+" <many-to-many column=\"connection_id\"
class=\"Connection\"/>\n"
+"</map>]]>"
-#. Tag: para
-#: collection_mapping.xml:759
-#, no-c-format
+#: index.docbook:759
msgid ""
"A second approach is to simply remodel the association as an entity class. "
"This is the approach we use most commonly."
msgstr ""
-"Un segundo enfoque es simplemente remodelar la asociación como una clase de "
-"entidad. Este es el enfoque que usamos más comunmente."
+"Un segundo enfoque es simplemente remodelar la asociación como una
"
+"clase de entidad. Este es el enfoque que usamos más comunmente."
-#. Tag: para
-#: collection_mapping.xml:764
-#, no-c-format
+#: index.docbook:764
msgid ""
"A final alternative is to use composite elements, which we will discuss "
"later."
msgstr ""
-"Una alternativa final es usar elementos compuestos, que discutiremos más "
-"adelante."
+"Una alternativa final es usar elementos compuestos, que discutiremos "
+"más adelante."
-#. Tag: literal
-#: collection_mapping.xml:771
-#, no-c-format
+#: index.docbook:771
msgid "Using an <idbag>"
msgstr "Usando un <idbag>"
-#. Tag: para
-#: collection_mapping.xml:773
-#, no-c-format
+#: index.docbook:773
msgid ""
"If you've fully embraced our view that composite keys are a bad thing and
"
"that entities should have synthetic identifiers (surrogate keys), then you "
@@ -1450,31 +1574,28 @@
"allows you to map many to many associations and collections of values to a "
"table with a surrogate key."
msgstr ""
-"Si has adoptado completamente nuestra visión de que las claves compuestas "
-"son una cosa mala y que las entidades deben tener identificadores sitéticos "
-"(claves delegadas), entonces podrías encontrar un poco raro que todas las "
-"asociaciones muchos a muchos y las colecciones de valores que hemos mostrado
"
-"hasta ahora mapeen a tablas con claves compuestas! Ahora, este punto es "
-"discutible; una tabla de pura asociación no parece beneficiarse demasiado de
"
-"una clave delegada (aunque sí <emphasis>podría</emphasis> una colección
de "
+"Si has adoptado completamente nuestra visión de que las claves "
+"compuestas son una cosa mala y que las entidades deben tener identificadores
"
+"sitéticos (claves delegadas), entonces podrías encontrar un
"
+"poco raro que todas las asociaciones muchos a muchos y las colecciones de "
+"valores que hemos mostrado hasta ahora mapeen a tablas con claves "
+"compuestas! Ahora, este punto es discutible; una tabla de pura "
+"asociación no parece beneficiarse demasiado de una clave delegada
"
+"(aunque sí <emphasis>podría</emphasis> una
colección de "
"valores compuestos). Sin embargo, Hibernate provee una funcionalidad que te "
"permite mapear asociaciones muchos a muchos y colecciones de valores a una "
"tabla con una clave delegada."
-#. Tag: para
-#: collection_mapping.xml:784
-#, no-c-format
+#: index.docbook:784
msgid ""
"The <literal><idbag></literal> element lets you map a
<literal>List</"
"literal> (or <literal>Collection</literal>) with bag
semantics."
msgstr ""
"El elemento <literal><idbag></literal> te permite mapear
una "
-"<literal>List</literal> (o <literal>Collection</literal>)
con semántica de "
-"bag."
+"<literal>List</literal> (o <literal>Collection</literal>)
con semá"
+"ntica de bag."
-#. Tag: programlisting
-#: collection_mapping.xml:789
-#, no-c-format
+#: index.docbook:789
msgid ""
"<![CDATA[<idbag name=\"lovers\"
table=\"LOVERS\">\n"
" <collection-id column=\"ID\" type=\"long\">\n"
@@ -1484,10 +1605,15 @@
" <many-to-many column=\"PERSON2\" class=\"Person\"
fetch=\"join\"/>\n"
"</idbag>]]>"
msgstr ""
+"<![CDATA[<idbag name=\"lovers\"
table=\"LOVERS\">\n"
+" <collection-id column=\"ID\" type=\"long\">\n"
+" <generator class=\"sequence\"/>\n"
+" </collection-id>\n"
+" <key column=\"PERSON1\"/>\n"
+" <many-to-many column=\"PERSON2\" class=\"Person\"
fetch=\"join\"/>\n"
+"</idbag>]]>"
-#. Tag: para
-#: collection_mapping.xml:791
-#, no-c-format
+#: index.docbook:791
msgid ""
"As you can see, an <literal><idbag></literal> has a
synthetic id "
"generator, just like an entity class! A different surrogate key is assigned "
@@ -1495,57 +1621,47 @@
"the surrogate key value of a particular row, however."
msgstr ""
"Como puedes ver, un <literal><idbag></literal> tiene un
generador de "
-"id sintético, igual que una clase de entidad! Una clave delegada diferente "
-"se asigna a cada fila de la colección. Hibernate no provee ningún mecanismo "
-"para descubrir el valor de clave delegada de una fila en particular, sin "
-"embargo."
+"id sintético, igual que una clase de entidad! Una clave delegada "
+"diferente se asigna a cada fila de la colección. Hibernate no provee
"
+"ningún mecanismo para descubrir el valor de clave delegada de una
"
+"fila en particular, sin embargo."
-#. Tag: para
-#: collection_mapping.xml:798
-#, no-c-format
+#: index.docbook:798
msgid ""
"Note that the update performance of an
<literal><idbag></literal> is "
"<emphasis>much</emphasis> better than a regular
<literal><bag></"
"literal>! Hibernate can locate individual rows efficiently and update or "
"delete them individually, just like a list, map or set."
msgstr ""
-"Observa que el rendimiento de actualización de un
<literal><idbag></"
-"literal> es <emphasis>mucho</emphasis> mejor que el de un
<literal><"
-"bag></literal> regular! Hibernate puede localizar filas individuales
"
-"eficientemente y actualizarlas o borrarlas individualmente, igual que si "
-"fuese una lista, mapa o conjunto."
+"Observa que el rendimiento de actualización de un
<literal><"
+"idbag></literal> es <emphasis>mucho</emphasis> mejor que
el de un "
+"<literal><bag></literal> regular! Hibernate puede
localizar filas "
+"individuales eficientemente y actualizarlas o borrarlas individualmente, "
+"igual que si fuese una lista, mapa o conjunto."
-#. Tag: para
-#: collection_mapping.xml:805
-#, no-c-format
+#: index.docbook:805
msgid ""
"In the current implementation, the <literal>native</literal> identifier
"
"generation strategy is not supported for
<literal><idbag></literal> "
"collection identifiers."
msgstr ""
-"En la implementación actual, la estrategia de generación de identificador "
-"<literal>native</literal> no está soportada para identificadores de
"
-"colecciones <literal><idbag></literal>."
+"En la implementación actual, la estrategia de generación de
"
+"identificador <literal>native</literal> no está soportada
para "
+"identificadores de colecciones
<literal><idbag></literal>."
-#. Tag: title
-#: collection_mapping.xml:829
-#, no-c-format
+#: index.docbook:829
msgid "Collection examples"
-msgstr "Ejemplos de colección"
+msgstr "Ejemplos de colección"
-#. Tag: para
-#: collection_mapping.xml:831
-#, no-c-format
+#: index.docbook:831
msgid ""
"The previous sections are pretty confusing. So lets look at an example. This
"
"class:"
msgstr ""
-"Las secciones previas son bastantes confusas. Así que miremos un ejemplo. "
-"Esta clase:"
+"Las secciones previas son bastantes confusas. Así que miremos un "
+"ejemplo. Esta clase:"
-#. Tag: programlisting
-#: collection_mapping.xml:836
-#, no-c-format
+#: index.docbook:836
msgid ""
"<![CDATA[package eg;\n"
"import java.util.Set;\n"
@@ -1564,21 +1680,33 @@
" ....\n"
"}]]>"
msgstr ""
+"<![CDATA[package eg;\n"
+"import java.util.Set;\n"
+"\n"
+"public class Parent {\n"
+" private long id;\n"
+" private Set children;\n"
+"\n"
+" public long getId() { return id; }\n"
+" private void setId(long id) { this.id=id; }\n"
+"\n"
+" private Set getChildren() { return children; }\n"
+" private void setChildren(Set children) { this.children=children; }\n"
+"\n"
+" ....\n"
+" ....\n"
+"}]]>"
-#. Tag: para
-#: collection_mapping.xml:838
-#, no-c-format
+#: index.docbook:838
msgid ""
"has a collection of <literal>Child</literal> instances. If each child
has at "
"most one parent, the most natural mapping is a one-to-many association:"
msgstr ""
-"tiene una colección de instancias de <literal>Child</literal>. Si cada
hijo "
-"tiene como mucho un padre, el mapeo más natural es una asociación uno-a-"
-"muchos:"
+"tiene una colección de instancias de
<literal>Child</literal>. Si "
+"cada hijo tiene como mucho un padre, el mapeo más natural es una "
+"asociación uno-a-muchos:"
-#. Tag: programlisting
-#: collection_mapping.xml:844
-#, no-c-format
+#: index.docbook:844
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -1601,36 +1729,52 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Parent\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <set name=\"children\">\n"
+" <key column=\"parent_id\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+" </set>\n"
+" </class>\n"
+"\n"
+" <class name=\"Child\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <property name=\"name\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: collection_mapping.xml:846
-#, no-c-format
+#: index.docbook:846
msgid "This maps to the following table definitions:"
msgstr "Esto mapea a las siguientes definiciones de tablas:"
-#. Tag: programlisting
-#: collection_mapping.xml:850
-#, no-c-format
+#: index.docbook:850
msgid ""
"<![CDATA[create table parent ( id bigint not null primary key )\n"
"create table child ( id bigint not null primary key, name varchar(255), "
"parent_id bigint )\n"
"alter table child add constraint childfk0 (parent_id) references
parent]]>"
msgstr ""
+"<![CDATA[create table parent ( id bigint not null primary key )\n"
+"create table child ( id bigint not null primary key, name varchar(255), "
+"parent_id bigint )\n"
+"alter table child add constraint childfk0 (parent_id) references
parent]]>"
-#. Tag: para
-#: collection_mapping.xml:852
-#, no-c-format
+#: index.docbook:852
msgid ""
"If the parent is <emphasis>required</emphasis>, use a bidirectional
one-to-"
"many association:"
msgstr ""
-"Si el padre es <emphasis>requerido</emphasis>, usa una asociación
"
+"Si el padre es <emphasis>requerido</emphasis>, usa una
asociación "
"bidireccional uno-a-muchos:"
-#. Tag: programlisting
-#: collection_mapping.xml:857
-#, no-c-format
+#: index.docbook:857
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -1655,16 +1799,34 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Parent\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <set name=\"children\" inverse=\"true\">\n"
+" <key column=\"parent_id\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+" </set>\n"
+" </class>\n"
+"\n"
+" <class name=\"Child\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <property name=\"name\"/>\n"
+" <many-to-one name=\"parent\" class=\"Parent\"
column=\"parent_id\" "
+"not-null=\"true\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: collection_mapping.xml:859
-#, no-c-format
+#: index.docbook:859
msgid "Notice the <literal>NOT NULL</literal> constraint:"
-msgstr "Observa la restricción <literal>NOT NULL</literal>:"
+msgstr "Observa la restricción <literal>NOT
NULL</literal>:"
-#. Tag: programlisting
-#: collection_mapping.xml:863
-#, no-c-format
+#: index.docbook:863
msgid ""
"<![CDATA[create table parent ( id bigint not null primary key )\n"
"create table child ( id bigint not null\n"
@@ -1673,22 +1835,24 @@
" parent_id bigint not null )\n"
"alter table child add constraint childfk0 (parent_id) references
parent]]>"
msgstr ""
+"<![CDATA[create table parent ( id bigint not null primary key )\n"
+"create table child ( id bigint not null\n"
+" primary key,\n"
+" name varchar(255),\n"
+" parent_id bigint not null )\n"
+"alter table child add constraint childfk0 (parent_id) references
parent]]>"
-#. Tag: para
-#: collection_mapping.xml:865
-#, no-c-format
+#: index.docbook:865
msgid ""
"Alternatively, if you absolutely insist that this association should be "
"unidirectional, you can declare the <literal>NOT NULL</literal>
constraint "
"on the <literal><key></literal> mapping:"
msgstr ""
-"Alternativamente, si absolutamente insistes que esta asociación debe ser "
-"unidireccional, puedes declarar la restricción <literal>NOT
NULL</literal> "
-"en el mapeo de <literal><key></literal>:"
+"Alternativamente, si absolutamente insistes que esta asociación debe
"
+"ser unidireccional, puedes declarar la restricción <literal>NOT
NULL</"
+"literal> en el mapeo de
<literal><key></literal>:"
-#. Tag: programlisting
-#: collection_mapping.xml:871
-#, no-c-format
+#: index.docbook:871
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -1711,20 +1875,36 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Parent\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <set name=\"children\">\n"
+" <key column=\"parent_id\"
not-null=\"true\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+" </set>\n"
+" </class>\n"
+"\n"
+" <class name=\"Child\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <property name=\"name\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: collection_mapping.xml:873
-#, no-c-format
+#: index.docbook:873
msgid ""
"On the other hand, if a child might have multiple parents, a many-to-many "
"association is appropriate:"
msgstr ""
-"En la otra mano, si un hijo pudiera tener múltiples padres, sería apropiada "
-"una asociación muchos-a-muchos:"
+"En la otra mano, si un hijo pudiera tener múltiples padres, "
+"sería apropiada una asociación muchos-a-muchos:"
-#. Tag: programlisting
-#: collection_mapping.xml:878
-#, no-c-format
+#: index.docbook:878
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -1747,16 +1927,32 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Parent\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <set name=\"children\"
table=\"childset\">\n"
+" <key column=\"parent_id\"/>\n"
+" <many-to-many class=\"Child\"
column=\"child_id\"/>\n"
+" </set>\n"
+" </class>\n"
+"\n"
+" <class name=\"Child\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <property name=\"name\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: collection_mapping.xml:880
-#, no-c-format
+#: index.docbook:880
msgid "Table definitions:"
msgstr "Definiciones de tabla:"
-#. Tag: programlisting
-#: collection_mapping.xml:884
-#, no-c-format
+#: index.docbook:884
msgid ""
"<![CDATA[create table parent ( id bigint not null primary key )\n"
"create table child ( id bigint not null primary key, name varchar(255) )\n"
@@ -1768,164 +1964,34 @@
"alter table childset add constraint childsetfk1 (child_id) references
child]]"
">"
msgstr ""
+"<![CDATA[create table parent ( id bigint not null primary key )\n"
+"create table child ( id bigint not null primary key, name varchar(255) )\n"
+"create table childset ( parent_id bigint not null,\n"
+" child_id bigint not null,\n"
+" primary key ( parent_id, child_id ) )\n"
+"alter table childset add constraint childsetfk0 (parent_id) references "
+"parent\n"
+"alter table childset add constraint childsetfk1 (child_id) references
child]]"
+">"
-#. Tag: para
-#: collection_mapping.xml:886
-#, no-c-format
+#: index.docbook:886
msgid ""
"For more examples and a complete walk-through a parent/child relationship "
"mapping, see <xref linkend=\"example-parentchild\"/>."
msgstr ""
-"Para más ejemplos y un paseo completo a través del mapeo de relaciones
padre/"
-"hijo, ver <xref linkend=\"example-parentchild\"/>."
+"Para más ejemplos y un paseo completo a través del mapeo de
"
+"relaciones padre/hijo, ver <xref
linkend=\"example-parentchild\"/>."
-#. Tag: para
-#: collection_mapping.xml:891
-#, no-c-format
+#: index.docbook:891
msgid ""
"Even more exotic association mappings are possible, we will catalog all "
"possibilities in the next chapter."
msgstr ""
-"Son posibles mapeos de asociación aún más complejos. Catalogaremos todas las
"
-"posibilidades en el próximo capítulo."
+"Son posibles mapeos de asociación aún más
complejos. "
+"Catalogaremos todas las posibilidades en el próximo
capítulo."
-#~ msgid ""
-#~ "<literal>column_name</literal> (required): The name of the column
holding "
-#~ "the collection index values."
-#~ msgstr ""
-#~ "<literal>column_name</literal> (requerido): El nombre de la columna
que "
-#~ "tiene los valores índice de la colección."
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-#~ msgid ""
-#~ "<literal>base</literal> (optional, defaults to
<literal>0</literal>): The "
-#~ "value of the index column that corresponds to the first element of the "
-#~ "list or array."
-#~ msgstr ""
-#~ "<literal>base</literal> (opcional, por defecto a
<literal>0</literal>): "
-#~ "El valor de la columna índice que corresponde al primer elemento de la "
-#~ "lista o array."
-
-#~ msgid ""
-#~ "<literal>column</literal> (optional): The name of the column holding
the "
-#~ "collection index values."
-#~ msgstr ""
-#~ "<literal>column</literal> (opcional): El nombre de la columna que
tiene "
-#~ "los valores índice de la colección."
-
-#~ msgid ""
-#~ "<literal>formula</literal> (optional): A SQL formula used to
evaluate the "
-#~ "key of the map."
-#~ msgstr ""
-#~ "<literal>formula</literal> (opcional): Una fórmula SQL usada para
evaluar "
-#~ "la clave del mapa."
-
-#~ msgid "<literal>type</literal> (reguired): The type of the map
keys."
-#~ msgstr ""
-#~ "<literal>type</literal> (requerido): el tipo de las claves del
mapa."
-
-#~ msgid ""
-#~ "<literal>column</literal> (optional): The name of the foreign key
column "
-#~ "for the collection index values."
-#~ msgstr ""
-#~ "<literal>column</literal> (opcional): El nombre de la columna clave
"
-#~ "foránea para los valores índice de la colección."
-
-#~ msgid ""
-#~ "<literal>formula</literal> (optional): A SQL formula used to
evaluate the "
-#~ "foreign key of the map key."
-#~ msgstr ""
-#~ "<literal>formula</literal> (opcional): Una fórmula SQL usada para
evaluar "
-#~ "la clave foránea de la clave del mapa."
-
-#~ msgid ""
-#~ "<literal>class</literal> (required): The entity class used as the
map key."
-#~ msgstr ""
-#~ "<literal>class</literal> (requerido): La clase de entidad usada como
"
-#~ "clave del mapa."
-
-#~ msgid ""
-#~ "<literal>column</literal> (optional): The name of the column holding
the "
-#~ "collection element values."
-#~ msgstr ""
-#~ "<literal>column</literal> (opcional): El nombre de la columna que
tiene "
-#~ "los valores de los elementos de la colección."
-
-#~ msgid ""
-#~ "<literal>formula</literal> (optional): An SQL formula used to
evaluate "
-#~ "the element."
-#~ msgstr ""
-#~ "<literal>formula</literal> (opcional): Una fórmula SQL usada para
evaluar "
-#~ "el elemento."
-
-#~ msgid ""
-#~ "<literal>type</literal> (required): The type of the collection
element."
-#~ msgstr ""
-#~ "<literal>type</literal> (requerido): El tipo del elemento de
colección."
-
-#~ msgid ""
-#~ "A <emphasis>many-to-many association</emphasis> is specified using
the "
-#~ "<literal><many-to-many></literal> element."
-#~ msgstr ""
-#~ "Una <emphasis>asociación muchos-a-muchos</emphasis> se especifica
usando "
-#~ "el elemento <literal><many-to-many></literal>."
-
-#~ msgid ""
-#~ "<literal>column</literal> (optional): The name of the element
foreign key "
-#~ "column."
-#~ msgstr ""
-#~ "<literal>column</literal> (opcional): El nombre de la columna de
clave "
-#~ "foránea del elemento."
-
-#~ msgid ""
-#~ "<literal>formula</literal> (optional): An SQL formula used to
evaluate "
-#~ "the element foreign key value."
-#~ msgstr ""
-#~ "<literal>formula</literal> (opcional): Una fórmula SQL opcional
usada "
-#~ "para evaluar el valor de clave foránea del elemento."
-
-#~ msgid ""
-#~ "<literal>fetch</literal> (optional - defaults to
<literal>join</"
-#~ "literal>): enables outer-join or sequential select fetching for this "
-#~ "association. This is a special case; for full eager fetching (in a single
"
-#~ "<literal>SELECT</literal>) of an entity and its many-to-many "
-#~ "relationships to other entities, you would enable
<literal>join</literal> "
-#~ "fetching not only of the collection itself, but also with this attribute "
-#~ "on the <literal><many-to-many></literal> nested
element."
-#~ msgstr ""
-#~ "<literal>fetch</literal> (opcional - por defecto a
<literal>join</"
-#~ "literal>): habilita la recuperación por unión externa o selección "
-#~ "secuencial para esta asociación. Este es un caso especial; para una "
-#~ "recuperación completamente temprana (en un solo
<literal>SELECT</"
-#~ "literal>) de una entidad y sus relaciones muchos-a-muchos a otras "
-#~ "entidades, deberías habilitar la recuperación
<literal>join</literal> no "
-#~ "sólo de la colección misma, sino también con este atributo en el elemento
"
-#~ "anidado <literal><many-to-many></literal>."
-
-#~ msgid ""
-#~ "<literal>unique</literal> (optional): Enable the DDL generation of a
"
-#~ "unique constraint for the foreign-key column. This makes the association "
-#~ "multiplicity effectively one to many."
-#~ msgstr ""
-#~ "<literal>unique</literal> (opcional): Habilita la generación DDL de
una "
-#~ "restricción de unicidad para la columna clave foránea. Esto hace la "
-#~ "multiplicidad de la asociación efectivamente uno a muchos."
-
-#~ msgid ""
-#~ "<literal>not-found</literal> (optional - defaults to
<literal>exception</"
-#~ "literal>): Specifies how foreign keys that reference missing rows will be
"
-#~ "handled: <literal>ignore</literal> will treat a missing row as a
null "
-#~ "association."
-#~ msgstr ""
-#~ "<literal>not-found</literal> (opcional - por defecto a "
-#~ "<literal>exception</literal>): Especifica cómo serán manejadas las
claves "
-#~ "foráneas que referencian filas perdidas: <literal>ignore</literal>
"
-#~ "tratará una fila perdida como una asociación nula."
-
-#~ msgid ""
-#~ "<literal>property-ref</literal>: (optional) The name of a property
of the "
-#~ "associated class that is joined to this foreign key. If not specified, "
-#~ "the primary key of the associated class is used."
-#~ msgstr ""
-#~ "UNTRANSLATED! <literal>property-ref</literal>: (optional) The name
of a "
-#~ "property of the associated class that is joined to this foreign key. If "
-#~ "not specified, the primary key of the associated class is used."
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified:
core/trunk/documentation/manual/src/main/docbook/es-ES/content/component_mapping.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/component_mapping.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/component_mapping.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,40 +1,28 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: component_mapping.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Component Mapping"
msgstr "Mapeo de Componentes"
-#. Tag: para
-#: component_mapping.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"The notion of a <emphasis>component</emphasis> is re-used in several
"
"different contexts, for different purposes, throughout Hibernate."
msgstr ""
-"La noción de un <emphasis>componente</emphasis> es reusada en muchos
"
-"contextos diferentes, para propósitos diferentes, a través de Hibernate."
+"La noción de un <emphasis>componente</emphasis> es reusada
en muchos "
+"contextos diferentes, para propósitos diferentes, a través de
"
+"Hibernate."
-#. Tag: title
-#: component_mapping.xml:13
-#, no-c-format
+#: index.docbook:13
msgid "Dependent objects"
msgstr "Objetos dependientes"
-#. Tag: para
-#: component_mapping.xml:15
-#, no-c-format
+#: index.docbook:15
msgid ""
"A component is a contained object that is persisted as a value type, not an "
"entity reference. The term \"component\" refers to the object-oriented
"
@@ -42,13 +30,12 @@
"you might model a person like this:"
msgstr ""
"Un componente es un objeto contenido que es persistido como un tipo de "
-"valor, no una referencia de entidad. El término \"componente\" hace
"
-"referencia a la noción orientada a objetos de composición (no a componentes "
-"a nivel de arquitectura). Por ejemplo, podrías modelar una persona como:"
+"valor, no una referencia de entidad. El término \"componente\"
hace "
+"referencia a la noción orientada a objetos de composición (no
"
+"a componentes a nivel de arquitectura). Por ejemplo, podrías modelar
"
+"una persona como:"
-#. Tag: programlisting
-#: component_mapping.xml:21
-#, no-c-format
+#: index.docbook:21
msgid ""
"<![CDATA[public class Person {\n"
" private java.util.Date birthday;\n"
@@ -76,10 +63,33 @@
" ......\n"
"}]]>"
msgstr ""
+"<![CDATA[public class Person {\n"
+" private java.util.Date birthday;\n"
+" private Name name;\n"
+" private String key;\n"
+" public String getKey() {\n"
+" return key;\n"
+" }\n"
+" private void setKey(String key) {\n"
+" this.key=key;\n"
+" }\n"
+" public java.util.Date getBirthday() {\n"
+" return birthday;\n"
+" }\n"
+" public void setBirthday(java.util.Date birthday) {\n"
+" this.birthday = birthday;\n"
+" }\n"
+" public Name getName() {\n"
+" return name;\n"
+" }\n"
+" public void setName(Name name) {\n"
+" this.name = name;\n"
+" }\n"
+" ......\n"
+" ......\n"
+"}]]>"
-#. Tag: programlisting
-#: component_mapping.xml:23
-#, no-c-format
+#: index.docbook:23
msgid ""
"<![CDATA[public class Name {\n"
" char initial;\n"
@@ -105,10 +115,31 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[public class Name {\n"
+" char initial;\n"
+" String first;\n"
+" String last;\n"
+" public String getFirst() {\n"
+" return first;\n"
+" }\n"
+" void setFirst(String first) {\n"
+" this.first = first;\n"
+" }\n"
+" public String getLast() {\n"
+" return last;\n"
+" }\n"
+" void setLast(String last) {\n"
+" this.last = last;\n"
+" }\n"
+" public char getInitial() {\n"
+" return initial;\n"
+" }\n"
+" void setInitial(char initial) {\n"
+" this.initial = initial;\n"
+" }\n"
+"}]]>"
-#. Tag: para
-#: component_mapping.xml:25
-#, no-c-format
+#: index.docbook:25
msgid ""
"Now <literal>Name</literal> may be persisted as a component of "
"<literal>Person</literal>. Notice that
<literal>Name</literal> defines "
@@ -117,18 +148,14 @@
msgstr ""
"Ahora <literal>Name</literal> puede ser persistido como un componente
de "
"<literal>Person</literal>. Observa que
<literal>Name</literal> define "
-"métodos getter y setter para sus propiedades persistentes, pero no necesita "
-"declarar ninguna interface ni propiedades identificadoras."
+"métodos getter y setter para sus propiedades persistentes, pero no
"
+"necesita declarar ninguna interface ni propiedades identificadoras."
-#. Tag: para
-#: component_mapping.xml:32
-#, no-c-format
+#: index.docbook:32
msgid "Our Hibernate mapping would look like:"
-msgstr "Nuestro mapeo de Hibernate se vería así:"
+msgstr "Nuestro mapeo de Hibernate se vería así:"
-#. Tag: programlisting
-#: component_mapping.xml:36
-#, no-c-format
+#: index.docbook:36
msgid ""
"<![CDATA[<class name=\"eg.Person\"
table=\"person\">\n"
" <id name=\"Key\" column=\"pid\"
type=\"string\">\n"
@@ -143,22 +170,30 @@
" </component>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"eg.Person\"
table=\"person\">\n"
+" <id name=\"Key\" column=\"pid\"
type=\"string\">\n"
+" <generator class=\"uuid.hex\"/>\n"
+" </id>\n"
+" <property name=\"birthday\" type=\"date\"/>\n"
+" <component name=\"Name\" class=\"eg.Name\"> <!--
class attribute "
+"optional -->\n"
+" <property name=\"initial\"/>\n"
+" <property name=\"first\"/>\n"
+" <property name=\"last\"/>\n"
+" </component>\n"
+"</class>]]>"
-#. Tag: para
-#: component_mapping.xml:38
-#, no-c-format
+#: index.docbook:38
msgid ""
"The person table would have the columns <literal>pid</literal>, "
"<literal>birthday</literal>, <literal>initial</literal>,
<literal>first</"
"literal> and <literal>last</literal>."
msgstr ""
-"La tabla person tendría las columnas <literal>pid</literal>, "
+"La tabla person tendría las columnas <literal>pid</literal>,
"
"<literal>birthday</literal>, <literal>initial</literal>,
<literal>first</"
"literal> y <literal>last</literal>."
-#. Tag: para
-#: component_mapping.xml:46
-#, no-c-format
+#: index.docbook:46
msgid ""
"Like all value types, components do not support shared references. In other "
"words, two persons could have the same name, but the two person objects "
@@ -170,16 +205,14 @@
msgstr ""
"Como todos los tipos de valor, los componentes no soportan referencias "
"compartidas. En otras palabras, dos personas pueden tener el mismo nombre, "
-"pero los dos objetos persona contendrían dos objetos nombre independientes, "
-"sólo \"iguales\" en valor. La semántica de valor nulo de un componente es
"
-"<emphasis>ad hoc</emphasis>. Cuando se recargue el objeto contenedor,
"
-"Hibernate asumirá que si todas las columnas del componente son nulas, el "
-"componente entero es nulo. Esto debe estar bien para la mayoría de "
-"propósitos."
+"pero los dos objetos persona contendrían dos objetos nombre "
+"independientes, sólo \"iguales\" en valor. La
semántica de "
+"valor nulo de un componente es <emphasis>ad hoc</emphasis>. Cuando se
"
+"recargue el objeto contenedor, Hibernate asumirá que si todas las
"
+"columnas del componente son nulas, el componente entero es nulo. Esto debe "
+"estar bien para la mayoría de propósitos."
-#. Tag: para
-#: component_mapping.xml:55
-#, no-c-format
+#: index.docbook:55
msgid ""
"The properties of a component may be of any Hibernate type (collections, "
"many-to-one associations, other components, etc). Nested components should "
@@ -189,12 +222,10 @@
"Las propiedades de un componentes pueden ser de cualquier tipo de Hibernate "
"(colecciones, muchos-a-uno, asociaciones, otros componentes, etc). Los "
"componentes anidados <emphasis>no</emphasis> deben ser considerados un
uso "
-"exótico. Hibernate está concebido para soportar un modelo de objetos "
-"granularizado en fino."
+"exótico. Hibernate está concebido para soportar un modelo de
"
+"objetos granularizado en fino."
-#. Tag: para
-#: component_mapping.xml:62
-#, no-c-format
+#: index.docbook:62
msgid ""
"The <literal><component></literal> element allows a
<literal><"
"parent></literal> subelement that maps a property of the component
class "
@@ -204,9 +235,7 @@
"<literal><parent></literal> que mapee una propiedad de la
clase del "
"componente como una referencia de regreso a la entidad contenedora."
-#. Tag: programlisting
-#: component_mapping.xml:68
-#, no-c-format
+#: index.docbook:68
msgid ""
"<![CDATA[<class name=\"eg.Person\"
table=\"person\">\n"
" <id name=\"Key\" column=\"pid\"
type=\"string\">\n"
@@ -222,30 +251,37 @@
" </component>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"eg.Person\"
table=\"person\">\n"
+" <id name=\"Key\" column=\"pid\"
type=\"string\">\n"
+" <generator class=\"uuid.hex\"/>\n"
+" </id>\n"
+" <property name=\"birthday\" type=\"date\"/>\n"
+" <component name=\"Name\" class=\"eg.Name\"
unique=\"true\">\n"
+" <parent name=\"namedPerson\"/> <!-- reference back to
the Person --"
+">\n"
+" <property name=\"initial\"/>\n"
+" <property name=\"first\"/>\n"
+" <property name=\"last\"/>\n"
+" </component>\n"
+"</class>]]>"
-#. Tag: title
-#: component_mapping.xml:73
-#, no-c-format
+#: index.docbook:73
msgid "Collections of dependent objects"
msgstr "Colecciones de objetos dependientes"
-#. Tag: para
-#: component_mapping.xml:75
-#, no-c-format
+#: index.docbook:75
msgid ""
"Collections of components are supported (eg. an array of type
<literal>Name</"
"literal>). Declare your component collection by replacing the
<literal><"
"element></literal> tag with a
<literal><composite-element></"
"literal> tag."
msgstr ""
-"Las colecciones de componentes están soportadas (por ejemplo, un array de "
-"tipo <literal>Name</literal>). Declara tu colección de componentes
"
-"remplazando la etiqueta <literal><element></literal> por
una etiqueta "
-"<literal><composite-element></literal>."
+"Las colecciones de componentes están soportadas (por ejemplo, un "
+"array de tipo <literal>Name</literal>). Declara tu colección
de "
+"componentes remplazando la etiqueta
<literal><element></literal> por "
+"una etiqueta
<literal><composite-element></literal>."
-#. Tag: programlisting
-#: component_mapping.xml:82
-#, no-c-format
+#: index.docbook:82
msgid ""
"<![CDATA[<set name=\"someNames\" table=\"some_names\"
lazy=\"true\">\n"
" <key column=\"id\"/>\n"
@@ -256,10 +292,16 @@
" </composite-element>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"someNames\" table=\"some_names\"
lazy=\"true\">\n"
+" <key column=\"id\"/>\n"
+" <composite-element class=\"eg.Name\"> <!-- class attribute
required -->\n"
+" <property name=\"initial\"/>\n"
+" <property name=\"first\"/>\n"
+" <property name=\"last\"/>\n"
+" </composite-element>\n"
+"</set>]]>"
-#. Tag: para
-#: component_mapping.xml:84
-#, no-c-format
+#: index.docbook:84
msgid ""
"Note: if you define a <literal>Set</literal> of composite elements, it
is "
"very important to implement <literal>equals()</literal> and
<literal>hashCode"
@@ -269,9 +311,7 @@
"importante implementar <literal>equals()</literal> y
<literal>hashCode()</"
"literal> correctamente."
-#. Tag: para
-#: component_mapping.xml:90
-#, no-c-format
+#: index.docbook:90
msgid ""
"Composite elements may contain components but not collections. If your "
"composite element itself contains components, use the
<literal><nested-"
@@ -285,16 +325,14 @@
"Los elementos compuestos pueden contener componentes pero no colecciones. Si
"
"tu elemento compuesto contiene a su vez componentes, usa la etiqueta "
"<literal><nested-composite-element></literal>. Este es un
caso "
-"bastante exótico - una colección de componentes que a su vez tienen "
-"componentes. A esta altura debes estar preguntándote si una asociación
uno-a-"
-"muchos es más apropiada. Intenta remodelar el elemento compuesto como una "
-"entidad - pero observa que aunque el modelo Java es el mismo, el modelo "
-"relacional y la semántica de persistencia siguen siendo ligeramente "
-"diferentes."
+"bastante exótico - una colección de componentes que a su vez
"
+"tienen componentes. A esta altura debes estar preguntándote si una
"
+"asociación uno-a-muchos es más apropiada. Intenta remodelar
el "
+"elemento compuesto como una entidad - pero observa que aunque el modelo Java
"
+"es el mismo, el modelo relacional y la semántica de persistencia "
+"siguen siendo ligeramente diferentes."
-#. Tag: para
-#: component_mapping.xml:102
-#, no-c-format
+#: index.docbook:102
msgid ""
"Please note that a composite element mapping doesn't support null-able "
"properties if you're using a
<literal><set></literal>. Hibernate has "
@@ -306,17 +344,15 @@
"<literal><idbag></literal>."
msgstr ""
"Por favor observa que un mapeo de elemento compuesto no soporta propiedades "
-"nulables si estás usando un <literal><set></literal>.
Hibernate tiene "
-"que usar cada columna para identificar un registro al borrar objetos (no hay
"
-"una columna clave primaria separada en la tabla del elemento compuesto), lo "
-"que es imposible con valores nulos. Tienes que, o bien usar sólo propiedades
"
-"no nulas en un elemento compuesto o elegir un
<literal><list></"
-"literal>, <literal><map></literal>,
<literal><bag></literal> o "
-"<literal><idbag></literal>."
+"nulables si estás usando un
<literal><set></literal>. Hibernate "
+"tiene que usar cada columna para identificar un registro al borrar objetos "
+"(no hay una columna clave primaria separada en la tabla del elemento "
+"compuesto), lo que es imposible con valores nulos. Tienes que, o bien usar "
+"sólo propiedades no nulas en un elemento compuesto o elegir un "
+"<literal><list></literal>,
<literal><map></literal>, "
+"<literal><bag></literal> o
<literal><idbag></literal>."
-#. Tag: para
-#: component_mapping.xml:113
-#, no-c-format
+#: index.docbook:113
msgid ""
"A special case of a composite element is a composite element with a nested "
"<literal><many-to-one></literal> element. A mapping like
this allows "
@@ -328,15 +364,14 @@
msgstr ""
"Un caso especial de un elemento compuesto es un elemento compuesto con un "
"elemento anidado <literal><many-to-one></literal>. Un
mapeo como este "
-"te permite mapear columnas extra de una tabla de asociación muchos-a-muchos "
-"a la clase del elemento compuesto. La siguiente es una asociación muchos-a-"
-"muchos de <literal>Order</literal> a
<literal>Item</literal> donde "
-"<literal>purchaseDate</literal>, <literal>price</literal> y
"
-"<literal>quantity</literal> son propiedades de la asociación:"
+"te permite mapear columnas extra de una tabla de asociación
muchos-a-"
+"muchos a la clase del elemento compuesto. La siguiente es una "
+"asociación muchos-a-muchos de <literal>Order</literal> a
"
+"<literal>Item</literal> donde
<literal>purchaseDate</literal>, "
+"<literal>price</literal> y <literal>quantity</literal> son
propiedades de la "
+"asociación:"
-#. Tag: programlisting
-#: component_mapping.xml:123
-#, no-c-format
+#: index.docbook:123
msgid ""
"<![CDATA[<class name=\"eg.Order\" .... >\n"
" ....\n"
@@ -352,10 +387,21 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"eg.Order\" .... >\n"
+" ....\n"
+" <set name=\"purchasedItems\" table=\"purchase_items\"
lazy=\"true\">\n"
+" <key column=\"order_id\">\n"
+" <composite-element class=\"eg.Purchase\">\n"
+" <property name=\"purchaseDate\"/>\n"
+" <property name=\"price\"/>\n"
+" <property name=\"quantity\"/>\n"
+" <many-to-one name=\"item\"
class=\"eg.Item\"/> <!-- class "
+"attribute is optional -->\n"
+" </composite-element>\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: para
-#: component_mapping.xml:125
-#, no-c-format
+#: index.docbook:125
msgid ""
"Of course, there can't be a reference to the purchae on the other side, for
"
"bidirectional association navigation. Remember that components are value "
@@ -364,21 +410,17 @@
"referenced by the <literal>Item</literal> at the same time."
msgstr ""
"Por supuesto, no puede haber una referencia a la compra del otro lado para "
-"la navegación bidireccional de la asociación. Recuerda que los componentes "
-"son tipos de valor no permiten referencias compartidas. Una sola "
+"la navegación bidireccional de la asociación. Recuerda que
los "
+"componentes son tipos de valor no permiten referencias compartidas. Una sola
"
"<literal>Purchase</literal> puede estar en el conjunto de una "
"<literal>Order</literal>, pero no puede ser referenciada por el "
"<literal>Item</literal> al mismo tiempo."
-#. Tag: para
-#: component_mapping.xml:133
-#, no-c-format
+#: index.docbook:133
msgid "Even ternary (or quaternary, etc) associations are possible:"
msgstr "Incluso son posibles las asociaciones ternarias (o cuaternarias,
etc):"
-#. Tag: programlisting
-#: component_mapping.xml:135
-#, no-c-format
+#: index.docbook:135
msgid ""
"<![CDATA[<class name=\"eg.Order\" .... >\n"
" ....\n"
@@ -391,26 +433,30 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"eg.Order\" .... >\n"
+" ....\n"
+" <set name=\"purchasedItems\" table=\"purchase_items\"
lazy=\"true\">\n"
+" <key column=\"order_id\">\n"
+" <composite-element class=\"eg.OrderLine\">\n"
+" <many-to-one name=\"purchaseDetails
class=\"eg.Purchase\"/>\n"
+" <many-to-one name=\"item\"
class=\"eg.Item\"/>\n"
+" </composite-element>\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: para
-#: component_mapping.xml:137
-#, no-c-format
+#: index.docbook:137
msgid ""
"Composite elements may appear in queries using the same syntax as "
"associations to other entities."
msgstr ""
"Los elementos compuestos pueden aparecer en consultas usando la misma "
-"sintáxis que las asociaciones a otras entidades."
+"sintáxis que las asociaciones a otras entidades."
-#. Tag: title
-#: component_mapping.xml:145
-#, no-c-format
+#: index.docbook:145
msgid "Components as Map indices"
-msgstr "Componentes como índices de Map"
+msgstr "Componentes como índices de Map"
-#. Tag: para
-#: component_mapping.xml:147
-#, no-c-format
+#: index.docbook:147
msgid ""
"The <literal><composite-map-key></literal> element lets
you map a "
"component class as the key of a <literal>Map</literal>. Make sure you
"
@@ -418,19 +464,15 @@
"correctly on the component class."
msgstr ""
"El elemento <literal><composite-map-key></literal> te
permite mapear "
-"una clase componente como la clave de un <literal>Map</literal>.
Asegúrate "
-"que sobrescribes <literal>hashCode()</literal> y
<literal>equals()</literal> "
-"correctamente en la clase componente."
+"una clase componente como la clave de un <literal>Map</literal>.
Asegú"
+"rate que sobrescribes <literal>hashCode()</literal> y
<literal>equals()</"
+"literal> correctamente en la clase componente."
-#. Tag: title
-#: component_mapping.xml:156
-#, no-c-format
+#: index.docbook:156
msgid "Components as composite identifiers"
msgstr "Componentes como identificadores compuestos"
-#. Tag: para
-#: component_mapping.xml:158
-#, no-c-format
+#: index.docbook:158
msgid ""
"You may use a component as an identifier of an entity class. Your component "
"class must satisfy certain requirements:"
@@ -438,47 +480,37 @@
"Puedes usar un componente como un identidicador de una clase entidad. Tu "
"clase componente debe satisfacer ciertos requerimientos:"
-#. Tag: para
-#: component_mapping.xml:165
-#, no-c-format
+#: index.docbook:165
msgid "It must implement <literal>java.io.Serializable</literal>."
msgstr "Debe implementar <literal>java.io.Serializable</literal>."
-#. Tag: para
-#: component_mapping.xml:170
-#, no-c-format
+#: index.docbook:170
msgid ""
"It must re-implement <literal>equals()</literal> and
<literal>hashCode()</"
"literal>, consistently with the database's notion of composite key
equality."
msgstr ""
"Debe re-implementar <literal>equals()</literal> y
<literal>hashCode()</"
-"literal>, consistentemente con la noción de base de datos de igualdad de "
-"clave compuesta."
+"literal>, consistentemente con la noción de base de datos de igualdad
"
+"de clave compuesta."
-#. Tag: emphasis
-#: component_mapping.xml:179
-#, no-c-format
+#: index.docbook:179
msgid ""
"Note: in Hibernate3, the second requirement is not an absolutely hard "
"requirement of Hibernate. But do it anyway."
msgstr ""
"Nota: en Hibernat3, el segundo requerimiento no es absolutamente un "
-"requerimiento rígido de Hibernate. Pero de todas formas, házlo."
+"requerimiento rígido de Hibernate. Pero de todas formas,
házlo."
-#. Tag: para
-#: component_mapping.xml:183
-#, no-c-format
+#: index.docbook:183
msgid ""
"You can't use an <literal>IdentifierGenerator</literal> to generate
"
"composite keys. Instead the application must assign its own identifiers."
msgstr ""
"No puedes usar un <literal>IdentifierGenerator</literal> para generar
claves "
-"compuestas. La aplicación debe, en cambio, asignar sus propios "
+"compuestas. La aplicación debe, en cambio, asignar sus propios "
"identificadores."
-#. Tag: para
-#: component_mapping.xml:188
-#, no-c-format
+#: index.docbook:188
msgid ""
"Use the <literal><composite-id></literal> tag (with
nested "
"<literal><key-property></literal> elements) in place of
the usual "
@@ -488,13 +520,11 @@
msgstr ""
"Usa la etiqueta <literal><composite-id></literal> (con
elementos "
"anidados <literal><key-property></literal>) en lugar de
la usual "
-"declaración <literal><id></literal>. Por ejemplo, la
clase "
+"declaración <literal><id></literal>. Por
ejemplo, la clase "
"<literal>OrderLine</literal> tiene una clave primaria que depende de la
"
"clave primaria (compuesta) de <literal>Order</literal>."
-#. Tag: programlisting
-#: component_mapping.xml:196
-#, no-c-format
+#: index.docbook:196
msgid ""
"<![CDATA[<class name=\"OrderLine\">\n"
" \n"
@@ -515,23 +545,37 @@
" \n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"OrderLine\">\n"
+" \n"
+" <composite-id name=\"id\"
class=\"OrderLineId\">\n"
+" <key-property name=\"lineId\"/>\n"
+" <key-property name=\"orderId\"/>\n"
+" <key-property name=\"customerId\"/>\n"
+" </composite-id>\n"
+" \n"
+" <property name=\"name\"/>\n"
+" \n"
+" <many-to-one name=\"order\" class=\"Order\"\n"
+" insert=\"false\" update=\"false\">\n"
+" <column name=\"orderId\"/>\n"
+" <column name=\"customerId\"/>\n"
+" </many-to-one>\n"
+" ....\n"
+" \n"
+"</class>]]>"
-#. Tag: para
-#: component_mapping.xml:198
-#, no-c-format
+#: index.docbook:198
msgid ""
"Now, any foreign keys referencing the <literal>OrderLine</literal>
table are "
"also composite. You must declare this in your mappings for other classes. An
"
"association to <literal>OrderLine</literal> would be mapped like
this:"
msgstr ""
-"Ahora, cualquier clave foránea que referencie la tabla de "
-"<literal>OrderLine</literal> es también compuesta. Debes declarar esto
en "
-"tus mapeos de otras clases. Una asociación a
<literal>OrderLine</literal> "
-"sería mapeado así:"
+"Ahora, cualquier clave foránea que referencie la tabla de "
+"<literal>OrderLine</literal> es también compuesta. Debes
declarar "
+"esto en tus mapeos de otras clases. Una asociación a "
+"<literal>OrderLine</literal> sería mapeado
así:"
-#. Tag: programlisting
-#: component_mapping.xml:204
-#, no-c-format
+#: index.docbook:204
msgid ""
"<![CDATA[<many-to-one name=\"orderLine\"
class=\"OrderLine\">\n"
"<!-- the \"class\" attribute is optional, as usual -->\n"
@@ -540,10 +584,14 @@
" <column name=\"customerId\"/>\n"
"</many-to-one>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"orderLine\"
class=\"OrderLine\">\n"
+"<!-- the \"class\" attribute is optional, as usual -->\n"
+" <column name=\"lineId\"/>\n"
+" <column name=\"orderId\"/>\n"
+" <column name=\"customerId\"/>\n"
+"</many-to-one>]]>"
-#. Tag: para
-#: component_mapping.xml:206
-#, no-c-format
+#: index.docbook:206
msgid ""
"(Note that the <literal><column></literal> tag is an
alternative to "
"the <literal>column</literal> attribute everywhere.)"
@@ -551,19 +599,16 @@
"(Nota que la etiqueta <literal><column></literal> es una
alternativa "
"al atributo <literal>column</literal> en cualquier sitio.)"
-#. Tag: para
-#: component_mapping.xml:211
-#, no-c-format
+#: index.docbook:211
msgid ""
"A <literal>many-to-many</literal> association to
<literal>OrderLine</"
"literal> also uses the composite foreign key:"
msgstr ""
-"Una asociación <literal>muchos-a-muchos</literal> a
<literal>OrderLine</"
-"literal> también usa la clave foránea compuesta:"
+"Una asociación <literal>muchos-a-muchos</literal> a "
+"<literal>OrderLine</literal> también usa la clave
foránea "
+"compuesta:"
-#. Tag: programlisting
-#: component_mapping.xml:216
-#, no-c-format
+#: index.docbook:216
msgid ""
"<![CDATA[<set name=\"undeliveredOrderLines\">\n"
" <key column name=\"warehouseId\"/>\n"
@@ -574,20 +619,24 @@
" </many-to-many>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"undeliveredOrderLines\">\n"
+" <key column name=\"warehouseId\"/>\n"
+" <many-to-many class=\"OrderLine\">\n"
+" <column name=\"lineId\"/>\n"
+" <column name=\"orderId\"/>\n"
+" <column name=\"customerId\"/>\n"
+" </many-to-many>\n"
+"</set>]]>"
-#. Tag: para
-#: component_mapping.xml:218
-#, no-c-format
+#: index.docbook:218
msgid ""
"The collection of <literal>OrderLine</literal>s in
<literal>Order</literal> "
"would use:"
msgstr ""
-"La colección de <literal>OrderLine</literal>s en
<literal>Order</literal> "
-"usaría:"
+"La colección de <literal>OrderLine</literal>s en
<literal>Order</"
+"literal> usaría:"
-#. Tag: programlisting
-#: component_mapping.xml:223
-#, no-c-format
+#: index.docbook:223
msgid ""
"<![CDATA[<set name=\"orderLines\"
inverse=\"true\">\n"
" <key>\n"
@@ -597,10 +646,15 @@
" <one-to-many class=\"OrderLine\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"orderLines\"
inverse=\"true\">\n"
+" <key>\n"
+" <column name=\"orderId\"/>\n"
+" <column name=\"customerId\"/>\n"
+" </key>\n"
+" <one-to-many class=\"OrderLine\"/>\n"
+"</set>]]>"
-#. Tag: para
-#: component_mapping.xml:225
-#, no-c-format
+#: index.docbook:225
msgid ""
"(The <literal><one-to-many></literal> element, as usual,
declares no "
"columns.)"
@@ -608,19 +662,15 @@
"(El elemento <literal><one-to-many></literal>, como es
usual, no "
"declara columnas.)"
-#. Tag: para
-#: component_mapping.xml:229
-#, no-c-format
+#: index.docbook:229
msgid ""
"If <literal>OrderLine</literal> itself owns a collection, it also has a
"
"composite foreign key."
msgstr ""
-"Si <literal>OrderLine</literal> posee una colección por sí misma, tiene
"
-"también una clave foránea compuesta."
+"Si <literal>OrderLine</literal> posee una colección por
sí "
+"misma, tiene también una clave foránea compuesta."
-#. Tag: programlisting
-#: component_mapping.xml:234
-#, no-c-format
+#: index.docbook:234
msgid ""
"<![CDATA[<class name=\"OrderLine\">\n"
" ....\n"
@@ -638,22 +688,31 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"OrderLine\">\n"
+" ....\n"
+" ....\n"
+" <list name=\"deliveryAttempts\">\n"
+" <key> <!-- a collection inherits the composite key type
-->\n"
+" <column name=\"lineId\"/>\n"
+" <column name=\"orderId\"/>\n"
+" <column name=\"customerId\"/>\n"
+" </key>\n"
+" <list-index column=\"attemptId\"
base=\"1\"/>\n"
+" <composite-element class=\"DeliveryAttempt\">\n"
+" ...\n"
+" </composite-element>\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: title
-#: component_mapping.xml:239
-#, no-c-format
+#: index.docbook:239
msgid "Dynamic components"
-msgstr "Componentes dinámicos"
+msgstr "Componentes dinámicos"
-#. Tag: para
-#: component_mapping.xml:241
-#, no-c-format
+#: index.docbook:241
msgid "You may even map a property of type
<literal>Map</literal>:"
msgstr "Puedes incluso mapear una propiedad de tipo
<literal>Map</literal>:"
-#. Tag: programlisting
-#: component_mapping.xml:245
-#, no-c-format
+#: index.docbook:245
msgid ""
"<![CDATA[<dynamic-component name=\"userAttributes\">\n"
" <property name=\"foo\" column=\"FOO\"
type=\"string\"/>\n"
@@ -661,10 +720,13 @@
" <many-to-one name=\"baz\" class=\"Baz\"
column=\"BAZ_ID\"/>\n"
"</dynamic-component>]]>"
msgstr ""
+"<![CDATA[<dynamic-component name=\"userAttributes\">\n"
+" <property name=\"foo\" column=\"FOO\"
type=\"string\"/>\n"
+" <property name=\"bar\" column=\"BAR\"
type=\"integer\"/>\n"
+" <many-to-one name=\"baz\" class=\"Baz\"
column=\"BAZ_ID\"/>\n"
+"</dynamic-component>]]>"
-#. Tag: para
-#: component_mapping.xml:247
-#, no-c-format
+#: index.docbook:247
msgid ""
"The semantics of a <literal><dynamic-component></literal>
mapping are "
"identical to <literal><component></literal>. The
advantage of this "
@@ -674,11 +736,18 @@
"Even better, you can access (and change) Hibernate's configuration-time "
"metamodel via the <literal>Configuration</literal> object."
msgstr ""
-"La semántica de un mapeo
<literal><dynamic-component></literal> es "
-"ídentica a la de <literal><component></literal>. La
ventaja de este "
-"tipo de mapeos es la habilidad para determinar las propiedades reales del "
-"bean en tiempo de despliegue, sólo con editar el documento de mapeo. La "
-"manipulación del documento de mapeo en tiempo de ejecución es también "
-"posible, usando un analizador DOM. Incluso mejor, puedes acceder (y cambiar)
"
-"el metamodelo de tiempo de configuración de Hibernate por medio del objeto "
+"La semántica de un mapeo
<literal><dynamic-component></literal> "
+"es ídentica a la de
<literal><component></literal>. La ventaja "
+"de este tipo de mapeos es la habilidad para determinar las propiedades "
+"reales del bean en tiempo de despliegue, sólo con editar el documento
"
+"de mapeo. La manipulación del documento de mapeo en tiempo de "
+"ejecución es también posible, usando un analizador DOM.
"
+"Incluso mejor, puedes acceder (y cambiar) el metamodelo de tiempo de "
+"configuración de Hibernate por medio del objeto "
"<literal>Configuration</literal>."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/configuration.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/configuration.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/configuration.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: configuration.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Configuration"
-msgstr "Configuración"
+msgstr "Configuración"
-#. Tag: para
-#: configuration.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"Because Hibernate is designed to operate in many different environments, "
"there are a large number of configuration parameters. Fortunately, most have
"
@@ -27,60 +18,55 @@
"shows the various options. Just put the example file in your classpath and "
"customize it."
msgstr ""
-"Debido a que Hibernate está diseñado para operar en muchos entornos "
-"diferentes, hay un gran número de parámetros de configuración. "
-"Afortunadamente, la mayoría tiene valores por defecto sensibles e Hibernate "
-"se distribuye con un fichero <literal>hibernate.properties</literal> de
"
-"ejemplo en <literal>etc/</literal> que muestra las diversas opciones.
Tan "
-"sólo pon el fichero de ejemplo en tu classpath y personalízalo."
+"Debido a que Hibernate está diseñado para operar en muchos
"
+"entornos diferentes, hay un gran número de parámetros de
"
+"configuración. Afortunadamente, la mayoría tiene valores por
"
+"defecto sensibles e Hibernate se distribuye con un fichero "
+"<literal>hibernate.properties</literal> de ejemplo en
<literal>etc/</"
+"literal> que muestra las diversas opciones. Tan sólo pon el fichero
"
+"de ejemplo en tu classpath y personalízalo."
-#. Tag: title
-#: configuration.xml:16
-#, no-c-format
+#: index.docbook:16
msgid "Programmatic configuration"
-msgstr "Configuración programática"
+msgstr "Configuración programática"
-#. Tag: para
-#: configuration.xml:18
-#, no-c-format
+#: index.docbook:18
msgid ""
-"An instance of <literal>org.hibernate.cfg.Configuration</literal>
represents "
-"an entire set of mappings of an application's Java types to an SQL database.
"
-"The <literal>Configuration</literal> is used to build an (immutable)
"
-"<literal>SessionFactory</literal>. The mappings are compiled from
various "
-"XML mapping files."
+"An instance of <classname>org.hibernate.cfg.Configuration</classname>
"
+"represents an entire set of mappings of an application's Java types to an
"
+"SQL database. The
<classname>org.hibernate.cfg.Configuration</classname> is "
+"used to build an (immutable)
<interfacename>org.hibernate.SessionFactory</"
+"interfacename>. The mappings are compiled from various XML mapping files."
msgstr ""
"Una instancia de <literal>org.hibernate.cfg.Configuration</literal>
"
-"representa un conjunto entero de mapeos de los tipos Java de una aplicación "
-"a una base de datos SQL. La <literal>Configuration</literal> es usada
para "
-"construir una <literal>SessionFactory</literal> (inmutable). Los mapeos
se "
-"compilan de varios ficheros de mapeo XML."
+"representa un conjunto entero de mapeos de los tipos Java de una "
+"aplicación a una base de datos SQL. La
<literal>Configuration</"
+"literal> es usada para construir una
<literal>SessionFactory</literal> "
+"(inmutable). Los mapeos se compilan de varios ficheros de mapeo XML."
-#. Tag: para
-#: configuration.xml:26
-#, no-c-format
+#: index.docbook:25
msgid ""
-"You may obtain a <literal>Configuration</literal> instance by
instantiating "
-"it directly and specifying XML mapping documents. If the mapping files are "
-"in the classpath, use <literal>addResource()</literal>:"
+"You may obtain a <classname>org.hibernate.cfg.Configuration</classname>
"
+"instance by instantiating it directly and specifying XML mapping documents. "
+"If the mapping files are in the classpath, use
<literal>addResource()</"
+"literal>:"
msgstr ""
"Puedes obtener una instancia de <literal>Configuration</literal>
"
-"instanciándola directamente y especificando documentos de mapeo XML. Si los "
-"ficheros de mapeo están en el classpath, usa
<literal>addResource()</"
-"literal>:"
+"instanciándola directamente y especificando documentos de mapeo XML.
"
+"Si los ficheros de mapeo están en el classpath, usa "
+"<literal>addResource()</literal>:"
-#. Tag: programlisting
-#: configuration.xml:32
-#, no-c-format
+#: index.docbook:31
msgid ""
"<![CDATA[Configuration cfg = new Configuration()\n"
" .addResource(\"Item.hbm.xml\")\n"
" .addResource(\"Bid.hbm.xml\");]]>"
msgstr ""
+"<![CDATA[Configuration cfg = new Configuration()\n"
+" .addResource(\"Item.hbm.xml\")\n"
+" .addResource(\"Bid.hbm.xml\");]]>"
-#. Tag: para
-#: configuration.xml:34
-#, no-c-format
+#: index.docbook:33
msgid ""
"An alternative (sometimes better) way is to specify the mapped class, and "
"let Hibernate find the mapping document for you:"
@@ -88,42 +74,37 @@
"Una forma alternativa (a veces mejor) es especificar la clase mapeada, y "
"dejar que Hibernate encuentre el documento de mapeo por ti:"
-#. Tag: programlisting
-#: configuration.xml:39
-#, no-c-format
+#: index.docbook:38
msgid ""
"<![CDATA[Configuration cfg = new Configuration()\n"
" .addClass(org.hibernate.auction.Item.class)\n"
" .addClass(org.hibernate.auction.Bid.class);]]>"
msgstr ""
+"<![CDATA[Configuration cfg = new Configuration()\n"
+" .addClass(org.hibernate.auction.Item.class)\n"
+" .addClass(org.hibernate.auction.Bid.class);]]>"
-#. Tag: para
-#: configuration.xml:41
-#, no-c-format
+#: index.docbook:40
msgid ""
-"Then Hibernate will look for mapping files named
<literal>/org/hibernate/"
-"auction/Item.hbm.xml</literal> and
<literal>/org/hibernate/auction/Bid.hbm."
-"xml</literal> in the classpath. This approach eliminates any hardcoded
"
+"Then Hibernate will look for mapping files named
<filename>/org/hibernate/"
+"auction/Item.hbm.xml</filename> and
<filename>/org/hibernate/auction/Bid.hbm."
+"xml</filename> in the classpath. This approach eliminates any hardcoded
"
"filenames."
msgstr ""
-"Entonces Hibernate buscará ficheros de mapeo llamados <literal>/org/"
+"Entonces Hibernate buscará ficheros de mapeo llamados
<literal>/org/"
"hibernate/auction/Item.hbm.xml</literal> y
<literal>/org/hibernate/auction/"
"Bid.hbm.xml</literal> en el classpath. Este enfoque elimina cualquier nombre
"
-"de fichero en el código."
+"de fichero en el código."
-#. Tag: para
-#: configuration.xml:48
-#, no-c-format
+#: index.docbook:46
msgid ""
-"A <literal>Configuration</literal> also allows you to specify
configuration "
-"properties:"
+"A <classname>org.hibernate.cfg.Configuration</classname> also allows
you to "
+"specify configuration properties:"
msgstr ""
-"Una <literal>Configuration</literal> también te permite especificar
"
-"propiedades de configuración:"
+"Una <literal>Configuration</literal> también te permite
especificar "
+"propiedades de configuración:"
-#. Tag: programlisting
-#: configuration.xml:53
-#, no-c-format
+#: index.docbook:51
msgid ""
"<![CDATA[Configuration cfg = new Configuration()\n"
" .addClass(org.hibernate.auction.Item.class)\n"
@@ -134,40 +115,40 @@
"test\")\n"
" .setProperty(\"hibernate.order_updates\",
\"true\");]]>"
msgstr ""
+"<![CDATA[Configuration cfg = new Configuration()\n"
+" .addClass(org.hibernate.auction.Item.class)\n"
+" .addClass(org.hibernate.auction.Bid.class)\n"
+" .setProperty(\"hibernate.dialect\",
\"org.hibernate.dialect."
+"MySQLInnoDBDialect\")\n"
+" .setProperty(\"hibernate.connection.datasource\",
\"java:comp/env/jdbc/"
+"test\")\n"
+" .setProperty(\"hibernate.order_updates\",
\"true\");]]>"
-#. Tag: para
-#: configuration.xml:55
-#, no-c-format
+#: index.docbook:53
msgid ""
"This is not the only way to pass configuration properties to Hibernate. The "
"various options include:"
msgstr ""
-"Esta no es la única forma de pasar propiedades de configuración a Hibernate.
"
-"La diversas opciones incluyen:"
+"Esta no es la única forma de pasar propiedades de
configuració"
+"n a Hibernate. La diversas opciones incluyen:"
-#. Tag: para
-#: configuration.xml:62
-#, no-c-format
+#: index.docbook:60
msgid ""
-"Pass an instance of <literal>java.util.Properties</literal> to "
+"Pass an instance of <classname>java.util.Properties</classname> to
"
"<literal>Configuration.setProperties()</literal>."
msgstr ""
"Pasar una instancia de <literal>java.util.Properties</literal> a
"
"<literal>Configuration.setProperties()</literal>."
-#. Tag: para
-#: configuration.xml:68
-#, no-c-format
+#: index.docbook:66
msgid ""
-"Place <literal>hibernate.properties</literal> in a root directory of
the "
-"classpath."
+"Place a file named <filename>hibernate.properties</filename> in a root
"
+"directory of the classpath."
msgstr ""
-"Colocar <literal>hibernate.properties</literal> en un directorio raíz
del "
-"classpath."
+"Colocar <literal>hibernate.properties</literal> en un directorio
raíz "
+"del classpath."
-#. Tag: para
-#: configuration.xml:74
-#, no-c-format
+#: index.docbook:71
msgid ""
"Set <literal>System</literal> properties using <literal>java
-"
"Dproperty=value</literal>."
@@ -175,9 +156,7 @@
"Establecer propiedades <literal>System</literal> usando
<literal>java -"
"Dproperty=value</literal>."
-#. Tag: para
-#: configuration.xml:80
-#, no-c-format
+#: index.docbook:76
msgid ""
"Include <literal><property></literal> elements in
<literal>hibernate."
"cfg.xml</literal> (discussed later)."
@@ -185,271 +164,205 @@
"Incluir elementos <literal><property></literal> en
<literal>hibernate."
"cfg.xml</literal> (discutido luego)."
-#. Tag: para
-#: configuration.xml:87
-#, no-c-format
+#: index.docbook:83
msgid ""
-"<literal>hibernate.properties</literal> is the easiest approach if you
want "
-"to get started quickly."
+"<filename>hibernate.properties</filename> is the easiest approach if
you "
+"want to get started quickly."
msgstr ""
-"<literal>hibernate.properties</literal> es el enfoque más fácil si
quieres "
-"comenzar rápido."
+"<literal>hibernate.properties</literal> es el enfoque más
fá"
+"cil si quieres comenzar rápido."
-#. Tag: para
-#: configuration.xml:92
-#, no-c-format
+#: index.docbook:87
msgid ""
-"The <literal>Configuration</literal> is intended as a startup-time
object, "
-"to be discarded once a <literal>SessionFactory</literal> is
created."
+"The <classname>org.hibernate.cfg.Configuration</classname> is intended
as a "
+"startup-time object, to be discarded once a
<literal>SessionFactory</"
+"literal> is created."
msgstr ""
-"La <literal>Configuration</literal> está concebida como un objeto de
tiempo "
-"de arranque, para ser descartado una vez que una
<literal>SessionFactory</"
-"literal> es creada."
+"La <literal>Configuration</literal> está concebida como un
objeto de "
+"tiempo de arranque, para ser descartado una vez que una "
+"<literal>SessionFactory</literal> es creada."
-#. Tag: title
-#: configuration.xml:100
-#, no-c-format
+#: index.docbook:95
msgid "Obtaining a SessionFactory"
msgstr "Obteniendo una SessionFactory"
-#. Tag: para
-#: configuration.xml:102
-#, no-c-format
+#: index.docbook:97
msgid ""
-"When all mappings have been parsed by the
<literal>Configuration</literal>, "
-"the application must obtain a factory for <literal>Session</literal>
"
-"instances. This factory is intended to be shared by all application threads:"
+"When all mappings have been parsed by the
<classname>org.hibernate.cfg."
+"Configuration</classname>, the application must obtain a factory for "
+"<interfacename>org.hibernate.Session</interfacename> instances. This
factory "
+"is intended to be shared by all application threads:"
msgstr ""
"Cuando todos los mapeos han sido parseados por la
<literal>Configuration</"
-"literal>, la aplicación debe obtener una fábrica de instancias de "
-"<literal>Session</literal>. Esta fábrica está concebida para ser
compartida "
-"por todas las hebras de aplicación:"
+"literal>, la aplicación debe obtener una fábrica de
instancias "
+"de <literal>Session</literal>. Esta fábrica está
concebida "
+"para ser compartida por todas las hebras de aplicación:"
-#. Tag: programlisting
-#: configuration.xml:108
-#, no-c-format
+#: index.docbook:103
msgid "<![CDATA[SessionFactory sessions = cfg.buildSessionFactory();]]>"
-msgstr ""
+msgstr "<![CDATA[SessionFactory sessions =
cfg.buildSessionFactory();]]>"
-#. Tag: para
-#: configuration.xml:110
-#, no-c-format
+#: index.docbook:105
msgid ""
"Hibernate does allow your application to instantiate more than one "
-"<literal>SessionFactory</literal>. This is useful if you are using more
than "
-"one database."
+"<interfacename>org.hibernate.SessionFactory</interfacename>. This is
useful "
+"if you are using more than one database."
msgstr ""
-"Hibernate permite que tu aplicación instancie más de una "
-"<literal>SessionFactory</literal>. Esto es útil si estás usando más de
una "
-"base de datos."
+"Hibernate permite que tu aplicación instancie más de una
"
+"<literal>SessionFactory</literal>. Esto es útil si
estás "
+"usando más de una base de datos."
-#. Tag: title
-#: configuration.xml:119
-#, no-c-format
+#: index.docbook:114
msgid "JDBC connections"
msgstr "Conexiones JDBC"
-#. Tag: para
-#: configuration.xml:121
-#, no-c-format
+#: index.docbook:116
msgid ""
-"Usually, you want to have the <literal>SessionFactory</literal> create
and "
-"pool JDBC connections for you. If you take this approach, opening a "
-"<literal>Session</literal> is as simple as:"
+"Usually, you want to have the
<interfacename>org.hibernate.SessionFactory</"
+"interfacename> create and pool JDBC connections for you. If you take this
"
+"approach, opening a
<interfacename>org.hibernate.Session</interfacename> is "
+"as simple as:"
msgstr ""
"Usualmente, quieres que la <literal>SessionFactory</literal> cree y
almacene "
"en pool conexiones JDBC para ti. Si adoptas este enfoque, abrir una "
"<literal>Session</literal> es tan simple como:"
-#. Tag: programlisting
-#: configuration.xml:127
-#, no-c-format
+#: index.docbook:122
msgid ""
"<![CDATA[Session session = sessions.openSession(); // open a new
Session]]>"
msgstr ""
+"<![CDATA[Session session = sessions.openSession(); // open a new
Session]]>"
-#. Tag: para
-#: configuration.xml:129
-#, no-c-format
+#: index.docbook:124
msgid ""
"As soon as you do something that requires access to the database, a JDBC "
"connection will be obtained from the pool."
msgstr ""
-"En cuanto hagas algo que requiera acceso a la base de datos, se obtendrá una
"
-"conexión JDBC del pool."
+"En cuanto hagas algo que requiera acceso a la base de datos, se "
+"obtendrá una conexión JDBC del pool."
-#. Tag: para
-#: configuration.xml:134
-#, no-c-format
+#: index.docbook:129
msgid ""
"For this to work, we need to pass some JDBC connection properties to "
"Hibernate. All Hibernate property names and semantics are defined on the "
-"class <literal>org.hibernate.cfg.Environment</literal>. We will now
describe "
-"the most important settings for JDBC connection configuration."
+"class <classname>org.hibernate.cfg.Environment</classname>. We will now
"
+"describe the most important settings for JDBC connection configuration."
msgstr ""
-"Para que esto funcione, necesitamos pasar algunas propiedades de conexión "
-"JDBC a Hibernate. Todos los nombres de propiedades y su semántica están "
-"definidas en la clase <literal>org.hibernate.cfg.Environment</literal>.
"
-"Describiremos ahora las configuraciones más importantes para la conexión "
-"JDBC."
+"Para que esto funcione, necesitamos pasar algunas propiedades de "
+"conexión JDBC a Hibernate. Todos los nombres de propiedades y su "
+"semántica están definidas en la clase
<literal>org.hibernate."
+"cfg.Environment</literal>. Describiremos ahora las configuraciones
má"
+"s importantes para la conexión JDBC."
-#. Tag: para
-#: configuration.xml:141
-#, no-c-format
+#: index.docbook:135
msgid ""
-"Hibernate will obtain (and pool) connections using <literal>java.sql."
-"DriverManager</literal> if you set the following properties:"
+"Hibernate will obtain (and pool) connections using
<classname>java.sql."
+"DriverManager</classname> if you set the following properties:"
msgstr ""
-"Hibernate obtendrá (y tendrá en pool) conexiones usando
<literal>java.sql."
-"DriverManager</literal> si configuras las siguientes propiedades:"
+"Hibernate obtendrá (y tendrá en pool) conexiones usando
"
+"<literal>java.sql.DriverManager</literal> si configuras las siguientes
"
+"propiedades:"
-#. Tag: title
-#: configuration.xml:147
-#, no-c-format
+#: index.docbook:141
msgid "Hibernate JDBC Properties"
msgstr "Propiedades JDBC de Hibernate"
-#. Tag: entry
-#: configuration.xml:153 configuration.xml:241 configuration.xml:338
-#: configuration.xml:529 configuration.xml:725 configuration.xml:832
-#: configuration.xml:920
-#, no-c-format
+#: index.docbook:147, index.docbook:233, index.docbook:329, index.docbook:524,
+#: index.docbook:719, index.docbook:826, index.docbook:914
msgid "Property name"
msgstr "Nombre de propiedad"
-#. Tag: entry
-#: configuration.xml:154 configuration.xml:242 configuration.xml:339
-#: configuration.xml:530 configuration.xml:726 configuration.xml:833
-#: configuration.xml:921
-#, fuzzy, no-c-format
+#: index.docbook:148, index.docbook:234, index.docbook:330, index.docbook:525,
+#: index.docbook:720, index.docbook:827, index.docbook:915
msgid "Purpose"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Propósito\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Propósito\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Propósito\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Propoósito\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Propósito\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Propósito\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Propósito"
+msgstr "Propósito"
-#. Tag: literal
-#: configuration.xml:160
-#, no-c-format
+#: index.docbook:154
msgid "hibernate.connection.driver_class"
msgstr "hibernate.connection.driver_class"
-#. Tag: emphasis
-#: configuration.xml:163
-#, no-c-format
+#: index.docbook:157
msgid "JDBC driver class"
msgstr "clase del driver jdbc"
-#. Tag: literal
-#: configuration.xml:168
-#, no-c-format
+#: index.docbook:162
msgid "hibernate.connection.url"
msgstr "hibernate.connection.url"
-#. Tag: emphasis
-#: configuration.xml:171
-#, no-c-format
+#: index.docbook:165
msgid "JDBC URL"
msgstr "URL de jdbc"
-#. Tag: literal
-#: configuration.xml:176 configuration.xml:272
-#, no-c-format
+#: index.docbook:170, index.docbook:264
msgid "hibernate.connection.username"
msgstr "hibernate.connection.username"
-#. Tag: emphasis
-#: configuration.xml:179
-#, no-c-format
+#: index.docbook:173
msgid "database user"
msgstr "usuario de base de datos"
-#. Tag: literal
-#: configuration.xml:184 configuration.xml:280
-#, no-c-format
+#: index.docbook:178, index.docbook:272
msgid "hibernate.connection.password"
msgstr "hibernate.connection.password"
-#. Tag: emphasis
-#: configuration.xml:187
-#, no-c-format
+#: index.docbook:181
msgid "database user password"
-msgstr "contraseña del usuario de base de datos"
+msgstr "contraseña del usuario de base de datos"
-#. Tag: literal
-#: configuration.xml:192
-#, no-c-format
+#: index.docbook:186
msgid "hibernate.connection.pool_size"
msgstr "hibernate.connection.pool_size"
-#. Tag: emphasis
-#: configuration.xml:195
-#, no-c-format
+#: index.docbook:189
msgid "maximum number of pooled connections"
-msgstr "número máximo de conexiones manejadas por pooling"
+msgstr "número máximo de conexiones manejadas por
pooling"
-#. Tag: para
-#: configuration.xml:202
-#, no-c-format
+#: index.docbook:196
msgid ""
"Hibernate's own connection pooling algorithm is however quite rudimentary.
"
"It is intended to help you get started and is <emphasis>not intended for use
"
"in a production system</emphasis> or even for performance testing. You
"
"should use a third party pool for best performance and stability. Just "
-"replace the <literal>hibernate.connection.pool_size</literal> property
with "
-"connection pool specific settings. This will turn off Hibernate's internal
"
-"pool. For example, you might like to use C3P0."
+"replace the <property>hibernate.connection.pool_size</property>
property "
+"with connection pool specific settings. This will turn off Hibernate's "
+"internal pool. For example, you might like to use C3P0."
msgstr ""
"El algoritmo de pooling de conexiones propio de Hibernate es sin embargo "
-"algo rudimentario. Está concebido para ayudarte a comenzar y <emphasis>no
"
-"está concebido para usar en un sistema de producción</emphasis> ni siquiera
"
-"para pruebas de rendimiento. Debes usar un pool de terceros para un mejor "
-"rendimiento y estabilidad. Sólo remplaza la propiedad
<literal>hibernate."
-"connection.pool_size</literal> con configuraciones específicas del pool de
"
-"conexiones. Esto desactivará el pool interno de Hibernate. Por ejemplo, "
-"podrías querer usar C3P0."
+"algo rudimentario. Está concebido para ayudarte a comenzar y "
+"<emphasis>no está concebido para usar en un sistema de "
+"producción</emphasis> ni siquiera para pruebas de rendimiento.
Debes "
+"usar un pool de terceros para un mejor rendimiento y estabilidad.
Só"
+"lo remplaza la propiedad
<literal>hibernate.connection.pool_size</literal> "
+"con configuraciones específicas del pool de conexiones. Esto "
+"desactivará el pool interno de Hibernate. Por ejemplo,
podrías "
+"querer usar C3P0."
-#. Tag: para
-#: configuration.xml:212
-#, no-c-format
+#: index.docbook:206
msgid ""
"C3P0 is an open source JDBC connection pool distributed along with Hibernate
"
-"in the <literal>lib</literal> directory. Hibernate will use its "
-"<literal>C3P0ConnectionProvider</literal> for connection pooling if you
set "
-"<literal>hibernate.c3p0.*</literal> properties. If you'd like to
use Proxool "
-"refer to the packaged <literal>hibernate.properties</literal> and the
"
-"Hibernate web site for more information."
+"in the <filename>lib</filename> directory. Hibernate will use its
"
+"<classname>org.hibernate.connection.C3P0ConnectionProvider</classname>
for "
+"connection pooling if you set <property>hibernate.c3p0.*</property>
"
+"properties. If you'd like to use Proxool refer to the packaged "
+"<filename>hibernate.properties</filename> and the Hibernate web site
for "
+"more information."
msgstr ""
-"C3P0 es un pool de conexiones JDBC de código abierto distribuido junto a "
-"Hibernate en el directorio <literal>lib</literal>. Hibernate usará su
"
-"<literal>C3P0ConnectionProvider</literal> para pooling de conexiones si
"
-"estableces propiedades <literal>hibernate.c3p0.*</literal>. Si quieres
usar "
-"Proxool refiérete al <literal>hibernate.properties</literal>
empaquetado y "
-"al sitio web de Hibernate para más información."
+"C3P0 es un pool de conexiones JDBC de código abierto distribuido "
+"junto a Hibernate en el directorio <literal>lib</literal>. Hibernate
"
+"usará su <literal>C3P0ConnectionProvider</literal> para
pooling de "
+"conexiones si estableces propiedades
<literal>hibernate.c3p0.*</literal>. Si "
+"quieres usar Proxool refiérete al
<literal>hibernate.properties</"
+"literal> empaquetado y al sitio web de Hibernate para más "
+"información."
-#. Tag: para
-#: configuration.xml:221
-#, no-c-format
+#: index.docbook:214
msgid ""
-"Here is an example <literal>hibernate.properties</literal> file for
C3P0:"
+"Here is an example <filename>hibernate.properties</filename> file for
C3P0:"
msgstr ""
-"Aquí hay un fichero <literal>hibernate.properties</literal> de ejemplo
para "
-"C3P0:"
+"Aquí hay un fichero <literal>hibernate.properties</literal>
de "
+"ejemplo para C3P0:"
-#. Tag: programlisting
-#: configuration.xml:225
-#, no-c-format
+#: index.docbook:218
msgid ""
"<![CDATA[hibernate.connection.driver_class = org.postgresql.Driver\n"
"hibernate.connection.url = jdbc:postgresql://localhost/mydatabase\n"
@@ -461,90 +374,79 @@
"hibernate.c3p0.max_statements=50\n"
"hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
msgstr ""
+"<![CDATA[hibernate.connection.driver_class = org.postgresql.Driver\n"
+"hibernate.connection.url = jdbc:postgresql://localhost/mydatabase\n"
+"hibernate.connection.username = myuser\n"
+"hibernate.connection.password = secret\n"
+"hibernate.c3p0.min_size=5\n"
+"hibernate.c3p0.max_size=20\n"
+"hibernate.c3p0.timeout=1800\n"
+"hibernate.c3p0.max_statements=50\n"
+"hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
-#. Tag: para
-#: configuration.xml:227
-#, no-c-format
+#: index.docbook:220
msgid ""
"For use inside an application server, you should almost always configure "
"Hibernate to obtain connections from an application server "
-"<literal>Datasource</literal> registered in JNDI. You'll need to
set at "
-"least one of the following properties:"
+"<interfacename>javax.sql.Datasource</interfacename> registered in JNDI.
"
+"You'll need to set at least one of the following properties:"
msgstr ""
"Para su uso en un servidor de aplicaciones, casi siempre debes configurar "
"Hibernate para que obtenga conexiones de un
<literal>Datasource</literal> "
-"del servidor de aplicaciones registrado en JNDI. Necesitarás establecer al "
-"menos una de las siguientes propiedades:"
+"del servidor de aplicaciones registrado en JNDI. Necesitarás "
+"establecer al menos una de las siguientes propiedades:"
-#. Tag: title
-#: configuration.xml:235
-#, no-c-format
+#: index.docbook:227
msgid "Hibernate Datasource Properties"
msgstr "Propiedades de Datasource de Hibernate"
-#. Tag: literal
-#: configuration.xml:248
-#, no-c-format
+#: index.docbook:240
msgid "hibernate.connection.datasource"
msgstr "hibernate.connection.datasource"
-#. Tag: emphasis
-#: configuration.xml:251
-#, no-c-format
+#: index.docbook:243
msgid "datasource JNDI name"
msgstr "nombre del datasource JNDI"
-#. Tag: literal
-#: configuration.xml:256
-#, no-c-format
+#: index.docbook:248
msgid "hibernate.jndi.url"
msgstr "hibernate.jndi.url"
-#. Tag: entry
-#: configuration.xml:258
-#, fuzzy, no-c-format
+#: index.docbook:250
msgid "<emphasis>URL of the JNDI provider</emphasis> (optional)"
-msgstr "URL del provedor JNDI"
+msgstr "<emphasis>URL del provedor JNDI</emphasis> (optional)"
-#. Tag: literal
-#: configuration.xml:264
-#, no-c-format
+#: index.docbook:256
msgid "hibernate.jndi.class"
msgstr "hibernate.jndi.class"
-#. Tag: entry
-#: configuration.xml:266
-#, no-c-format
+#: index.docbook:258
msgid ""
"<emphasis>class of the JNDI
<literal>InitialContextFactory</literal></"
"emphasis> (optional)"
msgstr ""
+"<emphasis>clase de la <literal>InitialContextFactory</literal> de
JNDI</"
+"emphasis> (opcional)"
-#. Tag: entry
-#: configuration.xml:274
-#, no-c-format
+#: index.docbook:266
msgid "<emphasis>database user</emphasis> (optional)"
-msgstr ""
+msgstr "<emphasis>usuario de base de datos</emphasis> (opcional)"
-#. Tag: entry
-#: configuration.xml:282
-#, no-c-format
+#: index.docbook:274
msgid "<emphasis>database user password</emphasis> (optional)"
msgstr ""
+"<emphasis>contraseña del usuario de base de datos</emphasis>
"
+"(opcional)"
-#. Tag: para
-#: configuration.xml:290
-#, no-c-format
+#: index.docbook:282
msgid ""
-"Here's an example <literal>hibernate.properties</literal> file for
an "
+"Here's an example <filename>hibernate.properties</filename> file
for an "
"application server provided JNDI datasource:"
msgstr ""
-"He aquí un fichero <literal>hibernate.properties</literal> de ejemplo
para "
-"un un datasource JNDI provisto por un servidor de aplicaciones."
+"He aquí un fichero <literal>hibernate.properties</literal>
de ejemplo "
+"para un un datasource JNDI provisto por un servidor de aplicaciones."
-#. Tag: programlisting
-#: configuration.xml:295
-#, no-c-format
+#: index.docbook:287
msgid ""
"<![CDATA[hibernate.connection.datasource = java:/comp/env/jdbc/test\n"
"hibernate.transaction.factory_class = \\\n"
@@ -553,437 +455,214 @@
" org.hibernate.transaction.JBossTransactionManagerLookup\n"
"hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
msgstr ""
+"<![CDATA[hibernate.connection.datasource = java:/comp/env/jdbc/test\n"
+"hibernate.transaction.factory_class = \\\n"
+" org.hibernate.transaction.JTATransactionFactory\n"
+"hibernate.transaction.manager_lookup_class = \\\n"
+" org.hibernate.transaction.JBossTransactionManagerLookup\n"
+"hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
-#. Tag: para
-#: configuration.xml:297
-#, no-c-format
+#: index.docbook:289
msgid ""
"JDBC connections obtained from a JNDI datasource will automatically "
"participate in the container-managed transactions of the application server."
msgstr ""
-"Las conexiones JDBC obtenidas de un datasource JNDI participarán "
-"automáticamente en las transacciones del servidor de aplicaciones manejadas "
-"por contenedor."
+"Las conexiones JDBC obtenidas de un datasource JNDI participarán "
+"automáticamente en las transacciones del servidor de aplicaciones
"
+"manejadas por contenedor."
-#. Tag: para
-#: configuration.xml:302
-#, no-c-format
+#: index.docbook:294
msgid ""
"Arbitrary connection properties may be given by prepending "
-"\"<literal>hibernate.connection</literal>\" to the property
name. For "
-"example, you may specify a <literal>charSet</literal> using "
-"<literal>hibernate.connection.charSet</literal>."
+"\"<literal>hibernate.connection</literal>\" to the connection
property name. "
+"For example, you may specify a <property>charSet</property> connection
"
+"property using
<property>hibernate.connection.charSet</property>."
msgstr ""
-"Pueden darse propiedades de conexión arbitrarias anteponiendo "
+"Pueden darse propiedades de conexión arbitrarias anteponiendo "
"\"<literal>hibernate.connnection</literal>\" al nombre de
propiedad. Por "
"ejemplo, puedes especificar un <literal>charSet</literal> usando
"
"<literal>hibernate.connection.charSet</literal>."
-#. Tag: para
-#: configuration.xml:308
-#, no-c-format
+#: index.docbook:300
msgid ""
"You may define your own plugin strategy for obtaining JDBC connections by "
-"implementing the interface <literal>org.hibernate.connection."
-"ConnectionProvider</literal>. You may select a custom implementation by
"
-"setting <literal>hibernate.connection.provider_class</literal>."
+"implementing the interface <interfacename>org.hibernate.connection."
+"ConnectionProvider</interfacename>, and specifying your custom "
+"implementation via the
<property>hibernate.connection.provider_class</"
+"property> property."
msgstr ""
"Puedes definir tu propia estrategia de plugin para obtener conexiones JDBC "
"implementando la interface <literal>org.hibernate.connection."
-"ConnectionProvider</literal>. Puedes seleccionar una implementación "
+"ConnectionProvider</literal>. Puedes seleccionar una
implementación "
"personalizada estableciendo
<literal>hibernate.connection.provider_class</"
"literal>."
-#. Tag: title
-#: configuration.xml:317
-#, no-c-format
+#: index.docbook:309
msgid "Optional configuration properties"
-msgstr "Parámetros de configuración opcionales"
+msgstr "Parámetros de configuración opcionales"
-#. Tag: para
-#: configuration.xml:319
-#, no-c-format
+#: index.docbook:311
msgid ""
"There are a number of other properties that control the behaviour of "
"Hibernate at runtime. All are optional and have reasonable default values."
msgstr ""
-"Hay un número de otras propiedades que controlan el comportamiento de "
-"Hibernate en tiempo de ejecución. Todas son opcionales y tienen valores por "
-"defecto razonables."
+"Hay un número de otras propiedades que controlan el comportamiento de
"
+"Hibernate en tiempo de ejecución. Todas son opcionales y tienen "
+"valores por defecto razonables."
-#. Tag: para
-#: configuration.xml:324
-#, no-c-format
+#: index.docbook:316
msgid ""
"<emphasis>Warning: some of these properties are \"system-level\"
only.</"
"emphasis> System-level properties can be set only via <literal>java
-"
-"Dproperty=value</literal> or
<literal>hibernate.properties</literal>. They "
+"Dproperty=value</literal> or
<filename>hibernate.properties</filename>. They "
"may <emphasis>not</emphasis> be set by the other techniques described
above."
msgstr ""
"<emphasis>Advertencia: algunas de estas propiedades son de
\"nivel-de-sistema"
-"\" solamente.</emphasis>. Las propiedades a nivel de sistema sólo pueden
ser "
-"establecidas por medio de <literal>java -Dproperty=value</literal> o
"
-"<literal>hibernate.properties</literal>.
<emphasis>No</emphasis> pueden "
-"establecerse por medio de las otras técnicas arriba descritas."
+"\" solamente.</emphasis>. Las propiedades a nivel de sistema
sólo "
+"pueden ser establecidas por medio de <literal>java
-Dproperty=value</"
+"literal> o <literal>hibernate.properties</literal>.
<emphasis>No</emphasis> "
+"pueden establecerse por medio de las otras técnicas arriba
descritas."
-#. Tag: title
-#: configuration.xml:332
-#, no-c-format
+#: index.docbook:323
msgid "Hibernate Configuration Properties"
-msgstr "Propiedades de Configuración de Hibernate"
+msgstr "Propiedades de Configuración de Hibernate"
-#. Tag: literal
-#: configuration.xml:345
-#, no-c-format
+#: index.docbook:336
msgid "hibernate.dialect"
msgstr "hibernate.dialect"
-#. Tag: entry
-#: configuration.xml:347
-#, fuzzy, no-c-format
+#: index.docbook:338
msgid ""
-"The classname of a Hibernate <literal>Dialect</literal> which allows
"
-"Hibernate to generate SQL optimized for a particular relational database."
+"The classname of a Hibernate
<classname>org.hibernate.dialect.Dialect</"
+"classname> which allows Hibernate to generate SQL optimized for a particular
"
+"relational database."
msgstr ""
-"El nombre de clase de un <placeholder-1/> de Hibernate que permite a "
-"Hibernate generar SQL optimizado para una base de datos relacional en "
-"particular. <placeholder-2/>"
+"El nombre de clase de un <literal>Dialect</literal> de Hibernate que
permite "
+"a Hibernate generar SQL optimizado para una base de datos relacional en "
+"particular."
-#. Tag: para
-#: configuration.xml:351
-#, fuzzy, no-c-format
+#: index.docbook:341
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>full.classname.of.Dialect</"
"literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis>
<literal>full.classname.of.Dialect</"
+"literal>"
-#. Tag: literal
-#: configuration.xml:359
-#, no-c-format
+#: index.docbook:345
+msgid ""
+"In most cases Hibernate will actually be able to chose the correct "
+"<classname>org.hibernate.dialect.Dialect</classname> implementation to
use "
+"based on the <literal>JDBC metadata</literal> returned by the JDBC
driver."
+msgstr ""
+"UNTRANSLATED! In most cases Hibernate will actually be able to chose the "
+"correct <classname>org.hibernate.dialect.Dialect</classname>
implementation "
+"to use based on the <literal>JDBC metadata</literal> returned by the
JDBC "
+"driver."
+
+#: index.docbook:354
msgid "hibernate.show_sql"
msgstr "hibernate.show_sql"
-#. Tag: entry
-#: configuration.xml:361
-#, fuzzy, no-c-format
+#: index.docbook:356
msgid ""
"Write all SQL statements to console. This is an alternative to setting the "
"log category <literal>org.hibernate.SQL</literal> to
<literal>debug</"
"literal>."
msgstr ""
"Escribe todas las sentencias SQL a la consola. This is an alternative to "
-"setting the log category <placeholder-1/> to <placeholder-2/>.
<placeholder-"
-"3/>"
+"setting the log category <literal>org.hibernate.SQL</literal> to
"
+"<literal>debug</literal>."
-#. Tag: para
-#: configuration.xml:365 configuration.xml:377 configuration.xml:471
-#: configuration.xml:484 configuration.xml:497 configuration.xml:510
-#: configuration.xml:564 configuration.xml:591 configuration.xml:605
-#: configuration.xml:660 configuration.xml:888 configuration.xml:903
-#: configuration.xml:993
-#, fuzzy, no-c-format
+#: index.docbook:360, index.docbook:372, index.docbook:466, index.docbook:479,
+#: index.docbook:492, index.docbook:505, index.docbook:559, index.docbook:586,
+#: index.docbook:599, index.docbook:654, index.docbook:882, index.docbook:897,
+#: index.docbook:987
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>true</literal> | "
"<literal>false</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
+"<emphasis role=\"strong\">eg.</emphasis>
<literal>true</literal> | "
"<literal>false</literal>"
-#. Tag: literal
-#: configuration.xml:373
-#, no-c-format
+#: index.docbook:368
msgid "hibernate.format_sql"
msgstr "hibernate.format_sql"
-#. Tag: entry
-#: configuration.xml:375
-#, fuzzy, no-c-format
+#: index.docbook:370
msgid "Pretty print the SQL in the log and console."
-msgstr "Pretty print the SQL in the log and console. <placeholder-1/>"
+msgstr "Pretty print the SQL in the log and console."
-#. Tag: literal
-#: configuration.xml:385
-#, no-c-format
+#: index.docbook:380
msgid "hibernate.default_schema"
msgstr "hibernate.default_schema"
-#. Tag: entry
-#: configuration.xml:387
-#, fuzzy, no-c-format
+#: index.docbook:382
msgid ""
"Qualify unqualified table names with the given schema/tablespace in "
"generated SQL."
msgstr ""
"Cualifica, en el SQL generado, los nombres de tabla sin cualificar con el "
-"esquema/tablespace dado. <placeholder-1/>"
+"esquema/tablespace dado."
-#. Tag: para
-#: configuration.xml:390
-#, fuzzy, no-c-format
+#: index.docbook:385
msgid "<emphasis role=\"strong\">eg.</emphasis>
<literal>SCHEMA_NAME</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis>
<literal>SCHEMA_NAME</literal>"
-#. Tag: literal
-#: configuration.xml:398
-#, no-c-format
+#: index.docbook:393
msgid "hibernate.default_catalog"
msgstr "hibernate.default_catalog"
-#. Tag: entry
-#: configuration.xml:400
-#, fuzzy, no-c-format
+#: index.docbook:395
msgid ""
"Qualify unqualified table names with the given catalog in generated SQL."
msgstr ""
"Cualifica, en el SQL generado, los nombres de tabla sin cualificar con el "
-"catálogo dado. <placeholder-1/>"
+"catálogo dado."
-#. Tag: para
-#: configuration.xml:403
-#, fuzzy, no-c-format
+#: index.docbook:398
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>CATALOG_NAME</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis>
<literal>CATALOG_NAME</literal>"
-#. Tag: literal
-#: configuration.xml:411
-#, no-c-format
+#: index.docbook:406
msgid "hibernate.session_factory_name"
msgstr "hibernate.session_factory_name"
-#. Tag: entry
-#: configuration.xml:413
-#, fuzzy, no-c-format
+#: index.docbook:408
msgid ""
-"The <literal>SessionFactory</literal> will be automatically bound to
this "
-"name in JNDI after it has been created."
+"The <interfacename>org.hibernate.SessionFactory</interfacename> will be
"
+"automatically bound to this name in JNDI after it has been created."
msgstr ""
-"La <placeholder-1/> será ligada a este nombre en JNDI automáticamente "
-"después de ser creada. <placeholder-2/>"
+"La <literal>SessionFactory</literal> será ligada a este
nombre en "
+"JNDI automáticamente después de ser creada."
-#. Tag: para
-#: configuration.xml:416 configuration.xml:859
-#, fuzzy, no-c-format
+#: index.docbook:411, index.docbook:853
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>jndi/composite/name</"
"literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis>
<literal>jndi/composite/name</"
+"literal>"
-#. Tag: literal
-#: configuration.xml:424
-#, no-c-format
+#: index.docbook:419
msgid "hibernate.max_fetch_depth"
msgstr "hibernate.max_fetch_depth"
-#. Tag: entry
-#: configuration.xml:426
-#, fuzzy, no-c-format
+#: index.docbook:421
msgid ""
"Set a maximum \"depth\" for the outer join fetch tree for single-ended
"
"associations (one-to-one, many-to-one). A <literal>0</literal> disables
"
"default outer join fetching."
msgstr ""
-"Establece una \"profundidad\" máxima del árbol de recuperación por outer
"
-"join para asociaciones de un extremo solo (uno-a-uno, muchos-a-uno). Un "
-"<placeholder-1/> deshabilita la recuperación por outer join por defecto.
"
-"<placeholder-2/>"
+"Establece una \"profundidad\" máxima del árbol de
"
+"recuperación por outer join para asociaciones de un extremo solo
(uno-"
+"a-uno, muchos-a-uno). Un <literal>0</literal> deshabilita la "
+"recuperación por outer join por defecto."
-#. Tag: para
-#: configuration.xml:430
-#, no-c-format
+#: index.docbook:425
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> recommended values
between "
"<literal>0</literal> and <literal>3</literal>"
@@ -991,23 +670,17 @@
"<emphasis role=\"strong\">ej.</emphasis> valores recomendados
entre "
"<literal>0</literal> y <literal>3</literal>"
-#. Tag: literal
-#: configuration.xml:439
-#, no-c-format
+#: index.docbook:434
msgid "hibernate.default_batch_fetch_size"
msgstr "hibernate.default_batch_fetch_size"
-#. Tag: entry
-#: configuration.xml:441
-#, fuzzy, no-c-format
+#: index.docbook:436
msgid "Set a default size for Hibernate batch fetching of associations."
msgstr ""
-"Establece un tamaño por defecto para la recuperación en lote de asociaciones
"
-"de Hibernate. <placeholder-1/>"
+"Establece un tamaño por defecto para la recuperación en lote
"
+"de asociaciones de Hibernate."
-#. Tag: para
-#: configuration.xml:443
-#, no-c-format
+#: index.docbook:438
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> recommended values
<literal>4</"
"literal>, <literal>8</literal>,
<literal>16</literal>"
@@ -1015,25 +688,19 @@
"<emphasis role=\"strong\">ej.</emphasis> valores recomendados
<literal>4</"
"literal>, <literal>8</literal>,
<literal>16</literal>"
-#. Tag: literal
-#: configuration.xml:452
-#, no-c-format
+#: index.docbook:447
msgid "hibernate.default_entity_mode"
msgstr "hibernate.default_entity_mode"
-#. Tag: entry
-#: configuration.xml:454
-#, fuzzy, no-c-format
+#: index.docbook:449
msgid ""
"Set a default mode for entity representation for all sessions opened from "
"this <literal>SessionFactory</literal>"
msgstr ""
-"Establece un modo por defecto de representación de entidades para todas las "
-"sesiones abiertas por esta <placeholder-1/><placeholder-2/>"
+"Establece un modo por defecto de representación de entidades para
"
+"todas las sesiones abiertas por esta
<literal>SessionFactory</literal>"
-#. Tag: para
-#: configuration.xml:457
-#, no-c-format
+#: index.docbook:452
msgid ""
"<literal>dynamic-map</literal>, <literal>dom4j</literal>,
<literal>pojo</"
"literal>"
@@ -1041,110 +708,84 @@
"<literal>dynamic-map</literal>, <literal>dom4j</literal>,
<literal>pojo</"
"literal>"
-#. Tag: literal
-#: configuration.xml:465
-#, no-c-format
+#: index.docbook:460
msgid "hibernate.order_updates"
msgstr "hibernate.order_updates"
-#. Tag: entry
-#: configuration.xml:467
-#, fuzzy, no-c-format
+#: index.docbook:462
msgid ""
"Force Hibernate to order SQL updates by the primary key value of the items "
"being updated. This will result in fewer transaction deadlocks in highly "
"concurrent systems."
msgstr ""
"Fuerza a Hibernate a ordenar las actualizaciones SQL por el valor de la "
-"clave primaria de los items a actualizar. Esto resultará en menos bloqueos "
-"muertos de transacción en sistemas altamente concurrentes.
<placeholder-1/>"
+"clave primaria de los items a actualizar. Esto resultará en menos
"
+"bloqueos muertos de transacción en sistemas altamente
concurrentes."
-#. Tag: literal
-#: configuration.xml:479
-#, no-c-format
+#: index.docbook:474
msgid "hibernate.generate_statistics"
msgstr "hibernate.generate_statistics"
-#. Tag: entry
-#: configuration.xml:481
-#, fuzzy, no-c-format
+#: index.docbook:476
msgid ""
"If enabled, Hibernate will collect statistics useful for performance tuning."
msgstr ""
-"De habilitarse, Hibernate colectará estadísticas útiles para la afinación de
"
-"rendimiento. <placeholder-1/>"
+"De habilitarse, Hibernate colectará estadísticas
útiles "
+"para la afinación de rendimiento."
-#. Tag: literal
-#: configuration.xml:492
-#, no-c-format
+#: index.docbook:487
msgid "hibernate.use_identifier_rollback"
msgstr "hibernate.use_identifer_rollback"
-#. Tag: entry
-#: configuration.xml:494
-#, fuzzy, no-c-format
+#: index.docbook:489
msgid ""
"If enabled, generated identifier properties will be reset to default values "
"when objects are deleted."
msgstr ""
-"De habilitarse, las propiedades identificadoras generadas serán reseteadas a
"
-"valores por defecto cuando los objetos sean borrados. <placeholder-1/>"
+"De habilitarse, las propiedades identificadoras generadas serán "
+"reseteadas a valores por defecto cuando los objetos sean borrados."
-#. Tag: literal
-#: configuration.xml:505
-#, no-c-format
+#: index.docbook:500
msgid "hibernate.use_sql_comments"
msgstr "hibernate.use_sql_comments"
-#. Tag: entry
-#: configuration.xml:507
-#, fuzzy, no-c-format
+#: index.docbook:502
msgid ""
"If turned on, Hibernate will generate comments inside the SQL, for easier "
"debugging, defaults to <literal>false</literal>."
msgstr ""
-"De activarse, Hibernate generará comentarios dentro del SQL, para una más "
-"fácil depuración, por defecto a <placeholder-1/>.
<placeholder-2/>"
+"De activarse, Hibernate generará comentarios dentro del SQL, para una
"
+"más fácil depuración, por defecto a
<literal>false</"
+"literal>."
-#. Tag: title
-#: configuration.xml:521
-#, no-c-format
+#: index.docbook:516
msgid "Hibernate JDBC and Connection Properties"
msgstr "Propiedades de JDBC y Conexiones de Hibernate"
-#. Tag: literal
-#: configuration.xml:536
-#, no-c-format
+#: index.docbook:531
msgid "hibernate.jdbc.fetch_size"
msgstr "hibernate.jdbc.fetch_size"
-#. Tag: entry
-#: configuration.xml:538
-#, fuzzy, no-c-format
+#: index.docbook:533
msgid ""
"A non-zero value determines the JDBC fetch size (calls
<literal>Statement."
"setFetchSize()</literal>)."
msgstr ""
-"Un valor distinto de cero que determina el tamaño de recuperación de JDBC "
-"(llama a <placeholder-1/>)."
+"Un valor distinto de cero que determina el tamaño de "
+"recuperación de JDBC (llama a
<literal>Statement.setFetchSize()</"
+"literal>)."
-#. Tag: literal
-#: configuration.xml:545
-#, no-c-format
+#: index.docbook:540
msgid "hibernate.jdbc.batch_size"
msgstr "hibernate.jdbc.batch_size"
-#. Tag: entry
-#: configuration.xml:547
-#, fuzzy, no-c-format
+#: index.docbook:542
msgid "A non-zero value enables use of JDBC2 batch updates by Hibernate."
msgstr ""
"Un valor distinto de cero habilita el uso de actualizaciones en lote de "
-"JDBC2 por Hibernate. <placeholder-1/>"
+"JDBC2 por Hibernate."
-#. Tag: para
-#: configuration.xml:549
-#, no-c-format
+#: index.docbook:544
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> recommended values
between "
"<literal>5</literal> and <literal>30</literal>"
@@ -1152,133 +793,77 @@
"<emphasis role=\"strong\">ej.</emphasis> valores recomendados
entre "
"<literal>5</literal> y <literal>30</literal>"
-#. Tag: literal
-#: configuration.xml:557
-#, no-c-format
+#: index.docbook:552
msgid "hibernate.jdbc.batch_versioned_data"
msgstr "hibernate.jdbc.batch_versioned_data"
-#. Tag: entry
-#: configuration.xml:559
-#, fuzzy, no-c-format
+#: index.docbook:554
msgid ""
"Set this property to <literal>true</literal> if your JDBC driver
returns "
"correct row counts from <literal>executeBatch()</literal> (it is
usually "
"safe to turn this option on). Hibernate will then use batched DML for "
"automatically versioned data. Defaults to
<literal>false</literal>."
msgstr ""
-"Establece esta propiedad a <placeholder-1/> si tu driver JDBC devuelve
"
-"cuentas correctas de filas desde <placeholder-2/> (usualmente es seguro
"
-"activar esta opción). Hibernate usará DML en lote para versionar "
-"automáticamente los datos. Por defecto a <placeholder-3/>.
<placeholder-4/>"
+"Establece esta propiedad a <literal>true</literal> si tu driver JDBC
"
+"devuelve cuentas correctas de filas desde
<literal>executeBatch()</literal> "
+"(usualmente es seguro activar esta opción). Hibernate usará
"
+"DML en lote para versionar automáticamente los datos. Por defecto a
"
+"<literal>false</literal>."
-#. Tag: literal
-#: configuration.xml:572
-#, no-c-format
+#: index.docbook:567
msgid "hibernate.jdbc.factory_class"
msgstr "hibernate.jdbc.factory_class"
-#. Tag: entry
-#: configuration.xml:574
-#, fuzzy, no-c-format
+#: index.docbook:569
msgid ""
-"Select a custom <literal>Batcher</literal>. Most applications will not
need "
-"this configuration property."
+"Select a custom
<interfacename>org.hibernate.jdbc.Batcher</interfacename>. "
+"Most applications will not need this configuration property."
msgstr ""
-"Selecciona un <placeholder-1/> personalizado. La mayoría de las aplicaciones
"
-"no necesitarán esta propiedad de configuración. <placeholder-2/>"
+"Selecciona un <literal>Batcher</literal> personalizado. La
mayoría de "
+"las aplicaciones no necesitarán esta propiedad de
configuració"
+"n."
-#. Tag: para
-#: configuration.xml:577
-#, fuzzy, no-c-format
+#: index.docbook:572
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>classname.of."
"BatcherFactory</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis>
<literal>classname.of."
+"BatcherFactory</literal>"
-#. Tag: literal
-#: configuration.xml:585
-#, no-c-format
+#: index.docbook:580
msgid "hibernate.jdbc.use_scrollable_resultset"
msgstr "hibernate.jdbc.use_scrollable_resultset"
-#. Tag: entry
-#: configuration.xml:587
-#, fuzzy, no-c-format
+#: index.docbook:582
msgid ""
"Enables use of JDBC2 scrollable resultsets by Hibernate. This property is "
"only necessary when using user supplied JDBC connections, Hibernate uses "
"connection metadata otherwise."
msgstr ""
"Habilita el uso de resultados scrollables de JDBC2 por Hibernate. Esta "
-"propiedad sólo es necesaria cuando se usan conexiones JDBC provistas por el "
-"usuario, en caso contrario Hibernate usa los metadatos de conexión. "
-"<placeholder-1/>"
+"propiedad sólo es necesaria cuando se usan conexiones JDBC provistas
"
+"por el usuario, en caso contrario Hibernate usa los metadatos de "
+"conexión."
-#. Tag: literal
-#: configuration.xml:599
-#, no-c-format
+#: index.docbook:594
msgid "hibernate.jdbc.use_streams_for_binary"
msgstr "hibernate.jdbc.use_streams_for_binary"
-#. Tag: entry
-#: configuration.xml:601
-#, fuzzy, no-c-format
+#: index.docbook:596
msgid ""
"Use streams when writing/reading <literal>binary</literal> or "
-"<literal>serializable</literal> types to/from JDBC (system-level
property)."
+"<literal>serializable</literal> types to/from JDBC.
<emphasis>*system-level "
+"property*</emphasis>"
msgstr ""
-"Usa flujos (streams) al escribir/leer tipos <placeholder-1/> o
<placeholder-"
-"2/> a/desde JDBC (propiedad a nivel de sistema). <placeholder-3/>"
+"Usa flujos (streams) al escribir/leer tipos <literal>binary</literal> o
"
+"<literal>serializable</literal> a/desde JDBC (propiedad a nivel de
sistema)."
-#. Tag: literal
-#: configuration.xml:613
-#, no-c-format
+#: index.docbook:607
msgid "hibernate.jdbc.use_get_generated_keys"
msgstr "hibernate.jdbc.use_get_generated_keys"
-#. Tag: entry
-#: configuration.xml:615
-#, fuzzy, no-c-format
+#: index.docbook:609
msgid ""
"Enable use of JDBC3
<literal>PreparedStatement.getGeneratedKeys()</literal> "
"to retrieve natively generated keys after insert. Requires JDBC3+ driver and
"
@@ -1286,208 +871,74 @@
"identifier generators. By default, tries to determine the driver "
"capabilities using connection metadata."
msgstr ""
-"Habilita el uso de <placeholder-1/> de JDBC3 para traer claves generadas
"
-"nativamente después de insertar. Requiere un driver JDBC3+ y un JRE1.4+. "
-"Establécela a false si tu driver tiene problemas con los generadores de "
-"identificador de Hibernate. Por defecto, se intenta determinar las "
-"capacidades del driver usando los metadatos de conexión.
<placeholder-2/>"
+"Habilita el uso de
<literal>PreparedStatement.getGeneratedKeys()</literal> "
+"de JDBC3 para traer claves generadas nativamente después de insertar.
"
+"Requiere un driver JDBC3+ y un JRE1.4+. Establécela a false si tu
"
+"driver tiene problemas con los generadores de identificador de Hibernate. "
+"Por defecto, se intenta determinar las capacidades del driver usando los "
+"metadatos de conexión."
-#. Tag: para
-#: configuration.xml:621 configuration.xml:751 configuration.xml:763
-#: configuration.xml:777 configuration.xml:815
-#, fuzzy, no-c-format
+#: index.docbook:615, index.docbook:745, index.docbook:757, index.docbook:771,
+#: index.docbook:809
msgid "<emphasis role=\"strong\">eg.</emphasis>
<literal>true|false</literal>"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>"
+msgstr "<emphasis role=\"strong\">ej.</emphasis>
<literal>true|false</literal>"
-#. Tag: literal
-#: configuration.xml:629
-#, no-c-format
+#: index.docbook:623
msgid "hibernate.connection.provider_class"
msgstr "hibernate.connection.provider_class"
-#. Tag: entry
-#: configuration.xml:631
-#, fuzzy, no-c-format
+#: index.docbook:625
msgid ""
-"The classname of a custom <literal>ConnectionProvider</literal> which
"
-"provides JDBC connections to Hibernate."
+"The classname of a custom <interfacename>org.hibernate.connection."
+"ConnectionProvider</interfacename> which provides JDBC connections to "
+"Hibernate."
msgstr ""
-"EL nombre de clase de un <placeholder-1/> personalizado que provea "
-"conexiones JDBC a Hibernate. <placeholder-2/>"
+"EL nombre de clase de un <literal>ConnectionProvider</literal>
personalizado "
+"que provea conexiones JDBC a Hibernate."
-#. Tag: para
-#: configuration.xml:634
-#, fuzzy, no-c-format
+#: index.docbook:628
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>classname.of."
"ConnectionProvider</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis>
<literal>classname.of."
+"ConnectionProvider</literal>"
-#. Tag: literal
-#: configuration.xml:642
-#, no-c-format
+#: index.docbook:636
msgid "hibernate.connection.isolation"
msgstr "hibernate.connection.isolation"
-#. Tag: entry
-#: configuration.xml:644
-#, fuzzy, no-c-format
+#: index.docbook:638
msgid ""
-"Set the JDBC transaction isolation level. Check <literal>java.sql."
-"Connection</literal> for meaningful values but note that most databases do
"
-"not support all isolation levels."
+"Set the JDBC transaction isolation level. Check
<interfacename>java.sql."
+"Connection</interfacename> for meaningful values but note that most "
+"databases do not support all isolation levels and some define additional, "
+"non-standard isolations."
msgstr ""
-"Establece el nivel de aislamiento de transacción JDBC. Comprueba "
-"<placeholder-1/> para valores significativos pero observa que la mayoría de
"
-"las bases de datos no soportan todos los niveles de aislamiento. "
-"<placeholder-2/>"
+"Establece el nivel de aislamiento de transacción JDBC. Comprueba "
+"<literal>java.sql.Connection</literal> para valores significativos pero
"
+"observa que la mayoría de las bases de datos no soportan todos los
"
+"niveles de aislamiento."
-#. Tag: para
-#: configuration.xml:648
-#, fuzzy, no-c-format
+#: index.docbook:642
msgid "<emphasis role=\"strong\">eg.</emphasis>
<literal>1, 2, 4, 8</literal>"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>"
+msgstr "<emphasis role=\"strong\">eg.</emphasis>
<literal>1, 2, 4, 8</literal>"
-#. Tag: literal
-#: configuration.xml:656
-#, no-c-format
+#: index.docbook:650
msgid "hibernate.connection.autocommit"
msgstr "hibernate.connection.autocommit"
-#. Tag: entry
-#: configuration.xml:658
-#, fuzzy, no-c-format
+#: index.docbook:652
msgid "Enables autocommit for JDBC pooled connections (not recommended)."
msgstr ""
-"Habilita compromiso automático (autocommit) para las conexiones JDBC en pool
"
-"(no recomendado). <placeholder-1/>"
+"Habilita compromiso automático (autocommit) para las conexiones JDBC
"
+"en pool (no recomendado)."
-#. Tag: literal
-#: configuration.xml:668
-#, no-c-format
+#: index.docbook:662
msgid "hibernate.connection.release_mode"
msgstr "hibernate.connection.release_mode"
-#. Tag: entry
-#: configuration.xml:670
-#, fuzzy, no-c-format
+#: index.docbook:664
msgid ""
"Specify when Hibernate should release JDBC connections. By default, a JDBC "
"connection is held until the session is explicitly closed or disconnected. "
@@ -1500,31 +951,29 @@
"strategies and <literal>after_transaction</literal> for the JDBC
transaction "
"strategy."
msgstr ""
-"Especifica cuándo Hibernate debe liberar las conexiones JDBC. Por defecto, "
-"una conexión JDBC es retenida hasta que la sesión es cerrada explícitamente "
-"o desconectada. Para un datasource JTA del servidor de aplicaciones, debes "
-"usar <placeholder-1/> para liberar agresivamente las conexiones después de
"
-"cada llamada JDBC. Para una conexión no JTA, frecuentemente tiene sentido "
-"liberar la conexión al final de cada transacción, usando <placeholder-2/>.
"
-"<placeholder-3/> eligirá <placeholder-4/> para las estrategias JTA o
CMT de "
-"transacción y <placeholder-5/> para la estrategia JDBC de transacción.
"
-"<placeholder-6/><placeholder-7/>"
+"Especifica cuándo Hibernate debe liberar las conexiones JDBC. Por
"
+"defecto, una conexión JDBC es retenida hasta que la sesión es
"
+"cerrada explícitamente o desconectada. Para un datasource JTA del
"
+"servidor de aplicaciones, debes usar <literal>after_statement</literal>
para "
+"liberar agresivamente las conexiones después de cada llamada JDBC.
"
+"Para una conexión no JTA, frecuentemente tiene sentido liberar la
"
+"conexión al final de cada transacción, usando "
+"<literal>after_transaction</literal>.
<literal>auto</literal> eligirá "
+"<literal>after_statement</literal> para las estrategias JTA o CMT de
"
+"transacción y <literal>after_transaction</literal> para la
estrategia "
+"JDBC de transacción."
-#. Tag: para
-#: configuration.xml:681
-#, fuzzy, no-c-format
+#: index.docbook:675
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>auto</literal> (default) | "
"<literal>on_close</literal> |
<literal>after_transaction</literal> | "
"<literal>after_statement</literal>"
msgstr ""
-"<emphasis
role=\"strong\">ej.</emphasis><literal>on_close</literal>
(por "
+"<emphasis role=\"strong\">ej.</emphasis>
<literal>on_close</literal> (por "
"defecto)| <literal>after_transaction</literal> |
<literal>after_statement</"
"literal> | <literal>auto</literal>"
-#. Tag: para
-#: configuration.xml:686
-#, fuzzy, no-c-format
+#: index.docbook:680
msgid ""
"Note that this setting only affects <literal>Session</literal>s
returned "
"from <literal>SessionFactory.openSession</literal>. For
<literal>Session</"
@@ -1538,669 +987,349 @@
"literal>s obtained through
<literal>SessionFactory.getCurrentSession</"
"literal>, the <literal>CurrentSessionContext</literal>
implementation "
"configured for use controls the connection release mode for those "
-"<literal>Session</literal>s. See <xref
linkend=\"architecture-current-session"
-"\"/>"
+"<literal>Session</literal>s. See"
-#. Tag: entry
-#: configuration.xml:697
-#, no-c-format
+#: index.docbook:691
msgid ""
-"<literal>hibernate.connection.</literal><emphasis><propertyName></"
+"<property>hibernate.connection.</property><emphasis><propertyName></"
"emphasis>"
-msgstr ""
+msgstr
"hibernate.connection.<emphasis><propertyName></emphasis>"
-#. Tag: entry
-#: configuration.xml:700
-#, no-c-format
+#: index.docbook:694
msgid ""
"Pass the JDBC property
<emphasis><propertyName></emphasis> to "
"<literal>DriverManager.getConnection()</literal>."
msgstr ""
+"Pasa la propiedad JDBC <literal>propertyName</literal> a "
+"<literal>DriverManager.getConnection()</literal>."
-#. Tag: entry
-#: configuration.xml:706
-#, no-c-format
+#: index.docbook:700
msgid ""
-"<literal>hibernate.jndi.</literal><emphasis><propertyName></emphasis>"
-msgstr ""
+"<property>hibernate.jndi.</property><emphasis><propertyName></emphasis>"
+msgstr
"hibernate.jndi.<emphasis><propertyName></emphasis>"
-#. Tag: entry
-#: configuration.xml:709
-#, no-c-format
+#: index.docbook:703
msgid ""
"Pass the property <emphasis><propertyName></emphasis> to
the JNDI "
"<literal>InitialContextFactory</literal>."
msgstr ""
+"Pasa la propiedad <literal>propertyName</literal> a "
+"<literal>InitialContextFactory</literal> de JNDI."
-#. Tag: title
-#: configuration.xml:719
-#, no-c-format
+#: index.docbook:713
msgid "Hibernate Cache Properties"
-msgstr "Propiedades de Caché de Hibernate"
+msgstr "Propiedades de Caché de Hibernate"
-#. Tag: literal
-#: configuration.xml:732
-#, no-c-format
+#: index.docbook:726
msgid "hibernate.cache.provider_class"
msgstr "hibernate.cache.provider_class"
-#. Tag: entry
-#: configuration.xml:734
-#, fuzzy, no-c-format
+#: index.docbook:728
msgid "The classname of a custom
<literal>CacheProvider</literal>."
msgstr ""
-"El nombre de clase de un <placeholder-1/> personalizado.
<placeholder-2/>"
+"El nombre de clase de un <literal>CacheProvider</literal>
personalizado."
-#. Tag: para
-#: configuration.xml:736
-#, fuzzy, no-c-format
+#: index.docbook:730
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>classname.of."
"CacheProvider</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis>
<literal>classname.of."
+"CacheProvider</literal>"
-#. Tag: literal
-#: configuration.xml:744
-#, no-c-format
+#: index.docbook:738
msgid "hibernate.cache.use_minimal_puts"
msgstr "hibernate.cache.use_minimal_puts"
-#. Tag: entry
-#: configuration.xml:746
-#, fuzzy, no-c-format
+#: index.docbook:740
msgid ""
"Optimize second-level cache operation to minimize writes, at the cost of "
"more frequent reads. This setting is most useful for clustered caches and, "
"in Hibernate3, is enabled by default for clustered cache implementations."
msgstr ""
-"Optimiza la operación del caché de segundo nivel para minimizar escrituras, "
-"al costo de lecturas más frecuentes. Esto es más útil para cachés en cluster
"
-"y, en Hibernate3, está habilitado por defecto para implementaciones de caché
"
-"en cluster. <placeholder-1/>"
+"Optimiza la operación del caché de segundo nivel para "
+"minimizar escrituras, al costo de lecturas más frecuentes. Esto es
"
+"más útil para cachés en cluster y, en Hibernate3,
"
+"está habilitado por defecto para implementaciones de caché en
"
+"cluster."
-#. Tag: literal
-#: configuration.xml:759
-#, no-c-format
+#: index.docbook:753
msgid "hibernate.cache.use_query_cache"
msgstr "hibernate.cache.use_query_cache"
-#. Tag: entry
-#: configuration.xml:761
-#, fuzzy, no-c-format
+#: index.docbook:755
msgid ""
"Enable the query cache, individual queries still have to be set cachable."
msgstr ""
-"Habilita el caché de lectura, consultas individuales todavía tienen que "
-"ponerse cachables. <placeholder-1/>"
+"Habilita el caché de lectura, consultas individuales todavía
"
+"tienen que ponerse cachables."
-#. Tag: literal
-#: configuration.xml:771
-#, no-c-format
+#: index.docbook:765
msgid "hibernate.cache.use_second_level_cache"
msgstr "hibernate.cache.use_second_level_cache"
-#. Tag: entry
-#: configuration.xml:773
-#, fuzzy, no-c-format
+#: index.docbook:767
msgid ""
"May be used to completely disable the second level cache, which is enabled "
"by default for classes which specify a
<literal><cache></literal> "
"mapping."
msgstr ""
-"Puede ser usado para deshabilitar completamente el caché de segundo nivel, "
-"que está habilitado por defecto para clases que especifican un mapeo "
-"<placeholder-1/>. <placeholder-2/>"
+"Puede ser usado para deshabilitar completamente el caché de segundo
"
+"nivel, que está habilitado por defecto para clases que especifican un
"
+"mapeo <literal><cache></literal>."
-#. Tag: literal
-#: configuration.xml:785
-#, no-c-format
+#: index.docbook:779
msgid "hibernate.cache.query_cache_factory"
msgstr "hibernate.cache.query_cache_factory"
-#. Tag: entry
-#: configuration.xml:787
-#, fuzzy, no-c-format
+#: index.docbook:781
msgid ""
"The classname of a custom <literal>QueryCache</literal> interface,
defaults "
"to the built-in <literal>StandardQueryCache</literal>."
msgstr ""
-"El nombre de clase de una interface <placeholder-1/> personalizada, por
"
-"defecto al <placeholder-2/> prefabricado. <placeholder-3/>"
+"El nombre de clase de una interface <literal>QueryCache</literal>
"
+"personalizada, por defecto al <literal>StandardQueryCache</literal>
"
+"prefabricado."
-#. Tag: para
-#: configuration.xml:790
-#, fuzzy, no-c-format
+#: index.docbook:784
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>classname.of.QueryCache</"
"literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis>
<literal>classname.of.QueryCache</"
+"literal>"
-#. Tag: literal
-#: configuration.xml:798
-#, no-c-format
+#: index.docbook:792
msgid "hibernate.cache.region_prefix"
msgstr "hibernate.cache.region_prefix"
-#. Tag: entry
-#: configuration.xml:800
-#, fuzzy, no-c-format
+#: index.docbook:794
msgid "A prefix to use for second-level cache region names."
msgstr ""
-"Un prefijo a usar para los nombres de región del caché de segundo nivel. "
-"<placeholder-1/>"
+"Un prefijo a usar para los nombres de región del caché de
"
+"segundo nivel."
-#. Tag: para
-#: configuration.xml:802
-#, fuzzy, no-c-format
+#: index.docbook:796
msgid "<emphasis role=\"strong\">eg.</emphasis>
<literal>prefix</literal>"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>"
+msgstr "<emphasis role=\"strong\">ej.</emphasis>
<literal>prefix</literal>"
-#. Tag: literal
-#: configuration.xml:810
-#, no-c-format
+#: index.docbook:804
msgid "hibernate.cache.use_structured_entries"
msgstr "hibernate.cache.use_structured_entries"
-#. Tag: entry
-#: configuration.xml:812
-#, fuzzy, no-c-format
+#: index.docbook:806
msgid ""
"Forces Hibernate to store data in the second-level cache in a more human-"
"friendly format."
msgstr ""
-"Fuerza a Hibernate a almacenar los datos en el caché de segundo nivel en un "
-"formato más amigable al humano. <placeholder-1/>"
+"Fuerza a Hibernate a almacenar los datos en el caché de segundo nivel
"
+"en un formato más amigable al humano."
-#. Tag: title
-#: configuration.xml:826
-#, no-c-format
+#: index.docbook:820
msgid "Hibernate Transaction Properties"
-msgstr "Propiedades de Transacción de Hibernate"
+msgstr "Propiedades de Transacción de Hibernate"
-#. Tag: literal
-#: configuration.xml:839
-#, no-c-format
+#: index.docbook:833
msgid "hibernate.transaction.factory_class"
msgstr "hibernate.transaction.factory_class"
-#. Tag: entry
-#: configuration.xml:841
-#, fuzzy, no-c-format
+#: index.docbook:835
msgid ""
"The classname of a <literal>TransactionFactory</literal> to use with
"
"Hibernate <literal>Transaction</literal> API (defaults to "
"<literal>JDBCTransactionFactory</literal>)."
msgstr ""
-"El nombre de clase de un <placeholder-1/> a usar con la API de
<placeholder-"
-"2/> de Hibernate (por defectoa <placeholder-3/>).
<placeholder-4/>"
+"El nombre de clase de un <literal>TransactionFactory</literal> a usar
con la "
+"API de <literal>Transaction</literal> de Hibernate (por defectoa
"
+"<literal>JDBCTransactionFactory</literal>)."
-#. Tag: para
-#: configuration.xml:845
-#, fuzzy, no-c-format
+#: index.docbook:839
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>classname.of."
"TransactionFactory</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis>
<literal>classname.of."
+"TransactionFactory</literal>"
-#. Tag: literal
-#: configuration.xml:853
-#, no-c-format
+#: index.docbook:847
msgid "jta.UserTransaction"
msgstr "jta.UserTransaction"
-#. Tag: entry
-#: configuration.xml:855
-#, fuzzy, no-c-format
+#: index.docbook:849
msgid ""
"A JNDI name used by <literal>JTATransactionFactory</literal> to obtain
the "
"JTA <literal>UserTransaction</literal> from the application
server."
msgstr ""
-"Un nombre JNDI usado por <placeholder-1/> para obtener la
<placeholder-2/> "
-"JTA del servidor de aplicaciones. <placeholder-3/>"
+"Un nombre JNDI usado por <literal>JTATransactionFactory</literal> para
"
+"obtener la <literal>UserTransaction</literal> JTA del servidor de
"
+"aplicaciones."
-#. Tag: literal
-#: configuration.xml:867
-#, no-c-format
+#: index.docbook:861
msgid "hibernate.transaction.manager_lookup_class"
msgstr "hibernate.transaction.manager_lookup_class"
-#. Tag: entry
-#: configuration.xml:869
-#, fuzzy, no-c-format
+#: index.docbook:863
msgid ""
"The classname of a <literal>TransactionManagerLookup</literal> -
required "
"when JVM-level caching is enabled or when using hilo generator in a JTA "
"environment."
msgstr ""
-"El nombre de clase de un <placeholder-1/> requerido cuando el chaché a nivel
"
-"de JVM está habilitado o cuando se usa un generador alto/bajo en un entorno "
-"JTA. <placeholder-2/>"
+"El nombre de clase de un <literal>TransactionManagerLookup</literal>
"
+"requerido cuando el chaché a nivel de JVM está habilitado o
"
+"cuando se usa un generador alto/bajo en un entorno JTA."
-#. Tag: para
-#: configuration.xml:873
-#, fuzzy, no-c-format
+#: index.docbook:867
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>classname.of."
"TransactionManagerLookup</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis>
<literal>classname.of."
+"TransactionManagerLookup</literal>"
-#. Tag: literal
-#: configuration.xml:881
-#, no-c-format
+#: index.docbook:875
msgid "hibernate.transaction.flush_before_completion"
msgstr "hibernate.transaction.flush_before_completion"
-#. Tag: entry
-#: configuration.xml:883
-#, fuzzy, no-c-format
+#: index.docbook:877
msgid ""
"If enabled, the session will be automatically flushed during the before "
"completion phase of the transaction. Built-in and automatic session context "
"management is preferred, see <xref
linkend=\"architecture-current-session\"/"
">."
msgstr ""
-"De habilitarse, la sesión se limpiará (flushed) automáticamente durante la "
-"fase previa a la compleción de la transacción. (Muy útil cuando se usa "
-"Hibernate con CMT). <placeholder-1/>"
+"De habilitarse, la sesión se limpiará (flushed)
automá"
+"ticamente durante la fase previa a la compleción de la "
+"transacción. (Muy útil cuando se usa Hibernate con
CMT)."
-#. Tag: literal
-#: configuration.xml:896
-#, no-c-format
+#: index.docbook:890
msgid "hibernate.transaction.auto_close_session"
msgstr "hibernate.transaction.auto_close_session"
-#. Tag: entry
-#: configuration.xml:898
-#, fuzzy, no-c-format
+#: index.docbook:892
msgid ""
"If enabled, the session will be automatically closed during the after "
"completion phase of the transaction. Built-in and utomatic session context "
"management is preferred, see <xref
linkend=\"architecture-current-session\"/"
">."
msgstr ""
-"De habilitarse, la sesión será cerrada automáticamente durante la fase "
-"posterior a la compleción de la transacción. (Muy útil cuando se usa "
-"Hibernate con CMT).<xref
linkend=\"architecture-current-session\"/"
-"><placeholder-1/>"
+"De habilitarse, la sesión será cerrada
automáticamente "
+"durante la fase posterior a la compleción de la transacción.
"
+"(Muy útil cuando se usa Hibernate con CMT)."
-#. Tag: title
-#: configuration.xml:914
-#, no-c-format
+#: index.docbook:908
msgid "Miscellaneous Properties"
-msgstr "Propiedades Misceláneas"
+msgstr "Propiedades Misceláneas"
-#. Tag: literal
-#: configuration.xml:927
-#, no-c-format
+#: index.docbook:921
msgid "hibernate.current_session_context_class"
msgstr "hibernate.current_session_context_class"
-#. Tag: entry
-#: configuration.xml:929
-#, fuzzy, no-c-format
+#: index.docbook:923
msgid ""
"Supply a (custom) strategy for the scoping of the \"current\" "
"<literal>Session</literal>. See <xref
linkend=\"architecture-current-session"
"\"/> for more information about the built-in strategies."
msgstr ""
-"Supply a (custom) strategy for the scoping of the \"current\"
<placeholder-1/"
-">. See <xref linkend=\"architecture-current-session\"/> for more
information "
-"about the built-in strategies. <placeholder-2/>"
+"Supply a (custom) strategy for the scoping of the \"current\" "
+"<literal>Session</literal>. See <xref
linkend=\"architecture-current-session"
+"\"/> for more information about the built-in strategies."
-#. Tag: para
-#: configuration.xml:934
-#, fuzzy, no-c-format
+#: index.docbook:928
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>jta</literal> | "
"<literal>thread</literal> | <literal>managed</literal> |
<literal>custom."
"Class</literal>"
msgstr ""
-"<emphasis
role=\"strong\">eg.</emphasis><literal>jta</literal> |
"
+"<emphasis role=\"strong\">eg.</emphasis>
<literal>jta</literal> | "
"<literal>thread</literal> | <literal>managed</literal> |
<literal>custom."
"Class</literal>"
-#. Tag: literal
-#: configuration.xml:943
-#, no-c-format
+#: index.docbook:937
msgid "hibernate.query.factory_class"
msgstr "hibernate.query.factory_class"
-#. Tag: entry
-#: configuration.xml:945
-#, fuzzy, no-c-format
+#: index.docbook:939
msgid "Chooses the HQL parser implementation."
-msgstr "Elige la implementación de parser HQL. <placeholder-1/>"
+msgstr "Elige la implementación de parser HQL."
-#. Tag: para
-#: configuration.xml:947
-#, fuzzy, no-c-format
+#: index.docbook:941
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>org.hibernate.hql.ast."
"ASTQueryTranslatorFactory</literal> or
<literal>org.hibernate.hql.classic."
"ClassicQueryTranslatorFactory</literal>"
msgstr ""
-"<emphasis
role=\"strong\">ej.</emphasis><literal>org.hibernate.hql.ast."
+"<emphasis role=\"strong\">ej.</emphasis>
<literal>org.hibernate.hql.ast."
"ASTQueryTranslatorFactory</literal> or
<literal>org.hibernate.hql.classic."
"ClassicQueryTranslatorFactory</literal>"
-#. Tag: literal
-#: configuration.xml:956
-#, no-c-format
+#: index.docbook:950
msgid "hibernate.query.substitutions"
msgstr "hibernate.query.substitutions"
-#. Tag: entry
-#: configuration.xml:958
-#, fuzzy, no-c-format
+#: index.docbook:952
msgid ""
"Mapping from tokens in Hibernate queries to SQL tokens (tokens might be "
"function or literal names, for example)."
msgstr ""
-"Mapeos de símbolos en consultas Hibernate a símbolos SQL. (los símbolos "
-"puedem ser nombres de función o literales, por ejemplo).
<placeholder-1/>"
+"Mapeos de símbolos en consultas Hibernate a símbolos SQL.
(los "
+"símbolos puedem ser nombres de función o literales, por
"
+"ejemplo)."
-#. Tag: para
-#: configuration.xml:961
-#, fuzzy, no-c-format
+#: index.docbook:955
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>hqlLiteral=SQL_LITERAL, "
"hqlFunction=SQLFUNC</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">eg.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis
role=\"strong\">ej.</emphasis><literal>true</literal> |
"
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis>
<literal>hqlLiteral=SQL_LITERAL, "
+"hqlFunction=SQLFUNC</literal>"
-#. Tag: literal
-#: configuration.xml:969
-#, no-c-format
+#: index.docbook:963
msgid "hibernate.hbm2ddl.auto"
msgstr "hibernate.hbm2ddl.auto"
-#. Tag: entry
-#: configuration.xml:971
-#, fuzzy, no-c-format
+#: index.docbook:965
msgid ""
"Automatically validate or export schema DDL to the database when the "
"<literal>SessionFactory</literal> is created. With
<literal>create-drop</"
"literal>, the database schema will be dropped when the "
"<literal>SessionFactory</literal> is closed explicitly."
msgstr ""
-"Exporta automáticamente DDL de esquema cuando al crear la <placeholder-1/>.
"
-"Con <placeholder-2/>, el esquema de base de datos será desechado cuando la
"
-"<placeholder-3/> se cierre explícitamente. <placeholder-4/>"
+"Exporta automáticamente DDL de esquema cuando al crear la "
+"<literal>SessionFactory</literal>. Con
<literal>create-drop</literal>, el "
+"esquema de base de datos será desechado cuando la "
+"<literal>SessionFactory</literal> se cierre
explícitamente."
-#. Tag: para
-#: configuration.xml:977
-#, fuzzy, no-c-format
+#: index.docbook:971
msgid ""
"<emphasis role=\"strong\">eg.</emphasis>
<literal>validate</literal> | "
"<literal>update</literal> | <literal>create</literal> |
<literal>create-"
"drop</literal>"
msgstr ""
-"<emphasis
role=\"strong\">ej.</emphasis><literal>update</literal> |
"
+"<emphasis role=\"strong\">ej.</emphasis>
<literal>update</literal> | "
"<literal>create</literal> |
<literal>create-drop</literal>"
-#. Tag: literal
-#: configuration.xml:986
-#, no-c-format
+#: index.docbook:980
msgid "hibernate.cglib.use_reflection_optimizer"
msgstr "hibernate.cglib.use_reflection_optimizer"
-#. Tag: entry
-#: configuration.xml:988
-#, fuzzy, no-c-format
+#: index.docbook:982
msgid ""
"Enables use of CGLIB instead of runtime reflection (System-level property). "
"Reflection can sometimes be useful when troubleshooting, note that Hibernate
"
"always requires CGLIB even if you turn off the optimizer. You can not set "
"this property in <literal>hibernate.cfg.xml</literal>."
msgstr ""
-"Habilita el uso de CGLIB en vez de refleccón en tiempo de ejecución "
-"(propiedad a nivel de sistema). La reflección a veces puede ser útil ante la
"
-"aparición de problemas. Observa que Hibernate siempre requiere CGLIB incluso
"
-"si desactivas el optimizador. No puedes establecer esta propiedad en "
-"<placeholder-1/>. <placeholder-2/>"
+"Habilita el uso de CGLIB en vez de refleccón en tiempo de "
+"ejecución (propiedad a nivel de sistema). La reflección a
"
+"veces puede ser útil ante la aparición de problemas. Observa
"
+"que Hibernate siempre requiere CGLIB incluso si desactivas el optimizador. "
+"No puedes establecer esta propiedad en
<literal>hibernate.cfg.xml</literal>."
-#. Tag: title
-#: configuration.xml:1004
-#, no-c-format
+#: index.docbook:998
msgid "SQL Dialects"
msgstr "SQL Dialects"
-#. Tag: para
-#: configuration.xml:1006
-#, no-c-format
+#: index.docbook:1000
msgid ""
"You should always set the <literal>hibernate.dialect</literal> property
to "
"the correct <literal>org.hibernate.dialect.Dialect</literal> subclass
for "
@@ -2214,301 +1343,199 @@
"defaults for some of the other properties listed above, saving you the "
"effort of specifying them manually."
-#. Tag: title
-#: configuration.xml:1014
-#, no-c-format
+#: index.docbook:1008
msgid "Hibernate SQL Dialects
(<literal>hibernate.dialect</literal>)"
msgstr "Dialectos SQL de
Hibernate(<literal>hibernate.dialect</literal>)"
-#. Tag: entry
-#: configuration.xml:1022
-#, no-c-format
+#: index.docbook:1016
msgid "RDBMS"
msgstr "RDBMS"
-#. Tag: entry
-#: configuration.xml:1023
-#, fuzzy, no-c-format
+#: index.docbook:1017
msgid "Dialect"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Dialect\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Dialecto"
+msgstr "Dialecto"
-#. Tag: entry
-#: configuration.xml:1028
-#, no-c-format
+#: index.docbook:1022
msgid "<entry>DB2</entry>"
-msgstr ""
+msgstr "<entry>DB2</entry>"
-#. Tag: literal
-#: configuration.xml:1028
-#, no-c-format
+#: index.docbook:1022
msgid "org.hibernate.dialect.DB2Dialect"
msgstr "org.hibernate.dialect.DB2Dialect"
-#. Tag: entry
-#: configuration.xml:1031
-#, no-c-format
+#: index.docbook:1025
msgid "DB2 AS/400"
msgstr "DB2 AS/400"
-#. Tag: literal
-#: configuration.xml:1031
-#, no-c-format
+#: index.docbook:1025
msgid "org.hibernate.dialect.DB2400Dialect"
msgstr "org.hibernate.dialect.DB2400Dialect"
-#. Tag: entry
-#: configuration.xml:1034
-#, no-c-format
+#: index.docbook:1028
msgid "DB2 OS390"
msgstr "DB2 OS390"
-#. Tag: literal
-#: configuration.xml:1034
-#, no-c-format
+#: index.docbook:1028
msgid "org.hibernate.dialect.DB2390Dialect"
msgstr "org.hibernate.dialect.DB2390Dialect"
-#. Tag: entry
-#: configuration.xml:1037
-#, no-c-format
+#: index.docbook:1031
msgid "PostgreSQL"
msgstr "PostgreSQL"
-#. Tag: literal
-#: configuration.xml:1037
-#, no-c-format
+#: index.docbook:1031
msgid "org.hibernate.dialect.PostgreSQLDialect"
msgstr "org.hibernate.dialect.PostgreSQLDialect"
-#. Tag: entry
-#: configuration.xml:1040
-#, no-c-format
+#: index.docbook:1034
msgid "MySQL"
msgstr "MySQL"
-#. Tag: literal
-#: configuration.xml:1040
-#, no-c-format
+#: index.docbook:1034
msgid "org.hibernate.dialect.MySQLDialect"
msgstr "org.hibernate.dialect.MySQLDialect"
-#. Tag: entry
-#: configuration.xml:1043
-#, no-c-format
+#: index.docbook:1037
msgid "MySQL with InnoDB"
msgstr "MySQL con InnoDB"
-#. Tag: literal
-#: configuration.xml:1043
-#, no-c-format
+#: index.docbook:1037
msgid "org.hibernate.dialect.MySQLInnoDBDialect"
msgstr "org.hibernate.dialect.MySQLInnoDBDialect"
-#. Tag: entry
-#: configuration.xml:1046
-#, no-c-format
+#: index.docbook:1040
msgid "MySQL with MyISAM"
msgstr "MySQL con MyISAM"
-#. Tag: literal
-#: configuration.xml:1046
-#, no-c-format
+#: index.docbook:1040
msgid "org.hibernate.dialect.MySQLMyISAMDialect"
msgstr "org.hibernate.dialect.MySQLMyISAMDialect"
-#. Tag: entry
-#: configuration.xml:1049
-#, no-c-format
+#: index.docbook:1043
msgid "Oracle (any version)"
-msgstr "Oracle (cualquier versión)"
+msgstr "Oracle (cualquier versión)"
-#. Tag: literal
-#: configuration.xml:1049
-#, no-c-format
+#: index.docbook:1043
msgid "org.hibernate.dialect.OracleDialect"
msgstr "org.hibernate.dialect.OracleDialect"
-#. Tag: entry
-#: configuration.xml:1052
-#, no-c-format
+#: index.docbook:1046
msgid "Oracle 9i/10g"
msgstr "Oracle 9i/10g"
-#. Tag: literal
-#: configuration.xml:1052
-#, no-c-format
+#: index.docbook:1046
msgid "org.hibernate.dialect.Oracle9Dialect"
msgstr "org.hibernate.dialect.Oracle9Dialect"
-#. Tag: entry
-#: configuration.xml:1055
-#, no-c-format
+#: index.docbook:1049
msgid "Sybase"
msgstr "Sybase"
-#. Tag: literal
-#: configuration.xml:1055
-#, no-c-format
+#: index.docbook:1049
msgid "org.hibernate.dialect.SybaseDialect"
msgstr "org.hibernate.dialect.SybaseDialect"
-#. Tag: entry
-#: configuration.xml:1058
-#, no-c-format
+#: index.docbook:1052
msgid "Sybase Anywhere"
msgstr "Sybase Anywhere"
-#. Tag: literal
-#: configuration.xml:1058
-#, no-c-format
+#: index.docbook:1052
msgid "org.hibernate.dialect.SybaseAnywhereDialect"
msgstr "org.hibernate.dialect.SybaseAnywhereDialect"
-#. Tag: entry
-#: configuration.xml:1061
-#, no-c-format
+#: index.docbook:1055
msgid "Microsoft SQL Server"
msgstr "Microsoft SQL Server"
-#. Tag: literal
-#: configuration.xml:1061
-#, no-c-format
+#: index.docbook:1055
msgid "org.hibernate.dialect.SQLServerDialect"
msgstr "org.hibernate.dialect.SQLServerDialect"
-#. Tag: entry
-#: configuration.xml:1064
-#, no-c-format
+#: index.docbook:1058
msgid "SAP DB"
msgstr "SAP DB"
-#. Tag: literal
-#: configuration.xml:1064
-#, no-c-format
+#: index.docbook:1058
msgid "org.hibernate.dialect.SAPDBDialect"
msgstr "org.hibernate.dialect.SAPDBDialect"
-#. Tag: entry
-#: configuration.xml:1067
-#, no-c-format
+#: index.docbook:1061
msgid "Informix"
msgstr "Informix"
-#. Tag: literal
-#: configuration.xml:1067
-#, no-c-format
+#: index.docbook:1061
msgid "org.hibernate.dialect.InformixDialect"
msgstr "org.hibernate.dialect.InformixDialect"
-#. Tag: entry
-#: configuration.xml:1070
-#, no-c-format
+#: index.docbook:1064
msgid "HypersonicSQL"
msgstr "HypersonicSQL"
-#. Tag: literal
-#: configuration.xml:1070
-#, no-c-format
+#: index.docbook:1064
msgid "org.hibernate.dialect.HSQLDialect"
msgstr "org.hibernate.dialect.HSQLDialect"
-#. Tag: entry
-#: configuration.xml:1073
-#, no-c-format
+#: index.docbook:1067
msgid "Ingres"
msgstr "Ingres"
-#. Tag: literal
-#: configuration.xml:1073
-#, no-c-format
+#: index.docbook:1067
msgid "org.hibernate.dialect.IngresDialect"
msgstr "org.hibernate.dialect.IngresDialect"
-#. Tag: entry
-#: configuration.xml:1076
-#, no-c-format
+#: index.docbook:1070
msgid "Progress"
msgstr "Progress"
-#. Tag: literal
-#: configuration.xml:1076
-#, no-c-format
+#: index.docbook:1070
msgid "org.hibernate.dialect.ProgressDialect"
msgstr "org.hibernate.dialect.ProgressDialect"
-#. Tag: entry
-#: configuration.xml:1079
-#, no-c-format
+#: index.docbook:1073
msgid "Mckoi SQL"
msgstr "Mckoi SQL"
-#. Tag: literal
-#: configuration.xml:1079
-#, no-c-format
+#: index.docbook:1073
msgid "org.hibernate.dialect.MckoiDialect"
msgstr "org.hibernate.dialect.MckoiDialect"
-#. Tag: entry
-#: configuration.xml:1082
-#, no-c-format
+#: index.docbook:1076
msgid "Interbase"
msgstr "Interbase"
-#. Tag: literal
-#: configuration.xml:1082
-#, no-c-format
+#: index.docbook:1076
msgid "org.hibernate.dialect.InterbaseDialect"
msgstr "org.hibernate.dialect.InterbaseDialect"
-#. Tag: entry
-#: configuration.xml:1085
-#, no-c-format
+#: index.docbook:1079
msgid "Pointbase"
msgstr "Pointbase"
-#. Tag: literal
-#: configuration.xml:1085
-#, no-c-format
+#: index.docbook:1079
msgid "org.hibernate.dialect.PointbaseDialect"
msgstr "org.hibernate.dialect.PointbaseDialect"
-#. Tag: entry
-#: configuration.xml:1088
-#, no-c-format
+#: index.docbook:1082
msgid "FrontBase"
msgstr "FrontBase"
-#. Tag: literal
-#: configuration.xml:1088
-#, no-c-format
+#: index.docbook:1082
msgid "org.hibernate.dialect.FrontbaseDialect"
msgstr "org.hibernate.dialect.FrontbaseDialect"
-#. Tag: entry
-#: configuration.xml:1091
-#, no-c-format
+#: index.docbook:1085
msgid "Firebird"
msgstr "Firebird"
-#. Tag: literal
-#: configuration.xml:1091
-#, no-c-format
+#: index.docbook:1085
msgid "org.hibernate.dialect.FirebirdDialect"
msgstr "org.hibernate.dialect.FirebirdDialect"
-#. Tag: title
-#: configuration.xml:1100
-#, no-c-format
+#: index.docbook:1094
msgid "Outer Join Fetching"
-msgstr "Recuperación por Unión Externa (Outer Join Fetching)"
+msgstr "Recuperación por Unión Externa (Outer Join
Fetching)"
-#. Tag: para
-#: configuration.xml:1102
-#, no-c-format
+#: index.docbook:1096
msgid ""
"If your database supports ANSI, Oracle or Sybase style outer joins, "
"<emphasis>outer join fetching</emphasis> will often increase
performance by "
@@ -2519,16 +1546,15 @@
"<literal>SELECT</literal>."
msgstr ""
"Si tu base de datos soporta uniones externas del estilo ANSI, Oracle o "
-"Sybase, la <emphasis>recuperación por unión externa</emphasis>
aumentará "
-"frecuentemente el rendimiento limitando el número de llamadas a la base de "
-"datos (al costo de más trabajo posiblemente realizado por la base de datos "
-"misma). La recuperación por unión externa permite que un grafo completo de "
-"objetos conectados por asociaciones muchos-a-uno, uno-a-muchos, muchos-a-"
-"muchos y uno-a-uno sea traído en una sola <literal>SELECT</literal>
SQL."
+"Sybase, la <emphasis>recuperación por unión
externa</emphasis> "
+"aumentará frecuentemente el rendimiento limitando el número
de "
+"llamadas a la base de datos (al costo de más trabajo posiblemente
"
+"realizado por la base de datos misma). La recuperación por
unió"
+"n externa permite que un grafo completo de objetos conectados por "
+"asociaciones muchos-a-uno, uno-a-muchos, muchos-a-muchos y uno-a-uno sea "
+"traído en una sola <literal>SELECT</literal> SQL."
-#. Tag: para
-#: configuration.xml:1111
-#, no-c-format
+#: index.docbook:1105
msgid ""
"Outer join fetching may be disabled <emphasis>globally</emphasis> by
setting "
"the property <literal>hibernate.max_fetch_depth</literal> to
<literal>0</"
@@ -2536,28 +1562,24 @@
"fetching for one-to-one and many-to-one associations which have been mapped "
"with <literal>fetch=\"join\"</literal>."
msgstr ""
-"La recuperación por unión externa puede ser deshabilitada "
+"La recuperación por unión externa puede ser deshabilitada
"
"<emphasis>globalmente</emphasis> estableciendo la propiedad "
"<literal>hibernate.max_fetch_depth</literal> a
<literal>0</literal>. Un "
-"valor de <literal>1</literal> o mayor habilita la recuperación por
unión "
-"externa para asociaciones uno-a-uno y muchos-a-uno que hayan sido mapeadas "
-"con <literal>fetch=\"join\"</literal>."
+"valor de <literal>1</literal> o mayor habilita la
recuperación por "
+"unión externa para asociaciones uno-a-uno y muchos-a-uno que hayan
"
+"sido mapeadas con <literal>fetch=\"join\"</literal>."
-#. Tag: para
-#: configuration.xml:1119
-#, no-c-format
+#: index.docbook:1113
msgid "See <xref linkend=\"performance-fetching\"/> for more
information."
-msgstr "Ver <xref linkend=\"performance-fetching\"/> para más
información."
+msgstr ""
+"Ver <xref linkend=\"performance-fetching\"/> para más
"
+"información."
-#. Tag: title
-#: configuration.xml:1126
-#, no-c-format
+#: index.docbook:1120
msgid "Binary Streams"
msgstr "Flujos Binarios"
-#. Tag: para
-#: configuration.xml:1128
-#, no-c-format
+#: index.docbook:1122
msgid ""
"Oracle limits the size of <literal>byte</literal> arrays that may be
passed "
"to/from its JDBC driver. If you wish to use large instances of "
@@ -2565,84 +1587,67 @@
"should enable <literal>hibernate.jdbc.use_streams_for_binary</literal>.
"
"<emphasis>This is a system-level setting only.</emphasis>"
msgstr ""
-"Oracle limita el tamaño de arrays de <literal>byte</literal> que puedan
ser "
-"pasados a/desde su driver JDBC. Si deseas usar instancias grandes de tipo "
-"<literal>binary</literal> o
<literal>serializable</literal>, debes habilitar "
-"<literal>hibernate.jdbc.use_streams_for_binary</literal>.
<emphasis>Esta es "
-"una propiedad a nivel de sistema solamente.</emphasis>"
+"Oracle limita el tamaño de arrays de <literal>byte</literal>
que "
+"puedan ser pasados a/desde su driver JDBC. Si deseas usar instancias grandes
"
+"de tipo <literal>binary</literal> o
<literal>serializable</literal>, debes "
+"habilitar <literal>hibernate.jdbc.use_streams_for_binary</literal>.
"
+"<emphasis>Esta es una propiedad a nivel de sistema
solamente.</emphasis>"
-#. Tag: title
-#: configuration.xml:1139
-#, no-c-format
+#: index.docbook:1133
msgid "Second-level and query cache"
-msgstr "Caché de segundo nivel y de lectura"
+msgstr "Caché de segundo nivel y de lectura"
-#. Tag: para
-#: configuration.xml:1141
-#, no-c-format
+#: index.docbook:1135
msgid ""
"The properties prefixed by <literal>hibernate.cache</literal> allow you
to "
"use a process or cluster scoped second-level cache system with Hibernate. "
"See the <xref linkend=\"performance-cache\"/> for more
details."
msgstr ""
"Las propiedades prefijadas por <literal>hibernate.cache</literal> te
"
-"permiten usar un sistema de caché de segundo nivel en el ámbito de un "
-"proceso o cluster con Hibernate. Ver <xref
linkend=\"performance-cache\"/> "
-"para más detalles."
+"permiten usar un sistema de caché de segundo nivel en el
á"
+"mbito de un proceso o cluster con Hibernate. Ver <xref
linkend=\"performance-"
+"cache\"/> para más detalles."
-#. Tag: title
-#: configuration.xml:1151
-#, no-c-format
+#: index.docbook:1145
msgid "Query Language Substitution"
-msgstr "Sustitución de Lenguaje de Consulta"
+msgstr "Sustitución de Lenguaje de Consulta"
-#. Tag: para
-#: configuration.xml:1153
-#, no-c-format
+#: index.docbook:1147
msgid ""
"You may define new Hibernate query tokens using
<literal>hibernate.query."
"substitutions</literal>. For example:"
msgstr ""
-"Puedes definir nuevos símbolos de consulta de Hibernate usando "
+"Puedes definir nuevos símbolos de consulta de Hibernate usando "
"<literal>hibernate.query.substitutions</literal>. Por ejemplo:"
-#. Tag: programlisting
-#: configuration.xml:1158
-#, no-c-format
+#: index.docbook:1152
msgid "hibernate.query.substitutions true=1, false=0"
msgstr "hibernate.query.substitutions true=1, false=0"
-#. Tag: para
-#: configuration.xml:1160
-#, no-c-format
+#: index.docbook:1154
msgid ""
"would cause the tokens <literal>true</literal> and
<literal>false</literal> "
"to be translated to integer literals in the generated SQL."
msgstr ""
-"causaría que los símbolos <literal>true</literal> y
<literal>false</literal> "
-"sean traducidos a literales enteros en el SQL generado."
+"causaría que los símbolos <literal>true</literal>
y "
+"<literal>false</literal> sean traducidos a literales enteros en el SQL
"
+"generado."
-#. Tag: programlisting
-#: configuration.xml:1165
-#, no-c-format
+#: index.docbook:1159
msgid "hibernate.query.substitutions toLowercase=LOWER"
msgstr "hibernate.query.substitutions toLowercase=LOWER"
-#. Tag: para
-#: configuration.xml:1167
-#, no-c-format
+#: index.docbook:1161
msgid "would allow you to rename the SQL <literal>LOWER</literal>
function."
-msgstr "te permitiría renombrar la función <literal>LOWER</literal> de
SQL."
+msgstr ""
+"te permitiría renombrar la función
<literal>LOWER</literal> de "
+"SQL."
-#. Tag: title
-#: configuration.xml:1174
-#, no-c-format
+#: index.docbook:1168
msgid "Hibernate statistics"
msgstr "Hibernate statistics"
-#. Tag: para
-#: configuration.xml:1176
-#, no-c-format
+#: index.docbook:1170
msgid ""
"If you enable <literal>hibernate.generate_statistics</literal>,
Hibernate "
"will expose a number of metrics that are useful when tuning a running system
"
@@ -2651,27 +1656,22 @@
"interfaces in <literal>org.hibernate.stats</literal> for more
information."
msgstr ""
"Si habilitas <literal>hibernate.generate_statistics</literal>,
Hibernate "
-"expondrá un número de métricas que son útiles al afinar un sistema en "
-"ejecución vía <literal>SessionFactory.getStatistics()</literal>.
Hibernate "
-"puede incluso ser configurado para exponer estas estadísticas vía JMX. Lee "
-"el Javadoc de las interfaces en <literal>org.hibernate.stats</literal>
para "
-"más información."
+"expondrá un número de métricas que son
útiles al "
+"afinar un sistema en ejecución vía
<literal>SessionFactory."
+"getStatistics()</literal>. Hibernate puede incluso ser configurado para
"
+"exponer estas estadísticas vía JMX. Lee el Javadoc de las
"
+"interfaces en <literal>org.hibernate.stats</literal> para
más "
+"información."
-#. Tag: title
-#: configuration.xml:1188
-#, no-c-format
+#: index.docbook:1182
msgid "Logging"
msgstr "Registros de mensajes (Logging)"
-#. Tag: para
-#: configuration.xml:1190
-#, no-c-format
+#: index.docbook:1184
msgid "Hibernate logs various events using Apache commons-logging."
msgstr "Hibernate registra varios eventos usando commons-logging de Apache."
-#. Tag: para
-#: configuration.xml:1194
-#, no-c-format
+#: index.docbook:1188
msgid ""
"The commons-logging service will direct output to either Apache Log4j (if "
"you include <literal>log4j.jar</literal> in your classpath) or JDK1.4
"
@@ -2681,17 +1681,15 @@
"example properties file is distributed with Hibernate in the
<literal>src/</"
"literal> directory."
msgstr ""
-"El servicio de commons-logging saldrá directamente ya sea a Log4J (si "
+"El servicio de commons-logging saldrá directamente ya sea a Log4J (si
"
"incluyes <literal>log4j.jar</literal> in your classpath) o JDK1.4
logging "
"(al ejecutar bajo JDK1.4 o superior). Puedes descargar Log4J desde "
-"<literal>http://logging.apache.org</literal>. Para usar Log4J
necesitarás "
-"colocar un fichero <literal>log4j.properties</literal> en tu classpath.
Un "
-"fichero de propiedades de ejemplo se distribuye con Hibernate en el "
-"directorio <literal>src/</literal>."
+"<literal>http://logging.apache.org</literal>. Para usar Log4J "
+"necesitarás colocar un fichero
<literal>log4j.properties</literal> en "
+"tu classpath. Un fichero de propiedades de ejemplo se distribuye con "
+"Hibernate en el directorio <literal>src/</literal>."
-#. Tag: para
-#: configuration.xml:1204
-#, no-c-format
+#: index.docbook:1198
msgid ""
"We strongly recommend that you familiarize yourself with Hibernate's log
"
"messages. A lot of work has been put into making the Hibernate log as "
@@ -2702,159 +1700,111 @@
"Recomendamos fuertemente que te familiarices con los registros de mensajes "
"de Hibernate. Se ha puesto un gran trabajo en hacer los registros de "
"Hibernate tan detallados como se puede, sin hacerlos ilegibles. Es un "
-"dispositivo esencial en la resolución de problemas. Las categorías de "
-"registro más interesantes son las siguientes:"
+"dispositivo esencial en la resolución de problemas. Las "
+"categorías de registro más interesantes son las
siguientes:"
-#. Tag: title
-#: configuration.xml:1213
-#, no-c-format
+#: index.docbook:1207
msgid "Hibernate Log Categories"
-msgstr "Categorías de Registro de Hibernate"
+msgstr "Categorías de Registro de Hibernate"
-#. Tag: entry
-#: configuration.xml:1219
-#, no-c-format
+#: index.docbook:1213
msgid "Category"
-msgstr "Categoría"
+msgstr "Categoría"
-#. Tag: entry
-#: configuration.xml:1220
-#, no-c-format
+#: index.docbook:1214
msgid "Function"
-msgstr "Función"
+msgstr "Función"
-#. Tag: literal
-#: configuration.xml:1225
-#, no-c-format
+#: index.docbook:1219
msgid "org.hibernate.SQL"
msgstr "org.hibernate.SQL"
-#. Tag: entry
-#: configuration.xml:1226
-#, no-c-format
+#: index.docbook:1220
msgid "Log all SQL DML statements as they are executed"
msgstr "Registra todas las sentencias DML de SQL a medida que se ejecutan"
-#. Tag: literal
-#: configuration.xml:1229
-#, no-c-format
+#: index.docbook:1223
msgid "org.hibernate.type"
msgstr "org.hibernate.type"
-#. Tag: entry
-#: configuration.xml:1230
-#, no-c-format
+#: index.docbook:1224
msgid "Log all JDBC parameters"
-msgstr "Registra todos los parámetros JDBC"
+msgstr "Registra todos los parámetros JDBC"
-#. Tag: literal
-#: configuration.xml:1233
-#, no-c-format
+#: index.docbook:1227
msgid "org.hibernate.tool.hbm2ddl"
msgstr "org.hibernate.tool.hbm2ddl"
-#. Tag: entry
-#: configuration.xml:1234
-#, no-c-format
+#: index.docbook:1228
msgid "Log all SQL DDL statements as they are executed"
msgstr "Registra todas las sentencias DDL de SQL a medida que se ejecutan"
-#. Tag: literal
-#: configuration.xml:1237
-#, no-c-format
+#: index.docbook:1231
msgid "org.hibernate.pretty"
msgstr "org.hibernate.pretty"
-#. Tag: entry
-#: configuration.xml:1238
-#, no-c-format
+#: index.docbook:1232
msgid ""
"Log the state of all entities (max 20 entities) associated with the session "
"at flush time"
msgstr ""
-"Registra el estado de todas las entidades (máximo de 20 entidades) asociadas
"
-"con la sesión en tiempo de limpieza (flush)"
+"Registra el estado de todas las entidades (máximo de 20 entidades)
"
+"asociadas con la sesión en tiempo de limpieza (flush)"
-#. Tag: literal
-#: configuration.xml:1244
-#, no-c-format
+#: index.docbook:1238
msgid "org.hibernate.cache"
msgstr "org.hibernate.cache"
-#. Tag: entry
-#: configuration.xml:1245
-#, no-c-format
+#: index.docbook:1239
msgid "Log all second-level cache activity"
-msgstr "Registra toda la actividad del caché de segundo nivel"
+msgstr "Registra toda la actividad del caché de segundo nivel"
-#. Tag: literal
-#: configuration.xml:1248
-#, no-c-format
+#: index.docbook:1242
msgid "org.hibernate.transaction"
msgstr "org.hibernate.transaction"
-#. Tag: entry
-#: configuration.xml:1249
-#, no-c-format
+#: index.docbook:1243
msgid "Log transaction related activity"
-msgstr "Registra la actividad relacionada con la transacción"
+msgstr "Registra la actividad relacionada con la transacción"
-#. Tag: literal
-#: configuration.xml:1252
-#, no-c-format
+#: index.docbook:1246
msgid "org.hibernate.jdbc"
msgstr "org.hibernate.jdbc"
-#. Tag: entry
-#: configuration.xml:1253
-#, no-c-format
+#: index.docbook:1247
msgid "Log all JDBC resource acquisition"
-msgstr "Registra toda adquisición de recursos JDBC"
+msgstr "Registra toda adquisición de recursos JDBC"
-#. Tag: literal
-#: configuration.xml:1256
-#, no-c-format
+#: index.docbook:1250
msgid "org.hibernate.hql.ast.AST"
msgstr "org.hibernate.hql.ast"
-#. Tag: entry
-#: configuration.xml:1257
-#, no-c-format
+#: index.docbook:1251
msgid "Log HQL and SQL ASTs during query parsing"
msgstr ""
-"Regista los ASTs de HQL y SQL, así como otra información sobre análisis de "
-"consultas."
+"Regista los ASTs de HQL y SQL, así como otra información
sobre "
+"análisis de consultas."
-#. Tag: literal
-#: configuration.xml:1262
-#, no-c-format
+#: index.docbook:1256
msgid "org.hibernate.secure"
msgstr "org.hibernate.secure"
-#. Tag: entry
-#: configuration.xml:1263
-#, no-c-format
+#: index.docbook:1257
msgid "Log all JAAS authorization requests"
-msgstr "Registra todas las peticiones de autorización JAAS"
+msgstr "Registra todas las peticiones de autorización JAAS"
-#. Tag: literal
-#: configuration.xml:1266
-#, no-c-format
+#: index.docbook:1260
msgid "org.hibernate"
msgstr "org.hibernate"
-#. Tag: entry
-#: configuration.xml:1267
-#, no-c-format
+#: index.docbook:1261
msgid ""
"Log everything (a lot of information, but very useful for troubleshooting)"
msgstr ""
-"Registra todo (mucha información, pero muy útil para la resolución de "
-"problemas)"
+"Registra todo (mucha información, pero muy útil para la
"
+"resolución de problemas)"
-#. Tag: para
-#: configuration.xml:1276
-#, no-c-format
+#: index.docbook:1270
msgid ""
"When developing applications with Hibernate, you should almost always work "
"with <literal>debug</literal> enabled for the category
<literal>org."
@@ -2862,30 +1812,24 @@
"show_sql</literal> enabled."
msgstr ""
"Al desarrollar aplicacinoes con Hibernate, casi siempre debes trabajar con "
-"<literal>debug</literal> habilitado para la categoría
<literal>org.hibernate."
-"SQL</literal> o, alternativamente, la propiedad
<literal>hibernate.show_sql</"
-"literal> habilitada."
+"<literal>debug</literal> habilitado para la categoría
<literal>org."
+"hibernate.SQL</literal> o, alternativamente, la propiedad
<literal>hibernate."
+"show_sql</literal> habilitada."
-#. Tag: title
-#: configuration.xml:1286
-#, no-c-format
+#: index.docbook:1280
msgid "Implementing a <literal>NamingStrategy</literal>"
msgstr "Implementando una <literal>NamingStrategy</literal>"
-#. Tag: para
-#: configuration.xml:1288
-#, no-c-format
+#: index.docbook:1282
msgid ""
"The interface <literal>org.hibernate.cfg.NamingStrategy</literal>
allows you "
"to specify a \"naming standard\" for database objects and schema
elements."
msgstr ""
"La interface <literal>org.hibernate.cfg.NamingStrategy</literal> te
permite "
-"especificar un \"estándar de nombrado\" para objetos de la base de datos
y "
-"elementos de esquema."
+"especificar un \"estándar de nombrado\" para objetos de la
base de "
+"datos y elementos de esquema."
-#. Tag: para
-#: configuration.xml:1293
-#, no-c-format
+#: index.docbook:1287
msgid ""
"You may provide rules for automatically generating database identifiers from
"
"Java identifiers or for processing \"logical\" column and table names
given "
@@ -2894,17 +1838,15 @@
"noise (<literal>TBL_</literal> prefixes, for example). The default
strategy "
"used by Hibernate is quite minimal."
msgstr ""
-"Puedes proveer reglas para generar automáticamente identificadores de base "
-"de datos a partir de identificadores JDBC o para procesar nombres
\"lógicos"
-"\" de columnas y tablas dados en el fichero de mapeo en nombres
\"físicos\" "
-"de columnas y tablas. Esta funcionalidad ayuda a reducir la verborragia del "
-"documento de mapeo, eliminando ruido repetitivo (prefijos
<literal>TBL_</"
-"literal>, por ejemplo). La estrategia por defecto usada por Hibernate mínima
"
-"en absoluto."
+"Puedes proveer reglas para generar automáticamente identificadores de
"
+"base de datos a partir de identificadores JDBC o para procesar nombres "
+"\"lógicos\" de columnas y tablas dados en el fichero de mapeo
en "
+"nombres \"físicos\" de columnas y tablas. Esta funcionalidad
ayuda a "
+"reducir la verborragia del documento de mapeo, eliminando ruido repetitivo "
+"(prefijos <literal>TBL_</literal>, por ejemplo). La estrategia por
defecto "
+"usada por Hibernate mínima en absoluto."
-#. Tag: para
-#: configuration.xml:1302
-#, no-c-format
+#: index.docbook:1296
msgid ""
"You may specify a different strategy by calling
<literal>Configuration."
"setNamingStrategy()</literal> before adding mappings:"
@@ -2913,9 +1855,7 @@
"<literal>Configuration.setNamingStrategy()</literal> antes de agregar
los "
"mapeos:"
-#. Tag: programlisting
-#: configuration.xml:1307
-#, no-c-format
+#: index.docbook:1301
msgid ""
"<![CDATA[SessionFactory sf = new Configuration()\n"
" .setNamingStrategy(ImprovedNamingStrategy.INSTANCE)\n"
@@ -2923,52 +1863,47 @@
" .addFile(\"Bid.hbm.xml\")\n"
" .buildSessionFactory();]]>"
msgstr ""
+"<![CDATA[SessionFactory sf = new Configuration()\n"
+" .setNamingStrategy(ImprovedNamingStrategy.INSTANCE)\n"
+" .addFile(\"Item.hbm.xml\")\n"
+" .addFile(\"Bid.hbm.xml\")\n"
+" .buildSessionFactory();]]>"
-#. Tag: para
-#: configuration.xml:1309
-#, no-c-format
+#: index.docbook:1303
msgid ""
"<literal>org.hibernate.cfg.ImprovedNamingStrategy</literal> is a
built-in "
"strategy that might be a useful starting point for some applications."
msgstr ""
"<literal>org.hibernate.cfg.ImprovedNamingStrategy</literal> es una
"
-"estrategia prefabricada que puede ser un punto de partida útil para algunas "
-"aplicaciones."
+"estrategia prefabricada que puede ser un punto de partida útil para
"
+"algunas aplicaciones."
-#. Tag: title
-#: configuration.xml:1317
-#, no-c-format
+#: index.docbook:1311
msgid "XML configuration file"
-msgstr "Fichero de configuración XML"
+msgstr "Fichero de configuración XML"
-#. Tag: para
-#: configuration.xml:1319
-#, no-c-format
+#: index.docbook:1313
msgid ""
"An alternative approach to configuration is to specify a full configuration "
"in a file named <literal>hibernate.cfg.xml</literal>. This file can be
used "
"as a replacement for the <literal>hibernate.properties</literal> file
or, if "
"both are present, to override properties."
msgstr ""
-"Un enfoque alternativo de configuración es especificar una configuración "
-"completa en un fichero llamado <literal>hibernate.cfg.xml</literal>.
Este "
-"fichero puede ser usado como un remplazo del fichero
<literal>hibernate."
-"properties</literal> o, si ambos están presentes, para sobrescribir "
-"propiedades."
+"Un enfoque alternativo de configuración es especificar una "
+"configuración completa en un fichero llamado
<literal>hibernate.cfg."
+"xml</literal>. Este fichero puede ser usado como un remplazo del fichero
"
+"<literal>hibernate.properties</literal> o, si ambos están
presentes, "
+"para sobrescribir propiedades."
-#. Tag: para
-#: configuration.xml:1326
-#, no-c-format
+#: index.docbook:1320
msgid ""
"The XML configuration file is by default expected to be in the root o your "
"<literal>CLASSPATH</literal>. Here is an example:"
msgstr ""
-"El fichero de configuración XML se espera por defecto en la raíz o tu "
-"<literal>CLASSPATH</literal>. He aquí un ejemplo:"
+"El fichero de configuración XML se espera por defecto en la
raí"
+"z o tu <literal>CLASSPATH</literal>. He aquí un
ejemplo:"
-#. Tag: programlisting
-#: configuration.xml:1331
-#, no-c-format
+#: index.docbook:1325
msgid ""
"<![CDATA[<?xml version='1.0' encoding='utf-8'?>\n"
"<!DOCTYPE hibernate-configuration PUBLIC\n"
@@ -3009,10 +1944,46 @@
"\n"
"</hibernate-configuration>]]>"
msgstr ""
+"<![CDATA[<?xml version='1.0' encoding='utf-8'?>\n"
+"<!DOCTYPE hibernate-configuration PUBLIC\n"
+" \"-//Hibernate/Hibernate Configuration DTD//EN\"\n"
+"
\"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd\">\n"
+"\n"
+"<hibernate-configuration>\n"
+"\n"
+" <!-- a SessionFactory instance listed as /jndi/name -->\n"
+" <session-factory\n"
+" name=\"java:hibernate/SessionFactory\">\n"
+"\n"
+" <!-- properties -->\n"
+" <property
name=\"connection.datasource\">java:/comp/env/jdbc/MyDB</"
+"property>\n"
+" <property
name=\"dialect\">org.hibernate.dialect.MySQLDialect</"
+"property>\n"
+" <property name=\"show_sql\">false</property>\n"
+" <property name=\"transaction.factory_class\">\n"
+" org.hibernate.transaction.JTATransactionFactory\n"
+" </property>\n"
+" <property
name=\"jta.UserTransaction\">java:comp/UserTransaction</"
+"property>\n"
+"\n"
+" <!-- mapping files -->\n"
+" <mapping
resource=\"org/hibernate/auction/Item.hbm.xml\"/>\n"
+" <mapping
resource=\"org/hibernate/auction/Bid.hbm.xml\"/>\n"
+"\n"
+" <!-- cache settings -->\n"
+" <class-cache class=\"org.hibernate.auction.Item\"
usage=\"read-write"
+"\"/>\n"
+" <class-cache class=\"org.hibernate.auction.Bid\"
usage=\"read-only\"/"
+">\n"
+" <collection-cache
collection=\"org.hibernate.auction.Item.bids\" "
+"usage=\"read-write\"/>\n"
+"\n"
+" </session-factory>\n"
+"\n"
+"</hibernate-configuration>]]>"
-#. Tag: para
-#: configuration.xml:1333
-#, no-c-format
+#: index.docbook:1327
msgid ""
"As you can see, the advantage of this approach is the externalization of the
"
"mapping file names to configuration. The
<literal>hibernate.cfg.xml</"
@@ -3021,60 +1992,51 @@
"literal> or <literal>hibernate.cfg.xml</literal>, both are
equivalent, "
"except for the above mentioned benefits of using the XML syntax."
msgstr ""
-"Como puedes ver, la ventaja de este enfoque es la externalización de los "
-"nombres de los fichero de mapeo a configuración. El
<literal>hibernate.cfg."
-"xml</literal> es también más conveniente una vez que hayas afinado el caché
"
-"de Hibernate. Observa que elección tuya usar ya sea
<literal>hibernate."
-"properties</literal> o <literal>hibernate.cfg.xml</literal>,
ambos son "
-"equivalentes, excepto por los beneficios de usar la sintaxis XML arriba "
-"mencionados."
+"Como puedes ver, la ventaja de este enfoque es la externalización de
"
+"los nombres de los fichero de mapeo a configuración. El "
+"<literal>hibernate.cfg.xml</literal> es también
más "
+"conveniente una vez que hayas afinado el caché de Hibernate. Observa
"
+"que elección tuya usar ya sea
<literal>hibernate.properties</literal> "
+"o <literal>hibernate.cfg.xml</literal>, ambos son equivalentes, excepto
por "
+"los beneficios de usar la sintaxis XML arriba mencionados."
-#. Tag: para
-#: configuration.xml:1342
-#, no-c-format
+#: index.docbook:1336
msgid "With the XML configuration, starting Hibernate is then as simple as"
-msgstr "Con la configuración XML, arrancar Hibernate es tan simple como"
+msgstr "Con la configuración XML, arrancar Hibernate es tan simple
como"
-#. Tag: programlisting
-#: configuration.xml:1346
-#, no-c-format
+#: index.docbook:1340
msgid ""
"<![CDATA[SessionFactory sf = new Configuration().configure()."
"buildSessionFactory();]]>"
msgstr ""
+"<![CDATA[SessionFactory sf = new Configuration().configure()."
+"buildSessionFactory();]]>"
-#. Tag: para
-#: configuration.xml:1348
-#, no-c-format
+#: index.docbook:1342
msgid "You can pick a different XML configuration file using"
msgstr "Puedes tomar un fichero XML diferente usando"
-#. Tag: programlisting
-#: configuration.xml:1352
-#, no-c-format
+#: index.docbook:1346
msgid ""
"<![CDATA[SessionFactory sf = new Configuration()\n"
" .configure(\"catdb.cfg.xml\")\n"
" .buildSessionFactory();]]>"
msgstr ""
+"<![CDATA[SessionFactory sf = new Configuration()\n"
+" .configure(\"catdb.cfg.xml\")\n"
+" .buildSessionFactory();]]>"
-#. Tag: title
-#: configuration.xml:1357
-#, no-c-format
+#: index.docbook:1351
msgid "J2EE Application Server integration"
-msgstr "Integració con Servidores de Aplicaciones J2EE"
+msgstr "Integració con Servidores de Aplicaciones J2EE"
-#. Tag: para
-#: configuration.xml:1359
-#, no-c-format
+#: index.docbook:1353
msgid "Hibernate has the following integration points for J2EE
infrastructure:"
msgstr ""
-"Hibernate tiene los siguientes puntos de integración con la infraestructura "
-"J2EE:"
+"Hibernate tiene los siguientes puntos de integración con la "
+"infraestructura J2EE:"
-#. Tag: para
-#: configuration.xml:1365
-#, no-c-format
+#: index.docbook:1359
msgid ""
"<emphasis>Container-managed datasources</emphasis>: Hibernate can use
JDBC "
"connections managed by the container and provided through JNDI. Usually, a "
@@ -3086,28 +2048,25 @@
"literal> API for this to keep your code portable."
msgstr ""
"<emphasis>Datasources manejados por contenedor</emphasis>: Hibernate
puede "
-"usar conexiones JDBC manejadas por el contenedor y provistas a través de "
-"JNDI. Usualmente, un <literal>TransactionManager</literal> compatible
con "
+"usar conexiones JDBC manejadas por el contenedor y provistas a través
"
+"de JNDI. Usualmente, un <literal>TransactionManager</literal>
compatible con "
"JTA y un <literal>ResourceManager</literal> cuidan del manejo de
"
-"transacciones (CMT), esp. manejo de transacciones distribuídas a través de "
-"varios datasources. Puedes también, por supuesto, demarcar los límites de "
-"las transacciones programáticamente (BMT) o podrías querer usar para esto la
"
-"API opcional de <literal>Transaction</literal> de Hibernate para
mantener tu "
-"código portable."
+"transacciones (CMT), esp. manejo de transacciones distribuídas a "
+"través de varios datasources. Puedes también, por supuesto,
"
+"demarcar los límites de las transacciones programáticamente
"
+"(BMT) o podrías querer usar para esto la API opcional de "
+"<literal>Transaction</literal> de Hibernate para mantener tu
código "
+"portable."
-#. Tag: para
-#: configuration.xml:1380
-#, no-c-format
+#: index.docbook:1374
msgid ""
"<emphasis>Automatic JNDI binding</emphasis>: Hibernate can bind its
"
"<literal>SessionFactory</literal> to JNDI after startup."
msgstr ""
-"<emphasis>Ligamento Automático JNDI</emphasis>: Hibernate puede ligar
sus "
-"<literal>SessionFactory</literal> a JNDI después del arranque."
+"<emphasis>Ligamento Automático JNDI</emphasis>: Hibernate
puede ligar "
+"sus <literal>SessionFactory</literal> a JNDI después del
arranque."
-#. Tag: para
-#: configuration.xml:1389
-#, no-c-format
+#: index.docbook:1383
msgid ""
"<emphasis>JTA Session binding:</emphasis> The Hibernate
<literal>Session</"
"literal> may be automatically bound to the scope of JTA transactions. Simply
"
@@ -3117,17 +2076,16 @@
"Transaction demarcation is either declarative (CMT) or programmatic (BMT/"
"UserTransaction)."
msgstr ""
-"<emphasis>Ligamento de Sesión JTA:</emphasis> La
<literal>Session</literal> "
-"de Hibernate puede ser ligada automáticamente al ámbito de transacciones JTA
"
-"si usas EJBs. Simplemente busca la <literal>SessionFactory</literal> de
JNDI "
-"y obtén la <literal>Session</literal> actual. Deja que Hibernate cuide
de "
-"limpiar y cerrar la <literal>Session</literal> cuando se complete tu
"
-"transacción JTA. La demarcación de transacción es declarativa, en "
+"<emphasis>Ligamento de Sesión JTA:</emphasis> La
<literal>Session</"
+"literal> de Hibernate puede ser ligada automáticamente al
á"
+"mbito de transacciones JTA si usas EJBs. Simplemente busca la "
+"<literal>SessionFactory</literal> de JNDI y obtén la "
+"<literal>Session</literal> actual. Deja que Hibernate cuide de limpiar
y "
+"cerrar la <literal>Session</literal> cuando se complete tu
transacció"
+"n JTA. La demarcación de transacción es declarativa, en
"
"descriptores de despliegue de EJB."
-#. Tag: para
-#: configuration.xml:1402
-#, no-c-format
+#: index.docbook:1396
msgid ""
"<emphasis>JMX deployment:</emphasis> If you have a JMX capable
application "
"server (e.g. JBoss AS), you can chose to deploy Hibernate as a managed "
@@ -3139,35 +2097,29 @@
msgstr ""
"<emphasis>Despliegue JMX:</emphasis> Si tienes un servidor de
aplicaciones "
"capaz de JMX (por ejemplo, JBoss AS), puedes optar por desplegar Hibernate "
-"como un MBean manejado. Esto te ahorra el código de una línea de arranque "
-"para construir tu <literal>SessionFactory</literal> desde una "
-"<literal>Configuration</literal>. El contenedor arrancará tu "
-"<literal>HibernateService</literal>, e idealmente también cuidará de
las "
-"dependencias entre servicios (El datasource debe estar disponible antes que "
-"arranque Hibernate, etc)."
+"como un MBean manejado. Esto te ahorra el código de una línea
"
+"de arranque para construir tu <literal>SessionFactory</literal> desde
una "
+"<literal>Configuration</literal>. El contenedor arrancará tu
"
+"<literal>HibernateService</literal>, e idealmente también
"
+"cuidará de las dependencias entre servicios (El datasource debe estar
"
+"disponible antes que arranque Hibernate, etc)."
-#. Tag: para
-#: configuration.xml:1413
-#, no-c-format
+#: index.docbook:1407
msgid ""
"Depending on your environment, you might have to set the configuration "
"option <literal>hibernate.connection.aggressive_release</literal> to
true if "
"your application server shows \"connection containment\"
exceptions."
msgstr ""
-"Dependiendo de tu entorno, podrías tener que establecer la opción de "
-"configuración
<literal>hibernate.connection.aggressive_release</literal> a "
-"true si tu servidor de aplicaciones muestra excepciones \"connection "
-"containment\"."
+"Dependiendo de tu entorno, podrías tener que establecer la "
+"opción de configuración
<literal>hibernate.connection."
+"aggressive_release</literal> a true si tu servidor de aplicaciones muestra
"
+"excepciones \"connection containment\"."
-#. Tag: title
-#: configuration.xml:1420
-#, no-c-format
+#: index.docbook:1414
msgid "Transaction strategy configuration"
-msgstr "Configuración de la estrategia de transacción"
+msgstr "Configuración de la estrategia de transacción"
-#. Tag: para
-#: configuration.xml:1422
-#, no-c-format
+#: index.docbook:1416
msgid ""
"The Hibernate <literal>Session</literal> API is independent of any
"
"transaction demarcation system in your architecture. If you let Hibernate "
@@ -3177,16 +2129,14 @@
"and <literal>UserTransaction</literal> when needed."
msgstr ""
"La API de <literal>Session</literal> de Hibernate es independiente de
"
-"cualquier demarcación de transacción en tu arquitectura. Si dejas que "
-"Hibernate use JDBC directamente, a través de un pool de conexiones. puedes "
-"comenzar y acabar tus transacciones llamando la API de JDBC. Si ejecutas en "
-"un servidor de aplicaciones J2EE, podréas querer usar transacciones "
-"manejadas por bean y llamar la API de JTA y
<literal>UserTransaction</"
-"literal> cuando sea necesario."
+"cualquier demarcación de transacción en tu arquitectura. Si
"
+"dejas que Hibernate use JDBC directamente, a través de un pool de
"
+"conexiones. puedes comenzar y acabar tus transacciones llamando la API de "
+"JDBC. Si ejecutas en un servidor de aplicaciones J2EE, podréas querer
"
+"usar transacciones manejadas por bean y llamar la API de JTA y "
+"<literal>UserTransaction</literal> cuando sea necesario."
-#. Tag: para
-#: configuration.xml:1430
-#, no-c-format
+#: index.docbook:1424
msgid ""
"To keep your code portable between these two (and other) environments we "
"recommend the optional Hibernate <literal>Transaction</literal> API,
which "
@@ -3195,75 +2145,57 @@
"configuration property
<literal>hibernate.transaction.factory_class</"
"literal>."
msgstr ""
-"Para mantener tu código portable entre estos dos (y otros) entornos "
+"Para mantener tu código portable entre estos dos (y otros) entornos
"
"recomendamos la API de <literal>Transaction</literal> de Hibernate, que
"
"envuelve y oculta el sistema subyacente. Tienes que especificar una clase "
-"fábrica para las instancias de <literal>Transaction</literal>
estableciendo "
-"la propiedad de configuración
<literal>hibernate.transaction.factory_class</"
-"literal> de Hibernate."
+"fábrica para las instancias de
<literal>Transaction</literal> "
+"estableciendo la propiedad de configuración
<literal>hibernate."
+"transaction.factory_class</literal> de Hibernate."
-#. Tag: para
-#: configuration.xml:1437
-#, no-c-format
+#: index.docbook:1431
msgid "There are three standard (built-in) choices:"
-msgstr "Hay tres elecciones estándar (prefabricadas):"
+msgstr "Hay tres elecciones estándar (prefabricadas):"
-#. Tag: literal
-#: configuration.xml:1443
-#, no-c-format
+#: index.docbook:1437
msgid "org.hibernate.transaction.JDBCTransactionFactory"
msgstr "org.hibernate.transaction.JDBCTransactionFactory"
-#. Tag: para
-#: configuration.xml:1445
-#, no-c-format
+#: index.docbook:1439
msgid "delegates to database (JDBC) transactions (default)"
msgstr "delega a transacciones de base de datos (JDBC) (por defecto)"
-#. Tag: literal
-#: configuration.xml:1449
-#, no-c-format
+#: index.docbook:1443
msgid "org.hibernate.transaction.JTATransactionFactory"
msgstr "org.hibernate.transaction.JTATransactionFactory"
-#. Tag: para
-#: configuration.xml:1451
-#, no-c-format
+#: index.docbook:1445
msgid ""
"delegates to container-managed transaction if an existing transaction is "
"underway in this context (e.g. EJB session bean method), otherwise a new "
"transaction is started and bean-managed transaction are used."
msgstr ""
-"delega a transacciones manejadas por contenedor si una transacción existente
"
-"estó por debajo en este contexto (ej. método de un bean de sesión EJB), en "
-"otro caso una nueva transacción es comenzada y se usan transacciones "
-"manejadas por bean."
+"delega a transacciones manejadas por contenedor si una transacción
"
+"existente estó por debajo en este contexto (ej. método de un
"
+"bean de sesión EJB), en otro caso una nueva transacción es
"
+"comenzada y se usan transacciones manejadas por bean."
-#. Tag: literal
-#: configuration.xml:1459
-#, no-c-format
+#: index.docbook:1453
msgid "org.hibernate.transaction.CMTTransactionFactory"
msgstr "org.hibernate.transaction.CMTTransactionFactory"
-#. Tag: para
-#: configuration.xml:1461
-#, no-c-format
+#: index.docbook:1455
msgid "delegates to container-managed JTA transactions"
msgstr "delega a transacciones JTA manejadas por contenedor"
-#. Tag: para
-#: configuration.xml:1466
-#, no-c-format
+#: index.docbook:1460
msgid ""
"You may also define your own transaction strategies (for a CORBA transaction
"
"service, for example)."
msgstr ""
-"Puedes definir también tus propias estrategias de transacción (para un "
-"servicio de transacción CORBA, por ejemplo)."
+"Puedes definir también tus propias estrategias de transacción
"
+"(para un servicio de transacción CORBA, por ejemplo)."
-#. Tag: para
-#: configuration.xml:1471
-#, no-c-format
+#: index.docbook:1465
msgid ""
"Some features in Hibernate (i.e. the second level cache, Contextual Sessions
"
"with JTA, etc.) require access to the JTA
<literal>TransactionManager</"
@@ -3272,160 +2204,110 @@
"<literal>TransactionManager</literal>, since J2EE does not standardize
a "
"single mechanism:"
msgstr ""
-"Algunas funcionalidades en Hibernate (ej, el caché de segundo nivel, "
-"ligamento automático de JTA y Session, etc.) requieren acceso al "
+"Algunas funcionalidades en Hibernate (ej, el caché de segundo nivel,
"
+"ligamento automático de JTA y Session, etc.) requieren acceso al "
"<literal>TransactionManager</literal> de JTA en un entorno manejado. En
un "
-"servidor de aplicaciones tienes que especificar cómo Hibernate debe obtener "
-"una referencia al <literal>TransactionManager</literal>, pues J2EE no
"
-"estandariza un solo mecanismo:"
+"servidor de aplicaciones tienes que especificar cómo Hibernate debe
"
+"obtener una referencia al <literal>TransactionManager</literal>, pues
J2EE "
+"no estandariza un solo mecanismo:"
-#. Tag: title
-#: configuration.xml:1479
-#, no-c-format
+#: index.docbook:1473
msgid "JTA TransactionManagers"
msgstr "TransactionManagers de JTA"
-#. Tag: entry
-#: configuration.xml:1485
-#, no-c-format
+#: index.docbook:1479
msgid "Transaction Factory"
msgstr "Transaction Factory"
-#. Tag: entry
-#: configuration.xml:1486
-#, no-c-format
+#: index.docbook:1480
msgid "Application Server"
msgstr "Servidor de Aplicaciones"
-#. Tag: literal
-#: configuration.xml:1491
-#, no-c-format
+#: index.docbook:1485
msgid "org.hibernate.transaction.JBossTransactionManagerLookup"
msgstr "org.hibernate.transaction.JBossTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1492
-#, no-c-format
+#: index.docbook:1486
msgid "JBoss"
msgstr "JBoss"
-#. Tag: literal
-#: configuration.xml:1495
-#, no-c-format
+#: index.docbook:1489
msgid "org.hibernate.transaction.WeblogicTransactionManagerLookup"
msgstr "org.hibernate.transaction.WeblogicTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1496
-#, no-c-format
+#: index.docbook:1490
msgid "Weblogic"
msgstr "Weblogic"
-#. Tag: literal
-#: configuration.xml:1499
-#, no-c-format
+#: index.docbook:1493
msgid "org.hibernate.transaction.WebSphereTransactionManagerLookup"
msgstr "org.hibernate.transaction.WebSphereTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1500
-#, no-c-format
+#: index.docbook:1494
msgid "WebSphere"
msgstr "WebSphere"
-#. Tag: literal
-#: configuration.xml:1503
-#, no-c-format
+#: index.docbook:1497
msgid "org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"
msgstr "org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"
-#. Tag: entry
-#: configuration.xml:1504
-#, no-c-format
+#: index.docbook:1498
msgid "WebSphere 6"
msgstr "WebSphere 6"
-#. Tag: literal
-#: configuration.xml:1507
-#, no-c-format
+#: index.docbook:1501
msgid "org.hibernate.transaction.OrionTransactionManagerLookup"
msgstr "org.hibernate.transaction.OrionTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1508
-#, no-c-format
+#: index.docbook:1502
msgid "Orion"
msgstr "Orion"
-#. Tag: literal
-#: configuration.xml:1511
-#, no-c-format
+#: index.docbook:1505
msgid "org.hibernate.transaction.ResinTransactionManagerLookup"
msgstr "org.hibernate.transaction.ResinTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1512
-#, no-c-format
+#: index.docbook:1506
msgid "Resin"
msgstr "Resin"
-#. Tag: literal
-#: configuration.xml:1515
-#, no-c-format
+#: index.docbook:1509
msgid "org.hibernate.transaction.JOTMTransactionManagerLookup"
msgstr "org.hibernate.transaction.JOTMTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1516
-#, no-c-format
+#: index.docbook:1510
msgid "JOTM"
msgstr "JOTM"
-#. Tag: literal
-#: configuration.xml:1519
-#, no-c-format
+#: index.docbook:1513
msgid "org.hibernate.transaction.JOnASTransactionManagerLookup"
msgstr "org.hibernate.transaction.JOnASTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1520
-#, no-c-format
+#: index.docbook:1514
msgid "JOnAS"
msgstr "JOnAS"
-#. Tag: literal
-#: configuration.xml:1523
-#, no-c-format
+#: index.docbook:1517
msgid "org.hibernate.transaction.JRun4TransactionManagerLookup"
msgstr "org.hibernate.transaction.JRun4TransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1524
-#, no-c-format
+#: index.docbook:1518
msgid "JRun4"
msgstr "JRun4"
-#. Tag: literal
-#: configuration.xml:1527
-#, no-c-format
+#: index.docbook:1521
msgid "org.hibernate.transaction.BESTransactionManagerLookup"
msgstr "org.hibernate.transaction.BESTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1528
-#, no-c-format
+#: index.docbook:1522
msgid "Borland ES"
msgstr "Borland ES"
-#. Tag: title
-#: configuration.xml:1537
-#, no-c-format
+#: index.docbook:1531
msgid "JNDI-bound <literal>SessionFactory</literal>"
msgstr "<literal>SessionFactory</literal> ligada a JNDI"
-#. Tag: para
-#: configuration.xml:1539
-#, no-c-format
+#: index.docbook:1533
msgid ""
"A JNDI bound Hibernate <literal>SessionFactory</literal> can simplify
the "
"lookup of the factory and the creation of new
<literal>Session</literal>s. "
@@ -3433,14 +2315,12 @@
"both simply use the same registry!"
msgstr ""
"Una <literal>SessionFactory</literal> de Hibernate ligada a JNDI puede
"
-"simplificar la obtención de la fábrica y la creación de nuevas "
-"<literal>Session</literal>s. Observa que esto no está relacionado a un
"
-"<literal>Datasource</literal> ligado a JNDI, simplemente ambos usan el
mismo "
-"registro!"
+"simplificar la obtención de la fábrica y la
creación de "
+"nuevas <literal>Session</literal>s. Observa que esto no está
"
+"relacionado a un <literal>Datasource</literal> ligado a JNDI,
simplemente "
+"ambos usan el mismo registro!"
-#. Tag: para
-#: configuration.xml:1546
-#, no-c-format
+#: index.docbook:1540
msgid ""
"If you wish to have the <literal>SessionFactory</literal> bound to a
JNDI "
"namespace, specify a name (eg.
<literal>java:hibernate/SessionFactory</"
@@ -3453,27 +2333,24 @@
"nombres de JNDI, especifica un nombre (ej. <literal>java:hibernate/"
"SessionFactory</literal>) usando la propiedad
<literal>hibernate."
"session_factory_name</literal>. Si esta propiedad es omitida, la "
-"<literal>SessionFactory</literal> no será ligada a JNDI (Esto es
"
-"especialmente útil en entornos con una implementació JNDI de sólo lectura "
-"por defecto, ej. Tomcat.)"
+"<literal>SessionFactory</literal> no será ligada a JNDI
(Esto es "
+"especialmente útil en entornos con una implementació JNDI de
"
+"sólo lectura por defecto, ej. Tomcat.)"
-#. Tag: para
-#: configuration.xml:1554
-#, no-c-format
+#: index.docbook:1548
msgid ""
"When binding the <literal>SessionFactory</literal> to JNDI, Hibernate
will "
"use the values of <literal>hibernate.jndi.url</literal>,
<literal>hibernate."
"jndi.class</literal> to instantiate an initial context. If they are not
"
"specified, the default <literal>InitialContext</literal> will be
used."
msgstr ""
-"Al ligar la <literal>SessionFactory</literal> a JNDI, Hibernate usará
los "
-"valores de <literal>hibernate.jndi.url</literal>,
<literal>hibernate.jndi."
-"class</literal> para instanciar un contexto inicial. Si étos no se "
-"especifican, se usará el <literal>InitialContext</literal> por
defecto."
+"Al ligar la <literal>SessionFactory</literal> a JNDI, Hibernate
usará "
+"los valores de <literal>hibernate.jndi.url</literal>,
<literal>hibernate."
+"jndi.class</literal> para instanciar un contexto inicial. Si étos
no "
+"se especifican, se usará el
<literal>InitialContext</literal> por "
+"defecto."
-#. Tag: para
-#: configuration.xml:1561
-#, no-c-format
+#: index.docbook:1555
msgid ""
"Hibernate will automatically place the
<literal>SessionFactory</literal> in "
"JNDI after you call <literal>cfg.buildSessionFactory()</literal>. This
means "
@@ -3481,15 +2358,14 @@
"your application, unless you use JMX deployment with the "
"<literal>HibernateService</literal> (discussed later)."
msgstr ""
-"Hibernate colocará automáticamente la <literal>SessionFactory</literal>
en "
-"JNDI después que llames a <literal>cfg.buildSessionFactory()</literal>.
Esto "
-"significa que tendrás al menos esta llamada en algún código de arranque (o "
-"clase de utilidad) en tu aplicación, a menos qie uses el despliegue JMX con "
-"el <literal>HibernateService</literal> (discutido luego)."
+"Hibernate colocará automáticamente la
<literal>SessionFactory</"
+"literal> en JNDI después que llames a
<literal>cfg.buildSessionFactory"
+"()</literal>. Esto significa que tendrás al menos esta llamada en
"
+"algún código de arranque (o clase de utilidad) en tu "
+"aplicación, a menos qie uses el despliegue JMX con el "
+"<literal>HibernateService</literal> (discutido luego)."
-#. Tag: para
-#: configuration.xml:1568
-#, no-c-format
+#: index.docbook:1562
msgid ""
"If you use a JNDI <literal>SessionFactory</literal>, an EJB or any
other "
"class may obtain the <literal>SessionFactory</literal> using a JNDI
lookup."
@@ -3498,9 +2374,7 @@
"any other class may obtain the <literal>SessionFactory</literal> using
a "
"JNDI lookup."
-#. Tag: para
-#: configuration.xml:1573
-#, no-c-format
+#: index.docbook:1567
msgid ""
"We recommend that you bind the <literal>SessionFactory</literal> to
JNDI in "
"a managed environment and use a <literal>static</literal> singleton
"
@@ -3512,20 +2386,17 @@
msgstr ""
"Si usas una <literal>SessionFactory</literal> de JNDI, un EJB o
cualquier "
"otra clase puede obtener la <literal>SessionFactory</literal> usando
una "
-"búsqueda JNDI. Observa que esta configuración no es necesaria si usas la "
-"clase de ayuda <literal>HibernateUtil</literal> introducida en el
capítulo "
-"uno, que actúa como un registro Singleton. Sin embargo, "
-"<literal>HibernateUtil</literal> es más común en un entorno no
manejado."
+"búsqueda JNDI. Observa que esta configuración no es necesaria
"
+"si usas la clase de ayuda <literal>HibernateUtil</literal> introducida
en el "
+"capítulo uno, que actúa como un registro Singleton. Sin
"
+"embargo, <literal>HibernateUtil</literal> es más
común en un "
+"entorno no manejado."
-#. Tag: title
-#: configuration.xml:1585
-#, no-c-format
+#: index.docbook:1579
msgid "Current Session context management with JTA"
-msgstr "Ligado automático de JTA y Session"
+msgstr "Ligado automático de JTA y Session"
-#. Tag: para
-#: configuration.xml:1587
-#, no-c-format
+#: index.docbook:1581
msgid ""
"The easiest way to handle <literal>Session</literal>s and transactions
is "
"Hibernates automatic \"current\" <literal>Session</literal>
management. See "
@@ -3566,15 +2437,11 @@
"boundaries. If you run in an EJB container, declarative transaction "
"demarcation with CMT is preferred."
-#. Tag: title
-#: configuration.xml:1610
-#, no-c-format
+#: index.docbook:1604
msgid "JMX deployment"
msgstr "Despliegue JMX"
-#. Tag: para
-#: configuration.xml:1612
-#, no-c-format
+#: index.docbook:1606
msgid ""
"The line <literal>cfg.buildSessionFactory()</literal> still has to be
"
"executed somewhere to get a <literal>SessionFactory</literal> into
JNDI. You "
@@ -3582,15 +2449,14 @@
"the one in <literal>HibernateUtil</literal>) or you deploy Hibernate as
a "
"<emphasis>managed service</emphasis>."
msgstr ""
-"La línea <literal>cfg.buildSessionFactory()</literal> todavía tiene que
ser "
-"ejecutada en algun sitio para obtener una
<literal>SessionFactory</literal> "
-"en JNDI. Puedes hacer esto bien en un bloque inicializador
<literal>static</"
-"literal> (como aquel en <literal>HibernateUtil</literal>) o bien
despliegas "
-"Hibernate como un <emphasis>servicio manejado</emphasis>."
+"La línea <literal>cfg.buildSessionFactory()</literal>
todavía "
+"tiene que ser ejecutada en algun sitio para obtener una "
+"<literal>SessionFactory</literal> en JNDI. Puedes hacer esto bien en un
"
+"bloque inicializador <literal>static</literal> (como aquel en "
+"<literal>HibernateUtil</literal>) o bien despliegas Hibernate como un
"
+"<emphasis>servicio manejado</emphasis>."
-#. Tag: para
-#: configuration.xml:1620
-#, no-c-format
+#: index.docbook:1614
msgid ""
"Hibernate is distributed with
<literal>org.hibernate.jmx.HibernateService</"
"literal> for deployment on an application server with JMX capabilities, such
"
@@ -3599,13 +2465,11 @@
msgstr ""
"Hibernate se distribuye con
<literal>org.hibernate.jmx.HibernateService</"
"literal> para despliegue en un servidor de aplicaciones con capacidades JMX,
"
-"como JBoss AS. El despliegue y la configuracón reales son específicos del "
-"vendedor. He aquí un <literal>jboss-service.xml</literal> de ejemplo
para "
-"JBoss 4.0.x:"
+"como JBoss AS. El despliegue y la configuracón reales son "
+"específicos del vendedor. He aquí un
<literal>jboss-service."
+"xml</literal> de ejemplo para JBoss 4.0.x:"
-#. Tag: programlisting
-#: configuration.xml:1627
-#, no-c-format
+#: index.docbook:1621
msgid ""
"<![CDATA[<?xml version=\"1.0\"?>\n"
"<server>\n"
@@ -3653,10 +2517,53 @@
"\n"
"</server>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<server>\n"
+"\n"
+"<mbean code=\"org.hibernate.jmx.HibernateService\"\n"
+"
name=\"jboss.jca:service=HibernateFactory,name=HibernateFactory\">\n"
+"\n"
+" <!-- Required services -->\n"
+" <depends>jboss.jca:service=RARDeployer</depends>\n"
+" <depends>jboss.jca:service=LocalTxCM,name=HsqlDS</depends>\n"
+"\n"
+" <!-- Bind the Hibernate service to JNDI -->\n"
+" <attribute
name=\"JndiName\">java:/hibernate/SessionFactory</attribute>\n"
+"\n"
+" <!-- Datasource settings -->\n"
+" <attribute
name=\"Datasource\">java:HsqlDS</attribute>\n"
+" <attribute
name=\"Dialect\">org.hibernate.dialect.HSQLDialect</"
+"attribute>\n"
+"\n"
+" <!-- Transaction integration -->\n"
+" <attribute name=\"TransactionStrategy\">\n"
+" org.hibernate.transaction.JTATransactionFactory</attribute>\n"
+" <attribute name=\"TransactionManagerLookupStrategy\">\n"
+"
org.hibernate.transaction.JBossTransactionManagerLookup</attribute>\n"
+" <attribute
name=\"FlushBeforeCompletionEnabled\">true</attribute>\n"
+" <attribute
name=\"AutoCloseSessionEnabled\">true</attribute>\n"
+"\n"
+" <!-- Fetching options -->\n"
+" <attribute
name=\"MaximumFetchDepth\">5</attribute>\n"
+"\n"
+" <!-- Second-level caching -->\n"
+" <attribute
name=\"SecondLevelCacheEnabled\">true</attribute>\n"
+" <attribute
name=\"CacheProviderClass\">org.hibernate.cache."
+"EhCacheProvider</attribute>\n"
+" <attribute
name=\"QueryCacheEnabled\">true</attribute>\n"
+"\n"
+" <!-- Logging -->\n"
+" <attribute
name=\"ShowSqlEnabled\">true</attribute>\n"
+"\n"
+" <!-- Mapping files -->\n"
+" <attribute
name=\"MapResources\">auction/Item.hbm.xml,auction/Category."
+"hbm.xml</attribute>\n"
+"\n"
+"</mbean>\n"
+"\n"
+"</server>]]>"
-#. Tag: para
-#: configuration.xml:1629
-#, no-c-format
+#: index.docbook:1623
msgid ""
"This file is deployed in a directory called <literal>META-INF</literal>
and "
"packaged in a JAR file with the extension <literal>.sar</literal>
(service "
@@ -3669,230 +2576,18 @@
"deployment."
msgstr ""
"Este fichero es desplegado en un directorio llamado
<literal>META-INF</"
-"literal> y empaquetado en un fichero JAR con la extensión
<literal>.sar</"
-"literal> (fichero de servicio). También necesitas empaquetar Hibernate, sus
"
-"bibliotecas de terceros requeridas, tus clases persistentes compiladas, así "
-"como tus ficheros de mapeo en el mismo fichero. Tus beans de empresa "
-"(usualmente beans de sesión) pueden ser mantenidos en su propio fichero JAR,
"
-"pero debes incluir este fichero EJB JAR en el fichero de servicio principal "
-"para obtener una unidad desplegable (en caliente). Consulta la documentación
"
-"de JBoss AS para más información sobre el servicio JMX y despliegue de EJB."
+"literal> y empaquetado en un fichero JAR con la extensión
<literal>."
+"sar</literal> (fichero de servicio). También necesitas empaquetar
"
+"Hibernate, sus bibliotecas de terceros requeridas, tus clases persistentes "
+"compiladas, así como tus ficheros de mapeo en el mismo fichero. Tus
"
+"beans de empresa (usualmente beans de sesión) pueden ser mantenidos
"
+"en su propio fichero JAR, pero debes incluir este fichero EJB JAR en el "
+"fichero de servicio principal para obtener una unidad desplegable (en "
+"caliente). Consulta la documentación de JBoss AS para más
"
+"información sobre el servicio JMX y despliegue de EJB."
-#, fuzzy
-#~ msgid "<placeholder-1/> (optional)"
-#~ msgstr ""
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "<placeholder-1/> (optional)\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "<placeholder-1/> (opcional)\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "<placeholder-1/> (opcional)\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "<placeholder-1/> (opcional)"
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-#~ msgid "InitialContextFactory"
-#~ msgstr "InitialContextFactory"
-
-#~ msgid "class of the JNDI <placeholder-1/>"
-#~ msgstr "clase de la <placeholder-1/> de JNDI"
-
-#, fuzzy
-#~ msgid "eg."
-#~ msgstr ""
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "eg.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej."
-
-#~ msgid "full.classname.of.Dialect"
-#~ msgstr "full.classname.of.Dialect"
-
-#~ msgid "debug"
-#~ msgstr "debug"
-
-#~ msgid "SCHEMA_NAME"
-#~ msgstr "SCHEMA_NAME"
-
-#~ msgid "CATALOG_NAME"
-#~ msgstr "CATALOG_NAME"
-
-#~ msgid "SessionFactory"
-#~ msgstr "SessionFactory"
-
-#~ msgid "jndi/composite/name"
-#~ msgstr "jndi/composite/name"
-
-#~ msgid "0"
-#~ msgstr "0"
-
-#~ msgid "false"
-#~ msgstr "false"
-
-#~ msgid "Statement.setFetchSize()"
-#~ msgstr "Statement.setFetchSize()"
-
-#~ msgid "true"
-#~ msgstr "true"
-
-#~ msgid "executeBatch()"
-#~ msgstr "executeBatch()"
-
-#~ msgid "Batcher"
-#~ msgstr "Batcher"
-
-#~ msgid "classname.of.BatcherFactory"
-#~ msgstr "classname.of.BatcherFactory"
-
-#~ msgid "binary"
-#~ msgstr "binary"
-
-#~ msgid "serializable"
-#~ msgstr "serializable"
-
-#~ msgid "PreparedStatement.getGeneratedKeys()"
-#~ msgstr "PreparedStatement.getGeneratedKeys()"
-
-#~ msgid "true|false"
-#~ msgstr "true|false"
-
-#~ msgid "ConnectionProvider"
-#~ msgstr "ConnectionProvider"
-
-#~ msgid "classname.of.ConnectionProvider"
-#~ msgstr "classname.of.ConnectionProvider"
-
-#~ msgid "java.sql.Connection"
-#~ msgstr "java.sql.Connection"
-
-#~ msgid "1, 2, 4, 8"
-#~ msgstr "1, 2, 4, 8"
-
-#~ msgid "after_statement"
-#~ msgstr "after_statement"
-
-#~ msgid "after_transaction"
-#~ msgstr "after_transaction"
-
-#~ msgid "auto"
-#~ msgstr "auto"
-
-#~ msgid "hibernate.connection."
-#~ msgstr "<propertyName>"
-
-#, fuzzy
-#~ msgid "<propertyName>"
-#~ msgstr ""
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "hibernate.connection.<placeholder-1/>\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "propertyName\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "hibernate.jndi.<placeholder-1/>\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "propertyName"
-
-#~ msgid "DriverManager.getConnection()"
-#~ msgstr "DriverManager.getConnection()"
-
-#~ msgid "Pass the JDBC property <placeholder-1/> to
<placeholder-2/>."
-#~ msgstr "Pasa la propiedad JDBC <placeholder-1/> a
<placeholder-2/>."
-
-#~ msgid "hibernate.jndi."
-#~ msgstr "<propertyName>"
-
-#~ msgid "Pass the property <placeholder-1/> to the JNDI
<placeholder-2/>."
-#~ msgstr "Pasa la propiedad <placeholder-1/> a <placeholder-2/> de
JNDI."
-
-#~ msgid "CacheProvider"
-#~ msgstr "CacheProvider"
-
-#~ msgid "classname.of.CacheProvider"
-#~ msgstr "classname.of.CacheProvider"
-
-#~ msgid "<cache>"
-#~ msgstr "<cache>"
-
-#~ msgid "QueryCache"
-#~ msgstr "QueryCache"
-
-#~ msgid "StandardQueryCache"
-#~ msgstr "StandardQueryCache"
-
-#~ msgid "classname.of.QueryCache"
-#~ msgstr "classname.of.QueryCache"
-
-#~ msgid "prefix"
-#~ msgstr "prefix"
-
-#~ msgid "TransactionFactory"
-#~ msgstr "TransactionFactory"
-
-#~ msgid "Transaction"
-#~ msgstr "Transaction"
-
-#~ msgid "JDBCTransactionFactory"
-#~ msgstr "JDBCTransactionFactory"
-
-#~ msgid "classname.of.TransactionFactory"
-#~ msgstr "classname.of.TransactionFactory"
-
-#~ msgid "JTATransactionFactory"
-#~ msgstr "JTATransactionFactory"
-
-#~ msgid "UserTransaction"
-#~ msgstr "UserTransaction"
-
-#~ msgid "TransactionManagerLookup"
-#~ msgstr "TransactionManagerLookup"
-
-#~ msgid "classname.of.TransactionManagerLookup"
-#~ msgstr "classname.of.TransactionManagerLookup"
-
-#~ msgid "Session"
-#~ msgstr "Session"
-
-#~ msgid "hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC"
-#~ msgstr "hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC"
-
-#~ msgid "create-drop"
-#~ msgstr "create-drop"
-
-#~ msgid "hibernate.cfg.xml"
-#~ msgstr "hibernate.cfg.xml"
-
-#~ msgid "DB2"
-#~ msgstr "DB2"
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/events.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/events.po 2007-11-02
00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/events.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,42 +1,30 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: events.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Interceptors and events"
msgstr "Interceptores y eventos"
-#. Tag: para
-#: events.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"It is often useful for the application to react to certain events that occur
"
"inside Hibernate. This allows implementation of certain kinds of generic "
"functionality, and extension of Hibernate functionality."
msgstr ""
-"Frecuentemente es útil para la aplicación reaccionar a ciertos eventos que "
-"ocurran dentro de Hibernate. Esto permite la implementación de ciertos tipos
"
-"de funcionalidade genérica, y extensión de la funcionalidad de Hibernate."
+"Frecuentemente es útil para la aplicación reaccionar a
ciertos "
+"eventos que ocurran dentro de Hibernate. Esto permite la
implementació"
+"n de ciertos tipos de funcionalidade genérica, y extensión de
"
+"la funcionalidad de Hibernate."
-#. Tag: title
-#: events.xml:14
-#, no-c-format
+#: index.docbook:14
msgid "Interceptors"
msgstr "Interceptores"
-#. Tag: para
-#: events.xml:16
-#, no-c-format
+#: index.docbook:16
msgid ""
"The <literal>Interceptor</literal> interface provides callbacks from
the "
"session to the application allowing the application to inspect and/or "
@@ -48,19 +36,17 @@
"<literal>lastUpdateTimestamp</literal> property when an
<literal>Auditable</"
"literal> is updated."
msgstr ""
-"La interface <literal>Interceptor</literal> provee callbacks desde la
sesión "
-"a la aplicación permitiendo a ésta última inspeccionar y/o manipular las "
-"propiedades de un objeto persistente antes que sea salvado, actualizado, "
-"borrado o cargado. Un uso posible de esto es seguir la pista de información "
-"de auditoría. Por ejemplo, el siguiente <literal>Interceptor</literal>
"
-"establece automáticamente el <literal>createTimestamp</literal> cuando
un "
-"<literal>Auditable</literal> es creado y actualiza la propiedad "
-"<literal>lastUpdateTimestamp</literal> cuando un
<literal>Auditable</"
-"literal> es acutalizado."
+"La interface <literal>Interceptor</literal> provee callbacks desde la
"
+"sesión a la aplicación permitiendo a ésta
última "
+"inspeccionar y/o manipular las propiedades de un objeto persistente antes "
+"que sea salvado, actualizado, borrado o cargado. Un uso posible de esto es "
+"seguir la pista de información de auditoría. Por ejemplo, el
"
+"siguiente <literal>Interceptor</literal> establece
automáticamente el "
+"<literal>createTimestamp</literal> cuando un
<literal>Auditable</literal> es "
+"creado y actualiza la propiedad <literal>lastUpdateTimestamp</literal>
"
+"cuando un <literal>Auditable</literal> es acutalizado."
-#. Tag: para
-#: events.xml:27
-#, no-c-format
+#: index.docbook:27
msgid ""
"You may either implement <literal>Interceptor</literal> directly or
(better) "
"extend <literal>EmptyInterceptor</literal>."
@@ -68,9 +54,7 @@
"UNTRANSLATED! You may either implement <literal>Interceptor</literal>
"
"directly or (better) extend <literal>EmptyInterceptor</literal>."
-#. Tag: programlisting
-#: events.xml:32
-#, no-c-format
+#: index.docbook:32
msgid ""
"<![CDATA[package org.hibernate.test;\n"
"\n"
@@ -156,10 +140,88 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[package org.hibernate.test;\n"
+"\n"
+"import java.io.Serializable;\n"
+"import java.util.Date;\n"
+"import java.util.Iterator;\n"
+"\n"
+"import org.hibernate.Interceptor;\n"
+"import org.hibernate.type.Type;\n"
+"\n"
+"public class AuditInterceptor implements Interceptor, Serializable {\n"
+"\n"
+" private int updates;\n"
+" private int creates;\n"
+"\n"
+" public void onDelete(Object entity,\n"
+" Serializable id,\n"
+" Object[] state,\n"
+" String[] propertyNames,\n"
+" Type[] types) {\n"
+" // do nothing\n"
+" }\n"
+"\n"
+" public boolean onFlushDirty(Object entity,\n"
+" Serializable id,\n"
+" Object[] currentState,\n"
+" Object[] previousState,\n"
+" String[] propertyNames,\n"
+" Type[] types) {\n"
+"\n"
+" if ( entity instanceof Auditable ) {\n"
+" updates++;\n"
+" for ( int i=0; i < propertyNames.length; i++ ) {\n"
+" if ( \"lastUpdateTimestamp\".equals( propertyNames[i] ) )
{\n"
+" currentState[i] = new Date();\n"
+" return true;\n"
+" }\n"
+" }\n"
+" }\n"
+" return false;\n"
+" }\n"
+"\n"
+" public boolean onLoad(Object entity,\n"
+" Serializable id,\n"
+" Object[] state,\n"
+" String[] propertyNames,\n"
+" Type[] types) {\n"
+" return false;\n"
+" }\n"
+"\n"
+" public boolean onSave(Object entity,\n"
+" Serializable id,\n"
+" Object[] state,\n"
+" String[] propertyNames,\n"
+" Type[] types) {\n"
+"\n"
+" if ( entity instanceof Auditable ) {\n"
+" creates++;\n"
+" for ( int i=0; i<propertyNames.length; i++ ) {\n"
+" if ( \"createTimestamp\".equals( propertyNames[i] ) )
{\n"
+" state[i] = new Date();\n"
+" return true;\n"
+" }\n"
+" }\n"
+" }\n"
+" return false;\n"
+" }\n"
+"\n"
+" public void postFlush(Iterator entities) {\n"
+" System.out.println(\"Creations: \" + creates + \", Updates:
\" + "
+"updates);\n"
+" }\n"
+"\n"
+" public void preFlush(Iterator entities) {\n"
+" updates=0;\n"
+" creates=0;\n"
+" }\n"
+"\n"
+" ...\n"
+"\n"
+"}]]>"
-#. Tag: para
-#: events.xml:34
-#, no-c-format
+#: index.docbook:34
msgid ""
"Interceptors come in two flavors: <literal>Session</literal>-scoped and
"
"<literal>SessionFactory</literal>-scoped."
@@ -167,9 +229,7 @@
"UNTRANSLATED! Interceptors come in two flavors:
<literal>Session</literal>-"
"scoped and <literal>SessionFactory</literal>-scoped."
-#. Tag: para
-#: events.xml:39
-#, no-c-format
+#: index.docbook:39
msgid ""
"A <literal>Session</literal>-scoped interceptor is specified when a
session "
"is opened using one of the overloaded SessionFactory.openSession() methods "
@@ -179,15 +239,12 @@
"when a session is opened using one of the overloaded SessionFactory."
"openSession() methods accepting an
<literal>Interceptor</literal>."
-#. Tag: programlisting
-#: events.xml:45
-#, no-c-format
+#: index.docbook:45
msgid "<![CDATA[Session session = sf.openSession( new AuditInterceptor()
);]]>"
msgstr ""
+"<![CDATA[Session session = sf.openSession( new AuditInterceptor()
);]]>"
-#. Tag: para
-#: events.xml:47
-#, no-c-format
+#: index.docbook:47
msgid ""
"A <literal>SessionFactory</literal>-scoped interceptor is registered
with "
"the <literal>Configuration</literal> object prior to building the
"
@@ -208,35 +265,28 @@
"session-specific state since multiple sessions will use this interceptor "
"(potentially) concurrently."
-#. Tag: programlisting
-#: events.xml:56
-#, no-c-format
+#: index.docbook:56
msgid ""
"<![CDATA[new Configuration().setInterceptor( new AuditInterceptor()
);]]>"
msgstr ""
+"<![CDATA[new Configuration().setInterceptor( new AuditInterceptor()
);]]>"
-#. Tag: title
-#: events.xml:61
-#, no-c-format
+#: index.docbook:61
msgid "Event system"
msgstr "Sistema de eventos"
-#. Tag: para
-#: events.xml:63
-#, no-c-format
+#: index.docbook:63
msgid ""
"If you have to react to particular events in your persistence layer, you may
"
"also use the Hibernate3 <emphasis>event</emphasis> architecture. The
event "
"system can be used in addition or as a replacement for interceptors."
msgstr ""
"Si tienes que reaccionar a eventos particulares en tu capa de persistencia, "
-"puedes también la arquitectura de <emphasis>eventos</emphasis> de
"
-"Hibernate3. El sistema de eventos puede ser usado en adición o como un "
-"remplazo a los interceptores."
+"puedes también la arquitectura de
<emphasis>eventos</emphasis> de "
+"Hibernate3. El sistema de eventos puede ser usado en adición o como
"
+"un remplazo a los interceptores."
-#. Tag: para
-#: events.xml:69
-#, no-c-format
+#: index.docbook:69
msgid ""
"Essentially all of the methods of the <literal>Session</literal>
interface "
"correlate to an event. You have a <literal>LoadEvent</literal>, a
"
@@ -253,36 +303,34 @@
"processing any <literal>load()</literal> requests made of the "
"<literal>Session</literal>."
msgstr ""
-"Esencialmente todos los métodos de la interface
<literal>Session</literal> "
-"se correlacionan con un evento. Tienes un <literal>LoadEvent</literal>,
un "
-"<literal>FlushEvent</literal>, etc (consulta el DTD del fichero de
"
-"configuración XML o el paquete <literal>org.hibernate.event</literal>
para "
-"la lista completa de tipos de evento definidos). Cuando se hace una petición
"
-"de uno de estos métodos, la <literal>Session</literal> de Hibernate
genera "
-"un evento apropiado y se lo pasa al oyente (listener) de eventos configurado
"
-"para ese tipo. De fábrica, estos oyentes implementan el mismo procesamiento "
-"en los que siempre resultan aquellos métodos. Sin embargo, eres libre de "
-"implementar una personalización de una de las interfaces oyentes (es decir, "
-"el <literal>LoadEvent</literal> es procesado por la implementación
"
+"Esencialmente todos los métodos de la interface
<literal>Session</"
+"literal> se correlacionan con un evento. Tienes un
<literal>LoadEvent</"
+"literal>, un <literal>FlushEvent</literal>, etc (consulta el DTD del
fichero "
+"de configuración XML o el paquete
<literal>org.hibernate.event</"
+"literal> para la lista completa de tipos de evento definidos). Cuando se "
+"hace una petición de uno de estos métodos, la "
+"<literal>Session</literal> de Hibernate genera un evento apropiado y se
lo "
+"pasa al oyente (listener) de eventos configurado para ese tipo. De
fá"
+"brica, estos oyentes implementan el mismo procesamiento en los que siempre "
+"resultan aquellos métodos. Sin embargo, eres libre de implementar una
"
+"personalización de una de las interfaces oyentes (es decir, el "
+"<literal>LoadEvent</literal> es procesado por la
implementación "
"registrada de la interface <literal>LoadEventListener</literal>), en
cuyo "
-"caso su implementación sería responsable de procesar cualquier petición "
-"<literal>load()</literal> hecha a la
<literal>Session</literal>."
+"caso su implementación sería responsable de procesar
cualquier "
+"petición <literal>load()</literal> hecha a la
<literal>Session</"
+"literal>."
-#. Tag: para
-#: events.xml:84
-#, no-c-format
+#: index.docbook:84
msgid ""
"The listeners should be considered effectively singletons; meaning, they are
"
"shared between requests, and thus should not save any state as instance "
"variables."
msgstr ""
"Los oyentes deben ser considerados efectivamente singletons; quiere decir, "
-"que son compartidos entre las peticiones, y por lo tanto no guardan ningún "
-"estado en variables de instancia."
+"que son compartidos entre las peticiones, y por lo tanto no guardan "
+"ningún estado en variables de instancia."
-#. Tag: para
-#: events.xml:89
-#, no-c-format
+#: index.docbook:89
msgid ""
"A custom listener should implement the appropriate interface for the event "
"it wants to process and/or extend one of the convenience base classes (or "
@@ -296,16 +344,15 @@
"Un oyente personalizado debe implementar la interface apropiada para el "
"evento que quiere procesar y/o extender una de las clases base de "
"conveniencia (o incluso los oyentes de eventos por defecto usados por "
-"Hibernate de fábrica al ser éstos declarados non-final para este propósito).
"
-"Los oyentes personalizados pueden ser registrados programáticamente a través
"
-"del objeto <literal>Configuration</literal>, o especificados en el XML
de "
-"configuración de Hibernate (la declaración declarativa a través del fichero "
-"de propiedades no está soportada). He aquí un ejemplo de un oyente "
-"personalizado de eventos load:"
+"Hibernate de fábrica al ser éstos declarados non-final para
"
+"este propósito). Los oyentes personalizados pueden ser registrados
"
+"programáticamente a través del objeto
<literal>Configuration</"
+"literal>, o especificados en el XML de configuración de Hibernate (la
"
+"declaración declarativa a través del fichero de propiedades
no "
+"está soportada). He aquí un ejemplo de un oyente
personalizado "
+"de eventos load:"
-#. Tag: programlisting
-#: events.xml:99
-#, no-c-format
+#: index.docbook:99
msgid ""
"<![CDATA[public class MyLoadListener implements LoadEventListener {\n"
" // this is the single method defined by the LoadEventListener
interface\n"
@@ -319,20 +366,28 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[public class MyLoadListener extends DefaultLoadEventListener {\n"
+" // this is the single method defined by the LoadEventListener
interface\n"
+" public Object onLoad(LoadEvent event, LoadEventListener.LoadType "
+"loadType)\n"
+" throws HibernateException {\n"
+" if ( !MySecurity.isAuthorized( event.getEntityClassName(), event."
+"getEntityId() ) ) {\n"
+" throw MySecurityException(\"Unauthorized access\");\n"
+" }\n"
+" return super.onLoad(event, loadType);\n"
+" }\n"
+"}]]>"
-#. Tag: para
-#: events.xml:101
-#, no-c-format
+#: index.docbook:101
msgid ""
"You also need a configuration entry telling Hibernate to use the listener in
"
"addition to the default listener:"
msgstr ""
-"Necesitas además una entrada de configuración diciéndole a Hibernate que use
"
-"el oyente en vez del oyente por defecto:"
+"Necesitas además una entrada de configuración
dicié"
+"ndole a Hibernate que use el oyente en vez del oyente por defecto:"
-#. Tag: programlisting
-#: events.xml:106
-#, no-c-format
+#: index.docbook:106
msgid ""
"<![CDATA[<hibernate-configuration>\n"
" <session-factory>\n"
@@ -345,26 +400,29 @@
" </session-factory>\n"
"</hibernate-configuration>]]>"
msgstr ""
+"<![CDATA[<hibernate-configuration>\n"
+" <session-factory>\n"
+" ...\n"
+" <listener type=\"load\"
class=\"MyLoadListener\"/>\n"
+" </session-factory>\n"
+"</hibernate-configuration>]]>"
-#. Tag: para
-#: events.xml:108
-#, no-c-format
+#: index.docbook:108
msgid "Instead, you may register it programmatically:"
-msgstr "En cambio, puedes registrarlo programáticamente:"
+msgstr "En cambio, puedes registrarlo programáticamente:"
-#. Tag: programlisting
-#: events.xml:112
-#, no-c-format
+#: index.docbook:112
msgid ""
"<![CDATA[Configuration cfg = new Configuration();\n"
"LoadEventListener[] stack = { new MyLoadListener(), new "
"DefaultLoadEventListener() };\n"
"cfg.EventListeners().setLoadEventListeners(stack);]]>"
msgstr ""
+"<![CDATA[Configuration cfg = new Configuration();\n"
+"cfg.getSessionEventListenerConfig().setLoadEventListener( new MyLoadListener"
+"() );]]>"
-#. Tag: para
-#: events.xml:114
-#, no-c-format
+#: index.docbook:114
msgid ""
"Listeners registered declaratively cannot share instances. If the same class
"
"name is used in multiple <literal><listener/></literal>
elements, each "
@@ -373,14 +431,13 @@
"the programmatic registration approach."
msgstr ""
"Los oyentes registrados declarativamente no pueden compartir instancias. Si "
-"el mismo nombre de clase es usado en múltiples elementos
<literal><"
-"listener/></literal>, cada referencia resultará en una instancia
separada "
-"de esa clase. Si necesitas la capacidad de compartir instancias de oyentes "
-"entre tipos de oyente debes usar el enfoque de registración programática."
+"el mismo nombre de clase es usado en múltiples elementos
<literal><"
+"listener/></literal>, cada referencia resultará en una
instancia "
+"separada de esa clase. Si necesitas la capacidad de compartir instancias de "
+"oyentes entre tipos de oyente debes usar el enfoque de registración
"
+"programática."
-#. Tag: para
-#: events.xml:122
-#, no-c-format
+#: index.docbook:122
msgid ""
"Why implement an interface and define the specific type during "
"configuration? Well, a listener implementation could implement multiple "
@@ -388,21 +445,18 @@
"registration makes it easier to turn custom listeners on or off during "
"configuration."
msgstr ""
-"¿Por qué implementar una interface y definir el tipo espcífico durante la "
-"configuración? Bueno, una implementación de oyente podría implementar "
-"múltiples interfaces de oyente de eventos. Teniendo el tipo definido "
-"adicionalmente durante la registración lo hace más fácil para activar o "
-"desactivar oyentes personalizados durante la configuración."
+"¿Por qué implementar una interface y definir el tipo "
+"espcífico durante la configuración? Bueno, una "
+"implementación de oyente podría implementar
múltiples "
+"interfaces de oyente de eventos. Teniendo el tipo definido adicionalmente "
+"durante la registración lo hace más fácil para
activar "
+"o desactivar oyentes personalizados durante la configuración."
-#. Tag: title
-#: events.xml:132
-#, no-c-format
+#: index.docbook:132
msgid "Hibernate declarative security"
msgstr "Seguridad declarativa de Hibernate"
-#. Tag: para
-#: events.xml:133
-#, no-c-format
+#: index.docbook:133
msgid ""
"Usually, declarative security in Hibernate applications is managed in a "
"session facade layer. Now, Hibernate3 allows certain actions to be "
@@ -410,23 +464,20 @@
"functionality built on top of the event architecture."
msgstr ""
"Usualmente, la seguridad declarativa en aplicaciones Hibernate es manejada "
-"en una capa de fachada de sesión. Ahora, Hibernate3 permite que ciertas "
-"acciones sean permitidas vía JACC, y autorizadas vía JAAS. Esta en una "
-"funcionalidad opcional construída encima de la arquitectura de eventos."
+"en una capa de fachada de sesión. Ahora, Hibernate3 permite que "
+"ciertas acciones sean permitidas vía JACC, y autorizadas vía
"
+"JAAS. Esta en una funcionalidad opcional construída encima de la "
+"arquitectura de eventos."
-#. Tag: para
-#: events.xml:139
-#, no-c-format
+#: index.docbook:139
msgid ""
"First, you must configure the appropriate event listeners, to enable the use
"
"of JAAS authorization."
msgstr ""
"Primero, debes configurar los oyentes de eventos apropiados, para habilitar "
-"el uso de autorización JAAS."
+"el uso de autorización JAAS."
-#. Tag: programlisting
-#: events.xml:144
-#, no-c-format
+#: index.docbook:144
msgid ""
"<![CDATA[<listener type=\"pre-delete\"
class=\"org.hibernate.secure."
"JACCPreDeleteEventListener\"/>\n"
@@ -437,10 +488,16 @@
"<listener type=\"pre-load\" class=\"org.hibernate.secure."
"JACCPreLoadEventListener\"/>]]>"
msgstr ""
+"<![CDATA[<listener type=\"pre-delete\"
class=\"org.hibernate.secure."
+"JACCPreDeleteEventListener\"/>\n"
+"<listener type=\"pre-update\"
class=\"org.hibernate.secure."
+"JACCPreUpdateEventListener\"/>\n"
+"<listener type=\"pre-insert\"
class=\"org.hibernate.secure."
+"JACCPreInsertEventListener\"/>\n"
+"<listener type=\"pre-load\" class=\"org.hibernate.secure."
+"JACCPreLoadEventListener\"/>]]>"
-#. Tag: para
-#: events.xml:146
-#, no-c-format
+#: index.docbook:146
msgid ""
"Note that <literal><listener type=\"...\"
class=\"...\"/></literal> is "
"just a shorthand for <literal><event
type=\"...\"><listener class="
@@ -452,27 +509,30 @@
"listener class=\"...\"/></event></literal>
when there is exactly "
"one listener for a particular event type."
-#. Tag: para
-#: events.xml:152
-#, no-c-format
+#: index.docbook:152
msgid ""
"Next, still in <literal>hibernate.cfg.xml</literal>, bind the
permissions to "
"roles:"
msgstr ""
-"Seguido, aún en <literal>hibernate.cfg.xml</literal>, liga los permisos
a "
-"roles:"
+"Seguido, aún en <literal>hibernate.cfg.xml</literal>, liga
los "
+"permisos a roles:"
-#. Tag: programlisting
-#: events.xml:156
-#, no-c-format
+#: index.docbook:156
msgid ""
"<![CDATA[<grant role=\"admin\" entity-name=\"User\"
actions=\"insert,update,"
"read\"/>\n"
"<grant role=\"su\" entity-name=\"User\"
actions=\"*\"/>]]>"
msgstr ""
+"<![CDATA[<grant role=\"admin\" entity-name=\"User\"
actions=\"insert,update,"
+"read\"/>\n"
+"<grant role=\"su\" entity-name=\"User\"
actions=\"*\"/>]]>"
-#. Tag: para
-#: events.xml:158
-#, no-c-format
+#: index.docbook:158
msgid "The role names are the roles understood by your JACC provider."
msgstr "Los nombres de role son los roles entendidos por tu proveedor de
JACC."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified:
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_mappings.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_mappings.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_mappings.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,36 +1,24 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: example_mappings.xml:20
-#, no-c-format
+#: index.docbook:20
msgid "Example: Various Mappings"
msgstr "Ejemplo: Varios Mapeos"
-#. Tag: para
-#: example_mappings.xml:22
-#, no-c-format
+#: index.docbook:22
msgid "This chapters shows off some more complex association mappings."
-msgstr "Este capítulo muestra mapeos de asociaciones más complejos."
+msgstr ""
+"Este capítulo muestra mapeos de asociaciones más
complejos."
-#. Tag: title
-#: example_mappings.xml:27
-#, no-c-format
+#: index.docbook:27
msgid "Employer/Employee"
msgstr "Empleador/Empleado"
-#. Tag: para
-#: example_mappings.xml:29
-#, no-c-format
+#: index.docbook:29
msgid ""
"The following model of the relationship between
<literal>Employer</literal> "
"and <literal>Employee</literal> uses an actual entity class "
@@ -38,22 +26,18 @@
"because there might be more than one period of employment for the same two "
"parties. Components are used to model monetary values and employee names."
msgstr ""
-"El siguiente modelo de la relación entre <literal>Employer</literal> y
"
-"<literal>Employee</literal> usa una clase de entidad real "
-"(<literal>Employment</literal>) para representar la asociación. Esto se
ha "
-"hecho esto porque podría haber más de un período de empleo para los mismos "
-"dos participantes. Se usan componentes para modelar valores monetarios y "
-"nombres de empleado."
+"El siguiente modelo de la relación entre
<literal>Employer</literal> "
+"y <literal>Employee</literal> usa una clase de entidad real "
+"(<literal>Employment</literal>) para representar la
asociación. Esto "
+"se ha hecho esto porque podría haber más de un
período "
+"de empleo para los mismos dos participantes. Se usan componentes para "
+"modelar valores monetarios y nombres de empleado."
-#. Tag: para
-#: example_mappings.xml:46
-#, no-c-format
+#: index.docbook:46
msgid "Heres a possible mapping document:"
-msgstr "He aquí un documento de mapeo posible:"
+msgstr "He aquí un documento de mapeo posible:"
-#. Tag: programlisting
-#: example_mappings.xml:50
-#, no-c-format
+#: index.docbook:50
msgid ""
"<![CDATA[<hibernate-mapping>\n"
" \n"
@@ -106,18 +90,65 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+" \n"
+" <class name=\"Employer\"
table=\"employers\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\">\n"
+" <param
name=\"sequence\">employer_id_seq</param>\n"
+" </generator>\n"
+" </id>\n"
+" <property name=\"name\"/>\n"
+" </class>\n"
+"\n"
+" <class name=\"Employment\"
table=\"employment_periods\">\n"
+"\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\">\n"
+" <param
name=\"sequence\">employment_id_seq</param>\n"
+" </generator>\n"
+" </id>\n"
+" <property name=\"startDate\"
column=\"start_date\"/>\n"
+" <property name=\"endDate\"
column=\"end_date\"/>\n"
+"\n"
+" <component name=\"hourlyRate\"
class=\"MonetaryAmount\">\n"
+" <property name=\"amount\">\n"
+" <column name=\"hourly_rate\"
sql-type=\"NUMERIC(12, 2)\"/>\n"
+" </property>\n"
+" <property name=\"currency\"
length=\"12\"/>\n"
+" </component>\n"
+"\n"
+" <many-to-one name=\"employer\"
column=\"employer_id\" not-null=\"true"
+"\"/>\n"
+" <many-to-one name=\"employee\"
column=\"employee_id\" not-null=\"true"
+"\"/>\n"
+"\n"
+" </class>\n"
+"\n"
+" <class name=\"Employee\"
table=\"employees\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\">\n"
+" <param
name=\"sequence\">employee_id_seq</param>\n"
+" </generator>\n"
+" </id>\n"
+" <property name=\"taxfileNumber\"/>\n"
+" <component name=\"name\" class=\"Name\">\n"
+" <property name=\"firstName\"/>\n"
+" <property name=\"initial\"/>\n"
+" <property name=\"lastName\"/>\n"
+" </component>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: example_mappings.xml:52
-#, no-c-format
+#: index.docbook:52
msgid ""
"And heres the table schema generated by
<literal>SchemaExport</literal>."
msgstr ""
-"Y he aquí el esquema de tablas generado por
<literal>SchemaExport</literal>."
+"Y he aquí el esquema de tablas generado por
<literal>SchemaExport</"
+"literal>."
-#. Tag: programlisting
-#: example_mappings.xml:56
-#, no-c-format
+#: index.docbook:56
msgid ""
"<![CDATA[create table employers (\n"
" id BIGINT not null, \n"
@@ -155,16 +186,47 @@
"create sequence employment_id_seq\n"
"create sequence employer_id_seq]]>"
msgstr ""
+"<![CDATA[create table employers (\n"
+" id BIGINT not null, \n"
+" name VARCHAR(255), \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"create table employment_periods (\n"
+" id BIGINT not null,\n"
+" hourly_rate NUMERIC(12, 2),\n"
+" currency VARCHAR(12), \n"
+" employee_id BIGINT not null, \n"
+" employer_id BIGINT not null, \n"
+" end_date TIMESTAMP, \n"
+" start_date TIMESTAMP, \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"create table employees (\n"
+" id BIGINT not null, \n"
+" firstName VARCHAR(255), \n"
+" initial CHAR(1), \n"
+" lastName VARCHAR(255), \n"
+" taxfileNumber VARCHAR(255), \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"alter table employment_periods \n"
+" add constraint employment_periodsFK0 foreign key (employer_id) "
+"references employers\n"
+"alter table employment_periods \n"
+" add constraint employment_periodsFK1 foreign key (employee_id) "
+"references employees\n"
+"create sequence employee_id_seq\n"
+"create sequence employment_id_seq\n"
+"create sequence employer_id_seq]]>"
-#. Tag: title
-#: example_mappings.xml:61
-#, no-c-format
+#: index.docbook:61
msgid "Author/Work"
msgstr "Autor/Obra"
-#. Tag: para
-#: example_mappings.xml:63
-#, no-c-format
+#: index.docbook:63
msgid ""
"Consider the following model of the relationships between
<literal>Work</"
"literal>, <literal>Author</literal> and
<literal>Person</literal>. We "
@@ -176,23 +238,20 @@
msgstr ""
"Considera el siguiente modelo de las relaciones entre
<literal>Work</"
"literal>, <literal>Author</literal> y
<literal>Person</literal>. "
-"Representamos la relación entre <literal>Work</literal> y
<literal>Author</"
-"literal> como una asociación muchos-a-muchos. Elegimos representar la "
-"relación entre <literal>Author</literal> y
<literal>Person</literal> como "
-"una asociación uno-a-uno. Otra posibilidad hubiese sido que
<literal>Author</"
-"literal> extendiera <literal>Person</literal>."
+"Representamos la relación entre <literal>Work</literal> y
"
+"<literal>Author</literal> como una asociación
muchos-a-muchos. "
+"Elegimos representar la relación entre
<literal>Author</literal> y "
+"<literal>Person</literal> como una asociación uno-a-uno.
Otra "
+"posibilidad hubiese sido que <literal>Author</literal> extendiera
"
+"<literal>Person</literal>."
-#. Tag: para
-#: example_mappings.xml:81
-#, no-c-format
+#: index.docbook:81
msgid ""
"The following mapping document correctly represents these relationships:"
msgstr ""
"El siguiente documento de mapeo representa estas relaciones correctamente:"
-#. Tag: programlisting
-#: example_mappings.xml:85
-#, no-c-format
+#: index.docbook:85
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -246,10 +305,59 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Work\" table=\"works\"
discriminator-value=\"W\">\n"
+"\n"
+" <id name=\"id\" column=\"id\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <discriminator column=\"type\"
type=\"character\"/>\n"
+"\n"
+" <property name=\"title\"/>\n"
+" <set name=\"authors\"
table=\"author_work\">\n"
+" <key column name=\"work_id\"/>\n"
+" <many-to-many class=\"Author\" column
name=\"author_id\"/>\n"
+" </set>\n"
+"\n"
+" <subclass name=\"Book\"
discriminator-value=\"B\">\n"
+" <property name=\"text\"/>\n"
+" </subclass>\n"
+"\n"
+" <subclass name=\"Song\"
discriminator-value=\"S\">\n"
+" <property name=\"tempo\"/>\n"
+" <property name=\"genre\"/>\n"
+" </subclass>\n"
+"\n"
+" </class>\n"
+"\n"
+" <class name=\"Author\" table=\"authors\">\n"
+"\n"
+" <id name=\"id\" column=\"id\">\n"
+" <!-- The Author must have the same identifier as the Person
-->\n"
+" <generator class=\"assigned\"/> \n"
+" </id>\n"
+"\n"
+" <property name=\"alias\"/>\n"
+" <one-to-one name=\"person\"
constrained=\"true\"/>\n"
+"\n"
+" <set name=\"works\" table=\"author_work\"
inverse=\"true\">\n"
+" <key column=\"author_id\"/>\n"
+" <many-to-many class=\"Work\"
column=\"work_id\"/>\n"
+" </set>\n"
+"\n"
+" </class>\n"
+"\n"
+" <class name=\"Person\" table=\"persons\">\n"
+" <id name=\"id\" column=\"id\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"name\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: example_mappings.xml:87
-#, no-c-format
+#: index.docbook:87
msgid ""
"There are four tables in this mapping. <literal>works</literal>,
"
"<literal>authors</literal> and <literal>persons</literal>
hold work, author "
@@ -260,12 +368,10 @@
"Hay cuatro tablas en este mapeo. <literal>works</literal>,
<literal>authors</"
"literal> y <literal>persons</literal> tienen los datos de obra,
autor y "
"persona respectivamente. <literal>author_work</literal> es una tabla de
"
-"asociación enlazando autores a obras. He aquí el esquema de tablas, tal como
"
-"fue generado por <literal>SchemaExport</literal>."
+"asociación enlazando autores a obras. He aquí el esquema de
"
+"tablas, tal como fue generado por
<literal>SchemaExport</literal>."
-#. Tag: programlisting
-#: example_mappings.xml:95
-#, no-c-format
+#: index.docbook:95
msgid ""
"<![CDATA[create table works (\n"
" id BIGINT not null generated by default as identity, \n"
@@ -303,16 +409,47 @@
"alter table author_work\n"
" add constraint author_workFK1 foreign key (work_id) references
works]]>"
msgstr ""
+"<![CDATA[create table works (\n"
+" id BIGINT not null generated by default as identity, \n"
+" tempo FLOAT, \n"
+" genre VARCHAR(255), \n"
+" text INTEGER, \n"
+" title VARCHAR(255), \n"
+" type CHAR(1) not null, \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"create table author_work (\n"
+" author_id BIGINT not null, \n"
+" work_id BIGINT not null, \n"
+" primary key (work_id, author_id)\n"
+")\n"
+"\n"
+"create table authors (\n"
+" id BIGINT not null generated by default as identity, \n"
+" alias VARCHAR(255), \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"create table persons (\n"
+" id BIGINT not null generated by default as identity, \n"
+" name VARCHAR(255), \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"alter table authors \n"
+" add constraint authorsFK0 foreign key (id) references persons\n"
+"alter table author_work \n"
+" add constraint author_workFK0 foreign key (author_id) references "
+"authors\n"
+"alter table author_work\n"
+" add constraint author_workFK1 foreign key (work_id) references
works]]>"
-#. Tag: title
-#: example_mappings.xml:100
-#, no-c-format
+#: index.docbook:100
msgid "Customer/Order/Product"
msgstr "Cliente/Orden/Producto"
-#. Tag: para
-#: example_mappings.xml:102
-#, no-c-format
+#: index.docbook:102
msgid ""
"Now consider a model of the relationships between
<literal>Customer</"
"literal>, <literal>Order</literal> and
<literal>LineItem</literal> and "
@@ -326,23 +463,20 @@
msgstr ""
"Ahora considera un modelo de las relaciones entre
<literal>Customer</"
"literal>, <literal>Order</literal> y
<literal>LineItem</literal> y "
-"<literal>Product</literal>. Hay una asociación uno-a-muchos entre
"
-"<literal>Customer</literal> y <literal>Order</literal>,
pero, ¿cómo "
-"deberíamos representar <literal>Order</literal> /
<literal>LineItem</"
-"literal> / <literal>Product</literal>? He elegido mapear
<literal>LineItem</"
-"literal> como una clase de asociación representando la asociación
muchos-a-"
-"muchos entre <literal>Order</literal> y
<literal>Product</literal>. En "
-"Hibernate, esto se llama un elemento compuesto."
+"<literal>Product</literal>. Hay una asociación uno-a-muchos
entre "
+"<literal>Customer</literal> y <literal>Order</literal>,
pero, ¿"
+"cómo deberíamos representar
<literal>Order</literal> / "
+"<literal>LineItem</literal> / <literal>Product</literal>?
He elegido mapear "
+"<literal>LineItem</literal> como una clase de asociación
"
+"representando la asociación muchos-a-muchos entre
<literal>Order</"
+"literal> y <literal>Product</literal>. En Hibernate, esto se llama
un "
+"elemento compuesto."
-#. Tag: para
-#: example_mappings.xml:122
-#, no-c-format
+#: index.docbook:122
msgid "The mapping document:"
msgstr "El documento de mapeo:"
-#. Tag: programlisting
-#: example_mappings.xml:126
-#, no-c-format
+#: index.docbook:126
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -382,10 +516,45 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Customer\"
table=\"customers\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"name\"/>\n"
+" <set name=\"orders\" inverse=\"true\">\n"
+" <key column=\"customer_id\"/>\n"
+" <one-to-many class=\"Order\"/>\n"
+" </set>\n"
+" </class>\n"
+"\n"
+" <class name=\"Order\" table=\"orders\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"date\"/>\n"
+" <many-to-one name=\"customer\"
column=\"customer_id\"/>\n"
+" <list name=\"lineItems\"
table=\"line_items\">\n"
+" <key column=\"order_id\"/>\n"
+" <list-index column=\"line_number\"/>\n"
+" <composite-element class=\"LineItem\">\n"
+" <property name=\"quantity\"/>\n"
+" <many-to-one name=\"product\"
column=\"product_id\"/>\n"
+" </composite-element>\n"
+" </list>\n"
+" </class>\n"
+"\n"
+" <class name=\"Product\" table=\"products\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"serialNumber\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: example_mappings.xml:128
-#, no-c-format
+#: index.docbook:128
msgid ""
"<literal>customers</literal>, <literal>orders</literal>,
"
"<literal>line_items</literal> and
<literal>products</literal> hold customer, "
@@ -394,13 +563,11 @@
msgstr ""
"<literal>customers</literal>, <literal>orders</literal>,
"
"<literal>line_items</literal> y <literal>products</literal>
tienen los datos "
-"de cliente, orden, ítem de línea de orden y producto respectivamente. Además
"
-"<literal>line_items</literal> actúa como una tabla de asociación
enlazando "
-"órdenes con productos."
+"de cliente, orden, ítem de línea de orden y producto "
+"respectivamente. Además <literal>line_items</literal>
actúa "
+"como una tabla de asociación enlazando órdenes con
productos."
-#. Tag: programlisting
-#: example_mappings.xml:135
-#, no-c-format
+#: index.docbook:135
msgid ""
"<![CDATA[create table customers (\n"
" id BIGINT not null generated by default as identity, \n"
@@ -437,40 +604,65 @@
"alter table line_items\n"
" add constraint line_itemsFK1 foreign key (order_id) references
orders]]>"
msgstr ""
+"<![CDATA[create table customers (\n"
+" id BIGINT not null generated by default as identity, \n"
+" name VARCHAR(255), \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"create table orders (\n"
+" id BIGINT not null generated by default as identity, \n"
+" customer_id BIGINT, \n"
+" date TIMESTAMP, \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"create table line_items (\n"
+" line_number INTEGER not null, \n"
+" order_id BIGINT not null, \n"
+" product_id BIGINT, \n"
+" quantity INTEGER, \n"
+" primary key (order_id, line_number)\n"
+")\n"
+"\n"
+"create table products (\n"
+" id BIGINT not null generated by default as identity, \n"
+" serialNumber VARCHAR(255), \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"alter table orders \n"
+" add constraint ordersFK0 foreign key (customer_id) references
customers\n"
+"alter table line_items\n"
+" add constraint line_itemsFK0 foreign key (product_id) references "
+"products\n"
+"alter table line_items\n"
+" add constraint line_itemsFK1 foreign key (order_id) references
orders]]>"
-#. Tag: title
-#: example_mappings.xml:140
-#, no-c-format
+#: index.docbook:140
msgid "Miscellaneous example mappings"
-msgstr "Mapeos misceláneos de ejemplo"
+msgstr "Mapeos misceláneos de ejemplo"
-#. Tag: para
-#: example_mappings.xml:142
-#, no-c-format
+#: index.docbook:142
msgid ""
"These examples are all taken from the Hibernate test suite. You will find "
"many other useful example mappings there. Look in the
<literal>test</"
"literal> folder of the Hibernate distribution."
msgstr ""
-"Todos estos ejemplos están tomados de la batería de pruebas de Hibernate. "
-"Encontrarás muchos otros mapeos de ejemplo útiles allí. Mira en la carpeta "
-"<literal>test</literal> de la distribución de Hibernate."
+"Todos estos ejemplos están tomados de la batería de pruebas
de "
+"Hibernate. Encontrarás muchos otros mapeos de ejemplo útiles
"
+"allí. Mira en la carpeta <literal>test</literal> de la
"
+"distribución de Hibernate."
-#. Tag: para
-#: example_mappings.xml:148
-#, no-c-format
+#: index.docbook:148
msgid "TODO: put words around this stuff"
msgstr "POR HACER: poner palabras alrededor de este material"
-#. Tag: title
-#: example_mappings.xml:151
-#, no-c-format
+#: index.docbook:151
msgid "\"Typed\" one-to-one association"
-msgstr "Asociación uno-a-uno \"Tipificada\""
+msgstr "Asociación uno-a-uno \"Tipificada\""
-#. Tag: programlisting
-#: example_mappings.xml:152
-#, no-c-format
+#: index.docbook:152
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"name\"/>\n"
@@ -499,16 +691,38 @@
" <property name=\"zip\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"name\"/>\n"
+" <one-to-one name=\"address\" \n"
+" cascade=\"all\">\n"
+" <formula>name</formula>\n"
+" <formula>'HOME'</formula>\n"
+" </one-to-one>\n"
+" <one-to-one name=\"mailingAddress\" \n"
+" cascade=\"all\">\n"
+" <formula>name</formula>\n"
+" <formula>'MAILING'</formula>\n"
+" </one-to-one>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\" batch-size=\"2\" \n"
+" check=\"addressType in ('MAILING', 'HOME',
'BUSINESS')\">\n"
+" <composite-id>\n"
+" <key-many-to-one name=\"person\" \n"
+" column=\"personName\"/>\n"
+" <key-property name=\"type\" \n"
+" column=\"addressType\"/>\n"
+" </composite-id>\n"
+" <property name=\"street\" type=\"text\"/>\n"
+" <property name=\"state\"/>\n"
+" <property name=\"zip\"/>\n"
+"</class>]]>"
-#. Tag: title
-#: example_mappings.xml:156
-#, no-c-format
+#: index.docbook:156
msgid "Composite key example"
msgstr "Ejemplo de clave compuesta"
-#. Tag: programlisting
-#: example_mappings.xml:157
-#, no-c-format
+#: index.docbook:157
msgid ""
"<![CDATA[<class name=\"Customer\">\n"
"\n"
@@ -624,16 +838,125 @@
" \n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Customer\">\n"
+"\n"
+" <id name=\"customerId\"\n"
+" length=\"10\">\n"
+" <generator class=\"assigned\"/>\n"
+" </id>\n"
+"\n"
+" <property name=\"name\" not-null=\"true\"
length=\"100\"/>\n"
+" <property name=\"address\" not-null=\"true\"
length=\"200\"/>\n"
+"\n"
+" <list name=\"orders\"\n"
+" inverse=\"true\"\n"
+" cascade=\"save-update\">\n"
+" <key column=\"customerId\"/>\n"
+" <index column=\"orderNumber\"/>\n"
+" <one-to-many class=\"Order\"/>\n"
+" </list>\n"
+"\n"
+"</class>\n"
+"\n"
+"<class name=\"Order\" table=\"CustomerOrder\"
lazy=\"true\">\n"
+" <synchronize table=\"LineItem\"/>\n"
+" <synchronize table=\"Product\"/>\n"
+" \n"
+" <composite-id name=\"id\" \n"
+" class=\"Order$Id\">\n"
+" <key-property name=\"customerId\"
length=\"10\"/>\n"
+" <key-property name=\"orderNumber\"/>\n"
+" </composite-id>\n"
+" \n"
+" <property name=\"orderDate\" \n"
+" type=\"calendar_date\"\n"
+" not-null=\"true\"/>\n"
+" \n"
+" <property name=\"total\">\n"
+" <formula>\n"
+" ( select sum(li.quantity*p.price) \n"
+" from LineItem li, Product p \n"
+" where li.productId = p.productId \n"
+" and li.customerId = customerId \n"
+" and li.orderNumber = orderNumber )\n"
+" </formula>\n"
+" </property>\n"
+" \n"
+" <many-to-one name=\"customer\"\n"
+" column=\"customerId\"\n"
+" insert=\"false\"\n"
+" update=\"false\" \n"
+" not-null=\"true\"/>\n"
+" \n"
+" <bag name=\"lineItems\"\n"
+" fetch=\"join\" \n"
+" inverse=\"true\"\n"
+" cascade=\"save-update\">\n"
+" <key>\n"
+" <column name=\"customerId\"/>\n"
+" <column name=\"orderNumber\"/>\n"
+" </key>\n"
+" <one-to-many class=\"LineItem\"/>\n"
+" </bag>\n"
+" \n"
+"</class>\n"
+" \n"
+"<class name=\"LineItem\">\n"
+" \n"
+" <composite-id name=\"id\" \n"
+" class=\"LineItem$Id\">\n"
+" <key-property name=\"customerId\"
length=\"10\"/>\n"
+" <key-property name=\"orderNumber\"/>\n"
+" <key-property name=\"productId\"
length=\"10\"/>\n"
+" </composite-id>\n"
+" \n"
+" <property name=\"quantity\"/>\n"
+" \n"
+" <many-to-one name=\"order\"\n"
+" insert=\"false\"\n"
+" update=\"false\" \n"
+" not-null=\"true\">\n"
+" <column name=\"customerId\"/>\n"
+" <column name=\"orderNumber\"/>\n"
+" </many-to-one>\n"
+" \n"
+" <many-to-one name=\"product\"\n"
+" insert=\"false\"\n"
+" update=\"false\" \n"
+" not-null=\"true\"\n"
+" column=\"productId\"/>\n"
+" \n"
+"</class>\n"
+"\n"
+"<class name=\"Product\">\n"
+" <synchronize table=\"LineItem\"/>\n"
+"\n"
+" <id name=\"productId\"\n"
+" length=\"10\">\n"
+" <generator class=\"assigned\"/>\n"
+" </id>\n"
+" \n"
+" <property name=\"description\" \n"
+" not-null=\"true\" \n"
+" length=\"200\"/>\n"
+" <property name=\"price\" length=\"3\"/>\n"
+" <property name=\"numberAvailable\"/>\n"
+" \n"
+" <property name=\"numberOrdered\">\n"
+" <formula>\n"
+" ( select sum(li.quantity) \n"
+" from LineItem li \n"
+" where li.productId = productId )\n"
+" </formula>\n"
+" </property>\n"
+" \n"
+"</class>]]>"
-#. Tag: title
-#: example_mappings.xml:161
-#, no-c-format
+#: index.docbook:161
msgid "Many-to-many with shared composite key attribute"
msgstr "Muchos-a-muchos con atributo de clave compuesta compartido"
-#. Tag: programlisting
-#: example_mappings.xml:162
-#, no-c-format
+#: index.docbook:162
msgid ""
"<![CDATA[<class name=\"User\"
table=\"`User`\">\n"
" <composite-id>\n"
@@ -671,16 +994,47 @@
"</class>\n"
"]]>"
msgstr ""
+"<![CDATA[<class name=\"User\"
table=\"`User`\">\n"
+" <composite-id>\n"
+" <key-property name=\"name\"/>\n"
+" <key-property name=\"org\"/>\n"
+" </composite-id>\n"
+" <set name=\"groups\" table=\"UserGroup\">\n"
+" <key>\n"
+" <column name=\"userName\"/>\n"
+" <column name=\"org\"/>\n"
+" </key>\n"
+" <many-to-many class=\"Group\">\n"
+" <column name=\"groupName\"/>\n"
+" <formula>org</formula>\n"
+" </many-to-many>\n"
+" </set>\n"
+"</class>\n"
+" \n"
+"<class name=\"Group\" table=\"`Group`\">\n"
+" <composite-id>\n"
+" <key-property name=\"name\"/>\n"
+" <key-property name=\"org\"/>\n"
+" </composite-id>\n"
+" <property name=\"description\"/>\n"
+" <set name=\"users\" table=\"UserGroup\"
inverse=\"true\">\n"
+" <key>\n"
+" <column name=\"groupName\"/>\n"
+" <column name=\"org\"/>\n"
+" </key>\n"
+" <many-to-many class=\"User\">\n"
+" <column name=\"userName\"/>\n"
+" <formula>org</formula>\n"
+" </many-to-many>\n"
+" </set>\n"
+"</class>\n"
+"]]>"
-#. Tag: title
-#: example_mappings.xml:166
-#, no-c-format
+#: index.docbook:166
msgid "Content based discrimination"
-msgstr "Discriminación basada en contenido"
+msgstr "Discriminación basada en contenido"
-#. Tag: programlisting
-#: example_mappings.xml:167
-#, no-c-format
+#: index.docbook:167
msgid ""
"<![CDATA[<class name=\"Person\"\n"
" discriminator-value=\"P\">\n"
@@ -733,16 +1087,62 @@
" \n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\"\n"
+" discriminator-value=\"P\">\n"
+" \n"
+" <id name=\"id\" \n"
+" column=\"person_id\" \n"
+" unsaved-value=\"0\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" \n"
+" \n"
+" <discriminator \n"
+" type=\"character\">\n"
+" <formula>\n"
+" case \n"
+" when title is not null then 'E' \n"
+" when salesperson is not null then 'C' \n"
+" else 'P' \n"
+" end\n"
+" </formula>\n"
+" </discriminator>\n"
+"\n"
+" <property name=\"name\" \n"
+" not-null=\"true\"\n"
+" length=\"80\"/>\n"
+" \n"
+" <property name=\"sex\" \n"
+" not-null=\"true\"\n"
+" update=\"false\"/>\n"
+" \n"
+" <component name=\"address\">\n"
+" <property name=\"address\"/>\n"
+" <property name=\"zip\"/>\n"
+" <property name=\"country\"/>\n"
+" </component>\n"
+" \n"
+" <subclass name=\"Employee\" \n"
+" discriminator-value=\"E\">\n"
+" <property name=\"title\"\n"
+" length=\"20\"/>\n"
+" <property name=\"salary\"/>\n"
+" <many-to-one name=\"manager\"/>\n"
+" </subclass>\n"
+" \n"
+" <subclass name=\"Customer\" \n"
+" discriminator-value=\"C\">\n"
+" <property name=\"comments\"/>\n"
+" <many-to-one name=\"salesperson\"/>\n"
+" </subclass>\n"
+" \n"
+"</class>]]>"
-#. Tag: title
-#: example_mappings.xml:171
-#, no-c-format
+#: index.docbook:171
msgid "Associations on alternate keys"
msgstr "Asociaciones sobre claves alternativas"
-#. Tag: programlisting
-#: example_mappings.xml:172
-#, no-c-format
+#: index.docbook:172
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" \n"
@@ -794,3 +1194,58 @@
" \n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" \n"
+" <id name=\"id\">\n"
+" <generator class=\"hilo\"/>\n"
+" </id>\n"
+" \n"
+" <property name=\"name\" length=\"100\"/>\n"
+" \n"
+" <one-to-one name=\"address\" \n"
+" property-ref=\"person\"\n"
+" cascade=\"all\"\n"
+" fetch=\"join\"/>\n"
+" \n"
+" <set name=\"accounts\" \n"
+" inverse=\"true\">\n"
+" <key column=\"userId\"\n"
+" property-ref=\"userId\"/>\n"
+" <one-to-many class=\"Account\"/>\n"
+" </set>\n"
+" \n"
+" <property name=\"userId\" length=\"8\"/>\n"
+"\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"\n"
+" <id name=\"id\">\n"
+" <generator class=\"hilo\"/>\n"
+" </id>\n"
+"\n"
+" <property name=\"address\" length=\"300\"/>\n"
+" <property name=\"zip\" length=\"5\"/>\n"
+" <property name=\"country\" length=\"25\"/>\n"
+" <many-to-one name=\"person\" unique=\"true\"
not-null=\"true\"/>\n"
+"\n"
+"</class>\n"
+"\n"
+"<class name=\"Account\">\n"
+" <id name=\"accountId\" length=\"32\">\n"
+" <generator class=\"uuid.hex\"/>\n"
+" </id>\n"
+" \n"
+" <many-to-one name=\"user\"\n"
+" column=\"userId\"\n"
+" property-ref=\"userId\"/>\n"
+" \n"
+" <property name=\"type\" not-null=\"true\"/>\n"
+" \n"
+"</class>]]>"
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified:
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_parentchild.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_parentchild.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_parentchild.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: example_parentchild.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Example: Parent/Child"
msgstr "Ejemplo: Padre/Hijo"
-#. Tag: para
-#: example_parentchild.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"One of the very first things that new users try to do with Hibernate is to "
"model a parent / child type relationship. There are two different approaches
"
@@ -35,52 +26,46 @@
"model a parent / child relationship efficiently and elegantly. It's not at
"
"all difficult!"
msgstr ""
-"Una de las primerísimas cosas que los usuarios nuevos intentan hacer con "
-"Hibernate es modelar una relación de tipo padre / hijo. Para esto hay dos "
-"enfoques diferentes. Por varias razones, el enfoque más conveniente, "
-"especialmente para usuarios nuevos, es modelar tanto
<literal>Parent</"
-"literal> como <literal>Child</literal> como clases de entidad con
una "
-"asociación <literal><one-to-many></literal> desde
<literal>Parent</"
-"literal> a <literal>Child</literal>. (El enfoque alternativo es
declarar el "
-"<literal>Child</literal> como un
<literal><composite-element></"
-"literal>.) Ahora, resulta que la semántica por defecto de una asociación uno
"
-"a muchos (en Hibernate) es mucho menos cercana a la semántica usual de una "
-"relación padre / hijo que aquellas de un mapeo de elementos compuestos. "
-"Explicaremos cómo usar una <emphasis>asociación uno a muchos bidireccional
"
-"con tratamiento en cascada</emphasis> para modelar una relación padre / hijo
"
-"eficiente y elegantemente. ¡No es para nada difícil!"
+"Una de las primerísimas cosas que los usuarios nuevos intentan hacer
"
+"con Hibernate es modelar una relación de tipo padre / hijo. Para esto
"
+"hay dos enfoques diferentes. Por varias razones, el enfoque más "
+"conveniente, especialmente para usuarios nuevos, es modelar tanto "
+"<literal>Parent</literal> como <literal>Child</literal>
como clases de "
+"entidad con una asociación
<literal><one-to-many></literal> "
+"desde <literal>Parent</literal> a <literal>Child</literal>.
(El enfoque "
+"alternativo es declarar el <literal>Child</literal> como un
<literal><"
+"composite-element></literal>.) Ahora, resulta que la
semántica por "
+"defecto de una asociación uno a muchos (en Hibernate) es mucho menos
"
+"cercana a la semántica usual de una relación padre / hijo que
"
+"aquellas de un mapeo de elementos compuestos. Explicaremos cómo usar
"
+"una <emphasis>asociación uno a muchos bidireccional con
tratamiento "
+"en cascada</emphasis> para modelar una relación padre / hijo
"
+"eficiente y elegantemente. ¡No es para nada difícil!"
-#. Tag: title
-#: example_parentchild.xml:21
-#, no-c-format
+#: index.docbook:21
msgid "A note about collections"
msgstr "Una nota sobre las colecciones"
-#. Tag: para
-#: example_parentchild.xml:23
-#, no-c-format
+#: index.docbook:23
msgid ""
"Hibernate collections are considered to be a logical part of their owning "
"entity; never of the contained entities. This is a crucial distinction! It "
"has the following consequences:"
msgstr ""
-"Se considera que las colecciones de Hibernate son una parte lógica de la "
-"entidad que las posee; nunca de las entidades contenidas. ¡Esta es una "
-"distinción crucial! Esto tiene las siguientes consecuencias:"
+"Se considera que las colecciones de Hibernate son una parte lógica de
"
+"la entidad que las posee; nunca de las entidades contenidas. ¡Esta es
"
+"una distinción crucial! Esto tiene las siguientes consecuencias:"
-#. Tag: para
-#: example_parentchild.xml:30
-#, no-c-format
+#: index.docbook:30
msgid ""
"When we remove / add an object from / to a collection, the version number of
"
"the collection owner is incremented."
msgstr ""
-"Cuando se quita / añade un objeto desde / a una colección, se incrementa el "
-"número de versión del dueño de la colección."
+"Cuando se quita / añade un objeto desde / a una colección, se
"
+"incrementa el número de versión del dueño de la
"
+"colección."
-#. Tag: para
-#: example_parentchild.xml:36
-#, no-c-format
+#: index.docbook:36
msgid ""
"If an object that was removed from a collection is an instance of a value "
"type (eg, a composite element), that object will cease to be persistent and "
@@ -88,15 +73,13 @@
"value type instance to the collection will cause its state to be immediately
"
"persistent."
msgstr ""
-"Si un objeto que fue quitado de una colección es una instancia de un tipo de
"
-"valor (por ejemplo, un elemento compuesto), ese objeta cesará de ser "
-"persistente y su estado será completamente quitado de la base de datos. "
-"Asimismo, añadir una instancia de tipo de valor a la colección causará que "
-"su estado sea inmediatamente persistente."
+"Si un objeto que fue quitado de una colección es una instancia de un
"
+"tipo de valor (por ejemplo, un elemento compuesto), ese objeta cesará
"
+"de ser persistente y su estado será completamente quitado de la base
"
+"de datos. Asimismo, añadir una instancia de tipo de valor a la "
+"colección causará que su estado sea inmediatamente
persistente."
-#. Tag: para
-#: example_parentchild.xml:44
-#, no-c-format
+#: index.docbook:44
msgid ""
"On the other hand, if an entity is removed from a collection (a one-to-many "
"or many-to-many association), it will not be deleted, by default. This "
@@ -105,16 +88,14 @@
"adding an entity to a collection does not cause that entity to become "
"persistent, by default."
msgstr ""
-"Por otro lado, si se quita una entidad de una colección (una asociación uno-"
-"a-muchos o muchos-a-muchos), no será borrado, por defecto. Este "
-"comportamiento es completamente consistente. ¡Un cambio en el estado interno
"
-"de otra entidad no hace desaparecer la entidad asociada! Asimismo, añadir "
-"una entidad a una colección no causa que la entidad se vuelva persistente, "
-"por defecto."
+"Por otro lado, si se quita una entidad de una colección (una "
+"asociación uno-a-muchos o muchos-a-muchos), no será borrado,
"
+"por defecto. Este comportamiento es completamente consistente. ¡Un
"
+"cambio en el estado interno de otra entidad no hace desaparecer la entidad "
+"asociada! Asimismo, añadir una entidad a una colección no
"
+"causa que la entidad se vuelva persistente, por defecto."
-#. Tag: para
-#: example_parentchild.xml:54
-#, no-c-format
+#: index.docbook:54
msgid ""
"Instead, the default behaviour is that adding an entity to a collection "
"merely creates a link between the two entities, while removing it removes "
@@ -122,47 +103,43 @@
"appropriate at all is the case of a parent / child relationship, where the "
"life of the child is bound to the life cycle of the parent."
msgstr ""
-"En cambio, el comportamiento por defecto es que al añadir una entidad a una "
-"colección se crea meramente un enlace entre las dos entidades, mientras que "
-"al quitarla se quita el enlace. Esto es muy apropiado para todos los tipos "
-"de casos. Donde no es para nada apropiado es en el caso de una relación "
-"padre / hijo. donde la vida del hijo está ligada al ciclo de vida del padre."
+"En cambio, el comportamiento por defecto es que al añadir una entidad
"
+"a una colección se crea meramente un enlace entre las dos entidades,
"
+"mientras que al quitarla se quita el enlace. Esto es muy apropiado para "
+"todos los tipos de casos. Donde no es para nada apropiado es en el caso de "
+"una relación padre / hijo. donde la vida del hijo está ligada
"
+"al ciclo de vida del padre."
-#. Tag: title
-#: example_parentchild.xml:64
-#, no-c-format
+#: index.docbook:64
msgid "Bidirectional one-to-many"
msgstr "Uno-a-muchos bidirectional"
-#. Tag: para
-#: example_parentchild.xml:66
-#, no-c-format
+#: index.docbook:66
msgid ""
"Suppose we start with a simple
<literal><one-to-many></literal> "
"association from <literal>Parent</literal> to
<literal>Child</literal>."
msgstr ""
-"Supón que empezamos con una asociación simple
<literal><one-to-many></"
-"literal> desde <literal>Parent</literal> a
<literal>Child</literal>."
+"Supón que empezamos con una asociación simple
<literal><one-"
+"to-many></literal> desde <literal>Parent</literal> a
<literal>Child</"
+"literal>."
-#. Tag: programlisting
-#: example_parentchild.xml:71
-#, no-c-format
+#: index.docbook:71
msgid ""
"<![CDATA[<set name=\"children\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"children\">\n"
+" <key column=\"parent_id\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+"</set>]]>"
-#. Tag: para
-#: example_parentchild.xml:73
-#, no-c-format
+#: index.docbook:73
msgid "If we were to execute the following code"
-msgstr "Si ejecutásemos el siguiente código"
+msgstr "Si ejecutásemos el siguiente código"
-#. Tag: programlisting
-#: example_parentchild.xml:77
-#, no-c-format
+#: index.docbook:77
msgid ""
"<![CDATA[Parent p = .....;\n"
"Child c = new Child();\n"
@@ -170,24 +147,23 @@
"session.save(c);\n"
"session.flush();]]>"
msgstr ""
+"<![CDATA[Parent p = .....;\n"
+"Child c = new Child();\n"
+"p.getChildren().add(c);\n"
+"session.save(c);\n"
+"session.flush();]]>"
-#. Tag: para
-#: example_parentchild.xml:79
-#, no-c-format
+#: index.docbook:79
msgid "Hibernate would issue two SQL statements:"
-msgstr "Hibernate publicaría dos sentencias SQL:"
+msgstr "Hibernate publicaría dos sentencias SQL:"
-#. Tag: para
-#: example_parentchild.xml:85
-#, no-c-format
+#: index.docbook:85
msgid ""
"an <literal>INSERT</literal> to create the record for
<literal>c</literal>"
msgstr ""
"un <literal>INSERT</literal> para crear el registro de
<literal>c</literal>"
-#. Tag: para
-#: example_parentchild.xml:88
-#, no-c-format
+#: index.docbook:88
msgid ""
"an <literal>UPDATE</literal> to create the link from
<literal>p</literal> to "
"<literal>c</literal>"
@@ -195,39 +171,36 @@
"un <literal>UPDATE</literal> para crear el enlace desde
<literal>p</literal> "
"a <literal>c</literal>"
-#. Tag: para
-#: example_parentchild.xml:95
-#, no-c-format
+#: index.docbook:95
msgid ""
"This is not only inefficient, but also violates any <literal>NOT
NULL</"
"literal> constraint on the <literal>parent_id</literal> column. We
can fix "
"the nullability constraint violation by specifying
<literal>not-null=\"true"
"\"</literal> in the collection mapping:"
msgstr ""
-"Esto no es sólo ineficiente, sino que además viola cualquier restricción "
-"<literal>NOT NULL</literal> en la columna
<literal>parent_id</literal>. "
-"Podemos reparar la violación de restricción de nulabilidad especificando "
-"<literal>not-null=\"true\"</literal> en el mapeo de la
colección:"
+"Esto no es sólo ineficiente, sino que además viola cualquier
"
+"restricción <literal>NOT NULL</literal> en la columna
"
+"<literal>parent_id</literal>. Podemos reparar la violación
de "
+"restricción de nulabilidad especificando
<literal>not-null=\"true\"</"
+"literal> en el mapeo de la colección:"
-#. Tag: programlisting
-#: example_parentchild.xml:101
-#, no-c-format
+#: index.docbook:101
msgid ""
"<![CDATA[<set name=\"children\">\n"
" <key column=\"parent_id\"
not-null=\"true\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"children\">\n"
+" <key column=\"parent_id\"
not-null=\"true\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+"</set>]]>"
-#. Tag: para
-#: example_parentchild.xml:103
-#, no-c-format
+#: index.docbook:103
msgid "However, this is not the recommended solution."
-msgstr "Sin embargo, esta no es la solución recomendada."
+msgstr "Sin embargo, esta no es la solución recomendada."
-#. Tag: para
-#: example_parentchild.xml:106
-#, no-c-format
+#: index.docbook:106
msgid ""
"The underlying cause of this behaviour is that the link (the foreign key "
"<literal>parent_id</literal>) from <literal>p</literal> to
<literal>c</"
@@ -235,63 +208,58 @@
"object and is therefore not created in the <literal>INSERT</literal>.
So the "
"solution is to make the link part of the <literal>Child</literal>
mapping."
msgstr ""
-"El caso subyacente de este comportamiento es que el enlace (la clave foránea
"
-"<literal>parent_id</literal>) de <literal>p</literal> a
<literal>c</literal> "
-"no es considerado parte del estado del objeto <literal>Child</literal>
y por "
-"lo tanto no es creada en el <literal>INSERT</literal>. De modo que la
"
-"solución es hacer el enlace parte del mapeo del
<literal>Child</literal>."
+"El caso subyacente de este comportamiento es que el enlace (la clave "
+"foránea <literal>parent_id</literal>) de
<literal>p</literal> a "
+"<literal>c</literal> no es considerado parte del estado del objeto
"
+"<literal>Child</literal> y por lo tanto no es creada en el
<literal>INSERT</"
+"literal>. De modo que la solución es hacer el enlace parte del mapeo
"
+"del <literal>Child</literal>."
-#. Tag: programlisting
-#: example_parentchild.xml:113
-#, no-c-format
+#: index.docbook:113
msgid ""
"<![CDATA[<many-to-one name=\"parent\"
column=\"parent_id\" not-null=\"true\"/"
">]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"parent\"
column=\"parent_id\" not-null=\"true\"/"
+">]]>"
-#. Tag: para
-#: example_parentchild.xml:115
-#, no-c-format
+#: index.docbook:115
msgid ""
"(We also need to add the <literal>parent</literal> property to the
"
"<literal>Child</literal> class.)"
msgstr ""
-"(Necesitamos además añadir la propiedad <literal>parent</literal> a la
clase "
-"<literal>Child</literal>.)"
+"(Necesitamos además añadir la propiedad
<literal>parent</"
+"literal> a la clase <literal>Child</literal>.)"
-#. Tag: para
-#: example_parentchild.xml:119
-#, no-c-format
+#: index.docbook:119
msgid ""
"Now that the <literal>Child</literal> entity is managing the state of
the "
"link, we tell the collection not to update the link. We use the "
"<literal>inverse</literal> attribute."
msgstr ""
-"Ahora que la entidad <literal>Child</literal> está gestionando el
estado del "
-"enlace, le decimos a la colección que no actualice el enlace. Usamos el "
-"atributo <literal>inverse</literal>."
+"Ahora que la entidad <literal>Child</literal> está
gestionando el "
+"estado del enlace, le decimos a la colección que no actualice el "
+"enlace. Usamos el atributo <literal>inverse</literal>."
-#. Tag: programlisting
-#: example_parentchild.xml:124
-#, no-c-format
+#: index.docbook:124
msgid ""
"<![CDATA[<set name=\"children\"
inverse=\"true\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"children\"
inverse=\"true\">\n"
+" <key column=\"parent_id\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+"</set>]]>"
-#. Tag: para
-#: example_parentchild.xml:126
-#, no-c-format
+#: index.docbook:126
msgid "The following code would be used to add a new
<literal>Child</literal>"
msgstr ""
-"El siguiente código podría ser usado para añadir un nuevo
<literal>Child</"
-"literal>"
+"El siguiente código podría ser usado para añadir
un "
+"nuevo <literal>Child</literal>"
-#. Tag: programlisting
-#: example_parentchild.xml:130
-#, no-c-format
+#: index.docbook:130
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = new Child();\n"
@@ -300,42 +268,46 @@
"session.save(c);\n"
"session.flush();]]>"
msgstr ""
+"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
+"Child c = new Child();\n"
+"c.setParent(p);\n"
+"p.getChildren().add(c);\n"
+"session.save(c);\n"
+"session.flush();]]>"
-#. Tag: para
-#: example_parentchild.xml:132
-#, no-c-format
+#: index.docbook:132
msgid "And now, only one SQL <literal>INSERT</literal> would be
issued!"
-msgstr "Y ahora, ¡Sólo se publicaría un <literal>INSERT</literal> de
SQL!"
+msgstr ""
+"Y ahora, ¡Sólo se publicaría un
<literal>INSERT</"
+"literal> de SQL!"
-#. Tag: para
-#: example_parentchild.xml:136
-#, no-c-format
+#: index.docbook:136
msgid ""
"To tighten things up a bit, we could create an
<literal>addChild()</literal> "
"method of <literal>Parent</literal>."
msgstr ""
-"Para ajustar un poco más las cosas, podríamos crear un método "
-"<literal>addChild()</literal> en
<literal>Parent</literal>."
+"Para ajustar un poco más las cosas, podríamos crear un
"
+"método <literal>addChild()</literal> en
<literal>Parent</literal>."
-#. Tag: programlisting
-#: example_parentchild.xml:141
-#, no-c-format
+#: index.docbook:141
msgid ""
"<![CDATA[public void addChild(Child c) {\n"
" c.setParent(this);\n"
" children.add(c);\n"
"}]]>"
msgstr ""
+"<![CDATA[public void addChild(Child c) {\n"
+" c.setParent(this);\n"
+" children.add(c);\n"
+"}]]>"
-#. Tag: para
-#: example_parentchild.xml:143
-#, no-c-format
+#: index.docbook:143
msgid "Now, the code to add a <literal>Child</literal> looks like"
-msgstr "Ahora, el código para añadir un <literal>Child</literal> se ve
así"
+msgstr ""
+"Ahora, el código para añadir un
<literal>Child</literal> se ve "
+"así"
-#. Tag: programlisting
-#: example_parentchild.xml:147
-#, no-c-format
+#: index.docbook:147
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = new Child();\n"
@@ -343,52 +315,53 @@
"session.save(c);\n"
"session.flush();]]>"
msgstr ""
+"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
+"Child c = new Child();\n"
+"p.addChild(c);\n"
+"session.save(c);\n"
+"session.flush();]]>"
-#. Tag: title
-#: example_parentchild.xml:152
-#, no-c-format
+#: index.docbook:152
msgid "Cascading life cycle"
msgstr "Ciclo de vida en cascada"
-#. Tag: para
-#: example_parentchild.xml:154
-#, no-c-format
+#: index.docbook:154
msgid ""
"The explicit call to <literal>save()</literal> is still annoying. We
will "
"address this by using cascades."
msgstr ""
-"La llamada explícita a <literal>save()</literal> es aún molesta.
Apuntaremos "
-"a esto usando tratamientos en cascada."
+"La llamada explícita a <literal>save()</literal> es
aún "
+"molesta. Apuntaremos a esto usando tratamientos en cascada."
-#. Tag: programlisting
-#: example_parentchild.xml:159
-#, no-c-format
+#: index.docbook:159
msgid ""
"<![CDATA[<set name=\"children\" inverse=\"true\"
cascade=\"all\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"children\" inverse=\"true\"
cascade=\"all\">\n"
+" <key column=\"parent_id\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+"</set>]]>"
-#. Tag: para
-#: example_parentchild.xml:161
-#, no-c-format
+#: index.docbook:161
msgid "This simplifies the code above to"
-msgstr "Esto simplifica el código anterior a"
+msgstr "Esto simplifica el código anterior a"
-#. Tag: programlisting
-#: example_parentchild.xml:165
-#, no-c-format
+#: index.docbook:165
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = new Child();\n"
"p.addChild(c);\n"
"session.flush();]]>"
msgstr ""
+"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
+"Child c = new Child();\n"
+"p.addChild(c);\n"
+"session.flush();]]>"
-#. Tag: para
-#: example_parentchild.xml:167
-#, no-c-format
+#: index.docbook:167
msgid ""
"Similarly, we don't need to iterate over the children when saving or "
"deleting a <literal>Parent</literal>. The following removes
<literal>p</"
@@ -398,24 +371,21 @@
"<literal>Parent</literal>. Lo siguiente quita
<literal>p</literal> y todos "
"sus hijos de la base de datos."
-#. Tag: programlisting
-#: example_parentchild.xml:172
-#, no-c-format
+#: index.docbook:172
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"session.delete(p);\n"
"session.flush();]]>"
msgstr ""
+"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
+"session.delete(p);\n"
+"session.flush();]]>"
-#. Tag: para
-#: example_parentchild.xml:174
-#, no-c-format
+#: index.docbook:174
msgid "However, this code"
-msgstr "Sin embargo, este código"
+msgstr "Sin embargo, este código"
-#. Tag: programlisting
-#: example_parentchild.xml:178
-#, no-c-format
+#: index.docbook:178
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = (Child) p.getChildren().iterator().next();\n"
@@ -423,24 +393,26 @@
"c.setParent(null);\n"
"session.flush();]]>"
msgstr ""
+"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
+"Child c = (Child) p.getChildren().iterator().next();\n"
+"p.getChildren().remove(c);\n"
+"c.setParent(null);\n"
+"session.flush();]]>"
-#. Tag: para
-#: example_parentchild.xml:180
-#, no-c-format
+#: index.docbook:180
msgid ""
"will not remove <literal>c</literal> from the database; it will ony
remove "
"the link to <literal>p</literal> (and cause a <literal>NOT
NULL</literal> "
"constraint violation, in this case). You need to explicitly
<literal>delete()"
"</literal> the <literal>Child</literal>."
msgstr ""
-"no quitará <literal>c</literal> de la base de datos; sólo quitará el
enlace "
-"a <literal>p</literal> (y causará una violación a una restricción
"
-"<literal>NOT NULL</literal>). Necesitas borrar el hijo explícitamente
"
-"llamando a <literal>delete()</literal>."
+"no quitará <literal>c</literal> de la base de datos;
sólo "
+"quitará el enlace a <literal>p</literal> (y
causará una "
+"violación a una restricción <literal>NOT
NULL</literal>). "
+"Necesitas borrar el hijo explícitamente llamando a
<literal>delete()</"
+"literal>."
-#. Tag: programlisting
-#: example_parentchild.xml:186
-#, no-c-format
+#: index.docbook:186
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = (Child) p.getChildren().iterator().next();\n"
@@ -448,10 +420,13 @@
"session.delete(c);\n"
"session.flush();]]>"
msgstr ""
+"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
+"Child c = (Child) p.getChildren().iterator().next();\n"
+"p.getChildren().remove(c);\n"
+"session.delete(c);\n"
+"session.flush();]]>"
-#. Tag: para
-#: example_parentchild.xml:188
-#, no-c-format
+#: index.docbook:188
msgid ""
"Now, in our case, a <literal>Child</literal> can't really exist
without its "
"parent. So if we remove a <literal>Child</literal> from the collection,
we "
@@ -460,12 +435,10 @@
msgstr ""
"Ahora, en nuestro caso, un <literal>Child</literal> no puede existir
"
"realmente sin su padre. De modo que si quitamos un
<literal>Child</literal> "
-"de la colección, realmente queremos que sea borrado. Para esto, debemos usar
"
-"<literal>cascade=\"all-delete-orphan\"</literal>."
+"de la colección, realmente queremos que sea borrado. Para esto, "
+"debemos usar
<literal>cascade=\"all-delete-orphan\"</literal>."
-#. Tag: programlisting
-#: example_parentchild.xml:194
-#, no-c-format
+#: index.docbook:194
msgid ""
"<![CDATA[<set name=\"children\" inverse=\"true\"
cascade=\"all-delete-orphan"
"\">\n"
@@ -473,10 +446,13 @@
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"children\" inverse=\"true\"
cascade=\"all-delete-orphan"
+"\">\n"
+" <key column=\"parent_id\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+"</set>]]>"
-#. Tag: para
-#: example_parentchild.xml:196
-#, no-c-format
+#: index.docbook:196
msgid ""
"Note: even though the collection mapping specifies
<literal>inverse=\"true"
"\"</literal>, cascades are still processed by iterating the collection
"
@@ -484,21 +460,18 @@
"cascade, you must add it to the collection. It is not enough to simply call "
"<literal>setParent()</literal>."
msgstr ""
-"Nota: aunque el mapeo de la colección especifique
<literal>inverse=\"true\"</"
-"literal>, el tratamiento en cascada se procesa aún al iterar los elementos
"
-"de colección. De modo que si requieres que un objeto sea salvado, borrado o "
-"actualizado en cascada, debes añadirlo a la colección. No es suficiente con "
-"simplemente llamar a <literal>setParent()</literal>."
+"Nota: aunque el mapeo de la colección especifique
<literal>inverse="
+"\"true\"</literal>, el tratamiento en cascada se procesa
aún al "
+"iterar los elementos de colección. De modo que si requieres que un
"
+"objeto sea salvado, borrado o actualizado en cascada, debes añadirlo
"
+"a la colección. No es suficiente con simplemente llamar a "
+"<literal>setParent()</literal>."
-#. Tag: title
-#: example_parentchild.xml:206
-#, no-c-format
+#: index.docbook:206
msgid "Cascades and <literal>unsaved-value</literal>"
msgstr "Tratamiento en cascada y <literal>unsaved-value</literal>"
-#. Tag: para
-#: example_parentchild.xml:208
-#, no-c-format
+#: index.docbook:208
msgid ""
"Suppose we loaded up a <literal>Parent</literal> in one
<literal>Session</"
"literal>, made some changes in a UI action and wish to persist these changes
"
@@ -513,23 +486,23 @@
"\"/>.) <emphasis>In Hibernate3, it is no longer necessary to specify
an "
"<literal>unsaved-value</literal> explicitly.</emphasis>"
msgstr ""
-"Supón que hemos cargado un <literal>Parent</literal> en una "
-"<literal>Session</literal>, hemos hecho algunos cambios en una acción
de UI "
-"y deseamos hacer persistentes estos cambios en una nueva sesión llamando a "
-"<literal>update()</literal>. El <literal>Parent</literal>
contendrá una "
-"colección de hijos y, ya que está habilitado el tratamiento en cascada, "
-"Hibernate necesita saber qué hijos están recién instanciados y cuáles "
-"representan filas existentes en la base de datos. Asumamos que tanto "
-"<literal>Parent</literal> como <literal>Child</literal>
tienen propiedades "
-"identificadoras generadas de tipo <literal>Long</literal>. Hibernate
usará "
-"el identificador y el valor de la propiedad de versión/timestamp para "
-"determinar cuáles de los hijos son nuevos. (Ver <xref
linkend=\"objectstate-"
-"saveorupdate\"/>.) <emphasis>En Hibernate3, no es más necesario
especificar "
-"un <literal>unsaved-value</literal>
explícitamente.</emphasis>"
+"Supón que hemos cargado un <literal>Parent</literal> en una
"
+"<literal>Session</literal>, hemos hecho algunos cambios en una
acción "
+"de UI y deseamos hacer persistentes estos cambios en una nueva sesión
"
+"llamando a <literal>update()</literal>. El
<literal>Parent</literal> "
+"contendrá una colección de hijos y, ya que está
"
+"habilitado el tratamiento en cascada, Hibernate necesita saber qué
"
+"hijos están recién instanciados y cuáles
representan "
+"filas existentes en la base de datos. Asumamos que tanto
<literal>Parent</"
+"literal> como <literal>Child</literal> tienen propiedades
identificadoras "
+"generadas de tipo <literal>Long</literal>. Hibernate usará
el "
+"identificador y el valor de la propiedad de versión/timestamp para
"
+"determinar cuáles de los hijos son nuevos. (Ver <xref linkend="
+"\"objectstate-saveorupdate\"/>.) <emphasis>En Hibernate3, no es
más "
+"necesario especificar un <literal>unsaved-value</literal>
explí"
+"citamente.</emphasis>"
-#. Tag: para
-#: example_parentchild.xml:220
-#, no-c-format
+#: index.docbook:220
msgid ""
"The following code will update <literal>parent</literal> and
<literal>child</"
"literal> and insert <literal>newChild</literal>."
@@ -537,9 +510,7 @@
"The following code will update <literal>parent</literal> and
<literal>child</"
"literal> and insert <literal>newChild</literal>."
-#. Tag: programlisting
-#: example_parentchild.xml:225
-#, no-c-format
+#: index.docbook:225
msgid ""
"<![CDATA[//parent and child were both loaded in a previous session\n"
"parent.addChild(child);\n"
@@ -548,10 +519,14 @@
"session.update(parent);\n"
"session.flush();]]>"
msgstr ""
+"<![CDATA[//parent and child were both loaded in a previous session\n"
+"parent.addChild(child);\n"
+"Child newChild = new Child();\n"
+"parent.addChild(newChild);\n"
+"session.update(parent);\n"
+"session.flush();]]>"
-#. Tag: para
-#: example_parentchild.xml:227
-#, no-c-format
+#: index.docbook:227
msgid ""
"Well, that's all very well for the case of a generated identifier, but what
"
"about assigned identifiers and composite identifiers? This is more "
@@ -562,36 +537,32 @@
"the second-level cache or, worst case, the database, to see if the row "
"exists."
msgstr ""
-"Bueno, todo eso está muy bien para el caso de un identificador generado, "
-"pero ¿qué de los identificadores asignados y de los identificadores "
-"compuestos? Esto es más difícil, ya que Hibernate no puede usar la propiedad
"
-"identificadora para distinguir entre un objeto recién instanciado (con un "
-"identificador asignado por el usuario) y un objeto cargado en una sesión "
-"previa. En este caso, Hibernate bien usará la propiedad de versión o "
-"timestamp, o bien consultará realmente el caché de segundo nivel, o bien, en
"
-"el peor de los casos, la base de datos, para ver si existe la fila."
+"Bueno, todo eso está muy bien para el caso de un identificador "
+"generado, pero ¿qué de los identificadores asignados y de los
"
+"identificadores compuestos? Esto es más difícil, ya que
"
+"Hibernate no puede usar la propiedad identificadora para distinguir entre un
"
+"objeto recién instanciado (con un identificador asignado por el "
+"usuario) y un objeto cargado en una sesión previa. En este caso, "
+"Hibernate bien usará la propiedad de versión o timestamp, o
"
+"bien consultará realmente el caché de segundo nivel, o bien,
"
+"en el peor de los casos, la base de datos, para ver si existe la fila."
-#. Tag: title
-#: example_parentchild.xml:260
-#, no-c-format
+#: index.docbook:260
msgid "Conclusion"
-msgstr "Conclusión"
+msgstr "Conclusión"
-#. Tag: para
-#: example_parentchild.xml:262
-#, no-c-format
+#: index.docbook:262
msgid ""
"There is quite a bit to digest here and it might look confusing first time "
"around. However, in practice, it all works out very nicely. Most Hibernate "
"applications use the parent / child pattern in many places."
msgstr ""
-"Hay que resumir un poco aquí y podría parecer confuso a la primera vez. Sin "
-"embargo, en la práctica, todo funciona muy agradablemente. La mayoría de las
"
-"aplicaciones de Hibernate usan el patrón padre / hijo en muchos sitios."
+"Hay que resumir un poco aquí y podría parecer confuso a la
"
+"primera vez. Sin embargo, en la práctica, todo funciona muy "
+"agradablemente. La mayoría de las aplicaciones de Hibernate usan el
"
+"patrón padre / hijo en muchos sitios."
-#. Tag: para
-#: example_parentchild.xml:267
-#, no-c-format
+#: index.docbook:267
msgid ""
"We mentioned an alternative in the first paragraph. None of the above issues
"
"exist in the case of
<literal><composite-element></literal> mappings, "
@@ -600,10 +571,16 @@
"composite elements may not own collections, and they should not be the child
"
"of any entity other than the unique parent."
msgstr ""
-"Hemos mencionado una alternativa en el primer párrafo. Ninguno de los temas "
-"anteriores existe en el caso de los mapeos
<literal><composite-element>"
-"</literal>, que tienen exactamente la semántica de una relación padre /
"
-"hijo. Desafortunadamente, hay dos grandes limitaciones para las clases de "
-"elementos compuestos: los elementos compuestos no pueden poseer sus propias "
-"colecciones, y no deben ser el hijo de cualquier otra entidad que no sea su "
-"padre único."
+"Hemos mencionado una alternativa en el primer párrafo. Ninguno de los
"
+"temas anteriores existe en el caso de los mapeos
<literal><composite-"
+"element></literal>, que tienen exactamente la semántica de
una "
+"relación padre / hijo. Desafortunadamente, hay dos grandes "
+"limitaciones para las clases de elementos compuestos: los elementos "
+"compuestos no pueden poseer sus propias colecciones, y no deben ser el hijo "
+"de cualquier otra entidad que no sea su padre único."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified:
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_weblog.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_weblog.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_weblog.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,42 +1,29 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: example_weblog.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Example: Weblog Application"
-msgstr "Ejemplo: Aplicación de Weblog"
+msgstr "Ejemplo: Aplicación de Weblog"
-#. Tag: title
-#: example_weblog.xml:8
-#, no-c-format
+#: index.docbook:8
msgid "Persistent Classes"
msgstr "Clases Persistentes"
-#. Tag: para
-#: example_weblog.xml:10
-#, no-c-format
+#: index.docbook:10
msgid ""
"The persistent classes represent a weblog, and an item posted in a weblog. "
"They are to be modelled as a standard parent/child relationship, but we will
"
"use an ordered bag, instead of a set."
msgstr ""
-"Las clases persistentes representan un weblog, y un ítem enviado a un "
-"weblog. Van a ser modelados como una relación padre/hijo estñndar, pero "
-"usaremos un bag ordenado, en vez de un conjunto (set)."
+"Las clases persistentes representan un weblog, y un ítem enviado a un
"
+"weblog. Van a ser modelados como una relación padre/hijo
estñ"
+"ndar, pero usaremos un bag ordenado, en vez de un conjunto (set)."
-#. Tag: programlisting
-#: example_weblog.xml:16
-#, no-c-format
+#: index.docbook:16
msgid ""
"<![CDATA[package eg;\n"
"\n"
@@ -67,10 +54,36 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[package eg;\n"
+"\n"
+"import java.util.List;\n"
+"\n"
+"public class Blog {\n"
+" private Long _id;\n"
+" private String _name;\n"
+" private List _items;\n"
+"\n"
+" public Long getId() {\n"
+" return _id;\n"
+" }\n"
+" public List getItems() {\n"
+" return _items;\n"
+" }\n"
+" public String getName() {\n"
+" return _name;\n"
+" }\n"
+" public void setId(Long long1) {\n"
+" _id = long1;\n"
+" }\n"
+" public void setItems(List list) {\n"
+" _items = list;\n"
+" }\n"
+" public void setName(String string) {\n"
+" _name = string;\n"
+" }\n"
+"}]]>"
-#. Tag: programlisting
-#: example_weblog.xml:18
-#, no-c-format
+#: index.docbook:18
msgid ""
"<![CDATA[package eg;\n"
"\n"
@@ -116,22 +129,59 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[package eg;\n"
+"\n"
+"import java.text.DateFormat;\n"
+"import java.util.Calendar;\n"
+"\n"
+"public class BlogItem {\n"
+" private Long _id;\n"
+" private Calendar _datetime;\n"
+" private String _text;\n"
+" private String _title;\n"
+" private Blog _blog;\n"
+"\n"
+" public Blog getBlog() {\n"
+" return _blog;\n"
+" }\n"
+" public Calendar getDatetime() {\n"
+" return _datetime;\n"
+" }\n"
+" public Long getId() {\n"
+" return _id;\n"
+" }\n"
+" public String getText() {\n"
+" return _text;\n"
+" }\n"
+" public String getTitle() {\n"
+" return _title;\n"
+" }\n"
+" public void setBlog(Blog blog) {\n"
+" _blog = blog;\n"
+" }\n"
+" public void setDatetime(Calendar calendar) {\n"
+" _datetime = calendar;\n"
+" }\n"
+" public void setId(Long long1) {\n"
+" _id = long1;\n"
+" }\n"
+" public void setText(String string) {\n"
+" _text = string;\n"
+" }\n"
+" public void setTitle(String string) {\n"
+" _title = string;\n"
+" }\n"
+"}]]>"
-#. Tag: title
-#: example_weblog.xml:23
-#, no-c-format
+#: index.docbook:23
msgid "Hibernate Mappings"
msgstr "Mapeos de Hibernate"
-#. Tag: para
-#: example_weblog.xml:25
-#, no-c-format
+#: index.docbook:25
msgid "The XML mappings should now be quite straightforward."
msgstr "Los mapeos XML ahora deben ser absolutamente directos."
-#. Tag: programlisting
-#: example_weblog.xml:29
-#, no-c-format
+#: index.docbook:29
msgid ""
"<![CDATA[<?xml version=\"1.0\"?>\n"
"<!DOCTYPE hibernate-mapping PUBLIC\n"
@@ -173,10 +223,47 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+" \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+"
\"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping package=\"eg\">\n"
+"\n"
+" <class\n"
+" name=\"Blog\"\n"
+" table=\"BLOGS\">\n"
+"\n"
+" <id\n"
+" name=\"id\"\n"
+" column=\"BLOG_ID\">\n"
+"\n"
+" <generator class=\"native\"/>\n"
+"\n"
+" </id>\n"
+"\n"
+" <property\n"
+" name=\"name\"\n"
+" column=\"NAME\"\n"
+" not-null=\"true\"\n"
+" unique=\"true\"/>\n"
+"\n"
+" <bag\n"
+" name=\"items\"\n"
+" inverse=\"true\"\n"
+" order-by=\"DATE_TIME\"\n"
+" cascade=\"all\">\n"
+"\n"
+" <key column=\"BLOG_ID\"/>\n"
+" <one-to-many class=\"BlogItem\"/>\n"
+"\n"
+" </bag>\n"
+"\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: programlisting
-#: example_weblog.xml:31
-#, no-c-format
+#: index.docbook:31
msgid ""
"<![CDATA[<?xml version=\"1.0\"?>\n"
"<!DOCTYPE hibernate-mapping PUBLIC\n"
@@ -222,16 +309,55 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+" \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+"
\"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping package=\"eg\">\n"
+"\n"
+" <class\n"
+" name=\"BlogItem\"\n"
+" table=\"BLOG_ITEMS\"\n"
+" dynamic-update=\"true\">\n"
+"\n"
+" <id\n"
+" name=\"id\"\n"
+" column=\"BLOG_ITEM_ID\">\n"
+"\n"
+" <generator class=\"native\"/>\n"
+"\n"
+" </id>\n"
+"\n"
+" <property\n"
+" name=\"title\"\n"
+" column=\"TITLE\"\n"
+" not-null=\"true\"/>\n"
+"\n"
+" <property\n"
+" name=\"text\"\n"
+" column=\"TEXT\"\n"
+" not-null=\"true\"/>\n"
+"\n"
+" <property\n"
+" name=\"datetime\"\n"
+" column=\"DATE_TIME\"\n"
+" not-null=\"true\"/>\n"
+"\n"
+" <many-to-one\n"
+" name=\"blog\"\n"
+" column=\"BLOG_ID\"\n"
+" not-null=\"true\"/>\n"
+"\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: title
-#: example_weblog.xml:36
-#, no-c-format
+#: index.docbook:36
msgid "Hibernate Code"
-msgstr "Código Hibernate"
+msgstr "Código Hibernate"
-#. Tag: para
-#: example_weblog.xml:38
-#, no-c-format
+#: index.docbook:38
msgid ""
"The following class demonstrates some of the kinds of things we can do with "
"these classes, using Hibernate."
@@ -239,9 +365,7 @@
"La siguiente clase demuestra algunos de los tipos de cosas que podemos haces
"
"con estas clases, usando Hibernate."
-#. Tag: programlisting
-#: example_weblog.xml:43
-#, no-c-format
+#: index.docbook:43
msgid ""
"<![CDATA[package eg;\n"
"\n"
@@ -482,3 +606,247 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[package eg;\n"
+"\n"
+"import java.util.ArrayList;\n"
+"import java.util.Calendar;\n"
+"import java.util.Iterator;\n"
+"import java.util.List;\n"
+"\n"
+"import org.hibernate.HibernateException;\n"
+"import org.hibernate.Query;\n"
+"import org.hibernate.Session;\n"
+"import org.hibernate.SessionFactory;\n"
+"import org.hibernate.Transaction;\n"
+"import org.hibernate.cfg.Configuration;\n"
+"import org.hibernate.tool.hbm2ddl.SchemaExport;\n"
+"\n"
+"public class BlogMain {\n"
+" \n"
+" private SessionFactory _sessions;\n"
+" \n"
+" public void configure() throws HibernateException {\n"
+" _sessions = new Configuration()\n"
+" .addClass(Blog.class)\n"
+" .addClass(BlogItem.class)\n"
+" .buildSessionFactory();\n"
+" }\n"
+" \n"
+" public void exportTables() throws HibernateException {\n"
+" Configuration cfg = new Configuration()\n"
+" .addClass(Blog.class)\n"
+" .addClass(BlogItem.class);\n"
+" new SchemaExport(cfg).create(true, true);\n"
+" }\n"
+" \n"
+" public Blog createBlog(String name) throws HibernateException {\n"
+" \n"
+" Blog blog = new Blog();\n"
+" blog.setName(name);\n"
+" blog.setItems( new ArrayList() );\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" session.persist(blog);\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" return blog;\n"
+" }\n"
+" \n"
+" public BlogItem createBlogItem(Blog blog, String title, String text)\n"
+" throws HibernateException {\n"
+" \n"
+" BlogItem item = new BlogItem();\n"
+" item.setTitle(title);\n"
+" item.setText(text);\n"
+" item.setBlog(blog);\n"
+" item.setDatetime( Calendar.getInstance() );\n"
+" blog.getItems().add(item);\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" session.update(blog);\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" return item;\n"
+" }\n"
+" \n"
+" public BlogItem createBlogItem(Long blogid, String title, String text)\n"
+" throws HibernateException {\n"
+" \n"
+" BlogItem item = new BlogItem();\n"
+" item.setTitle(title);\n"
+" item.setText(text);\n"
+" item.setDatetime( Calendar.getInstance() );\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" Blog blog = (Blog) session.load(Blog.class, blogid);\n"
+" item.setBlog(blog);\n"
+" blog.getItems().add(item);\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" return item;\n"
+" }\n"
+" \n"
+" public void updateBlogItem(BlogItem item, String text)\n"
+" throws HibernateException {\n"
+" \n"
+" item.setText(text);\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" session.update(item);\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" }\n"
+" \n"
+" public void updateBlogItem(Long itemid, String text)\n"
+" throws HibernateException {\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" BlogItem item = (BlogItem) session.load(BlogItem.class, "
+"itemid);\n"
+" item.setText(text);\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" }\n"
+" \n"
+" public List listAllBlogNamesAndItemCounts(int max)\n"
+" throws HibernateException {\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" List result = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" Query q = session.createQuery(\n"
+" \"select blog.id, blog.name, count(blogItem) \"
+\n"
+" \"from Blog as blog \" +\n"
+" \"left outer join blog.items as blogItem \" +\n"
+" \"group by blog.name, blog.id \" +\n"
+" \"order by max(blogItem.datetime)\"\n"
+" );\n"
+" q.setMaxResults(max);\n"
+" result = q.list();\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" return result;\n"
+" }\n"
+" \n"
+" public Blog getBlogAndAllItems(Long blogid)\n"
+" throws HibernateException {\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" Blog blog = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" Query q = session.createQuery(\n"
+" \"from Blog as blog \" +\n"
+" \"left outer join fetch blog.items \" +\n"
+" \"where blog.id = :blogid\"\n"
+" );\n"
+" q.setParameter(\"blogid\", blogid);\n"
+" blog = (Blog) q.uniqueResult();\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" return blog;\n"
+" }\n"
+" \n"
+" public List listBlogsAndRecentItems() throws HibernateException {\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" List result = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" Query q = session.createQuery(\n"
+" \"from Blog as blog \" +\n"
+" \"inner join blog.items as blogItem \" +\n"
+" \"where blogItem.datetime > :minDate\"\n"
+" );\n"
+"\n"
+" Calendar cal = Calendar.getInstance();\n"
+" cal.roll(Calendar.MONTH, false);\n"
+" q.setCalendar(\"minDate\", cal);\n"
+" \n"
+" result = q.list();\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" return result;\n"
+" }\n"
+"}]]>"
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/filters.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/filters.po 2007-11-02
00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/filters.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: filters.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Filtering data"
msgstr "Filtrando datos"
-#. Tag: para
-#: filters.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"Hibernate3 provides an innovative new approach to handling data with "
"\"visibility\" rules. A <emphasis>Hibernate filter</emphasis>
is a global, "
@@ -30,15 +21,11 @@
"global, con nombre y parametrizado que puede ser habilitado o deshabilitado "
"para una sesión de Hibernate en particular."
-#. Tag: title
-#: filters.xml:14
-#, no-c-format
+#: index.docbook:14
msgid "Hibernate filters"
msgstr "Filtros de Hibernate"
-#. Tag: para
-#: filters.xml:16
-#, no-c-format
+#: index.docbook:16
msgid ""
"Hibernate3 adds the ability to pre-define filter criteria and attach those "
"filters at both a class and a collection level. A filter criteria is the "
@@ -59,9 +46,7 @@
"Los filtros pueden ser usados como vistas de base de datos, pero "
"parametrizados dentro de la aplicación."
-#. Tag: para
-#: filters.xml:26
-#, no-c-format
+#: index.docbook:26
msgid ""
"In order to use filters, they must first be defined and then attached to the
"
"appropriate mapping elements. To define a filter, use the
<literal><"
@@ -73,24 +58,21 @@
"<literal><filter-def/></literal> dentro de un elemento
<literal><"
"hibernate-mapping/></literal>:"
-#. Tag: programlisting
-#: filters.xml:32
-#, no-c-format
+#: index.docbook:32
msgid ""
"<![CDATA[<filter-def name=\"myFilter\">\n"
" <filter-param name=\"myFilterParam\"
type=\"string\"/>\n"
"</filter-def>]]>"
msgstr ""
+"<![CDATA[<filter-def name=\"myFilter\">\n"
+" <filter-param name=\"myFilterParam\"
type=\"string\"/>\n"
+"</filter-def>]]>"
-#. Tag: para
-#: filters.xml:34
-#, no-c-format
+#: index.docbook:34
msgid "Then, this filter can be attached to a class:"
msgstr "Entonces este filtro puede ser unido a una clase:"
-#. Tag: programlisting
-#: filters.xml:38
-#, no-c-format
+#: index.docbook:38
msgid ""
"<![CDATA[<class name=\"myClass\" ...>\n"
" ...\n"
@@ -98,32 +80,33 @@
"\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"myClass\" ...>\n"
+" ...\n"
+" <filter name=\"myFilter\" condition=\":myFilterParam =
MY_FILTERED_COLUMN"
+"\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: filters.xml:40
-#, no-c-format
+#: index.docbook:40
msgid "or, to a collection:"
msgstr "o a una colección:"
-#. Tag: programlisting
-#: filters.xml:44
-#, no-c-format
+#: index.docbook:44
msgid ""
"<![CDATA[<set ...>\n"
" <filter name=\"myFilter\" condition=\":myFilterParam =
MY_FILTERED_COLUMN"
"\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set ...>\n"
+" <filter name=\"myFilter\" condition=\":myFilterParam =
MY_FILTERED_COLUMN"
+"\"/>\n"
+"</set>]]>"
-#. Tag: para
-#: filters.xml:46
-#, no-c-format
+#: index.docbook:46
msgid "or, even to both (or multiples of each) at the same time."
msgstr "o incluso a ambos (o muchos de cada uno) al mismo tiempo."
-#. Tag: para
-#: filters.xml:50
-#, no-c-format
+#: index.docbook:50
msgid ""
"The methods on <literal>Session</literal> are:
<literal>enableFilter(String "
"filterName)</literal>, <literal>getEnabledFilter(String
filterName)</"
@@ -143,17 +126,15 @@
"de la interface <literal>Filter</literal>. Usando el filtro simple
definido "
"arriba, esto se vería así:"
-#. Tag: programlisting
-#: filters.xml:59
-#, no-c-format
+#: index.docbook:59
msgid ""
"<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\",
"
"\"some-value\");]]>"
msgstr ""
+"<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\",
"
+"\"some-value\");]]>"
-#. Tag: para
-#: filters.xml:61
-#, no-c-format
+#: index.docbook:61
msgid ""
"Note that methods on the org.hibernate.Filter interface do allow the method-"
"chaining common to much of Hibernate."
@@ -161,18 +142,14 @@
"Nota que los métodos en la interface org.hibernate.Filter permiten el "
"encadenamiento de métodos común en gran parte de Hibernate."
-#. Tag: para
-#: filters.xml:65
-#, no-c-format
+#: index.docbook:65
msgid ""
"A full example, using temporal data with an effective record date pattern:"
msgstr ""
"Un ejemplo completo, usando datos temporales con un patrón efectivo de "
"fechas de registro:"
-#. Tag: programlisting
-#: filters.xml:69
-#, no-c-format
+#: index.docbook:69
msgid ""
"<![CDATA[<filter-def name=\"effectiveDate\">\n"
" <filter-param name=\"asOfDate\"
type=\"date\"/>\n"
@@ -207,10 +184,40 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<filter-def name=\"effectiveDate\">\n"
+" <filter-param name=\"asOfDate\"
type=\"date\"/>\n"
+"</filter-def>\n"
+"\n"
+"<class name=\"Employee\" ...>\n"
+"...\n"
+" <many-to-one name=\"department\" column=\"dept_id\"
class=\"Department\"/"
+">\n"
+" <property name=\"effectiveStartDate\" type=\"date\"
column=\"eff_start_dt"
+"\"/>\n"
+" <property name=\"effectiveEndDate\" type=\"date\"
column=\"eff_end_dt\"/"
+">\n"
+"...\n"
+" <!--\n"
+" Note that this assumes non-terminal records have an eff_end_dt set "
+"to\n"
+" a max db date for simplicity-sake\n"
+" -->\n"
+" <filter name=\"effectiveDate\"\n"
+" condition=\":asOfDate BETWEEN eff_start_dt and
eff_end_dt\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Department\" ...>\n"
+"...\n"
+" <set name=\"employees\" lazy=\"true\">\n"
+" <key column=\"dept_id\"/>\n"
+" <one-to-many class=\"Employee\"/>\n"
+" <filter name=\"effectiveDate\"\n"
+" condition=\":asOfDate BETWEEN eff_start_dt and
eff_end_dt\"/"
+">\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: para
-#: filters.xml:71
-#, no-c-format
+#: index.docbook:71
msgid ""
"Then, in order to ensure that you always get back currently effective "
"records, simply enable the filter on the session prior to retrieving "
@@ -220,9 +227,7 @@
"actualmente efectivos, simplemente habilita el filtro en la sesión previo a "
"recuperar los datos de empleados:"
-#. Tag: programlisting
-#: filters.xml:76
-#, no-c-format
+#: index.docbook:76
msgid ""
"<![CDATA[Session session = ...;\n"
"session.enabledFilter(\"effectiveDate\").setParameter(\"asOfDate\",
new Date"
@@ -233,10 +238,16 @@
" .list();\n"
"]]>"
msgstr ""
+"<![CDATA[Session session = ...;\n"
+"session.enabledFilter(\"effectiveDate\").setParameter(\"asOfDate\",
new Date"
+"());\n"
+"List results = session.createQuery(\"from Employee as e where e.salary >
:"
+"targetSalary\")\n"
+" .setLong(\"targetSalary\", new Long(1000000))\n"
+" .list();\n"
+"]]>"
-#. Tag: para
-#: filters.xml:78
-#, no-c-format
+#: index.docbook:78
msgid ""
"In the HQL above, even though we only explicitly mentioned a salary "
"constraint on the results, because of the enabled filter the query will "
@@ -248,9 +259,7 @@
"consulta sólo devolverá empleados actualmente activos que tengan un salario "
"mayor que un millón de dólares."
-#. Tag: para
-#: filters.xml:84
-#, no-c-format
+#: index.docbook:84
msgid ""
"Note: if you plan on using filters with outer joining (either through HQL or
"
"load fetching) be careful of the direction of the condition expression. Its "
@@ -263,32 +272,32 @@
"externa izquierda (left outer joining). En general, coloca el primer "
"parámetro seguido del nombre(s) de columna(s) después del operador."
-#. Tag: para
-#: filters.xml:91
-#, no-c-format
+#: index.docbook:91
msgid ""
"After being defined a filter might be attached to multiple entities and/or "
"collections each with its own condition. That can be tedious when the "
"conditions are the same each time. Thus
<literal><filter-def/></"
"literal> allows defining a default condition, either as an attribute or "
"CDATA:"
-msgstr "translator-credits"
+msgstr ""
-#. Tag: programlisting
-#: filters.xml:98
-#, no-c-format
+#: index.docbook:98
msgid ""
"<![CDATA[<filter-def name=\"myFilter\" condition=\"abc >
xyz\">...</filter-"
"def>\n"
"<filter-def
name=\"myOtherFilter\">abc=xyz</filter-def>]]>"
msgstr ""
-#. Tag: para
-#: filters.xml:100
-#, no-c-format
+#: index.docbook:100
msgid ""
"This default condition will then be used whenever the filter is attached to "
"something without specifying a condition. Note that this means you can give "
"a specific condition as part of the attachment of the filter which overrides
"
"the default condition in that particular case."
msgstr ""
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified:
core/trunk/documentation/manual/src/main/docbook/es-ES/content/inheritance_mapping.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/inheritance_mapping.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/inheritance_mapping.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,70 +1,48 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: inheritance_mapping.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Inheritance Mapping"
msgstr "Mapeo de Herencia"
-#. Tag: title
-#: inheritance_mapping.xml:8
-#, no-c-format
+#: index.docbook:8
msgid "The Three Strategies"
msgstr "Las Tres Estrategias"
-#. Tag: para
-#: inheritance_mapping.xml:10
-#, no-c-format
+#: index.docbook:10
msgid "Hibernate supports the three basic inheritance mapping strategies:"
-msgstr "Hibernate soporta las tres estrategias básicas de mapeo de herencia:"
+msgstr ""
+"Hibernate soporta las tres estrategias básicas de mapeo de
herencia:"
-#. Tag: para
-#: inheritance_mapping.xml:16
-#, no-c-format
+#: index.docbook:16
msgid "table per class hierarchy"
-msgstr "tabla por jerarquía de clases"
+msgstr "<para>tabla por jerarquía de clases</para>"
-#. Tag: para
-#: inheritance_mapping.xml:21
-#, fuzzy, no-c-format
+#: index.docbook:21
msgid "<para>table per subclass</para>"
-msgstr "tabla por subclase"
+msgstr "<para>tabla por subclase</para>"
-#. Tag: para
-#: inheritance_mapping.xml:26
-#, no-c-format
+#: index.docbook:26
msgid "table per concrete class"
msgstr "tabla por clase concreta"
-#. Tag: para
-#: inheritance_mapping.xml:32
-#, no-c-format
+#: index.docbook:32
msgid ""
"In addition, Hibernate supports a fourth, slightly different kind of "
"polymorphism:"
msgstr ""
-"En adición, Hibernate soporta un cuarto, ligeramente diferente tipo de "
-"polimorfismo:"
+"En adición, Hibernate soporta un cuarto, ligeramente diferente tipo
"
+"de polimorfismo:"
-#. Tag: para
-#: inheritance_mapping.xml:39
-#, no-c-format
+#: index.docbook:39
msgid "implicit polymorphism"
-msgstr "polimorfismo implícito"
+msgstr "polimorfismo implícito"
-#. Tag: para
-#: inheritance_mapping.xml:45
-#, no-c-format
+#: index.docbook:45
msgid ""
"It is possible to use different mapping strategies for different branches of
"
"the same inheritance hierarchy, and then make use of implicit polymorphism "
@@ -88,9 +66,7 @@
"when using the extends keyword. The ordering inside a single mapping file "
"still needs to be defined as superclasses before subclasses."
-#. Tag: para
-#: inheritance_mapping.xml:59
-#, no-c-format
+#: index.docbook:59
msgid ""
"It is possible to define <literal>subclass</literal>,
<literal>union-"
"subclass</literal>, and <literal>joined-subclass</literal>
mappings in "
@@ -103,21 +79,16 @@
"when using the extends keyword. The ordering inside a single mapping file "
"still needs to be defined as superclasses before subclasses."
msgstr ""
-"Es posible usar estrategias de mapeo diferentes para diferentes "
-"ramificaciones de la misma jerarquía de herencia, y entonces usar "
-"polimorfismo implícito para conseguir polimorfismo a través de toda la "
-"jerarquía. Sin embargo, Hibernate no soporta la mezcla de mapeos "
-"<literal><subclass></literal>, y
<literal><joined-subclass></"
-"literal> y <literal><union-subclass></literal> bajo el
mismo elemento "
-"<literal><class></literal> raíz. Es posible mezclar
juntas las "
-"estrategias de tabla por jerarquía y tabla por subclase, bajo el mismo "
-"elemento <literal><class></literal>, combinando los
elementos "
-"<literal><subclass></literal> y
<literal><join></literal> (ver "
-"debajo)."
+"<![CDATA[\n"
+" <hibernate-mapping>\n"
+" <subclass
name=\"DomesticCat\" "
+"extends=\"Cat\" discriminator-value=\"D\">\n"
+" <property
name=\"name\" "
+"type=\"string\"/>\n"
+" </subclass>\n"
+" </hibernate-mapping>]]>"
-#. Tag: programlisting
-#: inheritance_mapping.xml:70
-#, no-c-format
+#: index.docbook:70
msgid ""
"<![CDATA[\n"
" <hibernate-mapping>\n"
@@ -127,30 +98,35 @@
" </subclass>\n"
" </hibernate-mapping>]]>"
msgstr ""
+"Es posible usar estrategias de mapeo diferentes para diferentes "
+"ramificaciones de la misma jerarquía de herencia, y entonces usar
"
+"polimorfismo implícito para conseguir polimorfismo a través
de "
+"toda la jerarquía. Sin embargo, Hibernate no soporta la mezcla de
"
+"mapeos <literal><subclass></literal>, y
<literal><joined-"
+"subclass></literal> y
<literal><union-subclass></literal> bajo el "
+"mismo elemento <literal><class></literal>
raíz. Es posible "
+"mezclar juntas las estrategias de tabla por jerarquía y tabla por
"
+"subclase, bajo el mismo elemento
<literal><class></literal>, "
+"combinando los elementos <literal><subclass></literal> y
<literal><"
+"join></literal> (ver debajo)."
-#. Tag: title
-#: inheritance_mapping.xml:74
-#, no-c-format
+#: index.docbook:74
msgid "Table per class hierarchy"
-msgstr "Tabla por jerarquía de clases"
+msgstr "Tabla por jerarquía de clases"
-#. Tag: para
-#: inheritance_mapping.xml:76
-#, no-c-format
+#: index.docbook:76
msgid ""
"Suppose we have an interface <literal>Payment</literal>, with
implementors "
"<literal>CreditCardPayment</literal>,
<literal>CashPayment</literal>, "
"<literal>ChequePayment</literal>. The table per hierarchy mapping would
look "
"like:"
msgstr ""
-"Supón que tenemos una interface <literal>Payment</literal>, con los
"
+"Supón que tenemos una interface <literal>Payment</literal>,
con los "
"implementadores <literal>CreditCardPayment</literal>,
<literal>CashPayment</"
-"literal>, <literal>ChequePayment</literal>. El mapeo de tabla por
jerarquía "
-"se vería así:"
+"literal>, <literal>ChequePayment</literal>. El mapeo de tabla por
"
+"jerarquía se vería así:"
-#. Tag: programlisting
-#: inheritance_mapping.xml:83
-#, no-c-format
+#: index.docbook:83
msgid ""
"<![CDATA[<class name=\"Payment\"
table=\"PAYMENT\">\n"
" <id name=\"id\" type=\"long\"
column=\"PAYMENT_ID\">\n"
@@ -171,35 +147,45 @@
" </subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Payment\"
table=\"PAYMENT\">\n"
+" <id name=\"id\" type=\"long\"
column=\"PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <discriminator column=\"PAYMENT_TYPE\"
type=\"string\"/>\n"
+" <property name=\"amount\"
column=\"AMOUNT\"/>\n"
+" ...\n"
+" <subclass name=\"CreditCardPayment\"
discriminator-value=\"CREDIT\">\n"
+" <property name=\"creditCardType\"
column=\"CCTYPE\"/>\n"
+" ...\n"
+" </subclass>\n"
+" <subclass name=\"CashPayment\"
discriminator-value=\"CASH\">\n"
+" ...\n"
+" </subclass>\n"
+" <subclass name=\"ChequePayment\"
discriminator-value=\"CHEQUE\">\n"
+" ...\n"
+" </subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: inheritance_mapping.xml:85
-#, no-c-format
+#: index.docbook:85
msgid ""
"Exactly one table is required. There is one big limitation of this mapping "
"strategy: columns declared by the subclasses, such as
<literal>CCTYPE</"
"literal>, may not have <literal>NOT NULL</literal>
constraints."
msgstr ""
-"Se requiere exactamente una tabla. Hay una gran limitación de esta "
+"Se requiere exactamente una tabla. Hay una gran limitación de esta
"
"estrategia de mapeo: las columnas declaradas por las subclases, como "
"<literal>CCTYPE</literal>, no pueden tener restricciones
<literal>NOT NULL</"
"literal>."
-#. Tag: title
-#: inheritance_mapping.xml:94
-#, no-c-format
+#: index.docbook:94
msgid "Table per subclass"
msgstr "Tabla por subclase"
-#. Tag: para
-#: inheritance_mapping.xml:96
-#, no-c-format
+#: index.docbook:96
msgid "A table per subclass mapping would look like:"
-msgstr "Un mapeo de tabla por sublclase se vería así:"
+msgstr "Un mapeo de tabla por sublclase se vería así:"
-#. Tag: programlisting
-#: inheritance_mapping.xml:100
-#, no-c-format
+#: index.docbook:100
msgid ""
"<![CDATA[<class name=\"Payment\"
table=\"PAYMENT\">\n"
" <id name=\"id\" type=\"long\"
column=\"PAYMENT_ID\">\n"
@@ -222,10 +208,28 @@
" </joined-subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Payment\"
table=\"PAYMENT\">\n"
+" <id name=\"id\" type=\"long\"
column=\"PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"amount\"
column=\"AMOUNT\"/>\n"
+" ...\n"
+" <joined-subclass name=\"CreditCardPayment\"
table=\"CREDIT_PAYMENT\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" <property name=\"creditCardType\"
column=\"CCTYPE\"/>\n"
+" ...\n"
+" </joined-subclass>\n"
+" <joined-subclass name=\"CashPayment\"
table=\"CASH_PAYMENT\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" ...\n"
+" </joined-subclass>\n"
+" <joined-subclass name=\"ChequePayment\"
table=\"CHEQUE_PAYMENT\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" ...\n"
+" </joined-subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: inheritance_mapping.xml:102
-#, no-c-format
+#: index.docbook:102
msgid ""
"Four tables are required. The three subclass tables have primary key "
"associations to the superclass table (so the relational model is actually a "
@@ -233,17 +237,13 @@
msgstr ""
"Se requieren cuatro tablas. Las tres tablas de subclase tienen asociaciones "
"de clave primaria a la tabla de superclase (de modo que en el modelo "
-"relacional es realmente una asociación uno-a-uno)."
+"relacional es realmente una asociación uno-a-uno)."
-#. Tag: title
-#: inheritance_mapping.xml:111
-#, no-c-format
+#: index.docbook:111
msgid "Table per subclass, using a discriminator"
msgstr "Tabla por subclase, usando un discriminador"
-#. Tag: para
-#: inheritance_mapping.xml:113
-#, no-c-format
+#: index.docbook:113
msgid ""
"Note that Hibernate's implementation of table per subclass requires no "
"discriminator column. Other object/relational mappers use a different "
@@ -254,18 +254,17 @@
"subclass strategy, you may combine the use of
<literal><subclass></"
"literal> and <literal><join></literal>, as
follow:"
msgstr ""
-"Observa que la implementación de Hibernate de tabla por subclase no requiere
"
-"ninguna columna discriminadora. Otros mapeadores objeto/relacional usan una "
-"implementación diferente de tabla por subclase que requiere una columna "
-"discriminadora de tipo en la tabla de superclase. Este enfoque es mucho más "
-"difícil de implementar pero discutiblemente más correcto desde un punto de "
-"vista relacional. Si quisieras usar una columna discriminadora con la "
-"estrategia de tabla por subclase, puedes combinar el uso de
<literal><"
-"subclass></literal> y
<literal><join></literal>, como sigue:"
+"Observa que la implementación de Hibernate de tabla por subclase no
"
+"requiere ninguna columna discriminadora. Otros mapeadores objeto/relacional "
+"usan una implementación diferente de tabla por subclase que requiere
"
+"una columna discriminadora de tipo en la tabla de superclase. Este enfoque "
+"es mucho más difícil de implementar pero discutiblemente
"
+"más correcto desde un punto de vista relacional. Si quisieras usar
"
+"una columna discriminadora con la estrategia de tabla por subclase, puedes "
+"combinar el uso de <literal><subclass></literal> y
<literal><"
+"join></literal>, como sigue:"
-#. Tag: programlisting
-#: inheritance_mapping.xml:125
-#, no-c-format
+#: index.docbook:125
msgid ""
"<![CDATA[<class name=\"Payment\"
table=\"PAYMENT\">\n"
" <id name=\"id\" type=\"long\"
column=\"PAYMENT_ID\">\n"
@@ -295,38 +294,58 @@
" </subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Payment\"
table=\"PAYMENT\">\n"
+" <id name=\"id\" type=\"long\"
column=\"PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <discriminator column=\"PAYMENT_TYPE\"
type=\"string\"/>\n"
+" <property name=\"amount\"
column=\"AMOUNT\"/>\n"
+" ...\n"
+" <subclass name=\"CreditCardPayment\"
discriminator-value=\"CREDIT\">\n"
+" <join table=\"CREDIT_PAYMENT\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" <property name=\"creditCardType\"
column=\"CCTYPE\"/>\n"
+" ...\n"
+" </join>\n"
+" </subclass>\n"
+" <subclass name=\"CashPayment\"
discriminator-value=\"CASH\">\n"
+" <join table=\"CASH_PAYMENT\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" ...\n"
+" </join>\n"
+" </subclass>\n"
+" <subclass name=\"ChequePayment\"
discriminator-value=\"CHEQUE\">\n"
+" <join table=\"CHEQUE_PAYMENT\"
fetch=\"select\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" ...\n"
+" </join>\n"
+" </subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: inheritance_mapping.xml:127
-#, no-c-format
+#: index.docbook:127
msgid ""
"The optional <literal>fetch=\"select\"</literal> declaration
tells Hibernate "
"not to fetch the <literal>ChequePayment</literal> subclass data using
an "
"outer join when querying the superclass."
msgstr ""
-"la declaración opcional <literal>fetch=\"select\"</literal>
dice a Hibernate "
-"que no recupere los datos de la subclase
<literal>ChequePayment</literal> "
-"usando una unión externa (outer join) al consultar la superclase."
+"la declaración opcional
<literal>fetch=\"select\"</literal> dice a "
+"Hibernate que no recupere los datos de la subclase
<literal>ChequePayment</"
+"literal> usando una unión externa (outer join) al consultar la
"
+"superclase."
-#. Tag: title
-#: inheritance_mapping.xml:136
-#, no-c-format
+#: index.docbook:136
msgid "Mixing table per class hierarchy with table per subclass"
-msgstr "Mezclando tabla por jerarquía de clases con tabla por subclase"
+msgstr "Mezclando tabla por jerarquía de clases con tabla por
subclase"
-#. Tag: para
-#: inheritance_mapping.xml:138
-#, no-c-format
+#: index.docbook:138
msgid ""
"You may even mix the table per hierarchy and table per subclass strategies "
"using this approach:"
msgstr ""
-"Puedes incluso mezclar las estrategias de tabla po jerarquía y tabla por "
-"subclase usando este enfoque:"
+"Puedes incluso mezclar las estrategias de tabla po jerarquía y tabla
"
+"por subclase usando este enfoque:"
-#. Tag: programlisting
-#: inheritance_mapping.xml:143
-#, no-c-format
+#: index.docbook:143
msgid ""
"<![CDATA[<class name=\"Payment\"
table=\"PAYMENT\">\n"
" <id name=\"id\" type=\"long\"
column=\"PAYMENT_ID\">\n"
@@ -349,46 +368,58 @@
" </subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Payment\"
table=\"PAYMENT\">\n"
+" <id name=\"id\" type=\"long\"
column=\"PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <discriminator column=\"PAYMENT_TYPE\"
type=\"string\"/>\n"
+" <property name=\"amount\"
column=\"AMOUNT\"/>\n"
+" ...\n"
+" <subclass name=\"CreditCardPayment\"
discriminator-value=\"CREDIT\">\n"
+" <join table=\"CREDIT_PAYMENT\">\n"
+" <property name=\"creditCardType\"
column=\"CCTYPE\"/>\n"
+" ...\n"
+" </join>\n"
+" </subclass>\n"
+" <subclass name=\"CashPayment\"
discriminator-value=\"CASH\">\n"
+" ...\n"
+" </subclass>\n"
+" <subclass name=\"ChequePayment\"
discriminator-value=\"CHEQUE\">\n"
+" ...\n"
+" </subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: inheritance_mapping.xml:145
-#, no-c-format
+#: index.docbook:145
msgid ""
"For any of these mapping strategies, a polymorphic association to the root "
"<literal>Payment</literal> class is mapped using
<literal><many-to-one>"
"</literal>."
msgstr ""
-"Para cualquiera de estas estrategias de mapeo, una asociación polimórfica a "
-"la clase raíz <literal>Payment</literal> es mapeada usando
<literal><many-"
-"to-one></literal>."
+"Para cualquiera de estas estrategias de mapeo, una asociación "
+"polimórfica a la clase raíz
<literal>Payment</literal> es "
+"mapeada usando <literal><many-to-one></literal>."
-#. Tag: programlisting
-#: inheritance_mapping.xml:151
-#, no-c-format
+#: index.docbook:151
msgid ""
"<![CDATA[<many-to-one name=\"payment\"
column=\"PAYMENT_ID\" class=\"Payment"
"\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"payment\"
column=\"PAYMENT_ID\" class=\"Payment"
+"\"/>]]>"
-#. Tag: title
-#: inheritance_mapping.xml:156
-#, no-c-format
+#: index.docbook:156
msgid "Table per concrete class"
msgstr "Tabla por clase concreta"
-#. Tag: para
-#: inheritance_mapping.xml:158
-#, no-c-format
+#: index.docbook:158
msgid ""
"There are two ways we could go about mapping the table per concrete class "
"strategy. The first is to use
<literal><union-subclass></literal>."
msgstr ""
-"Podríamos ir de dos maneras a la estrategia de mapeo de tabla por clase "
-"concreta. La primera es usar
<literal><union-subclass></literal>."
+"Podríamos ir de dos maneras a la estrategia de mapeo de tabla por
"
+"clase concreta. La primera es usar
<literal><union-subclass></literal>."
-#. Tag: programlisting
-#: inheritance_mapping.xml:163
-#, no-c-format
+#: index.docbook:163
msgid ""
"<![CDATA[<class name=\"Payment\">\n"
" <id name=\"id\" type=\"long\"
column=\"PAYMENT_ID\">\n"
@@ -408,20 +439,33 @@
" </union-subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Payment\">\n"
+" <id name=\"id\" type=\"long\"
column=\"PAYMENT_ID\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <property name=\"amount\"
column=\"AMOUNT\"/>\n"
+" ...\n"
+" <union-subclass name=\"CreditCardPayment\"
table=\"CREDIT_PAYMENT\">\n"
+" <property name=\"creditCardType\"
column=\"CCTYPE\"/>\n"
+" ...\n"
+" </union-subclass>\n"
+" <union-subclass name=\"CashPayment\"
table=\"CASH_PAYMENT\">\n"
+" ...\n"
+" </union-subclass>\n"
+" <union-subclass name=\"ChequePayment\"
table=\"CHEQUE_PAYMENT\">\n"
+" ...\n"
+" </union-subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: inheritance_mapping.xml:165
-#, no-c-format
+#: index.docbook:165
msgid ""
"Three tables are involved for the subclasses. Each table defines columns for
"
"all properties of the class, including inherited properties."
msgstr ""
-"Están implicadas tres tablas. Cada tabla define columnas para todas las "
-"propiedades de la clase, inccluyendo las propiedades heredadas."
+"Están implicadas tres tablas. Cada tabla define columnas para todas
"
+"las propiedades de la clase, inccluyendo las propiedades heredadas."
-#. Tag: para
-#: inheritance_mapping.xml:170
-#, no-c-format
+#: index.docbook:170
msgid ""
"The limitation of this approach is that if a property is mapped on the "
"superclass, the column name must be the same on all subclass tables. (We "
@@ -429,16 +473,15 @@
"strategy is not allowed in union subclass inheritance, indeed the primary "
"key seed has to be shared accross all unioned subclasses of a hierarchy."
msgstr ""
-"La limitación de este enfoque es que si una propiedad es mapeada en la "
-"superclase, el nombre de columna debe ser el mismo en todas las tablas de "
-"subclase. (Podríamos relajar esto en un lanzamiento futuro de Hibernate.) La
"
-"estrategia de generador de indentidad no está permitida en la herencia de "
-"unión de subclase, de hecho la semilla de clave primaria tiene que ser "
-"compartida a través de todas las subclases unidas de una jerarquía."
+"La limitación de este enfoque es que si una propiedad es mapeada en
"
+"la superclase, el nombre de columna debe ser el mismo en todas las tablas de
"
+"subclase. (Podríamos relajar esto en un lanzamiento futuro de "
+"Hibernate.) La estrategia de generador de indentidad no está "
+"permitida en la herencia de unión de subclase, de hecho la semilla de
"
+"clave primaria tiene que ser compartida a través de todas las "
+"subclases unidas de una jerarquía."
-#. Tag: para
-#: inheritance_mapping.xml:179
-#, no-c-format
+#: index.docbook:179
msgid ""
"If your superclass is abstract, map it with
<literal>abstract=\"true\"</"
"literal>. Of course, if it is not abstract, an additional table (defaults to
"
@@ -450,21 +493,15 @@
"(defaults to <literal>PAYMENT</literal> in the example above) is needed
to "
"hold instances of the superclass."
-#. Tag: title
-#: inheritance_mapping.xml:189
-#, no-c-format
+#: index.docbook:189
msgid "Table per concrete class, using implicit polymorphism"
-msgstr "Tabla por clase concreta, usando polimorfismo implícito"
+msgstr "Tabla por clase concreta, usando polimorfismo implícito"
-#. Tag: para
-#: inheritance_mapping.xml:191
-#, no-c-format
+#: index.docbook:191
msgid "An alternative approach is to make use of implicit polymorphism:"
-msgstr "Un enfoque alternativo es hacer uso de polimorfismo implícito:"
+msgstr "Un enfoque alternativo es hacer uso de polimorfismo
implícito:"
-#. Tag: programlisting
-#: inheritance_mapping.xml:195
-#, no-c-format
+#: index.docbook:195
msgid ""
"<![CDATA[<class name=\"CreditCardPayment\"
table=\"CREDIT_PAYMENT\">\n"
" <id name=\"id\" type=\"long\"
column=\"CREDIT_PAYMENT_ID\">\n"
@@ -490,10 +527,31 @@
" ...\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"CreditCardPayment\"
table=\"CREDIT_PAYMENT\">\n"
+" <id name=\"id\" type=\"long\"
column=\"CREDIT_PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"amount\"
column=\"CREDIT_AMOUNT\"/>\n"
+" ...\n"
+"</class>\n"
+"\n"
+"<class name=\"CashPayment\"
table=\"CASH_PAYMENT\">\n"
+" <id name=\"id\" type=\"long\"
column=\"CASH_PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"amount\"
column=\"CASH_AMOUNT\"/>\n"
+" ...\n"
+"</class>\n"
+"\n"
+"<class name=\"ChequePayment\"
table=\"CHEQUE_PAYMENT\">\n"
+" <id name=\"id\" type=\"long\"
column=\"CHEQUE_PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"amount\"
column=\"CHEQUE_AMOUNT\"/>\n"
+" ...\n"
+"</class>]]>"
-#. Tag: para
-#: inheritance_mapping.xml:197
-#, no-c-format
+#: index.docbook:197
msgid ""
"Notice that nowhere do we mention the <literal>Payment</literal>
interface "
"explicitly. Also notice that properties of <literal>Payment</literal>
are "
@@ -502,38 +560,32 @@
"\"allproperties.xml\"> ]</literal> in the
<literal>DOCTYPE</literal> "
"declartion and <literal>&allproperties;</literal> in the
mapping)."
msgstr ""
-"Nota que en ningún sitio mencionamos la interface
<literal>Payment</literal> "
-"explícitamente. Nota además que las propiedades de
<literal>Payment</"
-"literal> son mapeadas en cada una de las subclases. Si quieres evitar "
-"duplicación, considera usar entidades XML. (por ejemplo, <literal>[
<!"
-"ENTITY allproperties SYSTEM \"allproperties.xml\">
]</literal> en la "
-"declaración <literal>DOCTYPE</literal> y
<literal>&allproperties;</"
-"literal> en el mapeo)."
+"Nota que en ningún sitio mencionamos la interface
<literal>Payment</"
+"literal> explícitamente. Nota además que las propiedades
de "
+"<literal>Payment</literal> son mapeadas en cada una de las subclases.
Si "
+"quieres evitar duplicación, considera usar entidades XML. (por "
+"ejemplo, <literal>[ <!ENTITY allproperties SYSTEM
\"allproperties.xml"
+"\"> ]</literal> en la declaración
<literal>DOCTYPE</literal> y "
+"<literal>&allproperties;</literal> en el mapeo)."
-#. Tag: para
-#: inheritance_mapping.xml:207
-#, no-c-format
+#: index.docbook:207
msgid ""
"The disadvantage of this approach is that Hibernate does not generate SQL "
"<literal>UNION</literal>s when performing polymorphic queries."
msgstr ""
"La desventaja de este enfoque es que Hibernate no genera
<literal>UNION</"
-"literal>s de SQL al realizar consultas polimórficas."
+"literal>s de SQL al realizar consultas polimórficas."
-#. Tag: para
-#: inheritance_mapping.xml:212
-#, no-c-format
+#: index.docbook:212
msgid ""
"For this mapping strategy, a polymorphic association to
<literal>Payment</"
"literal> is usually mapped using
<literal><any></literal>."
msgstr ""
-"Para esta estrategia de mapeo, una asociación polimórfica a "
+"Para esta estrategia de mapeo, una asociación polimórfica a
"
"<literal>Payment</literal> es mapeada generalmente usando
<literal><"
"any></literal>."
-#. Tag: programlisting
-#: inheritance_mapping.xml:217
-#, no-c-format
+#: index.docbook:217
msgid ""
"<![CDATA[<any name=\"payment\" meta-type=\"string\"
id-type=\"long\">\n"
" <meta-value value=\"CREDIT\"
class=\"CreditCardPayment\"/>\n"
@@ -543,16 +595,19 @@
" <column name=\"PAYMENT_ID\"/>\n"
"</any>]]>"
msgstr ""
+"<![CDATA[<any name=\"payment\" meta-type=\"string\"
id-type=\"long\">\n"
+" <meta-value value=\"CREDIT\"
class=\"CreditCardPayment\"/>\n"
+" <meta-value value=\"CASH\"
class=\"CashPayment\"/>\n"
+" <meta-value value=\"CHEQUE\"
class=\"ChequePayment\"/>\n"
+" <column name=\"PAYMENT_CLASS\"/>\n"
+" <column name=\"PAYMENT_ID\"/>\n"
+"</any>]]>"
-#. Tag: title
-#: inheritance_mapping.xml:222
-#, no-c-format
+#: index.docbook:222
msgid "Mixing implicit polymorphism with other inheritance mappings"
-msgstr "Mezclando polimorfismo implícito con otros mapeos de herencia"
+msgstr "Mezclando polimorfismo implícito con otros mapeos de
herencia"
-#. Tag: para
-#: inheritance_mapping.xml:224
-#, no-c-format
+#: index.docbook:224
msgid ""
"There is one further thing to notice about this mapping. Since the "
"subclasses are each mapped in their own
<literal><class></literal> "
@@ -561,16 +616,14 @@
"you can still use polymorphic queries against the
<literal>Payment</literal> "
"interface.)"
msgstr ""
-"Hay una cosa más por notar acerca de este mapeo. Ya que las subclases se "
-"mapean cada una en su propio elemento
<literal><class></literal> (y ya "
-"que <literal>Payment</literal> es sólo una interface), cada una de las
"
-"subclases podría ser parte de otra jerarquía de herencia! (Y todavía puedes "
-"seguir usando consultas polimórficas contra la interface
<literal>Payment</"
-"literal>.)"
+"Hay una cosa más por notar acerca de este mapeo. Ya que las subclases
"
+"se mapean cada una en su propio elemento
<literal><class></literal> (y "
+"ya que <literal>Payment</literal> es sólo una interface),
cada una de "
+"las subclases podría ser parte de otra jerarquía de herencia!
"
+"(Y todavía puedes seguir usando consultas polimórficas contra
"
+"la interface <literal>Payment</literal>.)"
-#. Tag: programlisting
-#: inheritance_mapping.xml:232
-#, no-c-format
+#: index.docbook:232
msgid ""
"<![CDATA[<class name=\"CreditCardPayment\"
table=\"CREDIT_PAYMENT\">\n"
" <id name=\"id\" type=\"long\"
column=\"CREDIT_PAYMENT_ID\">\n"
@@ -600,10 +653,35 @@
" </joined-subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"CreditCardPayment\"
table=\"CREDIT_PAYMENT\">\n"
+" <id name=\"id\" type=\"long\"
column=\"CREDIT_PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <discriminator column=\"CREDIT_CARD\"
type=\"string\"/>\n"
+" <property name=\"amount\"
column=\"CREDIT_AMOUNT\"/>\n"
+" ...\n"
+" <subclass name=\"MasterCardPayment\"
discriminator-value=\"MDC\"/>\n"
+" <subclass name=\"VisaPayment\"
discriminator-value=\"VISA\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"NonelectronicTransaction\"
table=\"NONELECTRONIC_TXN\">\n"
+" <id name=\"id\" type=\"long\"
column=\"TXN_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" ...\n"
+" <joined-subclass name=\"CashPayment\"
table=\"CASH_PAYMENT\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" <property name=\"amount\"
column=\"CASH_AMOUNT\"/>\n"
+" ...\n"
+" </joined-subclass>\n"
+" <joined-subclass name=\"ChequePayment\"
table=\"CHEQUE_PAYMENT\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" <property name=\"amount\"
column=\"CHEQUE_AMOUNT\"/>\n"
+" ...\n"
+" </joined-subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: inheritance_mapping.xml:234
-#, no-c-format
+#: index.docbook:234
msgid ""
"Once again, we don't mention <literal>Payment</literal> explicitly.
If we "
"execute a query against the <literal>Payment</literal> interface - for
"
@@ -613,233 +691,154 @@
"literal> and <literal>ChequePayment</literal> but not instances of
"
"<literal>NonelectronicTransaction</literal>."
msgstr ""
-"Una vez más, no mencionamos a <literal>Payment</literal>
explícitamente. Si "
-"ejecutamos una consulta contra la interface <literal>Payment</literal>
- por "
-"ejemplo, <literal>from Payment</literal> - Hibernate devuelve "
-"automáticamente instancias de <literal>CreditCardPayment</literal> (y
sus "
-"subclases, ya que ellas también implementan
<literal>Payment</literal>), "
-"<literal>CashPayment</literal> y
<literal>ChequePayment</literal> pero no "
-"instancias de <literal>NonelectronicTransaction</literal>."
+"Una vez más, no mencionamos a <literal>Payment</literal>
explí"
+"citamente. Si ejecutamos una consulta contra la interface
<literal>Payment</"
+"literal> - por ejemplo, <literal>from Payment</literal> - Hibernate
devuelve "
+"automáticamente instancias de
<literal>CreditCardPayment</literal> (y "
+"sus subclases, ya que ellas también implementan
<literal>Payment</"
+"literal>), <literal>CashPayment</literal> y
<literal>ChequePayment</literal> "
+"pero no instancias de
<literal>NonelectronicTransaction</literal>."
-#. Tag: title
-#: inheritance_mapping.xml:249
-#, no-c-format
+#: index.docbook:249
msgid "Limitations"
msgstr "Limitaciones"
-#. Tag: para
-#: inheritance_mapping.xml:251
-#, no-c-format
+#: index.docbook:251
msgid ""
"There are certain limitations to the \"implicit polymorphism\" approach
to "
"the table per concrete-class mapping strategy. There are somewhat less "
"restrictive limitations to
<literal><union-subclass></literal> "
"mappings."
msgstr ""
-"Existen ciertas limitaciones al enfoque de \"polimorfismo implícito\" en
la "
-"estrategia de mapeo de tabla por clase concreta. Existen limitaciones algo "
-"menos restrictivas a los mapeos
<literal><union-subclass></literal>."
+"Existen ciertas limitaciones al enfoque de \"polimorfismo
implícito\" "
+"en la estrategia de mapeo de tabla por clase concreta. Existen limitaciones "
+"algo menos restrictivas a los mapeos
<literal><union-subclass></"
+"literal>."
-#. Tag: para
-#: inheritance_mapping.xml:258
-#, no-c-format
+#: index.docbook:258
msgid ""
"The following table shows the limitations of table per concrete-class "
"mappings, and of implicit polymorphism, in Hibernate."
msgstr ""
"La siguiente tabla muestra las limitaciones de mapeos de tabla por clase "
-"concreta, y de polmorfismo implícito, en Hibernate."
+"concreta, y de polmorfismo implícito, en Hibernate."
-#. Tag: title
-#: inheritance_mapping.xml:264
-#, no-c-format
+#: index.docbook:264
msgid "Features of inheritance mappings"
msgstr "Funcionalidades de mapeo de herencia"
-#. Tag: entry
-#: inheritance_mapping.xml:276
-#, no-c-format
+#: index.docbook:276
msgid "Inheritance strategy"
msgstr "Estrategia de herencia"
-#. Tag: entry
-#: inheritance_mapping.xml:277
-#, no-c-format
+#: index.docbook:277
msgid "Polymorphic many-to-one"
-msgstr "muchos-a-uno polimórfica"
+msgstr "muchos-a-uno polimórfica"
-#. Tag: entry
-#: inheritance_mapping.xml:278
-#, no-c-format
+#: index.docbook:278
msgid "Polymorphic one-to-one"
-msgstr "uno-a-uno polimórfica"
+msgstr "uno-a-uno polimórfica"
-#. Tag: entry
-#: inheritance_mapping.xml:279
-#, no-c-format
+#: index.docbook:279
msgid "Polymorphic one-to-many"
-msgstr "uno-a-muchos polimórfica"
+msgstr "uno-a-muchos polimórfica"
-#. Tag: entry
-#: inheritance_mapping.xml:280
-#, no-c-format
+#: index.docbook:280
msgid "Polymorphic many-to-many"
-msgstr "mushos-a-muchos polimórfica"
+msgstr "mushos-a-muchos polimórfica"
-#. Tag: entry
-#: inheritance_mapping.xml:281
-#, no-c-format
+#: index.docbook:281
msgid "Polymorphic <literal>load()/get()</literal>"
-msgstr ""
+msgstr "<literal>load()/get()</literal> polimórficos"
-#. Tag: entry
-#: inheritance_mapping.xml:282
-#, no-c-format
+#: index.docbook:282
msgid "Polymorphic queries"
-msgstr "Consultas polimórficas"
+msgstr "Consultas polimórficas"
-#. Tag: entry
-#: inheritance_mapping.xml:283
-#, no-c-format
+#: index.docbook:283
msgid "Polymorphic joins"
-msgstr "Uniones polimórficas"
+msgstr "Uniones polimórficas"
-#. Tag: entry
-#: inheritance_mapping.xml:284
-#, no-c-format
+#: index.docbook:284
msgid "Outer join fetching"
-msgstr "Recuperación por unión externa (outer join)"
+msgstr "Recuperación por unión externa (outer join)"
-#. Tag: entry
-#: inheritance_mapping.xml:289
-#, no-c-format
+#: index.docbook:289
msgid "table per class-hierarchy"
-msgstr "tabla por jerarquía de clases"
+msgstr "<entry>tabla por jerarquía de clases</entry>"
-#. Tag: literal
-#: inheritance_mapping.xml:290 inheritance_mapping.xml:301
-#: inheritance_mapping.xml:312
-#, no-c-format
+#: index.docbook:290, index.docbook:301, index.docbook:312
msgid "<many-to-one>"
msgstr "<many-to-one>"
-#. Tag: literal
-#: inheritance_mapping.xml:291 inheritance_mapping.xml:302
-#: inheritance_mapping.xml:313
-#, no-c-format
+#: index.docbook:291, index.docbook:302, index.docbook:313
msgid "<one-to-one>"
msgstr "<one-to-one>"
-#. Tag: literal
-#: inheritance_mapping.xml:292 inheritance_mapping.xml:303
-#, no-c-format
+#: index.docbook:292, index.docbook:303
msgid "<one-to-many>"
msgstr "<one-to-many>"
-#. Tag: literal
-#: inheritance_mapping.xml:293 inheritance_mapping.xml:304
-#: inheritance_mapping.xml:315
-#, no-c-format
+#: index.docbook:293, index.docbook:304, index.docbook:315
msgid "<many-to-many>"
msgstr "<many-to-many>"
-#. Tag: literal
-#: inheritance_mapping.xml:294 inheritance_mapping.xml:305
-#: inheritance_mapping.xml:316
-#, no-c-format
+#: index.docbook:294, index.docbook:305, index.docbook:316
msgid "s.get(Payment.class, id)"
msgstr "s.get(Payment.class, id)"
-#. Tag: literal
-#: inheritance_mapping.xml:295 inheritance_mapping.xml:306
-#: inheritance_mapping.xml:317 inheritance_mapping.xml:328
-#, no-c-format
+#: index.docbook:295, index.docbook:306, index.docbook:317, index.docbook:328
msgid "from Payment p"
msgstr "from Payment p"
-#. Tag: literal
-#: inheritance_mapping.xml:296 inheritance_mapping.xml:307
-#: inheritance_mapping.xml:318
-#, no-c-format
+#: index.docbook:296, index.docbook:307, index.docbook:318
msgid "from Order o join o.payment p"
msgstr "from Order o join o.payment p"
-#. Tag: emphasis
-#: inheritance_mapping.xml:297 inheritance_mapping.xml:308
-#: inheritance_mapping.xml:319
-#, no-c-format
+#: index.docbook:297, index.docbook:308, index.docbook:319
msgid "supported"
msgstr "soportada"
-#. Tag: entry
-#: inheritance_mapping.xml:300
-#, fuzzy, no-c-format
+#: index.docbook:300
msgid "<entry>table per subclass</entry>"
-msgstr "tabla por subclase"
+msgstr "<entry>tabla por subclase</entry>"
-#. Tag: entry
-#: inheritance_mapping.xml:311
-#, no-c-format
+#: index.docbook:311
msgid "table per concrete-class (union-subclass)"
msgstr "tabla por clase concreta (union-subclass)"
-#. Tag: entry
-#: inheritance_mapping.xml:314
-#, no-c-format
+#: index.docbook:314
msgid ""
"<literal><one-to-many></literal> (for
<literal>inverse=\"true\"</"
"literal> only)"
msgstr ""
+"<literal><one-to-many></literal> (para
<literal>inverse=\"true\"</"
+"literal> solamente)"
-#. Tag: entry
-#: inheritance_mapping.xml:322
-#, no-c-format
+#: index.docbook:322
msgid "table per concrete class (implicit polymorphism)"
-msgstr "tabla por clase concreta (polimorfismo implícito)"
+msgstr "tabla por clase concreta (polimorfismo implícito)"
-#. Tag: literal
-#: inheritance_mapping.xml:323
-#, no-c-format
+#: index.docbook:323
msgid "<any>"
msgstr "<any>"
-#. Tag: emphasis
-#: inheritance_mapping.xml:324 inheritance_mapping.xml:325
-#: inheritance_mapping.xml:329 inheritance_mapping.xml:330
-#, fuzzy, no-c-format
+#: index.docbook:324, index.docbook:325, index.docbook:329, index.docbook:330
msgid "not supported"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"no soportada\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"no soportada\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"no suportadas\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"no soportada"
+msgstr "no soportada"
-#. Tag: literal
-#: inheritance_mapping.xml:326
-#, no-c-format
+#: index.docbook:326
msgid "<many-to-any>"
msgstr "<many-to-any>"
-#. Tag: literal
-#: inheritance_mapping.xml:327
-#, no-c-format
+#: index.docbook:327
msgid ""
"s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()"
msgstr ""
"s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()"
-#~ msgid "load()/get()"
-#~ msgstr "load()/get()"
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-#~ msgid "Polymorphic <placeholder-1/>"
-#~ msgstr "<placeholder-1/> polimórficos"
-
-#~ msgid "inverse=\"true\""
-#~ msgstr "inverse=\"true\""
-
-#~ msgid "<placeholder-1/> (for <placeholder-2/> only)"
-#~ msgstr "<placeholder-1/> (para <placeholder-2/> solamente)"
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/performance.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/performance.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/performance.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,78 +1,61 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: performance.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Improving performance"
msgstr "Mejorando el rendimiento"
-#. Tag: title
-#: performance.xml:8
-#, no-c-format
+#: index.docbook:8
msgid "Fetching strategies"
-msgstr "Estrategias de recuperación"
+msgstr "Estrategias de recuperación"
-#. Tag: para
-#: performance.xml:10
-#, no-c-format
+#: index.docbook:10
msgid ""
"A <emphasis>fetching strategy</emphasis> is the strategy Hibernate will
use "
"for retrieving associated objects if the application needs to navigate the "
"association. Fetch strategies may be declared in the O/R mapping metadata, "
"or over-ridden by a particular HQL or <literal>Criteria</literal>
query."
msgstr ""
-"Una <emphasis>estrategia de recuperación</emphasis> es la estrategia
que "
-"usará Hibernate para recuperar los objetos asociados cuando la aplicación "
-"necesite navegar la asociación. Las estrategias de recuperación pueden ser "
-"declaradas en los metadatos de mapeo O/R, o sobrescritas por una consulta "
-"HQL o <literal>Criteria</literal> en particular."
+"Una <emphasis>estrategia de recuperación</emphasis> es la
estrategia "
+"que usará Hibernate para recuperar los objetos asociados cuando la
"
+"aplicación necesite navegar la asociación. Las estrategias de
"
+"recuperación pueden ser declaradas en los metadatos de mapeo O/R, o
"
+"sobrescritas por una consulta HQL o <literal>Criteria</literal> en
"
+"particular."
-#. Tag: para
-#: performance.xml:17
-#, no-c-format
+#: index.docbook:17
msgid "Hibernate3 defines the following fetching strategies:"
-msgstr "Hibernate3 define las siguientes estrategias de recuperación:"
+msgstr "Hibernate3 define las siguientes estrategias de
recuperación:"
-#. Tag: para
-#: performance.xml:23
-#, no-c-format
+#: index.docbook:23
msgid ""
"<emphasis>Join fetching</emphasis> - Hibernate retrieves the associated
"
"instance or collection in the same <literal>SELECT</literal>, using an
"
"<literal>OUTER JOIN</literal>."
msgstr ""
-"<emphasis>Recuperación por unión (join fetching)</emphasis> - Hibernate
"
-"recupera la instancia asociada o colección en la misma
<literal>SELECT</"
-"literal>, usando una <literal>OUTER JOIN</literal>."
+"<emphasis>Recuperación por unión (join
fetching)</emphasis> - "
+"Hibernate recupera la instancia asociada o colección en la misma "
+"<literal>SELECT</literal>, usando una <literal>OUTER
JOIN</literal>."
-#. Tag: para
-#: performance.xml:30
-#, no-c-format
+#: index.docbook:30
msgid ""
"<emphasis>Select fetching</emphasis> - a second
<literal>SELECT</literal> is "
"used to retrieve the associated entity or collection. Unless you explicitly "
"disable lazy fetching by specifying
<literal>lazy=\"false\"</literal>, this "
"second select will only be executed when you actually access the
association."
msgstr ""
-"<emphasis>Recuperación por selección (select fetching)</emphasis> - se
usa "
-"una segunda <literal>SELECT</literal> para recuperar la entidad
asociada o "
-"colección. A menos que deshabilites explícitamente la recuperación perezosa "
-"especificando <literal>lazy=\"false\"</literal>, la segunda
selección sólo "
-"será ejecutada cuando realmente accedas a la asociación."
+"<emphasis>Recuperación por selección (select
fetching)</"
+"emphasis> - se usa una segunda <literal>SELECT</literal> para
recuperar la "
+"entidad asociada o colección. A menos que deshabilites
explí"
+"citamente la recuperación perezosa especificando
<literal>lazy=\"false"
+"\"</literal>, la segunda selección sólo
será ejecutada "
+"cuando realmente accedas a la asociación."
-#. Tag: para
-#: performance.xml:39
-#, no-c-format
+#: index.docbook:39
msgid ""
"<emphasis>Subselect fetching</emphasis> - a second
<literal>SELECT</literal> "
"is used to retrieve the associated collections for all entities retrieved in
"
@@ -80,58 +63,52 @@
"specifying <literal>lazy=\"false\"</literal>, this second
select will only "
"be executed when you actually access the association."
msgstr ""
-"<emphasis>Recuperación por subselección (subselect fetching)</emphasis>
- se "
-"usa una segunda <literal>SELECT</literal> para recuperar las
colecciones "
-"asociadas de todas las entidades recuperadas en una consulta o recuperación "
-"previa. A menos que deshabilites explícitamente la recuperación perezosa "
-"especificando <literal>lazy=\"false\"</literal>, esta segunda
selección sólo "
-"será ejecutada cuando realmente accedas a la asociación."
+"<emphasis>Recuperación por subselección (subselect
fetching)</"
+"emphasis> - se usa una segunda <literal>SELECT</literal> para
recuperar las "
+"colecciones asociadas de todas las entidades recuperadas en una consulta o "
+"recuperación previa. A menos que deshabilites explícitamente
"
+"la recuperación perezosa especificando
<literal>lazy=\"false\"</"
+"literal>, esta segunda selección sólo será
ejecutada "
+"cuando realmente accedas a la asociación."
-#. Tag: para
-#: performance.xml:48
-#, no-c-format
+#: index.docbook:48
msgid ""
"<emphasis>Batch fetching</emphasis> - an optimization strategy for
select "
"fetching - Hibernate retrieves a batch of entity instances or collections in
"
"a single <literal>SELECT</literal>, by specifying a list of primary
keys or "
"foreign keys."
msgstr ""
-"<emphasis>Recuperación en lote</emphasis> - una estrategia de
optimización "
-"para la recuperación por selección - Hibernate recupera un lote de "
-"instancias de entidad o colecciones en una sola
<literal>SELECT</literal>, "
-"especificando una lista de claves primarias o de claves foráneas."
+"<emphasis>Recuperación en lote</emphasis> - una estrategia
de "
+"optimización para la recuperación por selección -
"
+"Hibernate recupera un lote de instancias de entidad o colecciones en una "
+"sola <literal>SELECT</literal>, especificando una lista de claves
primarias "
+"o de claves foráneas."
-#. Tag: para
-#: performance.xml:57
-#, no-c-format
+#: index.docbook:57
msgid "Hibernate also distinguishes between:"
-msgstr "Hibernate también distingue entre:"
+msgstr "Hibernate también distingue entre:"
-#. Tag: para
-#: performance.xml:63
-#, no-c-format
+#: index.docbook:63
msgid ""
"<emphasis>Immediate fetching</emphasis> - an association, collection or
"
"attribute is fetched immediately, when the owner is loaded."
msgstr ""
-"<emphasis>Recuperación inmediata</emphasis> - una asociación, colección
o "
-"atributo es recuperado inmediatamente, cuando el dueño es cargado."
+"<emphasis>Recuperación inmediata</emphasis> - una
asociación, "
+"colección o atributo es recuperado inmediatamente, cuando el "
+"dueño es cargado."
-#. Tag: para
-#: performance.xml:69
-#, no-c-format
+#: index.docbook:69
msgid ""
"<emphasis>Lazy collection fetching</emphasis> - a collection is fetched
when "
"the application invokes an operation upon that collection. (This is the "
"default for collections.)"
msgstr ""
-"<emphasis>Recuperación perezosa de colecciones</emphasis> - se recupera
una "
-"colección cuando la aplicación invoca una operación sobre la colección. "
-"(Esto es por defecto para las colecciones.)"
+"<emphasis>Recuperación perezosa de colecciones</emphasis> -
se "
+"recupera una colección cuando la aplicación invoca una
"
+"operación sobre la colección. (Esto es por defecto para las
"
+"colecciones.)"
-#. Tag: para
-#: performance.xml:76
-#, no-c-format
+#: index.docbook:76
msgid ""
"<emphasis>\"Extra-lazy\" collection fetching</emphasis> -
individual "
"elements of the collection are accessed from the database as needed. "
@@ -143,9 +120,7 @@
"Hibernate tries not to fetch the whole collection into memory unless "
"absolutely needed (suitable for very large collections)"
-#. Tag: para
-#: performance.xml:84
-#, no-c-format
+#: index.docbook:84
msgid ""
"<emphasis>Proxy fetching</emphasis> - a single-valued association is
fetched "
"when a method other than the identifier getter is invoked upon the "
@@ -155,9 +130,7 @@
"when a method other than the identifier getter is invoked upon the "
"associated object."
-#. Tag: para
-#: performance.xml:91
-#, no-c-format
+#: index.docbook:91
msgid ""
"<emphasis>\"No-proxy\" fetching</emphasis> - a single-valued
association is "
"fetched when the instance variable is accessed. Compared to proxy fetching, "
@@ -166,26 +139,22 @@
"the application. This approach requires buildtime bytecode instrumentation "
"and is rarely necessary."
msgstr ""
-"<emphasis>Recuperación por proxy</emphasis> - se recupera una
asociación "
-"monovaluada cuando se invoca un método que no sea el getter del "
-"identificador sobre el objeto asociado."
+"<emphasis>Recuperación por proxy</emphasis> - se recupera
una "
+"asociación monovaluada cuando se invoca un método que no sea
"
+"el getter del identificador sobre el objeto asociado."
-#. Tag: para
-#: performance.xml:101
-#, no-c-format
+#: index.docbook:101
msgid ""
"<emphasis>Lazy attribute fetching</emphasis> - an attribute or single
valued "
"association is fetched when the instance variable is accessed. This approach
"
"requires buildtime bytecode instrumentation and is rarely necessary."
msgstr ""
-"<emphasis>Recuperación perezosa de atributos</emphasis> - se recupera
un "
-"atributo o una asociación monovaluada cuando se accede a la variable de "
-"instancia (requiere instrumentación del bytecode en tiempo de ejecución). "
-"Este enfoque es raramente necesario."
+"<emphasis>Recuperación perezosa de atributos</emphasis> - se
recupera "
+"un atributo o una asociación monovaluada cuando se accede a la "
+"variable de instancia (requiere instrumentación del bytecode en "
+"tiempo de ejecución). Este enfoque es raramente necesario."
-#. Tag: para
-#: performance.xml:110
-#, no-c-format
+#: index.docbook:110
msgid ""
"We have two orthogonal notions here: <emphasis>when</emphasis> is the
"
"association fetched, and <emphasis>how</emphasis> is it fetched (what
SQL is "
@@ -193,35 +162,31 @@
"performance. We may use <literal>lazy</literal> to define a contract
for "
"what data is always available in any detached instance of a particular
class."
msgstr ""
-"Aquí tenemos dos nociones ortogonales: <emphasis>cuándo</emphasis> se
"
-"recupera la aplicación, y <emphasis>cómo</emphasis> es recuperada (qué
SQL "
-"es usado). ¡No las confundas! Usamos <literal>fetch</literal> para
afinar el "
-"rendimiento. Podemos usar <literal>lazy</literal> para definir un
contrato "
-"sobre qué datos están siempre disponibles en cualquier instancia separada de
"
-"una clase en particular."
+"Aquí tenemos dos nociones ortogonales:
<emphasis>cuándo</"
+"emphasis> se recupera la aplicación, y
<emphasis>cómo</"
+"emphasis> es recuperada (qué SQL es usado). ¡No las
confundas! "
+"Usamos <literal>fetch</literal> para afinar el rendimiento. Podemos
usar "
+"<literal>lazy</literal> para definir un contrato sobre qué
datos "
+"están siempre disponibles en cualquier instancia separada de una "
+"clase en particular."
-#. Tag: title
-#: performance.xml:119
-#, no-c-format
+#: index.docbook:119
msgid "Working with lazy associations"
msgstr "Trabajando con asociaciones perezosas"
-#. Tag: para
-#: performance.xml:121
-#, no-c-format
+#: index.docbook:121
msgid ""
"By default, Hibernate3 uses lazy select fetching for collections and lazy "
"proxy fetching for single-valued associations. These defaults make sense for
"
"almost all associations in almost all applications."
msgstr ""
-"Por defecto, Hibernate3 usa una recuperación perezosa por selección para "
-"colecciones y una recuperación por proxy perezosa para asociaciones "
-"monovaluadas. Estas políticas por defecto tienen sentido para casi todas las
"
-"asociaciones en casi todas las aplicaciones."
+"Por defecto, Hibernate3 usa una recuperación perezosa por "
+"selección para colecciones y una recuperación por proxy
"
+"perezosa para asociaciones monovaluadas. Estas políticas por defecto
"
+"tienen sentido para casi todas las asociaciones en casi todas las "
+"aplicaciones."
-#. Tag: para
-#: performance.xml:127
-#, no-c-format
+#: index.docbook:127
msgid ""
"<emphasis>Note:</emphasis> if you set <literal>hibernate."
"default_batch_fetch_size</literal>, Hibernate will use the batch fetch
"
@@ -229,25 +194,23 @@
"more granular level)."
msgstr ""
"<emphasis>Nota:</emphasis> si estableces
<literal>hibernate."
-"default_batch_fetch_size</literal>, Hibernate usará la optimización de
"
-"recuperación en lotes para recuperación perezosa (esta optimización también "
-"puede ser habilitada a un nivel más granularizado)."
+"default_batch_fetch_size</literal>, Hibernate usará la "
+"optimización de recuperación en lotes para
recuperación "
+"perezosa (esta optimización también puede ser habilitada a un
"
+"nivel más granularizado)."
-#. Tag: para
-#: performance.xml:134
-#, no-c-format
+#: index.docbook:134
msgid ""
"However, lazy fetching poses one problem that you must be aware of. Access "
"to a lazy association outside of the context of an open Hibernate session "
"will result in an exception. For example:"
msgstr ""
-"Sin embargo, la recuperación perezosa plantea un problema del que tienes que
"
-"estar al tanto. Acceder a una asociación perezosa fuera del contexto de una "
-"sesión de Hibernate abierta resultará en una excepción. Por ejemplo:"
+"Sin embargo, la recuperación perezosa plantea un problema del que
"
+"tienes que estar al tanto. Acceder a una asociación perezosa fuera
"
+"del contexto de una sesión de Hibernate abierta resultará en
"
+"una excepción. Por ejemplo:"
-#. Tag: programlisting
-#: performance.xml:140
-#, no-c-format
+#: index.docbook:140
msgid ""
"<![CDATA[s = sessions.openSession();\n"
"Transaction tx = s.beginTransaction();\n"
@@ -261,10 +224,19 @@
"\n"
"Integer accessLevel = (Integer) permissions.get(\"accounts\"); //
Error!]]>"
msgstr ""
+"<![CDATA[s = sessions.openSession();\n"
+"Transaction tx = s.beginTransaction();\n"
+" \n"
+"User u = (User) s.createQuery(\"from User u where
u.name=:userName\")\n"
+" .setString(\"userName\", userName).uniqueResult();\n"
+"Map permissions = u.getPermissions();\n"
+"\n"
+"tx.commit();\n"
+"s.close();\n"
+"\n"
+"Integer accessLevel = (Integer) permissions.get(\"accounts\"); //
Error!]]>"
-#. Tag: para
-#: performance.xml:142
-#, no-c-format
+#: index.docbook:142
msgid ""
"Since the permissions collection was not initialized when the "
"<literal>Session</literal> was closed, the collection will not be able
to "
@@ -272,15 +244,14 @@
"detached objects</emphasis>. The fix is to move the code that reads from the
"
"collection to just before the transaction is committed."
msgstr ""
-"Ya que la colección de permisos no fue inicializada cuando se cerró la "
-"<literal>Session</literal>, la colección no será capaz de cargar su
estado. "
-"<emphasis>Hibernate no soporta la inicialización perezosa de objetos "
-"separados</emphasis>. La solución es mover el código que lee de la colección
"
-"a justo antes que la transacción sea comprometida."
+"Ya que la colección de permisos no fue inicializada cuando se "
+"cerró la <literal>Session</literal>, la colección
no "
+"será capaz de cargar su estado. <emphasis>Hibernate no soporta la
"
+"inicialización perezosa de objetos separados</emphasis>. La
"
+"solución es mover el código que lee de la
colección a "
+"justo antes que la transacción sea comprometida."
-#. Tag: para
-#: performance.xml:150
-#, no-c-format
+#: index.docbook:150
msgid ""
"Alternatively, we could use a non-lazy collection or association, by "
"specifying <literal>lazy=\"false\"</literal> for the
association mapping. "
@@ -289,16 +260,15 @@
"in your object model, Hibernate will end up needing to fetch the entire "
"database into memory in every transaction!"
msgstr ""
-"Alternativamente, podríamos usar una colección no perezosa o asociación, "
-"especificando <literal>lazy=\"false\"</literal> para el mapeo
de asociación. "
-"Sin embargo, está pensado que la inicialización perezosa sea usada para casi
"
-"todas las colecciones y asociaciones. ¡Si defines demasiadas asociaciones no
"
-"perezosas en tu modelo de objetos, Hibernate terminará necesitando recuperar
"
-"la base de datos entera en cada transacción!"
+"Alternativamente, podríamos usar una colección no perezosa o
"
+"asociación, especificando
<literal>lazy=\"false\"</literal> para el "
+"mapeo de asociación. Sin embargo, está pensado que la "
+"inicialización perezosa sea usada para casi todas las colecciones y
"
+"asociaciones. ¡Si defines demasiadas asociaciones no perezosas en tu
"
+"modelo de objetos, Hibernate terminará necesitando recuperar la base
"
+"de datos entera en cada transacción!"
-#. Tag: para
-#: performance.xml:159
-#, no-c-format
+#: index.docbook:159
msgid ""
"On the other hand, we often want to choose join fetching (which is non-lazy "
"by nature) instead of select fetching in a particular transaction. We'll now
"
@@ -306,33 +276,29 @@
"for choosing a fetch strategy are identical for single-valued associations "
"and collections."
msgstr ""
-"Por otro lado, frecuentemente necesitamos elegir la recuperación por unión "
-"(que es no perezosa por naturaleza) en vez de la recuperación por selección "
-"en una transacción en particular. Veremos ahora cómo personalizar la "
-"estrategia de recuperación. En Hibernate3, los mecanismos para elegir una "
-"estrategia de recuperación son idénticas a las de las asociaciones "
-"monovaluadas y colecciones."
+"Por otro lado, frecuentemente necesitamos elegir la recuperación por
"
+"unión (que es no perezosa por naturaleza) en vez de la "
+"recuperación por selección en una transacción en
"
+"particular. Veremos ahora cómo personalizar la estrategia de "
+"recuperación. En Hibernate3, los mecanismos para elegir una "
+"estrategia de recuperación son idénticas a las de las "
+"asociaciones monovaluadas y colecciones."
-#. Tag: title
-#: performance.xml:170
-#, no-c-format
+#: index.docbook:170
msgid "Tuning fetch strategies"
-msgstr "Afinando las estrategias de recuperación"
+msgstr "Afinando las estrategias de recuperación"
-#. Tag: para
-#: performance.xml:172
-#, no-c-format
+#: index.docbook:172
msgid ""
"Select fetching (the default) is extremely vulnerable to N+1 selects "
"problems, so we might want to enable join fetching in the mapping document:"
msgstr ""
-"La recuperación por selección (la preestablecida) es extremadamente "
-"vulnerable a problemas de selección N+1, de modo querríamos habilitar la "
-"recuperación por unión (join fetching) en el documento de mapeo:"
+"La recuperación por selección (la preestablecida) es "
+"extremadamente vulnerable a problemas de selección N+1, de modo "
+"querríamos habilitar la recuperación por unión
(join "
+"fetching) en el documento de mapeo:"
-#. Tag: programlisting
-#: performance.xml:177
-#, no-c-format
+#: index.docbook:177
msgid ""
"<![CDATA[<set name=\"permissions\" \n"
" fetch=\"join\">\n"
@@ -340,52 +306,46 @@
" <one-to-many class=\"Permission\"/>\n"
"</set]]>"
msgstr ""
+"<![CDATA[<set name=\"permissions\" \n"
+" fetch=\"join\">\n"
+" <key column=\"userId\"/>\n"
+" <one-to-many class=\"Permission\"/>\n"
+"</set]]>"
-#. Tag: programlisting
-#: performance.xml:179
-#, no-c-format
+#: index.docbook:179
msgid "<![CDATA[<many-to-one name=\"mother\" class=\"Cat\"
fetch=\"join\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"mother\" class=\"Cat\"
fetch=\"join\"/>]]>"
-#. Tag: para
-#: performance.xml:181
-#, no-c-format
+#: index.docbook:181
msgid ""
"The <literal>fetch</literal> strategy defined in the mapping document
"
"affects:"
msgstr ""
-"La estrategia de recuperación definida en el documento de mapeo afecta a:"
+"La estrategia de recuperación definida en el documento de mapeo "
+"afecta a:"
-#. Tag: para
-#: performance.xml:187
-#, no-c-format
+#: index.docbook:187
msgid "retrieval via <literal>get()</literal> or
<literal>load()</literal>"
msgstr ""
-"las recuperaciones vía <literal>get()</literal> o
<literal>load()</literal>"
+"las recuperaciones vía <literal>get()</literal> o
<literal>load()</"
+"literal>"
-#. Tag: para
-#: performance.xml:192
-#, no-c-format
+#: index.docbook:192
msgid "retrieval that happens implicitly when an association is navigated"
msgstr ""
-"las recuperaciones que ocurren implícitamente cuando se navega una "
-"asociación (recuperación perezosa)"
+"las recuperaciones que ocurren implícitamente cuando se navega una
"
+"asociación (recuperación perezosa)"
-#. Tag: para
-#: performance.xml:197
-#, no-c-format
+#: index.docbook:197
msgid "<literal>Criteria</literal> queries"
msgstr "las consultas de <literal>Criteria</literal>"
-#. Tag: para
-#: performance.xml:202
-#, no-c-format
+#: index.docbook:202
msgid "HQL queries if <literal>subselect</literal> fetching is
used"
msgstr "HQL queries if <literal>subselect</literal> fetching is
used"
-#. Tag: para
-#: performance.xml:208
-#, no-c-format
+#: index.docbook:208
msgid ""
"No matter what fetching strategy you use, the defined non-lazy graph is "
"guaranteed to be loaded into memory. Note that this might result in several "
@@ -395,9 +355,7 @@
"guaranteed to be loaded into memory. Note that this might result in several "
"immediate selects being used to execute a particular HQL query."
-#. Tag: para
-#: performance.xml:214
-#, no-c-format
+#: index.docbook:214
msgid ""
"Usually, we don't use the mapping document to customize fetching. Instead,
"
"we keep the default behavior, and override it for a particular transaction, "
@@ -407,64 +365,57 @@
"<literal>setFetchMode(FetchMode.JOIN)</literal>."
msgstr ""
"Usualmente, no usamos el documento de mapeo para personalizar la "
-"recuperación. En cambio, mantenemos el comportamiento por defecto, y lo "
-"sobrescribimos para una transacción en particular, usando <literal>left join
"
-"fetch</literal> en HQL. Esto le dice a Hibernate que recupere la asociación
"
-"tempranamente en la primera selección, usando una unión externa. En la API "
-"de consulta de <literal>Criteria</literal>, usarías
<literal>setFetchMode"
-"(FetchMode.JOIN)</literal>."
+"recuperación. En cambio, mantenemos el comportamiento por defecto, y
"
+"lo sobrescribimos para una transacción en particular, usando "
+"<literal>left join fetch</literal> en HQL. Esto le dice a Hibernate que
"
+"recupere la asociación tempranamente en la primera selección,
"
+"usando una unión externa. En la API de consulta de
<literal>Criteria</"
+"literal>, usarías
<literal>setFetchMode(FetchMode.JOIN)</literal>."
-#. Tag: para
-#: performance.xml:223
-#, no-c-format
+#: index.docbook:223
msgid ""
"If you ever feel like you wish you could change the fetching strategy used "
"by <literal>get()</literal> or <literal>load()</literal>,
simply use a "
"<literal>Criteria</literal> query, for example:"
msgstr ""
-"Si acaso lo deseases, podrías cambiar la estrategia de recuperación usada "
-"por <literal>get()</literal> or <literal>load()</literal>;
simplemente usa "
-"una consulta <literal>Criteria</literal>, por ejemplo:"
+"Si acaso lo deseases, podrías cambiar la estrategia de "
+"recuperación usada por <literal>get()</literal> or
<literal>load()</"
+"literal>; simplemente usa una consulta <literal>Criteria</literal>,
por "
+"ejemplo:"
-#. Tag: programlisting
-#: performance.xml:229
-#, no-c-format
+#: index.docbook:229
msgid ""
"<![CDATA[User user = (User) session.createCriteria(User.class)\n"
" .setFetchMode(\"permissions\", FetchMode.JOIN)\n"
" .add( Restrictions.idEq(userId) )\n"
" .uniqueResult();]]>"
msgstr ""
+"<![CDATA[User user = (User) session.createCriteria(User.class)\n"
+" .setFetchMode(\"permissions\", FetchMode.JOIN)\n"
+" .add( Restrictions.idEq(userId) )\n"
+" .uniqueResult();]]>"
-#. Tag: para
-#: performance.xml:231
-#, no-c-format
+#: index.docbook:231
msgid ""
"(This is Hibernate's equivalent of what some ORM solutions call a \"fetch
"
"plan\".)"
msgstr ""
"(Esto es el equivalente de Hibernate de lo que otras soluciones ORM llaman "
-"un \"plan de recuperación\".)"
+"un \"plan de recuperación\".)"
-#. Tag: para
-#: performance.xml:235
-#, no-c-format
+#: index.docbook:235
msgid ""
"A completely different way to avoid problems with N+1 selects is to use the "
"second-level cache."
msgstr ""
"Una forma completamente diferente de evitar problemas con selecciones N+1 es
"
-"usar el caché de segundo nivel."
+"usar el caché de segundo nivel."
-#. Tag: title
-#: performance.xml:243
-#, no-c-format
+#: index.docbook:243
msgid "Single-ended association proxies"
msgstr "Proxies de asociaciones de un solo extremo"
-#. Tag: para
-#: performance.xml:245
-#, no-c-format
+#: index.docbook:245
msgid ""
"Lazy fetching for collections is implemented using Hibernate's own "
"implementation of persistent collections. However, a different mechanism is "
@@ -473,29 +424,27 @@
"proxies for persistent objects using runtime bytecode enhancement (via the "
"excellent CGLIB library)."
msgstr ""
-"La recuperación perezosa de colecciones está implementada usando la "
-"implementación de colecciones persistentes propia de Hibernate. Sin embargo,
"
-"se necesita un mecanismo diferente para un comportamiento perezoso en las "
-"asociaciones de un solo extremo. La entidad objetivo de la asociación debe "
-"ser tratada con proxies. Hibernate implementa proxies de inicialización "
-"perezosa para objetos persistentes usando mejora del bytecode en tiempo de "
-"ejecución (por medio de la excelente biblioteca CGLIB)."
+"La recuperación perezosa de colecciones está implementada
"
+"usando la implementación de colecciones persistentes propia de "
+"Hibernate. Sin embargo, se necesita un mecanismo diferente para un "
+"comportamiento perezoso en las asociaciones de un solo extremo. La entidad "
+"objetivo de la asociación debe ser tratada con proxies. Hibernate
"
+"implementa proxies de inicialización perezosa para objetos "
+"persistentes usando mejora del bytecode en tiempo de ejecución (por
"
+"medio de la excelente biblioteca CGLIB)."
-#. Tag: para
-#: performance.xml:253
-#, no-c-format
+#: index.docbook:253
msgid ""
"By default, Hibernate3 generates proxies (at startup) for all persistent "
"classes and uses them to enable lazy fetching of
<literal>many-to-one</"
"literal> and <literal>one-to-one</literal> associations."
msgstr ""
"Por defecto, Hibernate3 genera proxies (en el arranque) para todas las "
-"clases persistentes y los usa para habilitar la recuperación perezosa de "
-"asociaciones <literal>muchos-a-uno</literal> y
<literal>uno-a-uno</literal>."
+"clases persistentes y los usa para habilitar la recuperación perezosa
"
+"de asociaciones <literal>muchos-a-uno</literal> y
<literal>uno-a-uno</"
+"literal>."
-#. Tag: para
-#: performance.xml:259
-#, no-c-format
+#: index.docbook:259
msgid ""
"The mapping file may declare an interface to use as the proxy interface for "
"that class, with the <literal>proxy</literal> attribute. By default,
"
@@ -507,22 +456,18 @@
"proxy para esa clase, con el atributo <literal>proxy</literal>. Por
defecto, "
"Hibernate usa una subclase de la clase. <emphasis>Nota que la clase tratada
"
"con proxies debe implementar un constructor por defecto con al menos "
-"visibilidad de paquete. ¡Recomendamos este constructor para todas las clases
"
-"persistentes!</emphasis>"
+"visibilidad de paquete. ¡Recomendamos este constructor para todas las
"
+"clases persistentes!</emphasis>"
-#. Tag: para
-#: performance.xml:266
-#, no-c-format
+#: index.docbook:266
msgid ""
"There are some gotchas to be aware of when extending this approach to "
"polymorphic classes, eg."
msgstr ""
"Hay algunos puntos a tener en cuenta al extender este enfoque a clases "
-"polimórficas, por ejemplo."
+"polimórficas, por ejemplo."
-#. Tag: programlisting
-#: performance.xml:271
-#, no-c-format
+#: index.docbook:271
msgid ""
"<![CDATA[<class name=\"Cat\" proxy=\"Cat\">\n"
" ......\n"
@@ -531,22 +476,24 @@
" </subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Cat\" proxy=\"Cat\">\n"
+" ......\n"
+" <subclass name=\"DomesticCat\">\n"
+" .....\n"
+" </subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: performance.xml:273
-#, no-c-format
+#: index.docbook:273
msgid ""
"Firstly, instances of <literal>Cat</literal> will never be castable to
"
"<literal>DomesticCat</literal>, even if the underlying instance is an
"
"instance of <literal>DomesticCat</literal>:"
msgstr ""
-"Primero, las instancias de <literal>Cat</literal> nunca serán objeto de
un "
-"cast a <literal>DomesticCat</literal>, incluso aunque la instancia
"
+"Primero, las instancias de <literal>Cat</literal> nunca
serán objeto "
+"de un cast a <literal>DomesticCat</literal>, incluso aunque la
instancia "
"subyacente sea instancia de <literal>DomesticCat</literal>:"
-#. Tag: programlisting
-#: performance.xml:279
-#, no-c-format
+#: index.docbook:279
msgid ""
"<![CDATA[Cat cat = (Cat) session.load(Cat.class, id); // instantiate a "
"proxy (does not hit the db)\n"
@@ -556,17 +503,20 @@
" ....\n"
"}]]>"
msgstr ""
+"<![CDATA[Cat cat = (Cat) session.load(Cat.class, id); // instantiate a "
+"proxy (does not hit the db)\n"
+"if ( cat.isDomesticCat() ) { // hit the db to initialize "
+"the proxy\n"
+" DomesticCat dc = (DomesticCat) cat; // Error!\n"
+" ....\n"
+"}]]>"
-#. Tag: para
-#: performance.xml:281
-#, no-c-format
+#: index.docbook:281
msgid "Secondly, it is possible to break proxy
<literal>==</literal>."
msgstr ""
"Segundo, es posible romper con el operador <literal>==</literal> de un
proxy."
-#. Tag: programlisting
-#: performance.xml:285
-#, no-c-format
+#: index.docbook:285
msgid ""
"<![CDATA[Cat cat = (Cat) session.load(Cat.class, id); // "
"instantiate a Cat proxy\n"
@@ -575,40 +525,40 @@
"DomesticCat proxy!\n"
"System.out.println(cat==dc); // false]]>"
msgstr ""
+"<![CDATA[Cat cat = (Cat) session.load(Cat.class, id); // "
+"instantiate a Cat proxy\n"
+"DomesticCat dc = \n"
+" (DomesticCat) session.load(DomesticCat.class, id); // acquire new "
+"DomesticCat proxy!\n"
+"System.out.println(cat==dc); // false]]>"
-#. Tag: para
-#: performance.xml:287
-#, no-c-format
+#: index.docbook:287
msgid ""
"However, the situation is not quite as bad as it looks. Even though we now "
"have two references to different proxy objects, the underlying instance will
"
"still be the same object:"
msgstr ""
-"Sin embargo, la situación no en absoluta tan mala como parece. Aunque "
+"Sin embargo, la situación no en absoluta tan mala como parece. Aunque
"
"tenemos ahora dos referencias a objetos proxy diferentes, la instancia "
-"subyacente será aún el mismo objeto:"
+"subyacente será aún el mismo objeto:"
-#. Tag: programlisting
-#: performance.xml:292
-#, no-c-format
+#: index.docbook:292
msgid ""
"<![CDATA[cat.setWeight(11.0); // hit the db to initialize the proxy\n"
"System.out.println( dc.getWeight() ); // 11.0]]>"
msgstr ""
+"<![CDATA[cat.setWeight(11.0); // hit the db to initialize the proxy\n"
+"System.out.println( dc.getWeight() ); // 11.0]]>"
-#. Tag: para
-#: performance.xml:294
-#, no-c-format
+#: index.docbook:294
msgid ""
"Third, you may not use a CGLIB proxy for a <literal>final</literal>
class or "
"a class with any <literal>final</literal> methods."
msgstr ""
"Tercero, no debes usar un proxy CGLIB para una clase
<literal>final</"
-"literal> o una clase con algún método
<literal>final</literal>."
+"literal> o una clase con algún método
<literal>final</literal>."
-#. Tag: para
-#: performance.xml:299
-#, no-c-format
+#: index.docbook:299
msgid ""
"Finally, if your persistent object acquires any resources upon instantiation
"
"(eg. in initializers or default constructor), then those resources will also
"
@@ -616,13 +566,11 @@
"persistent class."
msgstr ""
"Finalmente, si tu objeto persistente adquiere cualquier recurso bajo "
-"instanciación (por ejemplo, en inicializadores o constructores por defecto),
"
-"entonces esos recursos serán adquiridos también por el proxy. La clase del "
-"proxy es una subclase real de la clase persistente."
+"instanciación (por ejemplo, en inicializadores o constructores por
"
+"defecto), entonces esos recursos serán adquiridos también por
"
+"el proxy. La clase del proxy es una subclase real de la clase persistente."
-#. Tag: para
-#: performance.xml:305
-#, no-c-format
+#: index.docbook:305
msgid ""
"These problems are all due to fundamental limitations in Java's single "
"inheritance model. If you wish to avoid these problems your persistent "
@@ -630,14 +578,12 @@
"You should specify these interfaces in the mapping file. eg."
msgstr ""
"Estos problemas se deben a limitaciones fundamentales en el modelo de "
-"herencia única de Java. Si deseas evitar estos problemas cada una de tus "
-"clases persistentes deben implementar una interface que declare sus métodos "
-"de negocio. Debes especificar estas interfaces en el fichero de mapeo. Por "
-"ejemplo:"
+"herencia única de Java. Si deseas evitar estos problemas cada una de
"
+"tus clases persistentes deben implementar una interface que declare sus "
+"métodos de negocio. Debes especificar estas interfaces en el fichero
"
+"de mapeo. Por ejemplo:"
-#. Tag: programlisting
-#: performance.xml:311
-#, no-c-format
+#: index.docbook:311
msgid ""
"<![CDATA[<class name=\"CatImpl\"
proxy=\"Cat\">\n"
" ......\n"
@@ -646,10 +592,14 @@
" </subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"CatImpl\"
proxy=\"Cat\">\n"
+" ......\n"
+" <subclass name=\"DomesticCatImpl\"
proxy=\"DomesticCat\">\n"
+" .....\n"
+" </subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: performance.xml:313
-#, no-c-format
+#: index.docbook:313
msgid ""
"where <literal>CatImpl</literal> implements the interface
<literal>Cat</"
"literal> and <literal>DomesticCatImpl</literal> implements the
interface "
@@ -665,40 +615,36 @@
"literal> y <literal>DomesticCat</literal>. (Nota que
<literal>list()</"
"literal> usualmente no devuelve proxies.)"
-#. Tag: programlisting
-#: performance.xml:321
-#, no-c-format
+#: index.docbook:321
msgid ""
"<![CDATA[Cat cat = (Cat) session.load(CatImpl.class, catid);\n"
"Iterator iter = session.createQuery(\"from CatImpl as cat where cat."
"name='fritz'\").iterate();\n"
"Cat fritz = (Cat) iter.next();]]>"
msgstr ""
+"<![CDATA[Cat cat = (Cat) session.load(CatImpl.class, catid);\n"
+"Iterator iter = session.createQuery(\"from CatImpl as cat where cat."
+"name='fritz'\").iterate();\n"
+"Cat fritz = (Cat) iter.next();]]>"
-#. Tag: para
-#: performance.xml:323
-#, no-c-format
+#: index.docbook:323
msgid ""
"Relationships are also lazily initialized. This means you must declare any "
"properties to be of type <literal>Cat</literal>, not
<literal>CatImpl</"
"literal>."
msgstr ""
-"Las relaciones también son inicializadas perezosamente. Esto significa que "
-"debes declarar cualquier propiedad como de tipo <literal>Cat</literal>,
no "
-"<literal>CatImpl</literal>."
+"Las relaciones también son inicializadas perezosamente. Esto "
+"significa que debes declarar cualquier propiedad como de tipo
<literal>Cat</"
+"literal>, no <literal>CatImpl</literal>."
-#. Tag: para
-#: performance.xml:328
-#, no-c-format
+#: index.docbook:328
msgid ""
"Certain operations do <emphasis>not</emphasis> require proxy
initialization"
msgstr ""
-"Ciertas operaciones <emphasis>no</emphasis> requieren inicialización de
"
-"proxies."
+"Ciertas operaciones <emphasis>no</emphasis> requieren
inicialización "
+"de proxies."
-#. Tag: para
-#: performance.xml:334
-#, no-c-format
+#: index.docbook:334
msgid ""
"<literal>equals()</literal>, if the persistent class does not override
"
"<literal>equals()</literal>"
@@ -706,9 +652,7 @@
"<literal>equals()</literal>, si la clase persistente no sobrescribe
"
"<literal>equals()</literal>"
-#. Tag: para
-#: performance.xml:340
-#, no-c-format
+#: index.docbook:340
msgid ""
"<literal>hashCode()</literal>, if the persistent class does not
override "
"<literal>hashCode()</literal>"
@@ -716,25 +660,19 @@
"<literal>hashCode()</literal>, si la clase persistente no sobrescribe
"
"<literal>hashCode()</literal>"
-#. Tag: para
-#: performance.xml:346
-#, no-c-format
+#: index.docbook:346
msgid "The identifier getter method"
-msgstr "El método getter del identificador"
+msgstr "El método getter del identificador"
-#. Tag: para
-#: performance.xml:352
-#, no-c-format
+#: index.docbook:352
msgid ""
"Hibernate will detect persistent classes that override
<literal>equals()</"
"literal> or <literal>hashCode()</literal>."
msgstr ""
-"Hibernate detectará las clase persistentes que sobrescriban
<literal>equals()"
-"</literal> o <literal>hashCode()</literal>."
+"Hibernate detectará las clase persistentes que sobrescriban "
+"<literal>equals()</literal> o
<literal>hashCode()</literal>."
-#. Tag: para
-#: performance.xml:357
-#, no-c-format
+#: index.docbook:357
msgid ""
"By choosing <literal>lazy=\"no-proxy\"</literal> instead of
the default "
"<literal>lazy=\"proxy\"</literal>, we can avoid the problems
associated with "
@@ -747,30 +685,24 @@
"instrumentation, and all operations will result in immediate proxy "
"initialization."
-#. Tag: title
-#: performance.xml:367
-#, no-c-format
+#: index.docbook:367
msgid "Initializing collections and proxies"
msgstr "Inicializando colecciones y proxies"
-#. Tag: para
-#: performance.xml:369
-#, no-c-format
+#: index.docbook:369
msgid ""
"A <literal>LazyInitializationException</literal> will be thrown by
Hibernate "
"if an uninitialized collection or proxy is accessed outside of the scope of "
"the <literal>Session</literal>, ie. when the entity owning the
collection or "
"having the reference to the proxy is in the detached state."
msgstr ""
-"Una <literal>LazyInitializationException</literal> será lanzada por
"
-"Hibernate si una colección o proxy sin inicializar es accedido fuera del "
-"ámbito de la <literal>Session</literal>, es decir, cuando la entidad
que "
-"posee la colección o que tiene la referencia al proxy esté en el estado "
-"separada."
+"Una <literal>LazyInitializationException</literal> será
lanzada por "
+"Hibernate si una colección o proxy sin inicializar es accedido fuera
"
+"del ámbito de la <literal>Session</literal>, es decir,
cuando la "
+"entidad que posee la colección o que tiene la referencia al proxy
"
+"esté en el estado separada."
-#. Tag: para
-#: performance.xml:375
-#, no-c-format
+#: index.docbook:375
msgid ""
"Sometimes we need to ensure that a proxy or collection is initialized before
"
"closing the <literal>Session</literal>. Of course, we can alway force
"
@@ -778,15 +710,14 @@
"getKittens().size()</literal>, for example. But that is confusing to readers
"
"of the code and is not convenient for generic code."
msgstr ""
-"A veces necesitamos asegurarnos que un proxy o colección esté inicializado "
-"antes de cerrar la <literal>Session</literal>. Por supuesto, siempre
podemos "
-"forzar la inicialización llamando a <literal>cat.getSex()</literal> o
"
-"<literal>cat.getKittens().size()</literal>, por ejemplo. Pero esto es
"
-"confuso a lectores del código y no es conveniente para código genérico."
+"A veces necesitamos asegurarnos que un proxy o colección esté
"
+"inicializado antes de cerrar la <literal>Session</literal>. Por
supuesto, "
+"siempre podemos forzar la inicialización llamando a
<literal>cat."
+"getSex()</literal> o <literal>cat.getKittens().size()</literal>,
por "
+"ejemplo. Pero esto es confuso a lectores del código y no es "
+"conveniente para código genérico."
-#. Tag: para
-#: performance.xml:382
-#, no-c-format
+#: index.docbook:382
msgid ""
"The static methods <literal>Hibernate.initialize()</literal> and
"
"<literal>Hibernate.isInitialized()</literal> provide the application
with a "
@@ -796,18 +727,16 @@
"literal> is still open. <literal>Hibernate.initialize( cat.getKittens()
)</"
"literal> has a similar effect for the collection of kittens."
msgstr ""
-"Los métodos estáticos <literal>Hibernate.initialize()</literal> y
"
-"<literal>Hibernate.isInitialized()</literal> proveen a la aplicación de
una "
-"forma conveniente de trabajar con colecciones o proxies inicializados "
-"perezosamente. <literal>Hibernate.initialize(cat)</literal> forzará la
"
-"inicialización de un proxy, <literal>cat</literal>, en tanto su "
-"<literal>Session</literal> esté todavía abierta.
<literal>Hibernate."
-"initialize( cat.getKittens() )</literal> tiene un efecto similar para la
"
-"colección de gatitos."
+"Los métodos estáticos
<literal>Hibernate.initialize()</"
+"literal> y <literal>Hibernate.isInitialized()</literal> proveen a la
"
+"aplicación de una forma conveniente de trabajar con colecciones o
"
+"proxies inicializados perezosamente.
<literal>Hibernate.initialize(cat)</"
+"literal> forzará la inicialización de un proxy,
<literal>cat</"
+"literal>, en tanto su <literal>Session</literal> esté
todavía "
+"abierta. <literal>Hibernate.initialize( cat.getKittens() )</literal>
tiene "
+"un efecto similar para la colección de gatitos."
-#. Tag: para
-#: performance.xml:391
-#, no-c-format
+#: index.docbook:391
msgid ""
"Another option is to keep the <literal>Session</literal> open until all
"
"needed collections and proxies have been loaded. In some application "
@@ -817,17 +746,17 @@
"<literal>Session</literal> is open when a collection is initialized.
There "
"are two basic ways to deal with this issue:"
msgstr ""
-"Otra opción es mantener la <literal>Session</literal> abierta hasta que
"
-"todas las colecciones y proxies necesarios hayan sido cargados. En algunas "
-"arquitecturas de aplicación, particularmente en aquellas donde el código que
"
-"accede a los datos usando Hibernate, y el código que los usa están en capas "
-"de aplicación diferentes o procesos físicos diferentes, puede ser un "
-"problema asegurar que la <literal>Session</literal> esté abierta cuando
se "
-"inicializa una colección. Existen dos formas básicas de tratar este tema:"
+"Otra opción es mantener la <literal>Session</literal>
abierta hasta "
+"que todas las colecciones y proxies necesarios hayan sido cargados. En "
+"algunas arquitecturas de aplicación, particularmente en aquellas "
+"donde el código que accede a los datos usando Hibernate, y el "
+"código que los usa están en capas de aplicación
"
+"diferentes o procesos físicos diferentes, puede ser un problema "
+"asegurar que la <literal>Session</literal> esté abierta
cuando se "
+"inicializa una colección. Existen dos formas básicas de
tratar "
+"este tema:"
-#. Tag: para
-#: performance.xml:402
-#, no-c-format
+#: index.docbook:402
msgid ""
"In a web-based application, a servlet filter can be used to close the "
"<literal>Session</literal> only at the very end of a user request, once
the "
@@ -839,23 +768,23 @@
"rendering of the view. See the Hibernate Wiki for examples of this \"Open
"
"Session in View\" pattern."
msgstr ""
-"En una aplicación basada web, puede usarse un filtro de servlets para cerrar
"
-"la <literal>Session</literal> sólo bien al final de una petición de
usuario, "
-"una vez que el rendering de la vista esté completa (el patrón "
-"<emphasis>Sesión Abierta en Vista (Open Session in View)</emphasis>).
Por "
-"supuesto, estos sitios requieren una fuerte demanda de corrección del manejo
"
-"de excepciones de tu infraestructura de aplicación. Es de una importancia "
-"vital que la <literal>Session</literal> esté cerrada y la transacción
"
-"terminada antes de volver al usuario, incluso cuando ocurra una excepción "
-"durante el rendering de la página. Para este enfoque, el filtro de servlet "
-"tiene que ser capaz de accceder la <literal>Session</literal>.
Recomendamos "
-"que se use una variable <literal>ThreadLocal</literal> para tener la
"
-"<literal>Session</literal> actual (ver el capítulo 1, <xref
linkend="
-"\"quickstart-playingwithcats\"/>, para una implementación de
ejemplo)."
+"En una aplicación basada web, puede usarse un filtro de servlets para
"
+"cerrar la <literal>Session</literal> sólo bien al final de
una "
+"petición de usuario, una vez que el rendering de la vista
esté "
+"completa (el patrón <emphasis>Sesión Abierta en Vista
(Open "
+"Session in View)</emphasis>). Por supuesto, estos sitios requieren una
"
+"fuerte demanda de corrección del manejo de excepciones de tu "
+"infraestructura de aplicación. Es de una importancia vital que la
"
+"<literal>Session</literal> esté cerrada y la
transacción "
+"terminada antes de volver al usuario, incluso cuando ocurra una "
+"excepción durante el rendering de la página. Para este
"
+"enfoque, el filtro de servlet tiene que ser capaz de accceder la "
+"<literal>Session</literal>. Recomendamos que se use una variable
"
+"<literal>ThreadLocal</literal> para tener la
<literal>Session</literal> "
+"actual (ver el capítulo 1, <xref
linkend=\"quickstart-playingwithcats"
+"\"/>, para una implementación de ejemplo)."
-#. Tag: para
-#: performance.xml:415
-#, no-c-format
+#: index.docbook:415
msgid ""
"In an application with a separate business tier, the business logic must "
"\"prepare\" all collections that will be needed by the web tier before
"
@@ -870,23 +799,22 @@
"<emphasis>Command</emphasis> pattern instead of a
<emphasis>Session Facade</"
"emphasis>."
msgstr ""
-"En una aplciación con una grada de negocios separada, la lógica de negocio "
-"debe \"preparar\" todas las colecciones que se vayan a necesitar por la
"
-"grada web antes de volver. Esto significa que la grada de negocios debe "
-"cargar todos los datos y devolver a la grada de presentación web todos los "
-"datos que se requieran para un caso de uso en particular ya inicializados. "
-"Usualmente, la aplicación llama a
<literal>Hibernate.initialize()</literal> "
-"para cada colección que se necesitará en la grada web (esta llamada debe "
-"ocurrir antes que la sesión sea cerrada) o recupera la colección "
-"tempranamente usando una consulta de Hibernate con una cláusula "
-"<literal>FETCH</literal> o una
<literal>FetchMode.JOIN</literal> en "
-"<literal>Criteria</literal>. Esto es usualmente más fácil si adoptas el
"
-"patrón <emphasis>Comando</emphasis> en vez de un
<emphasis>Fachada de "
-"Sesión</emphasis>."
+"En una aplciación con una grada de negocios separada, la
ló"
+"gica de negocio debe \"preparar\" todas las colecciones que se vayan a
"
+"necesitar por la grada web antes de volver. Esto significa que la grada de "
+"negocios debe cargar todos los datos y devolver a la grada de "
+"presentación web todos los datos que se requieran para un caso de uso
"
+"en particular ya inicializados. Usualmente, la aplicación llama a
"
+"<literal>Hibernate.initialize()</literal> para cada
colección que se "
+"necesitará en la grada web (esta llamada debe ocurrir antes que la
"
+"sesión sea cerrada) o recupera la colección tempranamente
"
+"usando una consulta de Hibernate con una cláusula
<literal>FETCH</"
+"literal> o una <literal>FetchMode.JOIN</literal> en
<literal>Criteria</"
+"literal>. Esto es usualmente más fácil si adoptas el
"
+"patrón <emphasis>Comando</emphasis> en vez de un
<emphasis>Fachada de "
+"Sesión</emphasis>."
-#. Tag: para
-#: performance.xml:430
-#, no-c-format
+#: index.docbook:430
msgid ""
"You may also attach a previously loaded object to a new
<literal>Session</"
"literal> with <literal>merge()</literal> or
<literal>lock()</literal> before "
@@ -894,69 +822,61 @@
"not, and certainly <emphasis>should</emphasis> not do this
automatically, "
"since it would introduce ad hoc transaction semantics!"
msgstr ""
-"Puedes también adjuntar un objeto cargado previamente a una nueva "
+"Puedes también adjuntar un objeto cargado previamente a una nueva
"
"<literal>Session</literal> con <literal>merge()</literal> o
<literal>lock()</"
"literal> antes de acceder a colecciones no inicializadas (u otros proxies).
"
-"¡No, Hibernate no, y ciertamente <emphasis>no debe</emphasis> hacer
esto "
-"automáticamente, ya que introduciría semánticas de transacción ad hoc!"
+"¡No, Hibernate no, y ciertamente <emphasis>no
debe</emphasis> hacer "
+"esto automáticamente, ya que introduciría
semánticas de "
+"transacción ad hoc!"
-#. Tag: para
-#: performance.xml:440
-#, no-c-format
+#: index.docbook:440
msgid ""
"Sometimes you don't want to initialize a large collection, but still need
"
"some information about it (like its size) or a subset of the data."
msgstr ""
-"A veces no quieres inicializar una colección grande, pero necesitas aún "
-"alguna informacion sobre ella (como su tamaño) o un subconjunto de los
datos."
+"A veces no quieres inicializar una colección grande, pero necesitas
"
+"aún alguna informacion sobre ella (como su tamaño) o un
"
+"subconjunto de los datos."
-#. Tag: para
-#: performance.xml:445
-#, no-c-format
+#: index.docbook:445
msgid ""
"You can use a collection filter to get the size of a collection without "
"initializing it:"
msgstr ""
-"Puedes usar un filtro de colecciones para obtener el tamaño de una colección
"
-"sin inicializarla:"
+"Puedes usar un filtro de colecciones para obtener el tamaño de una
"
+"colección sin inicializarla:"
-#. Tag: programlisting
-#: performance.xml:449
-#, no-c-format
+#: index.docbook:449
msgid ""
"<![CDATA[( (Integer) s.createFilter( collection, \"select count(*)\"
).list"
"().get(0) ).intValue()]]>"
msgstr ""
+"<![CDATA[( (Integer) s.createFilter( collection, \"select count(*)\"
).list"
+"().get(0) ).intValue()]]>"
-#. Tag: para
-#: performance.xml:451
-#, no-c-format
+#: index.docbook:451
msgid ""
"The <literal>createFilter()</literal> method is also used to
efficiently "
"retrieve subsets of a collection without needing to initialize the whole "
"collection:"
msgstr ""
-"El método <literal>createFilter()</literal> se usa también para
recuperar "
-"eficientemente subconjuntos de una colección sin necesidad de inicializar "
-"toda la colección:"
+"El método <literal>createFilter()</literal> se usa
también "
+"para recuperar eficientemente subconjuntos de una colección sin "
+"necesidad de inicializar toda la colección:"
-#. Tag: programlisting
-#: performance.xml:456
-#, no-c-format
+#: index.docbook:456
msgid ""
"<![CDATA[s.createFilter( lazyCollection,
\"\").setFirstResult(0)."
"setMaxResults(10).list();]]>"
msgstr ""
+"<![CDATA[s.createFilter( lazyCollection,
\"\").setFirstResult(0)."
+"setMaxResults(10).list();]]>"
-#. Tag: title
-#: performance.xml:461
-#, no-c-format
+#: index.docbook:461
msgid "Using batch fetching"
-msgstr "Usando recuperación en lotes"
+msgstr "Usando recuperación en lotes"
-#. Tag: para
-#: performance.xml:463
-#, no-c-format
+#: index.docbook:463
msgid ""
"Hibernate can make efficient use of batch fetching, that is, Hibernate can "
"load several uninitialized proxies if one proxy is accessed (or collections.
"
@@ -964,16 +884,14 @@
"There are two ways you can tune batch fetching: on the class and the "
"collection level."
msgstr ""
-"Hibernate puede hacer un uso eficiente de la recuperación en lotes, esto es,
"
-"Hibernate puede cargar muchos proxies sin inicializar si se accede a un "
-"proxy (o colecciones). La recuperación en lotes es una optimización de la "
-"estrategia de recuperación por selección perezosa. Hay dos formas en que "
-"puedes afinar la recuperación en lotes: a nivel de la clase o de la "
-"colección."
+"Hibernate puede hacer un uso eficiente de la recuperación en lotes,
"
+"esto es, Hibernate puede cargar muchos proxies sin inicializar si se accede "
+"a un proxy (o colecciones). La recuperación en lotes es una "
+"optimización de la estrategia de recuperación por "
+"selección perezosa. Hay dos formas en que puedes afinar la "
+"recuperación en lotes: a nivel de la clase o de la
colección."
-#. Tag: para
-#: performance.xml:469
-#, no-c-format
+#: index.docbook:469
msgid ""
"Batch fetching for classes/entities is easier to understand. Imagine you "
"have the following situation at runtime: You have 25
<literal>Cat</literal> "
@@ -986,34 +904,31 @@
"owners. You can tune this behavior by specifying a
<literal>batch-size</"
"literal> in the mapping of <literal>Person</literal>:"
msgstr ""
-"La recuperación en lotes para clases/entidades es más fácil de entender. "
-"Imagina que tienes la siguiente situación en tiempo de ejecución: Tienes 25 "
-"instancias de <literal>Cat</literal> cargadas en una
<literal>Session</"
-"literal>, cada <literal>Cat</literal> tiene una referencia a su
"
-"<literal>owner</literal>, una <literal>Person</literal>. La
clase "
-"<literal>Person</literal> está mapeada con un proxy,
<literal>lazy=\"true\"</"
-"literal>. Si ahora iteras a través de todos los gatos y llamas a "
-"<literal>getOwner()</literal> para cada uno, Hibernate por defecto
ejecutará "
-"25 sentencias <literal>SELECT</literal> para traer los dueños tratados
con "
-"proxies. Puedes afinar este comportamiento especificando un
<literal>batch-"
-"size</literal> en el mapeo de <literal>Person</literal>:"
+"La recuperación en lotes para clases/entidades es más
fá"
+"cil de entender. Imagina que tienes la siguiente situación en tiempo
"
+"de ejecución: Tienes 25 instancias de <literal>Cat</literal>
cargadas "
+"en una <literal>Session</literal>, cada
<literal>Cat</literal> tiene una "
+"referencia a su <literal>owner</literal>, una
<literal>Person</literal>. La "
+"clase <literal>Person</literal> está mapeada con un proxy,
"
+"<literal>lazy=\"true\"</literal>. Si ahora iteras a
través de todos "
+"los gatos y llamas a <literal>getOwner()</literal> para cada uno,
Hibernate "
+"por defecto ejecutará 25 sentencias
<literal>SELECT</literal> para "
+"traer los dueños tratados con proxies. Puedes afinar este "
+"comportamiento especificando un <literal>batch-size</literal> en el
mapeo de "
+"<literal>Person</literal>:"
-#. Tag: programlisting
-#: performance.xml:479
-#, no-c-format
+#: index.docbook:479
msgid "<![CDATA[<class name=\"Person\"
batch-size=\"10\">...</class>]]>"
-msgstr ""
+msgstr "<![CDATA[<class name=\"Person\"
batch-size=\"10\">...</class>]]>"
-#. Tag: para
-#: performance.xml:481
-#, no-c-format
+#: index.docbook:481
msgid ""
"Hibernate will now execute only three queries, the pattern is 10, 10, 5."
-msgstr "Hibernate ahora ejecutará sólo tres consultas, el patrón es 10, 10,
5."
+msgstr ""
+"Hibernate ahora ejecutará sólo tres consultas, el
patró"
+"n es 10, 10, 5."
-#. Tag: para
-#: performance.xml:485
-#, no-c-format
+#: index.docbook:485
msgid ""
"You may also enable batch fetching of collections. For example, if each "
"<literal>Person</literal> has a lazy collection of
<literal>Cat</literal>s, "
@@ -1023,18 +938,17 @@
"fetching for the <literal>cats</literal> collection in the mapping of
"
"<literal>Person</literal>, Hibernate can pre-fetch collections:"
msgstr ""
-"También puedes habilitar la recuperación en lotes para colecciones. Por "
-"ejemplo, si cada <literal>Person</literal> tiene una colección perezosa
de "
-"<literal>Cat</literal>s, y hay 10 personas actualmente cargadas en la
"
-"<literal>Session</literal>, iterar a través de las 10 personas generará
10 "
-"<literal>SELECT</literal>s, una para cada llamada a
<literal>getCats()</"
-"literal>. Si habilitas la recuperación en lotes para la colección de "
-"<literal>cats</literal> en el mapeo de
<literal>Person</literal>, Hibernate "
-"puede recuperar por adelantado las colecciones:"
+"También puedes habilitar la recuperación en lotes para
"
+"colecciones. Por ejemplo, si cada <literal>Person</literal> tiene una
"
+"colección perezosa de <literal>Cat</literal>s, y hay 10
personas "
+"actualmente cargadas en la <literal>Session</literal>, iterar a
travé"
+"s de las 10 personas generará 10 <literal>SELECT</literal>s,
una para "
+"cada llamada a <literal>getCats()</literal>. Si habilitas la "
+"recuperación en lotes para la colección de
<literal>cats</"
+"literal> en el mapeo de <literal>Person</literal>, Hibernate puede
recuperar "
+"por adelantado las colecciones:"
-#. Tag: programlisting
-#: performance.xml:494
-#, no-c-format
+#: index.docbook:494
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <set name=\"cats\" batch-size=\"3\">\n"
@@ -1042,64 +956,58 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <set name=\"cats\" batch-size=\"3\">\n"
+" ...\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: para
-#: performance.xml:496
-#, no-c-format
+#: index.docbook:496
msgid ""
"With a <literal>batch-size</literal> of 3, Hibernate will load 3, 3, 3,
1 "
"collections in four <literal>SELECT</literal>s. Again, the value of the
"
"attribute depends on the expected number of uninitialized collections in a "
"particular <literal>Session</literal>."
msgstr ""
-"Con un <literal>batch-size</literal> de 3, Hibernate cargará 3, 3, 3, 1
"
-"colecciones en cuatro <literal>SELECT</literal>s. Una vez más, el valor
del "
-"atributo depende del número esperado de colecciones sin inicializar en una "
-"<literal>Session</literal> en particular."
+"Con un <literal>batch-size</literal> de 3, Hibernate cargará
3, 3, 3, "
+"1 colecciones en cuatro <literal>SELECT</literal>s. Una vez
más, el "
+"valor del atributo depende del número esperado de colecciones sin
"
+"inicializar en una <literal>Session</literal> en particular."
-#. Tag: para
-#: performance.xml:502
-#, no-c-format
+#: index.docbook:502
msgid ""
"Batch fetching of collections is particularly useful if you have a nested "
"tree of items, ie. the typical bill-of-materials pattern. (Although a "
"<emphasis>nested set</emphasis> or a <emphasis>materialized
path</emphasis> "
"might be a better option for read-mostly trees.)"
msgstr ""
-"La recuperación de coleccione en lotes es particularmente útil si tienes un "
-"árbol anidado de ítems, es decir, el típico patrón de cuenta de materiales. "
-"(Aunque un <emphasis>conjunto anidado</emphasis> o una
<emphasis>ruta "
-"materializada</emphasis> podría ser una mejor opción para árboles que sean
"
-"de lectura en la mayoría de los casos.)"
+"La recuperación de coleccione en lotes es particularmente
útil "
+"si tienes un árbol anidado de ítems, es decir, el
tí"
+"pico patrón de cuenta de materiales. (Aunque un <emphasis>conjunto
"
+"anidado</emphasis> o una <emphasis>ruta materializada</emphasis>
podrí"
+"a ser una mejor opción para árboles que sean de lectura en la
"
+"mayoría de los casos.)"
-#. Tag: title
-#: performance.xml:511
-#, no-c-format
+#: index.docbook:511
msgid "Using subselect fetching"
-msgstr "Usando recuperación por subselección"
+msgstr "Usando recuperación por subselección"
-#. Tag: para
-#: performance.xml:513
-#, no-c-format
+#: index.docbook:513
msgid ""
"If one lazy collection or single-valued proxy has to be fetched, Hibernate "
"loads all of them, re-running the original query in a subselect. This works "
"in the same way as batch-fetching, without the piecemeal loading."
msgstr ""
-"Si una colección perezosa o proxy monovaluado tiene que ser recuperado, "
-"Hibernate los carga a todos, volviendo a ejecutar la consulta original en "
-"una subselección. Esto funciona de la misma forma que la recuperación en "
-"lotes, sin carga fragmentaria."
+"Si una colección perezosa o proxy monovaluado tiene que ser "
+"recuperado, Hibernate los carga a todos, volviendo a ejecutar la consulta "
+"original en una subselección. Esto funciona de la misma forma que la
"
+"recuperación en lotes, sin carga fragmentaria."
-#. Tag: title
-#: performance.xml:524
-#, no-c-format
+#: index.docbook:524
msgid "Using lazy property fetching"
-msgstr "Usando recuperación perezosa de propiedades"
+msgstr "Usando recuperación perezosa de propiedades"
-#. Tag: para
-#: performance.xml:526
-#, no-c-format
+#: index.docbook:526
msgid ""
"Hibernate3 supports the lazy fetching of individual properties. This "
"optimization technique is also known as <emphasis>fetch
groups</emphasis>. "
@@ -1109,18 +1017,17 @@
"extreme cases, when legacy tables have hundreds of columns and the data "
"model can not be improved."
msgstr ""
-"Hibernate3 soporta la recuperación perezosa de propiedades individuales. "
-"Esta técnica de optimización es también conocida como <emphasis>grupos de
"
-"recuperación (fetch groups)</emphasis>. Por favor, nota que éste es "
-"mayormente un aspecto de marketing, ya que en la práctica, optimizar "
-"lecturas de filas es mucho más importante que la optimización de lectura de "
-"columnas. Sin embargo, cargar sólo algunas propiedades de una clase podría "
-"ser útil en casos extremos, cuando tablas heredadas tienen cientos de "
-"columnas y el modelo de datos no puede ser mejorado."
+"Hibernate3 soporta la recuperación perezosa de propiedades "
+"individuales. Esta técnica de optimización es
también "
+"conocida como <emphasis>grupos de recuperación (fetch
groups)</"
+"emphasis>. Por favor, nota que éste es mayormente un aspecto de
"
+"marketing, ya que en la práctica, optimizar lecturas de filas es "
+"mucho más importante que la optimización de lectura de
"
+"columnas. Sin embargo, cargar sólo algunas propiedades de una clase
"
+"podría ser útil en casos extremos, cuando tablas heredadas
"
+"tienen cientos de columnas y el modelo de datos no puede ser mejorado."
-#. Tag: para
-#: performance.xml:535
-#, no-c-format
+#: index.docbook:535
msgid ""
"To enable lazy property loading, set the <literal>lazy</literal>
attribute "
"on your particular property mappings:"
@@ -1128,9 +1035,7 @@
"Para habilitar la carga perezosa de propiedades, establece el atributo "
"<literal>lazy</literal> en tus mapeos de propiedades:"
-#. Tag: programlisting
-#: performance.xml:540
-#, no-c-format
+#: index.docbook:540
msgid ""
"<![CDATA[<class name=\"Document\">\n"
" <id name=\"id\">\n"
@@ -1143,29 +1048,35 @@
">\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Document\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"name\" not-null=\"true\"
length=\"50\"/>\n"
+" <property name=\"summary\" not-null=\"true\"
length=\"200\" lazy=\"true"
+"\"/>\n"
+" <property name=\"text\" not-null=\"true\"
length=\"2000\" lazy=\"true\"/"
+">\n"
+"</class>]]>"
-#. Tag: para
-#: performance.xml:542
-#, no-c-format
+#: index.docbook:542
msgid ""
"Lazy property loading requires buildtime bytecode instrumentation! If your "
"persistent classes are not enhanced, Hibernate will silently ignore lazy "
"property settings and fall back to immediate fetching."
msgstr ""
-"¡La carga perezosa de propiedades requiere la instrumentación del bytecode "
-"en tiempo de construcción! Si tus clases persistentes no son mejoradas, "
-"Hibernate ignorará silenciosamente la configuración perezosa de propiedades "
-"y caerá en recuperación inmediata."
+"¡La carga perezosa de propiedades requiere la instrumentación
"
+"del bytecode en tiempo de construcción! Si tus clases persistentes no
"
+"son mejoradas, Hibernate ignorará silenciosamente la "
+"configuración perezosa de propiedades y caerá en "
+"recuperación inmediata."
-#. Tag: para
-#: performance.xml:548
-#, no-c-format
+#: index.docbook:548
msgid "For bytecode instrumentation, use the following Ant task:"
-msgstr "Para la instrumentación del bytecode, usa la siguiente tarea Ant:"
+msgstr ""
+"Para la instrumentación del bytecode, usa la siguiente tarea Ant:"
-#. Tag: programlisting
-#: performance.xml:552
-#, no-c-format
+#: index.docbook:552
msgid ""
"<![CDATA[<target name=\"instrument\"
depends=\"compile\">\n"
" <taskdef name=\"instrument\"
classname=\"org.hibernate.tool.instrument."
@@ -1182,41 +1093,47 @@
" </instrument>\n"
"</target>]]>"
msgstr ""
+"<![CDATA[<target name=\"instrument\"
depends=\"compile\">\n"
+" <taskdef name=\"instrument\"
classname=\"org.hibernate.tool.instrument."
+"InstrumentTask\">\n"
+" <classpath path=\"${jar.path}\"/>\n"
+" <classpath path=\"${classes.dir}\"/>\n"
+" <classpath refid=\"lib.class.path\"/>\n"
+" </taskdef>\n"
+"\n"
+" <instrument verbose=\"true\">\n"
+" <fileset
dir=\"${testclasses.dir}/org/hibernate/auction/model\">\n"
+" <include name=\"*.class\"/>\n"
+" </fileset>\n"
+" </instrument>\n"
+"</target>]]>"
-#. Tag: para
-#: performance.xml:554
-#, no-c-format
+#: index.docbook:554
msgid ""
"A different (better?) way to avoid unnecessary column reads, at least for "
"read-only transactions is to use the projection features of HQL or Criteria "
"queries. This avoids the need for buildtime bytecode processing and is "
"certainly a prefered solution."
msgstr ""
-"Una forma diferente (¿mejor?) de evitar lecturas innecesarias de columnas, "
-"al menos para transacciones de sólo lectura es usar las funcionalidades de "
-"proyección de consultas HQL o Criteria. Esto evita la necesidad de procesar "
-"el bytecode en tiempo de construcción y ciertamente es una solución "
-"preferida."
+"Una forma diferente (¿mejor?) de evitar lecturas innecesarias de "
+"columnas, al menos para transacciones de sólo lectura es usar las
"
+"funcionalidades de proyección de consultas HQL o Criteria. Esto evita
"
+"la necesidad de procesar el bytecode en tiempo de construcción y "
+"ciertamente es una solución preferida."
-#. Tag: para
-#: performance.xml:561
-#, no-c-format
+#: index.docbook:561
msgid ""
"You may force the usual eager fetching of properties using <literal>fetch
"
"all properties</literal> in HQL."
msgstr ""
-"Puedes forzar la usual recuperación temprana de propiedades usando "
+"Puedes forzar la usual recuperación temprana de propiedades usando
"
"<literal>fetch all properties</literal> en HQL."
-#. Tag: title
-#: performance.xml:571
-#, no-c-format
+#: index.docbook:571
msgid "The Second Level Cache"
-msgstr "El Caché de Segundo Nivel"
+msgstr "El Caché de Segundo Nivel"
-#. Tag: para
-#: performance.xml:573
-#, no-c-format
+#: index.docbook:573
msgid ""
"A Hibernate <literal>Session</literal> is a transaction-level cache of
"
"persistent data. It is possible to configure a cluster or JVM-level "
@@ -1226,17 +1143,16 @@
"another application (though they may be configured to regularly expire "
"cached data)."
msgstr ""
-"Una <literal>Session</literal> de Hibernate es una caché de datos
"
-"persistentes a nivel de transacción. Es posible configurar un cluster o "
-"caché a nivel de JVM (a nivel de <literal>SessionFactory</literal>)
sobre "
-"una base de clase-a-clase o colección-a-colección. Puedes incluso enchufar "
-"una caché en cluster. Sé cuidadoso. Las cachés nunca están al tanto de los "
-"cambios hechos por otra aplicación al almacén persistente (aunque pueden ser
"
-"configurados para expirar regularmente los datos en caché)."
+"Una <literal>Session</literal> de Hibernate es una caché de
datos "
+"persistentes a nivel de transacción. Es posible configurar un cluster
"
+"o caché a nivel de JVM (a nivel de
<literal>SessionFactory</literal>) "
+"sobre una base de clase-a-clase o colección-a-colección.
"
+"Puedes incluso enchufar una caché en cluster. Sé cuidadoso.
"
+"Las cachés nunca están al tanto de los cambios hechos por
otra "
+"aplicación al almacén persistente (aunque pueden ser "
+"configurados para expirar regularmente los datos en caché)."
-#. Tag: para
-#: performance.xml:581
-#, no-c-format
+#: index.docbook:581
msgid ""
"You have the option to tell Hibernate which caching implementation to use by
"
"specifying the name of a class that implements
<literal>org.hibernate.cache."
@@ -1248,184 +1164,124 @@
"provider; that is no longer the case as of 3.2."
msgstr ""
"Por defecto, Hibernate usa EHCache para caching a nivel de JVM. (El soporte "
-"a JCS ahora está despreciado y será quitado en una futura versión de "
-"Hibernate.) Puedes elegir una implementación diferente estableciendo el "
-"nombre de una clase que implemente <literal>org.hibernate.cache."
-"CacheProvider</literal> usando la propiedad
<literal>hibernate.cache."
-"provider_class</literal>."
+"a JCS ahora está despreciado y será quitado en una futura
"
+"versión de Hibernate.) Puedes elegir una implementación
"
+"diferente estableciendo el nombre de una clase que implemente
<literal>org."
+"hibernate.cache.CacheProvider</literal> usando la propiedad "
+"<literal>hibernate.cache.provider_class</literal>."
-#. Tag: title
-#: performance.xml:592
-#, no-c-format
+#: index.docbook:592
msgid "Cache Providers"
-msgstr "Proveedores de Caché"
+msgstr "Proveedores de Caché"
-#. Tag: entry
-#: performance.xml:601 performance.xml:774
-#, no-c-format
+#: index.docbook:601, index.docbook:774
msgid "Cache"
-msgstr "Caché"
+msgstr "Caché"
-#. Tag: entry
-#: performance.xml:602
-#, no-c-format
+#: index.docbook:602
msgid "Provider class"
msgstr "clase del Provedor"
-#. Tag: entry
-#: performance.xml:603
-#, no-c-format
+#: index.docbook:603
msgid "Type"
msgstr "Tipo"
-#. Tag: entry
-#: performance.xml:604
-#, no-c-format
+#: index.docbook:604
msgid "Cluster Safe"
msgstr "Cluster Seguro"
-#. Tag: entry
-#: performance.xml:605
-#, no-c-format
+#: index.docbook:605
msgid "Query Cache Supported"
-msgstr "Caché de Consultas Soportado"
+msgstr "Caché de Consultas Soportado"
-#. Tag: entry
-#: performance.xml:610 performance.xml:783
-#, no-c-format
+#: index.docbook:610, index.docbook:783
msgid "Hashtable (not intended for production use)"
-msgstr "Hashtable (no pensado para uso en producción)"
+msgstr "Hashtable (no pensado para uso en producción)"
-#. Tag: literal
-#: performance.xml:611
-#, no-c-format
+#: index.docbook:611
msgid "org.hibernate.cache.HashtableCacheProvider"
msgstr "org.hibernate.cache.HashtableCacheProvider"
-#. Tag: entry
-#: performance.xml:612
-#, no-c-format
+#: index.docbook:612
msgid "memory"
msgstr "memoria"
-#. Tag: entry
-#: performance.xml:614 performance.xml:621 performance.xml:628
-#: performance.xml:784 performance.xml:785 performance.xml:786
-#: performance.xml:791 performance.xml:792 performance.xml:793
-#: performance.xml:798 performance.xml:799 performance.xml:800
-#: performance.xml:805 performance.xml:806 performance.xml:812
-#: performance.xml:815
-#, no-c-format
+#: index.docbook:614, index.docbook:621, index.docbook:628, index.docbook:784,
+#: index.docbook:785, index.docbook:786, index.docbook:791, index.docbook:792,
+#: index.docbook:793, index.docbook:798, index.docbook:799, index.docbook:800,
+#: index.docbook:805, index.docbook:806, index.docbook:812, index.docbook:815
msgid "<entry>yes</entry>"
-msgstr ""
+msgstr "sí"
-#. Tag: entry
-#: performance.xml:617 performance.xml:790
-#, no-c-format
+#: index.docbook:617, index.docbook:790
msgid "EHCache"
msgstr "EHCache"
-#. Tag: literal
-#: performance.xml:618
-#, no-c-format
+#: index.docbook:618
msgid "org.hibernate.cache.EhCacheProvider"
msgstr "org.hibernate.cache.EhCacheProvider"
-#. Tag: entry
-#: performance.xml:619 performance.xml:626
-#, no-c-format
+#: index.docbook:619, index.docbook:626
msgid "memory, disk"
msgstr "memoria, disco"
-#. Tag: entry
-#: performance.xml:624 performance.xml:797
-#, no-c-format
+#: index.docbook:624, index.docbook:797
msgid "OSCache"
msgstr "OSCache"
-#. Tag: literal
-#: performance.xml:625
-#, no-c-format
+#: index.docbook:625
msgid "org.hibernate.cache.OSCacheProvider"
msgstr "org.hibernate.cache.OSCacheProvider"
-#. Tag: entry
-#: performance.xml:631 performance.xml:804
-#, no-c-format
+#: index.docbook:631, index.docbook:804
msgid "SwarmCache"
msgstr "SwarmCache"
-#. Tag: literal
-#: performance.xml:632
-#, no-c-format
+#: index.docbook:632
msgid "org.hibernate.cache.SwarmCacheProvider"
msgstr "org.hibernate.cache.SwarmCacheProvider"
-#. Tag: entry
-#: performance.xml:633
-#, no-c-format
+#: index.docbook:633
msgid "clustered (ip multicast)"
msgstr "clusterizado (ip multicast)"
-#. Tag: entry
-#: performance.xml:634
-#, no-c-format
+#: index.docbook:634
msgid "yes (clustered invalidation)"
-msgstr "sí (invalidación en cluster)"
+msgstr "sí (invalidación en cluster)"
-#. Tag: entry
-#: performance.xml:638 performance.xml:811
-#, fuzzy, no-c-format
+#: index.docbook:638, index.docbook:811
msgid "JBoss TreeCache"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"TreeCache de JBoss\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"JBoss TreeCache"
+msgstr "TreeCache de JBoss"
-#. Tag: literal
-#: performance.xml:639
-#, no-c-format
+#: index.docbook:639
msgid "org.hibernate.cache.TreeCacheProvider"
msgstr "org.hibernate.cache.TreeCacheProvider"
-#. Tag: entry
-#: performance.xml:640
-#, no-c-format
+#: index.docbook:640
msgid "clustered (ip multicast), transactional"
msgstr "clusterizado (ip multicast), transaccional"
-#. Tag: entry
-#: performance.xml:641
-#, no-c-format
+#: index.docbook:641
msgid "yes (replication)"
-msgstr "sí (replicación)"
+msgstr "sí (replicación)"
-#. Tag: entry
-#: performance.xml:642
-#, no-c-format
+#: index.docbook:642
msgid "yes (clock sync req.)"
-msgstr "sí (requiere sincronización de reloj)"
+msgstr "sí (requiere sincronización de reloj)"
-#. Tag: title
-#: performance.xml:649
-#, no-c-format
+#: index.docbook:649
msgid "Cache mappings"
-msgstr "Mapeos de caché"
+msgstr "Mapeos de caché"
-#. Tag: para
-#: performance.xml:651
-#, no-c-format
+#: index.docbook:651
msgid ""
"The <literal><cache></literal> element of a class or
collection "
"mapping has the following form:"
msgstr ""
"El elemento <literal><cache></literal> de una mapeo de
clase o "
-"colección tiene la siguiente forma:"
+"colección tiene la siguiente forma:"
-#. Tag: programlisting
-#: performance.xml:662
-#, no-c-format
+#: index.docbook:662
msgid ""
"<![CDATA[<cache \n"
"
usage=\"transactional|read-write|nonstrict-read-write|read-only\"\n"
@@ -1433,10 +1289,11 @@
" include=\"all|non-lazy\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<cache \n"
+"
usage=\"transactional|read-write|nonstrict-read-write|read-only\"\n"
+"/>]]>"
-#. Tag: para
-#: performance.xml:665
-#, no-c-format
+#: index.docbook:665
msgid ""
"<literal>usage</literal> (required) specifies the caching strategy:
"
"<literal>transactional</literal>,
<literal>read-write</literal>, "
@@ -1446,9 +1303,7 @@
"<literal>transactional</literal>,
<literal>read-write</literal>, "
"<literal>nonstrict-read-write</literal> o
<literal>read-only</literal>"
-#. Tag: para
-#: performance.xml:674
-#, no-c-format
+#: index.docbook:674
msgid ""
"<literal>region</literal> (optional, defaults to the class or
collection "
"role name) specifies the name of the second level cache region"
@@ -1456,9 +1311,7 @@
"<literal>region</literal> (optional, defaults to the class or
collection "
"role name) specifies the name of the second level cache region"
-#. Tag: para
-#: performance.xml:681
-#, no-c-format
+#: index.docbook:681
msgid ""
"<literal>include</literal> (optional, defaults to
<literal>all</literal>) "
"<literal>non-lazy</literal> specifies that properties of the entity
mapped "
@@ -1470,67 +1323,57 @@
"with <literal>lazy=\"true\"</literal> may not be cached when
attribute-level "
"lazy fetching is enabled"
-#. Tag: para
-#: performance.xml:691
-#, no-c-format
+#: index.docbook:691
msgid ""
"Alternatively (preferrably?), you may specify
<literal><class-cache></"
"literal> and <literal><collection-cache></literal>
elements in "
"<literal>hibernate.cfg.xml</literal>."
msgstr ""
-"Alternativamente (¿preferiblemente?), puedes especificar los elementos "
-"<literal><class-cache></literal> y
<literal><collection-cache></"
-"literal> en <literal>hibernate.cfg.xml</literal>."
+"Alternativamente (¿preferiblemente?), puedes especificar los "
+"elementos <literal><class-cache></literal> y
<literal><collection-"
+"cache></literal> en
<literal>hibernate.cfg.xml</literal>."
-#. Tag: para
-#: performance.xml:696
-#, no-c-format
+#: index.docbook:696
msgid ""
"The <literal>usage</literal> attribute specifies a
<emphasis>cache "
"concurrency strategy</emphasis>."
msgstr ""
"El atributo <literal>usage</literal> especifica una
<emphasis>estrategia de "
-"concurrencia al caché</emphasis>."
+"concurrencia al caché</emphasis>."
-#. Tag: title
-#: performance.xml:703
-#, no-c-format
+#: index.docbook:703
msgid "Strategy: read only"
-msgstr "Estrategia: sólo lectura (read only)"
+msgstr "Estrategia: sólo lectura (read only)"
-#. Tag: para
-#: performance.xml:705
-#, no-c-format
+#: index.docbook:705
msgid ""
"If your application needs to read but never modify instances of a persistent
"
"class, a <literal>read-only</literal> cache may be used. This is the
"
"simplest and best performing strategy. It's even perfectly safe for use in a
"
"cluster."
msgstr ""
-"Si tu aplicación necesita leer pero nunca modificar las instancias de una "
-"clase persistente, puede usarse un caché <literal>read-only</literal>.
Esta "
-"es la mejor y más simple estrategia. Es incluso perfectamente segura de usar
"
-"en un cluster."
+"Si tu aplicación necesita leer pero nunca modificar las instancias de
"
+"una clase persistente, puede usarse un caché
<literal>read-only</"
+"literal>. Esta es la mejor y más simple estrategia. Es incluso
"
+"perfectamente segura de usar en un cluster."
-#. Tag: programlisting
-#: performance.xml:711
-#, no-c-format
+#: index.docbook:711
msgid ""
"<![CDATA[<class name=\"eg.Immutable\"
mutable=\"false\">\n"
" <cache usage=\"read-only\"/>\n"
" ....\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"eg.Immutable\"
mutable=\"false\">\n"
+" <cache usage=\"read-only\"/>\n"
+" ....\n"
+"</class>]]>"
-#. Tag: title
-#: performance.xml:717
-#, no-c-format
+#: index.docbook:717
msgid "Strategy: read/write"
msgstr "Estrategia: lectura/escritura (read/write)"
-#. Tag: para
-#: performance.xml:719
-#, no-c-format
+#: index.docbook:719
msgid ""
"If the application needs to update data, a
<literal>read-write</literal> "
"cache might be appropriate. This cache strategy should never be used if "
@@ -1544,22 +1387,21 @@
"cache implementation supports locking. The built-in cache providers do "
"<emphasis>not</emphasis>."
msgstr ""
-"Si la aplicación necesita actualizar datos, un caché
<literal>read-write</"
-"literal> podría ser apropiado. Esta estrategia de caché nunca debe ser usada
"
-"si se requiere nivel de aislamiento serializable de transacciones. Si el "
-"caché es usado en un entorno JTA, debes especificar la propiedad "
-"<literal>hibernate.transaction.manager_lookup_class</literal>,
mencionando "
-"una estrategia para obtener el <literal>TransactionManager</literal> de
JTA. "
-"En otros entornos, debes asegurarte que la transacción esté completada "
-"cuando se llame a <literal>Session.close()</literal> o
<literal>Session."
-"disconnect()</literal>. Si deseas usar esta estrategia en un cluster, debes
"
-"asegurarte que la implementación de caché subyacente soporta bloqueos. Los "
-"provedores de caché internos predeterminados <emphasis>no</emphasis> no
lo "
-"soportan."
+"Si la aplicación necesita actualizar datos, un caché "
+"<literal>read-write</literal> podría ser apropiado. Esta
estrategia "
+"de caché nunca debe ser usada si se requiere nivel de aislamiento
"
+"serializable de transacciones. Si el caché es usado en un entorno
"
+"JTA, debes especificar la propiedad <literal>hibernate.transaction."
+"manager_lookup_class</literal>, mencionando una estrategia para obtener el
"
+"<literal>TransactionManager</literal> de JTA. En otros entornos, debes
"
+"asegurarte que la transacción esté completada cuando se llame
"
+"a <literal>Session.close()</literal> o
<literal>Session.disconnect()</"
+"literal>. Si deseas usar esta estrategia en un cluster, debes asegurarte que
"
+"la implementación de caché subyacente soporta bloqueos. Los
"
+"provedores de caché internos predeterminados
<emphasis>no</emphasis> "
+"no lo soportan."
-#. Tag: programlisting
-#: performance.xml:730
-#, no-c-format
+#: index.docbook:730
msgid ""
"<![CDATA[<class name=\"eg.Cat\" .... >\n"
" <cache usage=\"read-write\"/>\n"
@@ -1570,16 +1412,20 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"eg.Cat\" .... >\n"
+" <cache usage=\"read-write\"/>\n"
+" ....\n"
+" <set name=\"kittens\" ... >\n"
+" <cache usage=\"read-write\"/>\n"
+" ....\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: title
-#: performance.xml:735
-#, no-c-format
+#: index.docbook:735
msgid "Strategy: nonstrict read/write"
msgstr "Estrategia: lectura/escritura no estricta (nonstrict read/write)"
-#. Tag: para
-#: performance.xml:737
-#, no-c-format
+#: index.docbook:737
msgid ""
"If the application only occasionally needs to update data (ie. if it is "
"extremely unlikely that two transactions would try to update the same item "
@@ -1590,87 +1436,68 @@
"should ensure that the transaction is completed when
<literal>Session.close()"
"</literal> or <literal>Session.disconnect()</literal> is
called."
msgstr ""
-"Si la aplicación necesita sólo ocasionalmente actualizar datos (es decir, es
"
-"extremadamente inprobable que dos transacciones intenten actualizar el mismo
"
-"ítem simultáneamente) y no se requiere de un aislamiento de transacciones "
-"estricto, un caché <literal>nonstrict-read-write</literal> podría ser
"
-"apropiado. Si se usa el caché en un entorno JTA, debes especificar "
-"<literal>hibernate.transaction.manager_lookup_class</literal>. En otros
"
-"entornos, debes asegurarte que la transacción se haya completado cuando se "
-"llame a <literal>Session.close()</literal> o
<literal>Session.disconnect()</"
-"literal>."
+"Si la aplicación necesita sólo ocasionalmente actualizar
datos "
+"(es decir, es extremadamente inprobable que dos transacciones intenten "
+"actualizar el mismo ítem simultáneamente) y no se requiere de
"
+"un aislamiento de transacciones estricto, un caché
<literal>nonstrict-"
+"read-write</literal> podría ser apropiado. Si se usa el
caché "
+"en un entorno JTA, debes especificar <literal>hibernate.transaction."
+"manager_lookup_class</literal>. En otros entornos, debes asegurarte que la
"
+"transacción se haya completado cuando se llame a
<literal>Session."
+"close()</literal> o
<literal>Session.disconnect()</literal>."
-#. Tag: title
-#: performance.xml:749
-#, no-c-format
+#: index.docbook:749
msgid "Strategy: transactional"
msgstr "Estrategia: transaccional"
-#. Tag: para
-#: performance.xml:751
-#, no-c-format
+#: index.docbook:751
msgid ""
"The <literal>transactional</literal> cache strategy provides support
for "
"fully transactional cache providers such as JBoss TreeCache. Such a cache "
"may only be used in a JTA environment and you must specify "
"<literal>hibernate.transaction.manager_lookup_class</literal>."
msgstr ""
-"La estrategia de caché <literal>transactional</literal> brinda soporte
a "
-"provedores de cachés completamente transaccionales como TreeCache de JBoss. "
-"Un caché así, puede sólo ser usado en un entorno JTA y debes especificar "
-"<literal>hibernate.transaction.manager_lookup_class</literal>."
+"La estrategia de caché <literal>transactional</literal>
brinda "
+"soporte a provedores de cachés completamente transaccionales como
"
+"TreeCache de JBoss. Un caché así, puede sólo ser
usado "
+"en un entorno JTA y debes especificar <literal>hibernate.transaction."
+"manager_lookup_class</literal>."
-#. Tag: para
-#: performance.xml:759
-#, no-c-format
+#: index.docbook:759
msgid ""
"None of the cache providers support all of the cache concurrency strategies.
"
"The following table shows which providers are compatible with which "
"concurrency strategies."
msgstr ""
-"Ninguno de los provedores de caché soporta todas las estrategias de "
-"concurrencia al caché. La siguiente tabla muestra qué provedores son "
-"compatibles con qué estrategias de concurrencia."
+"Ninguno de los provedores de caché soporta todas las estrategias de
"
+"concurrencia al caché. La siguiente tabla muestra qué "
+"provedores son compatibles con qué estrategias de concurrencia."
-#. Tag: title
-#: performance.xml:765
-#, no-c-format
+#: index.docbook:765
msgid "Cache Concurrency Strategy Support"
-msgstr "Soporte a Estrategia de Concurrencia a Caché"
+msgstr "Soporte a Estrategia de Concurrencia a Caché"
-#. Tag: entry
-#: performance.xml:775
-#, no-c-format
+#: index.docbook:775
msgid "read-only"
msgstr "read-only"
-#. Tag: entry
-#: performance.xml:776
-#, no-c-format
+#: index.docbook:776
msgid "nonstrict-read-write"
msgstr "nonstrict-read-write"
-#. Tag: entry
-#: performance.xml:777
-#, no-c-format
+#: index.docbook:777
msgid "read-write"
msgstr "read-write"
-#. Tag: entry
-#: performance.xml:778
-#, no-c-format
+#: index.docbook:778
msgid "transactional"
msgstr "transactional"
-#. Tag: title
-#: performance.xml:824
-#, no-c-format
+#: index.docbook:824
msgid "Managing the caches"
-msgstr "Gestionando los cachés"
+msgstr "Gestionando los cachés"
-#. Tag: para
-#: performance.xml:826
-#, no-c-format
+#: index.docbook:826
msgid ""
"Whenever you pass an object to <literal>save()</literal>,
<literal>update()</"
"literal> or <literal>saveOrUpdate()</literal> and whenever you
retrieve an "
@@ -1683,12 +1510,10 @@
"literal> o <literal>saveOrUpdate()</literal> y siempre que recuperes
un "
"objeto usando <literal>load()</literal>,
<literal>get()</literal>, "
"<literal>list()</literal>, <literal>iterate()</literal> o
<literal>scroll()</"
-"literal>, ese objeto es agregado al caché interno de la
<literal>Session</"
-"literal>."
+"literal>, ese objeto es agregado al caché interno de la "
+"<literal>Session</literal>."
-#. Tag: para
-#: performance.xml:833
-#, no-c-format
+#: index.docbook:833
msgid ""
"When <literal>flush()</literal> is subsequently called, the state of
that "
"object will be synchronized with the database. If you do not want this "
@@ -1698,15 +1523,13 @@
"cache."
msgstr ""
"Cuando subsecuentemente se llame a <literal>flush()</literal>, el
estado de "
-"ese objeto será sincronizado con la base de datos. Si no quieres que ocurra "
-"esta sincronización o si estás procesando un número enorme de objetos y "
-"necesitas gestionar la memoria eficientemente, puede usarse el método "
-"<literal>evict()</literal> para quitar el objeto y sus colecciones del
caché "
-"de primer nivel."
+"ese objeto será sincronizado con la base de datos. Si no quieres que
"
+"ocurra esta sincronización o si estás procesando un
nú"
+"mero enorme de objetos y necesitas gestionar la memoria eficientemente, "
+"puede usarse el método <literal>evict()</literal> para
quitar el "
+"objeto y sus colecciones del caché de primer nivel."
-#. Tag: programlisting
-#: performance.xml:841
-#, no-c-format
+#: index.docbook:841
msgid ""
"<![CDATA[ScrollableResult cats = sess.createQuery(\"from Cat as
cat\").scroll"
"(); //a huge result set\n"
@@ -1716,42 +1539,43 @@
" sess.evict(cat);\n"
"}]]>"
msgstr ""
+"<![CDATA[ScrollableResult cats = sess.createQuery(\"from Cat as
cat\").scroll"
+"(); //a huge result set\n"
+"while ( cats.next() ) {\n"
+" Cat cat = (Cat) cats.get(0);\n"
+" doSomethingWithACat(cat);\n"
+" sess.evict(cat);\n"
+"}]]>"
-#. Tag: para
-#: performance.xml:843
-#, no-c-format
+#: index.docbook:843
msgid ""
"The <literal>Session</literal> also provides a
<literal>contains()</literal> "
"method to determine if an instance belongs to the session cache."
msgstr ""
-"La <literal>Session</literal> también provee un método
<literal>contains()</"
-"literal> para determinar si una instancia pertenece al caché de la
sesión."
+"La <literal>Session</literal> también provee un
método "
+"<literal>contains()</literal> para determinar si una instancia
pertenece al "
+"caché de la sesión."
-#. Tag: para
-#: performance.xml:848
-#, no-c-format
+#: index.docbook:848
msgid ""
"To completely evict all objects from the session cache, call "
"<literal>Session.clear()</literal>"
msgstr ""
-"Para desahuciar (evict) todos los objetos del caché de sesión, llama a "
-"<literal>Session.clear()</literal>."
+"Para desahuciar (evict) todos los objetos del caché de
sesión, "
+"llama a <literal>Session.clear()</literal>."
-#. Tag: para
-#: performance.xml:852
-#, no-c-format
+#: index.docbook:852
msgid ""
"For the second-level cache, there are methods defined on "
"<literal>SessionFactory</literal> for evicting the cached state of an
"
"instance, entire class, collection instance or entire collection role."
msgstr ""
-"Para el caché de segundo nivel, hay métodos definidos en "
-"<literal>SessionFactory</literal> para desahuciar el estado en caché de
una "
-"instancia, clase entera, instancia de colección o rol enter de colección."
+"Para el caché de segundo nivel, hay métodos definidos en
"
+"<literal>SessionFactory</literal> para desahuciar el estado en
caché "
+"de una instancia, clase entera, instancia de colección o rol enter de
"
+"colección."
-#. Tag: programlisting
-#: performance.xml:858
-#, no-c-format
+#: index.docbook:858
msgid ""
"<![CDATA[sessionFactory.evict(Cat.class, catId); //evict a particular
Cat\n"
"sessionFactory.evict(Cat.class); //evict all Cats\n"
@@ -1760,126 +1584,114 @@
"sessionFactory.evictCollection(\"Cat.kittens\"); //evict all kitten
"
"collections]]>"
msgstr ""
+"<![CDATA[sessionFactory.evict(Cat.class, catId); //evict a particular
Cat\n"
+"sessionFactory.evict(Cat.class); //evict all Cats\n"
+"sessionFactory.evictCollection(\"Cat.kittens\", catId); //evict a
particular "
+"collection of kittens\n"
+"sessionFactory.evictCollection(\"Cat.kittens\"); //evict all kitten
"
+"collections]]>"
-#. Tag: para
-#: performance.xml:860
-#, no-c-format
+#: index.docbook:860
msgid ""
"The <literal>CacheMode</literal> controls how a particular session
interacts "
"with the second-level cache."
msgstr ""
-"El <literal>CacheMode</literal> controla cómo una sesión en particular
"
-"interactúa con el caché de segundo nivel."
+"El <literal>CacheMode</literal> controla cómo una
sesión en "
+"particular interactúa con el caché de segundo nivel."
-#. Tag: para
-#: performance.xml:867
-#, no-c-format
+#: index.docbook:867
msgid ""
"<literal>CacheMode.NORMAL</literal> - read items from and write items
to the "
"second-level cache"
msgstr ""
-"<literal>CacheMode.NORMAL</literal> - lee ítems desde y escribe ítems
hacia "
-"el caché de segundo nivel"
+"<literal>CacheMode.NORMAL</literal> - lee ítems desde y
escribe "
+"ítems hacia el caché de segundo nivel"
-#. Tag: para
-#: performance.xml:872
-#, no-c-format
+#: index.docbook:872
msgid ""
"<literal>CacheMode.GET</literal> - read items from the second-level
cache, "
"but don't write to the second-level cache except when updating data"
msgstr ""
-"<literal>CacheMode.GET</literal> - lee ítems del caché de segundo
nivel, "
-"pero no escribe al caché de segundo nivel excepto al actualizar datos"
+"<literal>CacheMode.GET</literal> - lee ítems del
caché de "
+"segundo nivel, pero no escribe al caché de segundo nivel excepto al
"
+"actualizar datos"
-#. Tag: para
-#: performance.xml:878
-#, no-c-format
+#: index.docbook:878
msgid ""
"<literal>CacheMode.PUT</literal> - write items to the second-level
cache, "
"but don't read from the second-level cache"
msgstr ""
-"<literal>CacheMode.PUT</literal> - escribe ítems al caché de segundo
nivel, "
-"pero no lee del caché de segundo nivel"
+"<literal>CacheMode.PUT</literal> - escribe ítems al
caché de "
+"segundo nivel, pero no lee del caché de segundo nivel"
-#. Tag: para
-#: performance.xml:884
-#, no-c-format
+#: index.docbook:884
msgid ""
"<literal>CacheMode.REFRESH</literal> - write items to the second-level
"
"cache, but don't read from the second-level cache, bypass the effect of "
"<literal>hibernate.cache.use_minimal_puts</literal>, forcing a refresh
of "
"the second-level cache for all items read from the database"
msgstr ""
-"<literal>CacheMode.REFRESH</literal> - escribe ítems al caché de
segundo "
-"nivel, pero no lee del caché de segundo nivel, saltándose el efecto de "
-"<literal>hibernate.cache.use_minimal_puts</literal>, forzando un
refresco "
-"del caché de segundo nivel para todos los ítems leídos de la base de datos"
+"<literal>CacheMode.REFRESH</literal> - escribe ítems al
caché "
+"de segundo nivel, pero no lee del caché de segundo nivel,
saltá"
+"ndose el efecto de <literal>hibernate.cache.use_minimal_puts</literal>,
"
+"forzando un refresco del caché de segundo nivel para todos los "
+"ítems leídos de la base de datos"
-#. Tag: para
-#: performance.xml:892
-#, no-c-format
+#: index.docbook:892
msgid ""
"To browse the contents of a second-level or query cache region, use the "
"<literal>Statistics</literal> API:"
msgstr ""
-"Para navegar por los contenidos de una región de caché de segundo nivel o de
"
-"consultas, usa la API de <literal>Statistics</literal>:"
+"Para navegar por los contenidos de una región de caché de
"
+"segundo nivel o de consultas, usa la API de
<literal>Statistics</literal>:"
-#. Tag: programlisting
-#: performance.xml:897
-#, no-c-format
+#: index.docbook:897
msgid ""
"<![CDATA[Map cacheEntries = sessionFactory.getStatistics()\n"
" .getSecondLevelCacheStatistics(regionName)\n"
" .getEntries();]]>"
msgstr ""
+"<![CDATA[Map cacheEntries = sessionFactory.getStatistics()\n"
+" .getSecondLevelCacheStatistics(regionName)\n"
+" .getEntries();]]>"
-#. Tag: para
-#: performance.xml:899
-#, no-c-format
+#: index.docbook:899
msgid ""
"You'll need to enable statistics, and, optionally, force Hibernate to keep
"
"the cache entries in a more human-understandable format:"
msgstr ""
-"Necesitarás habilitar las estadísticas y, opcionalmente, forzar a Hibernate "
-"para que guarde las entradas del caché en un formato más entendible por "
-"humanos:"
+"Necesitarás habilitar las estadísticas y, opcionalmente,
"
+"forzar a Hibernate para que guarde las entradas del caché en un "
+"formato más entendible por humanos:"
-#. Tag: programlisting
-#: performance.xml:904
-#, no-c-format
+#: index.docbook:904
msgid ""
"<![CDATA[hibernate.generate_statistics true\n"
"hibernate.cache.use_structured_entries true]]>"
msgstr ""
+"<![CDATA[hibernate.generate_statistics true\n"
+"hibernate.cache.use_structured_entries true]]>"
-#. Tag: title
-#: performance.xml:909
-#, no-c-format
+#: index.docbook:909
msgid "The Query Cache"
-msgstr "El Caché de Consultas"
+msgstr "El Caché de Consultas"
-#. Tag: para
-#: performance.xml:911
-#, no-c-format
+#: index.docbook:911
msgid ""
"Query result sets may also be cached. This is only useful for queries that "
"are run frequently with the same parameters. To use the query cache you must
"
"first enable it:"
msgstr ""
-"Los conjuntos resultado de consultas también pueden tratarse en caché. Esto "
-"sólo es útil para consultas que se ejecutan frecuentemente con los mismos "
-"parámetros. Para usar el caché de consultas primero debes habilitarlo:"
+"Los conjuntos resultado de consultas también pueden tratarse en "
+"caché. Esto sólo es útil para consultas que se
ejecutan "
+"frecuentemente con los mismos parámetros. Para usar el caché
"
+"de consultas primero debes habilitarlo:"
-#. Tag: programlisting
-#: performance.xml:916
-#, no-c-format
+#: index.docbook:916
msgid "<![CDATA[hibernate.cache.use_query_cache true]]>"
-msgstr ""
+msgstr "<![CDATA[hibernate.cache.use_query_cache true]]>"
-#. Tag: para
-#: performance.xml:918
-#, no-c-format
+#: index.docbook:918
msgid ""
"This setting causes the creation of two new cache regions - one holding "
"cached query result sets
(<literal>org.hibernate.cache.StandardQueryCache</"
@@ -1890,47 +1702,43 @@
"value type. So the query cache should always be used in conjunction with the
"
"second-level cache."
msgstr ""
-"Esta configuración causa la creación de dos nuevas regiones de caché - una "
-"teniendo en caché conjuntos resultado de consulta
(<literal>org.hibernate."
-"cache.StandardQueryCache</literal>), el otro teniendo timestamps de las
"
-"actualizaciones más recientes a tablas consultables
(<literal>org.hibernate."
-"cache.UpdateTimestampsCache</literal>). Nota que el caché de consultas no
"
-"pone en caché el estado de las entidades reales en el conjunto resultado; "
-"sólo tiene en caché valores indentificadores y resultados de tipo de valor. "
-"De modo que el caché de consultas siempre debe ser usado en conjunción con "
-"el caché de segundo nivel."
+"Esta configuración causa la creación de dos nuevas regiones
de "
+"caché - una teniendo en caché conjuntos resultado de consulta
"
+"(<literal>org.hibernate.cache.StandardQueryCache</literal>), el otro
"
+"teniendo timestamps de las actualizaciones más recientes a tablas
"
+"consultables
(<literal>org.hibernate.cache.UpdateTimestampsCache</literal>). "
+"Nota que el caché de consultas no pone en caché el estado de
"
+"las entidades reales en el conjunto resultado; sólo tiene en "
+"caché valores indentificadores y resultados de tipo de valor. De modo
"
+"que el caché de consultas siempre debe ser usado en
conjunción "
+"con el caché de segundo nivel."
-#. Tag: para
-#: performance.xml:928
-#, no-c-format
+#: index.docbook:928
msgid ""
"Most queries do not benefit from caching, so by default queries are not "
"cached. To enable caching, call
<literal>Query.setCacheable(true)</literal>. "
"This call allows the query to look for existing cache results or add its "
"results to the cache when it is executed."
msgstr ""
-"La mayoría de consultas no se benefician del tratamiento en caché, de modo "
-"que por defecto las consultas no son tratadas en caché. Para habilitar el "
-"tratamiento en caché, llama a
<literal>Query.setCacheable(true)</literal>. "
-"Esta llamada permite a la consulta buscar resultados existentes en caché o "
-"agregar sus resultados al caché cuando se ejecuta."
+"La mayoría de consultas no se benefician del tratamiento en "
+"caché, de modo que por defecto las consultas no son tratadas en "
+"caché. Para habilitar el tratamiento en caché, llama a
"
+"<literal>Query.setCacheable(true)</literal>. Esta llamada permite a la
"
+"consulta buscar resultados existentes en caché o agregar sus "
+"resultados al caché cuando se ejecuta."
-#. Tag: para
-#: performance.xml:935
-#, no-c-format
+#: index.docbook:935
msgid ""
"If you require fine-grained control over query cache expiration policies, "
"you may specify a named cache region for a particular query by calling "
"<literal>Query.setCacheRegion()</literal>."
msgstr ""
-"Si requieres un control finamente granularizado sobre las políticas de "
-"expiración del caché de consultas, puedes especificar una región de caché "
-"con nombre para una consulta en particular llamando a <literal>Query."
-"setCacheRegion()</literal>."
+"Si requieres un control finamente granularizado sobre las políticas
"
+"de expiración del caché de consultas, puedes especificar una
"
+"región de caché con nombre para una consulta en particular
"
+"llamando a <literal>Query.setCacheRegion()</literal>."
-#. Tag: programlisting
-#: performance.xml:941
-#, no-c-format
+#: index.docbook:941
msgid ""
"<![CDATA[List blogs = sess.createQuery(\"from Blog blog where blog.blogger
"
"= :blogger\")\n"
@@ -1940,10 +1748,15 @@
" .setCacheRegion(\"frontpages\")\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List blogs = sess.createQuery(\"from Blog blog where blog.blogger
"
+"= :blogger\")\n"
+" .setEntity(\"blogger\", blogger)\n"
+" .setMaxResults(15)\n"
+" .setCacheable(true)\n"
+" .setCacheRegion(\"frontpages\")\n"
+" .list();]]>"
-#. Tag: para
-#: performance.xml:943
-#, no-c-format
+#: index.docbook:943
msgid ""
"If the query should force a refresh of its query cache region, you should "
"call <literal>Query.setCacheMode(CacheMode.REFRESH)</literal>. This is
"
@@ -1953,66 +1766,51 @@
"more efficient alternative to eviction of a query cache region via "
"<literal>SessionFactory.evictQueries()</literal>."
msgstr ""
-"Si la consulta debe forzar un refresco de si región del caché de consultas, "
-"debes llamar a
<literal>Query.setCacheMode(CacheMode.REFRESH)</literal>. "
-"Esto es particularmente útil en casos donde los datos subyacentes pueden "
-"haber sido actualizados por medio de un proceso separado (es decir, no "
-"modificados a través de Hibernate) y permite a la aplicación refrescar "
-"selectivamente conjuntos resultado de consultas en particular. Esto es una "
-"alternativa más eficient al desahuciamiento de una región del caché de "
-"consultas vía <literal>SessionFactory.evictQueries()</literal>."
+"Si la consulta debe forzar un refresco de si región del caché
"
+"de consultas, debes llamar a
<literal>Query.setCacheMode(CacheMode.REFRESH)</"
+"literal>. Esto es particularmente útil en casos donde los datos
"
+"subyacentes pueden haber sido actualizados por medio de un proceso separado "
+"(es decir, no modificados a través de Hibernate) y permite a la "
+"aplicación refrescar selectivamente conjuntos resultado de consultas
"
+"en particular. Esto es una alternativa más eficient al "
+"desahuciamiento de una región del caché de consultas
ví"
+"a <literal>SessionFactory.evictQueries()</literal>."
-#. Tag: title
-#: performance.xml:955
-#, no-c-format
+#: index.docbook:955
msgid "Understanding Collection performance"
msgstr "Entendiendo el rendimiento de Colecciones"
-#. Tag: para
-#: performance.xml:957
-#, no-c-format
+#: index.docbook:957
msgid ""
"We've already spent quite some time talking about collections. In this "
"section we will highlight a couple more issues about how collections behave "
"at runtime."
msgstr ""
-"Ya hemos llevado un buen tiempo hablando sobre colecciones. En esta sección "
-"resaltaremos un par de temas más sobre cómo las colecciones se comportan en "
-"tiempo de ejecución."
+"Ya hemos llevado un buen tiempo hablando sobre colecciones. En esta "
+"sección resaltaremos un par de temas más sobre
cómo las "
+"colecciones se comportan en tiempo de ejecución."
-#. Tag: title
-#: performance.xml:964
-#, no-c-format
+#: index.docbook:964
msgid "Taxonomy"
msgstr "Taxonomia"
-#. Tag: para
-#: performance.xml:966
-#, no-c-format
+#: index.docbook:966
msgid "Hibernate defines three basic kinds of collections:"
-msgstr "Hibernate define tres tipos básicos de colecciones:"
+msgstr "Hibernate define tres tipos básicos de colecciones:"
-#. Tag: para
-#: performance.xml:970
-#, no-c-format
+#: index.docbook:970
msgid "collections of values"
msgstr "colecciones de valores"
-#. Tag: para
-#: performance.xml:973
-#, no-c-format
+#: index.docbook:973
msgid "one to many associations"
msgstr "asociaciones uno a muchos"
-#. Tag: para
-#: performance.xml:976
-#, no-c-format
+#: index.docbook:976
msgid "many to many associations"
msgstr "asociaciones muchos a muchos"
-#. Tag: para
-#: performance.xml:980
-#, no-c-format
+#: index.docbook:980
msgid ""
"This classification distinguishes the various table and foreign key "
"relationships but does not tell us quite everything we need to know about "
@@ -2021,34 +1819,27 @@
"primary key that is used by Hibernate to update or delete collection rows. "
"This suggests the following classification:"
msgstr ""
-"Esta clasificación distingue las varias tablas y relaciones de clave foránea
"
-"pero no nos dice absolutamente todo lo que necesitamos saber sobre el modelo
"
-"relacional. Para entender completamente la estructura relacional y las "
-"características de rendimiento, debemos considerar la estructura de la clave
"
-"primaria que es usada por Hibernate para actualizar o borrar filas de "
-"colección. Esto sugiere la siguiente clasificación:"
+"Esta clasificación distingue las varias tablas y relaciones de clave
"
+"foránea pero no nos dice absolutamente todo lo que necesitamos saber
"
+"sobre el modelo relacional. Para entender completamente la estructura "
+"relacional y las características de rendimiento, debemos considerar
"
+"la estructura de la clave primaria que es usada por Hibernate para "
+"actualizar o borrar filas de colección. Esto sugiere la siguiente
"
+"clasificación:"
-#. Tag: para
-#: performance.xml:991
-#, no-c-format
+#: index.docbook:991
msgid "indexed collections"
msgstr "colecciones indexadas"
-#. Tag: para
-#: performance.xml:994
-#, no-c-format
+#: index.docbook:994
msgid "sets"
msgstr "conjuntos (sets)"
-#. Tag: para
-#: performance.xml:997
-#, no-c-format
+#: index.docbook:997
msgid "bags"
msgstr "bolsas (bags)"
-#. Tag: para
-#: performance.xml:1001
-#, no-c-format
+#: index.docbook:1001
msgid ""
"All indexed collections (maps, lists, arrays) have a primary key consisting "
"of the <literal><key></literal> and
<literal><index></literal> "
@@ -2060,12 +1851,10 @@
"primaria consistente de las columnas
<literal><key></literal> y "
"<literal><index></literal>. En este caso las
actualizaciones de "
"colecciones son usualmente extremadamente eficientes. La clave primaria "
-"puede ser indexada fácilmente y una fila en particular puede ser localizada "
-"cuando Hibernate intenta actualizarla o borrarla."
+"puede ser indexada fácilmente y una fila en particular puede ser "
+"localizada cuando Hibernate intenta actualizarla o borrarla."
-#. Tag: para
-#: performance.xml:1009
-#, no-c-format
+#: index.docbook:1009
msgid ""
"Sets have a primary key consisting of
<literal><key></literal> and "
"element columns. This may be less efficient for some types of collection "
@@ -2079,18 +1868,17 @@
msgstr ""
"Los conjuntos (sets) tienen una clave primaria consistente en
<literal><"
"key></literal> y columnas de elemento. Esto puede ser menos eficiente
"
-"para algunos tipos de elemento de colección, particularmente elementos "
-"compuestos o texto largo, o campos binarios. La base de datos puede no ser "
-"capaz de indexar una clave primaria compleja eficientemente. Por otra parte,
"
-"para asociaciones uno a muchos o muchos a muchos, particularmente en el caso
"
-"de identificadores sintéticos, es probable que sólo sea tan eficiente. (Nota
"
-"al márgen: si quieres que <literal>SchemaExport</literal> realmente
cree la "
-"clave primaria de un <literal><set></literal> por ti,
debes declarar "
-"todas las columnas como
<literal>not-null=\"true\"</literal>.)"
+"para algunos tipos de elemento de colección, particularmente "
+"elementos compuestos o texto largo, o campos binarios. La base de datos "
+"puede no ser capaz de indexar una clave primaria compleja eficientemente. "
+"Por otra parte, para asociaciones uno a muchos o muchos a muchos, "
+"particularmente en el caso de identificadores sintéticos, es probable
"
+"que sólo sea tan eficiente. (Nota al márgen: si quieres que
"
+"<literal>SchemaExport</literal> realmente cree la clave primaria de un
"
+"<literal><set></literal> por ti, debes declarar todas las
columnas "
+"como <literal>not-null=\"true\"</literal>.)"
-#. Tag: para
-#: performance.xml:1020
-#, no-c-format
+#: index.docbook:1020
msgid ""
"<literal><idbag></literal> mappings define a surrogate
key, so they "
"are always very efficient to update. In fact, they are the best case."
@@ -2099,9 +1887,7 @@
"de modo que siempre resulten eficientes de actualizar. De hecho, son el "
"mejor caso."
-#. Tag: para
-#: performance.xml:1025
-#, no-c-format
+#: index.docbook:1025
msgid ""
"Bags are the worst case. Since a bag permits duplicate element values and "
"has no index column, no primary key may be defined. Hibernate has no way of "
@@ -2110,50 +1896,44 @@
"the collection whenever it changes. This might be very inefficient."
msgstr ""
"Los bags son el peor caso. Ya que un bag permite valores de elementos "
-"duplicados y no tiene ninguna columna índice, no puede definirse ninguna "
-"clave primaria. Hibernate no tiene forma de distinguir entre filas "
+"duplicados y no tiene ninguna columna índice, no puede definirse "
+"ninguna clave primaria. Hibernate no tiene forma de distinguir entre filas "
"duplicadas. Hibernate resuelve este problema quitando completamente (en un "
-"solo <literal>DELETE</literal>) y recreando la colección siempre que
cambia. "
-"Esto podría ser muy ineficiente."
+"solo <literal>DELETE</literal>) y recreando la colección
siempre que "
+"cambia. Esto podría ser muy ineficiente."
-#. Tag: para
-#: performance.xml:1033
-#, no-c-format
+#: index.docbook:1033
msgid ""
"Note that for a one-to-many association, the \"primary key\" may not be
the "
"physical primary key of the database table - but even in this case, the "
"above classification is still useful. (It still reflects how Hibernate "
"\"locates\" individual rows of the collection.)"
msgstr ""
-"Nota que para una asociación uno-a-muchos, la \"clave primaria\" puede no
"
-"ser la clave primaria física de la tabla de base de datos; pero incluso en "
-"este caso, la clasificación anterior es útil todavía. (Aún refleja cómo "
-"Hibernate \"localiza\" filas individuales de la colección.)"
+"Nota que para una asociación uno-a-muchos, la \"clave
primaria\" "
+"puede no ser la clave primaria física de la tabla de base de datos;
"
+"pero incluso en este caso, la clasificación anterior es útil
"
+"todavía. (Aún refleja cómo Hibernate
\"localiza\" filas "
+"individuales de la colección.)"
-#. Tag: title
-#: performance.xml:1043
-#, no-c-format
+#: index.docbook:1043
msgid ""
"Lists, maps, idbags and sets are the most efficient collections to update"
msgstr ""
-"Las listas, mapas, idbags y conjuntos son las colecciones más eficientes de "
-"actualizar"
+"Las listas, mapas, idbags y conjuntos son las colecciones más "
+"eficientes de actualizar"
-#. Tag: para
-#: performance.xml:1045
-#, no-c-format
+#: index.docbook:1045
msgid ""
"From the discussion above, it should be clear that indexed collections and "
"(usually) sets allow the most efficient operation in terms of adding, "
"removing and updating elements."
msgstr ""
-"Desde la discusión anterior, debe quedar claro que las colecciones indexadas
"
-"y (usualmente) los conjuntos permiten la operación más eficiente en términos
"
-"de añadir, quitar y actualizar elementos."
+"Desde la discusión anterior, debe quedar claro que las colecciones
"
+"indexadas y (usualmente) los conjuntos permiten la operación
má"
+"s eficiente en términos de añadir, quitar y actualizar
"
+"elementos."
-#. Tag: para
-#: performance.xml:1051
-#, no-c-format
+#: index.docbook:1051
msgid ""
"There is, arguably, one more advantage that indexed collections have over "
"sets for many to many associations or collections of values. Because of the "
@@ -2163,18 +1943,16 @@
"<literal>DELETE</literal> (of individual rows). Once again, this
"
"consideration does not apply to one to many associations."
msgstr ""
-"Hay, discutiblemente, una ventaja más que las colecciones indexadas tienen "
-"sobre otros conjuntos para las asociaciones muchos a muchos o colecciones de
"
-"valores. Debido a la estructura de un <literal>Set</literal>, Hibernate
ni "
-"siquiera actualiza una fila con <literal>UPDATE</literal> cuando se
\"cambia"
-"\" un elemento. Los cambios a un <literal>Set</literal> siempre
funcionan "
-"por medio de <literal>INSERT</literal> y
<literal>DELETE</literal> (de filas "
-"individuales). Una vez más, esta consideración no se aplica a las "
-"asociaciones uno a muchos."
+"Hay, discutiblemente, una ventaja más que las colecciones indexadas
"
+"tienen sobre otros conjuntos para las asociaciones muchos a muchos o "
+"colecciones de valores. Debido a la estructura de un
<literal>Set</literal>, "
+"Hibernate ni siquiera actualiza una fila con <literal>UPDATE</literal>
"
+"cuando se \"cambia\" un elemento. Los cambios a un
<literal>Set</literal> "
+"siempre funcionan por medio de <literal>INSERT</literal> y
<literal>DELETE</"
+"literal> (de filas individuales). Una vez más, esta "
+"consideración no se aplica a las asociaciones uno a muchos."
-#. Tag: para
-#: performance.xml:1060
-#, no-c-format
+#: index.docbook:1060
msgid ""
"After observing that arrays cannot be lazy, we would conclude that lists, "
"maps and idbags are the most performant (non-inverse) collection types, with
"
@@ -2182,16 +1960,15 @@
"collection in Hibernate applications. This is because the \"set\"
semantics "
"are most natural in the relational model."
msgstr ""
-"Después de observar que los arrays no pueden ser perezosos, podríamos "
-"concluir que las listas, mapas e idbags son los tipos más eficientes de "
-"colecciones (no inversas), con los conjuntos (sets) no muy por detrás. Se "
-"espera que los sets sean el tipo más común de colección en las aplicaciones "
-"de Hibernate. Esto es debido a que la semántica de los sets es la más "
-"natural en el modelo relacional."
+"Después de observar que los arrays no pueden ser perezosos, "
+"podríamos concluir que las listas, mapas e idbags son los tipos "
+"más eficientes de colecciones (no inversas), con los conjuntos (sets)
"
+"no muy por detrás. Se espera que los sets sean el tipo más
"
+"común de colección en las aplicaciones de Hibernate. Esto es
"
+"debido a que la semántica de los sets es la más natural en el
"
+"modelo relacional."
-#. Tag: para
-#: performance.xml:1068
-#, no-c-format
+#: index.docbook:1068
msgid ""
"However, in well-designed Hibernate domain models, we usually see that most "
"collections are in fact one-to-many associations with
<literal>inverse=\"true"
@@ -2199,22 +1976,20 @@
"one end of the association, and so considerations of collection update "
"performance simply do not apply."
msgstr ""
-"Sin embargo, en modelos de dominio de Hibernate bien dieñados, usualmente "
-"vemos que la mayoría de las colecciones son de hecho asociaciones uno-a-"
-"muchos con <literal>inverse=\"true\"</literal>. Para estas
asociaciones, la "
-"actualización es manejada por el extremo muchos-a-uno de la asociación, y "
-"las consideraciones de este tipo sobre el rendimiento de actualización de "
-"colecciones simplemente no se aplican."
+"Sin embargo, en modelos de dominio de Hibernate bien dieñados, "
+"usualmente vemos que la mayoría de las colecciones son de hecho "
+"asociaciones uno-a-muchos con
<literal>inverse=\"true\"</literal>. Para "
+"estas asociaciones, la actualización es manejada por el extremo "
+"muchos-a-uno de la asociación, y las consideraciones de este tipo
"
+"sobre el rendimiento de actualización de colecciones simplemente no
"
+"se aplican."
-#. Tag: title
-#: performance.xml:1078
-#, no-c-format
+#: index.docbook:1078
msgid "Bags and lists are the most efficient inverse collections"
-msgstr "Los Bags y las listas son las colecciones inversas más eficientes"
+msgstr ""
+"Los Bags y las listas son las colecciones inversas más eficientes"
-#. Tag: para
-#: performance.xml:1080
-#, no-c-format
+#: index.docbook:1080
msgid ""
"Just before you ditch bags forever, there is a particular case in which bags
"
"(and also lists) are much more performant than sets. For a collection with "
@@ -2227,18 +2002,17 @@
"much faster."
msgstr ""
"Justo antes que tires a la zanja los bags para siempre, hay un caso en "
-"particular en el que los bags son muchos más eficientes que los conjuntos. "
-"Para una colección con <literal>inverse=\"true\"</literal>
(el idioma "
-"estándar de relaciones uno-a-muchos bidireccionales, por ejemplo) ¡podemos "
-"añadir elementos a un bag o lista sin necesidad de inicializar (fetch) los "
-"elementos del bag! Esto se debe a que
<literal>Collection.add()</literal> o "
-"<literal>Collection.addAll()</literal> siempre deben devolver true para
un "
-"bag o <literal>List</literal> (no como un
<literal>Set</literal>). Esto "
-"puede hacer el siguiente código común mucho más rápido."
+"particular en el que los bags son muchos más eficientes que los "
+"conjuntos. Para una colección con
<literal>inverse=\"true\"</literal> "
+"(el idioma estándar de relaciones uno-a-muchos bidireccionales, por
"
+"ejemplo) ¡podemos añadir elementos a un bag o lista sin
"
+"necesidad de inicializar (fetch) los elementos del bag! Esto se debe a que "
+"<literal>Collection.add()</literal> o
<literal>Collection.addAll()</literal> "
+"siempre deben devolver true para un bag o <literal>List</literal> (no
como "
+"un <literal>Set</literal>). Esto puede hacer el siguiente
código "
+"común mucho más rápido."
-#. Tag: programlisting
-#: performance.xml:1090
-#, no-c-format
+#: index.docbook:1090
msgid ""
"<![CDATA[Parent p = (Parent) sess.load(Parent.class, id);\n"
"Child c = new Child();\n"
@@ -2246,16 +2020,17 @@
"p.getChildren().add(c); //no need to fetch the collection!\n"
"sess.flush();]]>"
msgstr ""
+"<![CDATA[Parent p = (Parent) sess.load(Parent.class, id);\n"
+" Child c = new Child();\n"
+" c.setParent(p);\n"
+" p.getChildren().add(c); //no need to fetch the collection!\n"
+" sess.flush();]]>"
-#. Tag: title
-#: performance.xml:1095
-#, no-c-format
+#: index.docbook:1095
msgid "One shot delete"
msgstr "Borrado de un solo tiro"
-#. Tag: para
-#: performance.xml:1097
-#, no-c-format
+#: index.docbook:1097
msgid ""
"Occasionally, deleting collection elements one by one can be extremely "
"inefficient. Hibernate isn't completely stupid, so it knows not to do that
"
@@ -2263,68 +2038,60 @@
"</literal>, for example). In this case, Hibernate will issue a single "
"<literal>DELETE</literal> and we are done!"
msgstr ""
-"Ocasionalmente, borrar los elementos de una colección uno a uno puede ser "
-"extremadamente ineficiente. Hibernate no es completamente estúpido, de modo "
-"que sabe no hacer eso, en el caso de una colección nueva-vacía (si has "
-"llamado a <literal>list.clear()</literal>, por ejemplo). En este caso,
"
-"Hibernate publicará una sola <literal>DELETE</literal>, ¡y
listo!"
+"Ocasionalmente, borrar los elementos de una colección uno a uno puede
"
+"ser extremadamente ineficiente. Hibernate no es completamente
estú"
+"pido, de modo que sabe no hacer eso, en el caso de una colección "
+"nueva-vacía (si has llamado a
<literal>list.clear()</literal>, por "
+"ejemplo). En este caso, Hibernate publicará una sola
<literal>DELETE</"
+"literal>, ¡y listo!"
-#. Tag: para
-#: performance.xml:1104
-#, no-c-format
+#: index.docbook:1104
msgid ""
"Suppose we add a single element to a collection of size twenty and then "
"remove two elements. Hibernate will issue one <literal>INSERT</literal>
"
"statement and two <literal>DELETE</literal> statements (unless the
"
"collection is a bag). This is certainly desirable."
msgstr ""
-"Supón que añadimos un solo elemento a una colección de tamaño veinte y luego
"
-"quitamos dos elementos. Hibernate publicará una sentencia
<literal>INSERT</"
-"literal> y dos sentencias <literal>DELETE</literal> (a menos que la
"
-"colección sea un bag). Esto es ciertamente deseable."
+"Supón que añadimos un solo elemento a una
colección de "
+"tamaño veinte y luego quitamos dos elementos. Hibernate "
+"publicará una sentencia <literal>INSERT</literal> y dos
sentencias "
+"<literal>DELETE</literal> (a menos que la colección sea un
bag). Esto "
+"es ciertamente deseable."
-#. Tag: para
-#: performance.xml:1110
-#, no-c-format
+#: index.docbook:1110
msgid ""
"However, suppose that we remove eighteen elements, leaving two and then add "
"thee new elements. There are two possible ways to proceed"
msgstr ""
-"Sin embargo, supón que quitamos dieciocho elementos, dejando dos y luego "
-"añadimos tres nuevos elementos. Hay dos formas posibles de proceder"
+"Sin embargo, supón que quitamos dieciocho elementos, dejando dos y
"
+"luego añadimos tres nuevos elementos. Hay dos formas posibles de "
+"proceder"
-#. Tag: para
-#: performance.xml:1117
-#, no-c-format
+#: index.docbook:1117
msgid "delete eighteen rows one by one and then insert three rows"
msgstr "borrar dieciocho filas una a una y luego insertar tres filas"
-#. Tag: para
-#: performance.xml:1120
-#, no-c-format
+#: index.docbook:1120
msgid ""
"remove the whole collection (in one SQL <literal>DELETE</literal>) and
"
"insert all five current elements (one by one)"
msgstr ""
-"quitar toda la colección (en un solo <literal>DELETE</literal> de SQL)
e "
-"insertar todos los cinco elementos actuales (uno a uno)"
+"quitar toda la colección (en un solo
<literal>DELETE</literal> de "
+"SQL) e insertar todos los cinco elementos actuales (uno a uno)"
-#. Tag: para
-#: performance.xml:1125
-#, no-c-format
+#: index.docbook:1125
msgid ""
"Hibernate isn't smart enough to know that the second option is probably "
"quicker in this case. (And it would probably be undesirable for Hibernate to
"
"be that smart; such behaviour might confuse database triggers, etc.)"
msgstr ""
"Hibernate no es lo suficientemente inteligente para saber que la segunda "
-"opción es probablemente más rápida en este caso. (Y que sería probablemente "
-"indeseable para Hibernate ser tan inteligente; este comportamiento podría "
-"confundir a disparadores de base de datos, etc.)"
+"opción es probablemente más rápida en este caso.
(Y que "
+"sería probablemente indeseable para Hibernate ser tan inteligente;
"
+"este comportamiento podría confundir a disparadores de base de datos,
"
+"etc.)"
-#. Tag: para
-#: performance.xml:1131
-#, no-c-format
+#: index.docbook:1131
msgid ""
"Fortunately, you can force this behaviour (ie. the second strategy) at any "
"time by discarding (ie. dereferencing) the original collection and returning
"
@@ -2333,13 +2100,11 @@
msgstr ""
"Afortunadamente, puedes forzar este comportamiento (es decir, la segunda "
"estrategia) en cualquier momento descartando (es decir, desreferenciando) la
"
-"colección original y devolviendo una colección nuevamente instanciada con "
-"todos los elementos actuales. Esto puede ser muy útil y potente de vez en "
-"cuando."
+"colección original y devolviendo una colección nuevamente
"
+"instanciada con todos los elementos actuales. Esto puede ser muy útil
"
+"y potente de vez en cuando."
-#. Tag: para
-#: performance.xml:1137
-#, no-c-format
+#: index.docbook:1137
msgid ""
"Of course, one-shot-delete does not apply to collections mapped "
"<literal>inverse=\"true\"</literal>."
@@ -2347,62 +2112,51 @@
"Por supuesto, el borrado-de-un-solo-tiro no se aplica a colecciones mapeadas
"
"<literal>inverse=\"true\"</literal>."
-#. Tag: title
-#: performance.xml:1146
-#, no-c-format
+#: index.docbook:1146
msgid "Monitoring performance"
msgstr "Monitoreando el rendimiento"
-#. Tag: para
-#: performance.xml:1148
-#, no-c-format
+#: index.docbook:1148
msgid ""
"Optimization is not much use without monitoring and access to performance "
"numbers. Hibernate provides a full range of figures about its internal "
"operations. Statistics in Hibernate are available per "
"<literal>SessionFactory</literal>."
msgstr ""
-"La optimización no es de mucho uso sin el monitoreo y el acceso a números de
"
-"rendimiento. Hibernate provee un rango completo de figuras sobre sus "
-"operaciones internas. Las estadísticas en Hibernate están disponibles por "
-"<literal>SessionFactory</literal>."
+"La optimización no es de mucho uso sin el monitoreo y el acceso a
"
+"números de rendimiento. Hibernate provee un rango completo de figuras
"
+"sobre sus operaciones internas. Las estadísticas en Hibernate "
+"están disponibles por
<literal>SessionFactory</literal>."
-#. Tag: title
-#: performance.xml:1155
-#, no-c-format
+#: index.docbook:1155
msgid "Monitoring a SessionFactory"
msgstr "Monitoreando una SessionFactory"
-#. Tag: para
-#: performance.xml:1157
-#, no-c-format
+#: index.docbook:1157
msgid ""
"You can access <literal>SessionFactory</literal> metrics in two ways.
Your "
"first option is to call
<literal>sessionFactory.getStatistics()</literal> "
"and read or display the <literal>Statistics</literal> yourself."
msgstr ""
-"Puedes acceder a las métricas de <literal>SessionFactory</literal> de
dos "
-"formas. Tu primera opción es llamar a
<literal>sessionFactory.getStatistics()"
-"</literal> y leer o mostrar por pantalla la
<literal>Statistics</literal> "
-"por ti mismo."
+"Puedes acceder a las métricas de
<literal>SessionFactory</literal> de "
+"dos formas. Tu primera opción es llamar a
<literal>sessionFactory."
+"getStatistics()</literal> y leer o mostrar por pantalla la "
+"<literal>Statistics</literal> por ti mismo."
-#. Tag: para
-#: performance.xml:1163
-#, no-c-format
+#: index.docbook:1163
msgid ""
"Hibernate can also use JMX to publish metrics if you enable the "
"<literal>StatisticsService</literal> MBean. You may enable a single
MBean "
"for all your <literal>SessionFactory</literal> or one per factory. See
the "
"following code for minimalistic configuration examples:"
msgstr ""
-"Hibernate puede también usar JMX para publicar las métricas si habilitas el "
-"MBean <literal>StatisticsService</literal>. Puede habilitar un solo
MBean "
-"para todas tus <literal>SessionFactory</literal> o una por fábrica.
Mira el "
-"siguiente código para ejemplos de configuración minimalistas:"
+"Hibernate puede también usar JMX para publicar las métricas
si "
+"habilitas el MBean <literal>StatisticsService</literal>. Puede
habilitar un "
+"solo MBean para todas tus <literal>SessionFactory</literal> o una por
"
+"fábrica. Mira el siguiente código para ejemplos de "
+"configuración minimalistas:"
-#. Tag: programlisting
-#: performance.xml:1170
-#, no-c-format
+#: index.docbook:1170
msgid ""
"<![CDATA[// MBean service registration for a specific SessionFactory\n"
"Hashtable tb = new Hashtable();\n"
@@ -2415,10 +2169,18 @@
"SessionFactory\n"
"server.registerMBean(stats, on); // Register the Mbean on the server]]>"
msgstr ""
+"<![CDATA[// MBean service registration for a specific SessionFactory\n"
+"Hashtable tb = new Hashtable();\n"
+"tb.put(\"type\", \"statistics\");\n"
+"tb.put(\"sessionFactory\", \"myFinancialApp\");\n"
+"ObjectName on = new ObjectName(\"hibernate\", tb); // MBean object
name\n"
+"\n"
+"StatisticsService stats = new StatisticsService(); // MBean implementation\n"
+"stats.setSessionFactory(sessionFactory); // Bind the stats to a "
+"SessionFactory\n"
+"server.registerMBean(stats, on); // Register the Mbean on the server]]>"
-#. Tag: programlisting
-#: performance.xml:1173
-#, no-c-format
+#: index.docbook:1173
msgid ""
"<![CDATA[// MBean service registration for all SessionFactory's\n"
"Hashtable tb = new Hashtable();\n"
@@ -2429,10 +2191,16 @@
"StatisticsService stats = new StatisticsService(); // MBean implementation\n"
"server.registerMBean(stats, on); // Register the MBean on the server]]>"
msgstr ""
+"<![CDATA[// MBean service registration for all SessionFactory's\n"
+"Hashtable tb = new Hashtable();\n"
+"tb.put(\"type\", \"statistics\");\n"
+"tb.put(\"sessionFactory\", \"all\");\n"
+"ObjectName on = new ObjectName(\"hibernate\", tb); // MBean object
name\n"
+"\n"
+"StatisticsService stats = new StatisticsService(); // MBean implementation\n"
+"server.registerMBean(stats, on); // Register the MBean on the server]]>"
-#. Tag: para
-#: performance.xml:1175
-#, no-c-format
+#: index.docbook:1175
msgid ""
"TODO: This doesn't make sense: In the first case, we retrieve and use the
"
"MBean directly. In the second one, we must give the JNDI name in which the "
@@ -2441,104 +2209,87 @@
msgstr ""
"POR HACER: Esto no tiene sentido: En el primer caso, recuperamos y usamos el
"
"MBean directamente. En el segundo, debemos proporcionar el nombre JNDI en el
"
-"que se guarda la fábrica de sesiones antes de usarlo. Usa "
+"que se guarda la fábrica de sesiones antes de usarlo. Usa "
"<literal>hibernateStatsBean.setSessionFactoryJNDIName(\"my/JNDI/Name\")</"
"literal>"
-#. Tag: para
-#: performance.xml:1180
-#, no-c-format
+#: index.docbook:1180
msgid ""
"You can (de)activate the monitoring for a
<literal>SessionFactory</literal>"
msgstr ""
"Puedes (des)activar el monitoreo de una
<literal>SessionFactory</literal>"
-#. Tag: para
-#: performance.xml:1185
-#, no-c-format
+#: index.docbook:1185
msgid ""
"at configuration time, set
<literal>hibernate.generate_statistics</literal> "
"to <literal>false</literal>"
msgstr ""
-"en tiempo de configuración, establece <literal>hibernate."
+"en tiempo de configuración, establece <literal>hibernate."
"generate_statistics</literal> a <literal>false</literal>"
-#. Tag: para
-#: performance.xml:1192
-#, no-c-format
+#: index.docbook:1192
msgid ""
"at runtime:
<literal>sf.getStatistics().setStatisticsEnabled(true)</literal> "
"or
<literal>hibernateStatsBean.setStatisticsEnabled(true)</literal>"
msgstr ""
-"en tiempo de ejecución:
<literal>sf.getStatistics().setStatisticsEnabled"
-"(true)</literal> o
<literal>hibernateStatsBean.setStatisticsEnabled(true)</"
-"literal>"
+"en tiempo de ejecución: <literal>sf.getStatistics()."
+"setStatisticsEnabled(true)</literal> o
<literal>hibernateStatsBean."
+"setStatisticsEnabled(true)</literal>"
-#. Tag: para
-#: performance.xml:1199
-#, no-c-format
+#: index.docbook:1199
msgid ""
"Statistics can be reset programatically using the
<literal>clear()</literal> "
"method. A summary can be sent to a logger (info level) using the "
"<literal>logSummary()</literal> method."
msgstr ""
-"Las estadísticas pueden ser reajustadas programáticamente usando el método "
-"<literal>clear()</literal>. Puede enviarse un resumen a un logger
(nivel "
-"info) usando el método <literal>logSummary()</literal>."
+"Las estadísticas pueden ser reajustadas programáticamente
"
+"usando el método <literal>clear()</literal>. Puede enviarse
un "
+"resumen a un logger (nivel info) usando el método
<literal>logSummary"
+"()</literal>."
-#. Tag: title
-#: performance.xml:1208
-#, no-c-format
+#: index.docbook:1208
msgid "Metrics"
-msgstr "Métricas"
+msgstr "Métricas"
-#. Tag: para
-#: performance.xml:1210
-#, no-c-format
+#: index.docbook:1210
msgid ""
"Hibernate provides a number of metrics, from very basic to the specialized "
"information only relevant in certain scenarios. All available counters are "
"described in the <literal>Statistics</literal> interface API, in three
"
"categories:"
msgstr ""
-"Hibernate provee un número de métricas, desde información muy básica a la "
-"especializada sólo relevante en ciertos escenarios. Todos los contadores "
-"disponibles se describen en la API de la interface
<literal>Statistics</"
-"literal>, en tres categorías:"
+"Hibernate provee un número de métricas, desde
informació"
+"n muy básica a la especializada sólo relevante en ciertos
"
+"escenarios. Todos los contadores disponibles se describen en la API de la "
+"interface <literal>Statistics</literal>, en tres
categorías:"
-#. Tag: para
-#: performance.xml:1217
-#, no-c-format
+#: index.docbook:1217
msgid ""
"Metrics related to the general <literal>Session</literal> usage, such
as "
"number of open sessions, retrieved JDBC connections, etc."
msgstr ""
-"Métricas relacionadas al uso general de <literal>Session</literal>
usage, "
-"tales como número de sesiones abiertas, conexiones JDBC recuperadas, etc,"
+"Métricas relacionadas al uso general de
<literal>Session</literal> "
+"usage, tales como número de sesiones abiertas, conexiones JDBC "
+"recuperadas, etc,"
-#. Tag: para
-#: performance.xml:1223
-#, no-c-format
+#: index.docbook:1223
msgid ""
"Metrics related to he entities, collections, queries, and caches as a whole "
"(aka global metrics),"
msgstr ""
-"Métricas relacionadas a las entidades, colecciones, consultas, y cachés como
"
-"un todo. (también conocidas como métricas globales)."
+"Métricas relacionadas a las entidades, colecciones, consultas, y "
+"cachés como un todo. (también conocidas como
métricas "
+"globales)."
-#. Tag: para
-#: performance.xml:1229
-#, no-c-format
+#: index.docbook:1229
msgid ""
"Detailed metrics related to a particular entity, collection, query or cache "
"region."
msgstr ""
-"Métricas detalladas relacionadas a una entidad, colección, consulta o región
"
-"de caché en particular."
+"Métricas detalladas relacionadas a una entidad, colección,
"
+"consulta o región de caché en particular."
-#. Tag: para
-#: performance.xml:1236
-#, no-c-format
+#: index.docbook:1236
msgid ""
"For exampl,e you can check the cache hit, miss, and put ratio of entities, "
"collections and queries, and the average time a query needs. Beware that the
"
@@ -2546,16 +2297,15 @@
"tied to the JVM precision, on some platforms this might even only be "
"accurate to 10 seconds."
msgstr ""
-"Por ejemplo, puedes comprobar el acceso, pérdida, y radio de colocación de "
-"entidades, colecciones y consultas en el caché, y el tiempo promedio que "
-"necesita una consulta. Ten en cuenta que el número de milisegundos está "
-"sujeto a aproximación en Java. Hibernate está pegado a la precisión de la "
-"JVM, en algunas plataformas esto podría incuso ser tener sólo una exactitud "
-"de 10 segundos."
+"Por ejemplo, puedes comprobar el acceso, pérdida, y radio de "
+"colocación de entidades, colecciones y consultas en el caché,
"
+"y el tiempo promedio que necesita una consulta. Ten en cuenta que el "
+"número de milisegundos está sujeto a aproximación
en "
+"Java. Hibernate está pegado a la precisión de la JVM, en
"
+"algunas plataformas esto podría incuso ser tener sólo una
"
+"exactitud de 10 segundos."
-#. Tag: para
-#: performance.xml:1243
-#, no-c-format
+#: index.docbook:1243
msgid ""
"Simple getters are used to access the global metrics (i.e. not tied to a "
"particular entity, collection, cache region, etc.). You can access the "
@@ -2567,20 +2317,19 @@
"literal> API Javadoc for more information. The following code shows a simple
"
"example:"
msgstr ""
-"Se usan getters simples para acceder a las métricas globales (es decir, no "
-"pegadas a una entidad, colección, región de caché, etc, en particular). "
-"Puedes acceder a las métricas de una entidad, colección, región de caché en "
-"particular a través de su nombre, y a través de su representación HQL o SQL "
-"para las consultas. Por favor refiérete al Javadoc de la API de "
-"<literal>Statistics</literal>,
<literal>EntityStatistics</literal>, "
+"Se usan getters simples para acceder a las métricas globales (es "
+"decir, no pegadas a una entidad, colección, región de "
+"caché, etc, en particular). Puedes acceder a las métricas de
"
+"una entidad, colección, región de caché en
particular a "
+"través de su nombre, y a través de su
representación "
+"HQL o SQL para las consultas. Por favor refiérete al Javadoc de la
"
+"API de <literal>Statistics</literal>,
<literal>EntityStatistics</literal>, "
"<literal>CollectionStatistics</literal>, "
"<literal>SecondLevelCacheStatistics</literal>, y
<literal>QueryStatistics</"
-"literal> para más información. El siguiente código muestra un ejemplo "
-"sencillo:"
+"literal> para más información. El siguiente
código "
+"muestra un ejemplo sencillo:"
-#. Tag: programlisting
-#: performance.xml:1253
-#, no-c-format
+#: index.docbook:1253
msgid ""
"<![CDATA[Statistics stats =
HibernateUtil.sessionFactory.getStatistics();\n"
"\n"
@@ -2599,10 +2348,24 @@
" + entityStats.getDeleteCount();\n"
"log.info(Cat.class.getName() + \" changed \" + changes +
\"times\" );]]>"
msgstr ""
+"<![CDATA[Statistics stats =
HibernateUtil.sessionFactory.getStatistics();\n"
+"\n"
+"double queryCacheHitCount = stats.getQueryCacheHitCount();\n"
+"double queryCacheMissCount = stats.getQueryCacheMissCount();\n"
+"double queryCacheHitRatio =\n"
+" queryCacheHitCount / (queryCacheHitCount + queryCacheMissCount);\n"
+"\n"
+"log.info(\"Query Hit ratio:\" + queryCacheHitRatio);\n"
+"\n"
+"EntityStatistics entityStats =\n"
+" stats.getEntityStatistics( Cat.class.getName() );\n"
+"long changes =\n"
+" entityStats.getInsertCount()\n"
+" + entityStats.getUpdateCount()\n"
+" + entityStats.getDeleteCount();\n"
+"log.info(Cat.class.getName() + \" changed \" + changes +
\"times\" );]]>"
-#. Tag: para
-#: performance.xml:1255
-#, no-c-format
+#: index.docbook:1255
msgid ""
"To work on all entities, collections, queries and region caches, you can "
"retrieve the list of names of entities, collections, queries and region "
@@ -2611,11 +2374,14 @@
"literal>, and
<literal>getSecondLevelCacheRegionNames()</literal>."
msgstr ""
"Para trabajar sobre todas las entidades, colecciones, consultas y regiones "
-"de cachés, puedes recuperar la lista de nombres de entidades, colecciones, "
-"consultas y regiones de cachés con los siguientes métodos: "
-"<literal>getQueries()</literal>,
<literal>getEntityNames()</literal>, "
-"<literal>getCollectionRoleNames()</literal>, y "
+"de cachés, puedes recuperar la lista de nombres de entidades, "
+"colecciones, consultas y regiones de cachés con los siguientes "
+"métodos: <literal>getQueries()</literal>,
<literal>getEntityNames()</"
+"literal>, <literal>getCollectionRoleNames()</literal>, y "
"<literal>getSecondLevelCacheRegionNames()</literal>."
-#~ msgid "yes"
-#~ msgstr "sí"
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified:
core/trunk/documentation/manual/src/main/docbook/es-ES/content/persistent_classes.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/persistent_classes.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/persistent_classes.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,39 +1,28 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: persistent_classes.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Persistent Classes"
msgstr "Clases Persistentes"
-#. Tag: para
-#: persistent_classes.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"Persistent classes are classes in an application that implement the entities
"
"of the business problem (e.g. Customer and Order in an E-commerce "
"application). Not all instances of a persistent class are considered to be "
"in the persistent state - an instance may instead be transient or detached."
msgstr ""
-"Clases presistentes son clases en una aplicación que implementan las "
+"Clases presistentes son clases en una aplicación que implementan las
"
"entidades del problema de negocio (por ejemplo, Customer y Order en una "
-"aplicación de comercio electrónico). No todas las instancias de una clase "
-"persistente se considera que estén en el estado persistente, una instancia "
-"puede en cambio ser transitoria o estar separada."
+"aplicación de comercio electrónico). No todas las instancias
"
+"de una clase persistente se considera que estén en el estado "
+"persistente, una instancia puede en cambio ser transitoria o estar separada."
-#. Tag: para
-#: persistent_classes.xml:14
-#, no-c-format
+#: index.docbook:14
msgid ""
"Hibernate works best if these classes follow some simple rules, also known "
"as the Plain Old Java Object (POJO) programming model. However, none of "
@@ -42,29 +31,24 @@
"in other ways: using trees of <literal>Map</literal> instances, for
example."
msgstr ""
"Hibernate funciona mejor si las clases siguen algunas simples reglas, "
-"también conocidas como el modelo de programación de Viejas Clases Java "
-"Planas (Plain Old Java Object o POJO). Sin embargo, ninguna de estas reglas "
-"son requerimientos rígidos. En cambio, Hibernate3 asume muy poco acerca de "
-"la naturaleza de tus objetos persistentes. Puedes expresar un modelo de "
-"dominio en otras formas: usando árboles de instancias de
<literal>Map</"
-"literal>, por ejemplo."
+"también conocidas como el modelo de programación de Viejas
"
+"Clases Java Planas (Plain Old Java Object o POJO). Sin embargo, ninguna de "
+"estas reglas son requerimientos rígidos. En cambio, Hibernate3 asume
"
+"muy poco acerca de la naturaleza de tus objetos persistentes. Puedes "
+"expresar un modelo de dominio en otras formas: usando árboles de "
+"instancias de <literal>Map</literal>, por ejemplo."
-#. Tag: title
-#: persistent_classes.xml:23
-#, no-c-format
+#: index.docbook:23
msgid "A simple POJO example"
msgstr "Un ejemplo simple de POJO"
-#. Tag: para
-#: persistent_classes.xml:25
-#, no-c-format
+#: index.docbook:25
msgid "Most Java applications require a persistent class representing
felines."
msgstr ""
-"La mayoría de aplicaciones Java requieren una clase representando felinos."
+"La mayoría de aplicaciones Java requieren una clase representando
"
+"felinos."
-#. Tag: programlisting
-#: persistent_classes.xml:29
-#, no-c-format
+#: index.docbook:29
msgid ""
"<![CDATA[package eg;\n"
"import java.util.Set;\n"
@@ -145,22 +129,94 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[package eg;\n"
+"import java.util.Set;\n"
+"import java.util.Date;\n"
+"\n"
+"public class Cat {\n"
+" private Long id; // identifier\n"
+"\n"
+" private Date birthdate;\n"
+" private Color color;\n"
+" private char sex;\n"
+" private float weight;\n"
+" private int litterId;\n"
+"\n"
+" private Cat mother;\n"
+" private Set kittens = new HashSet();\n"
+"\n"
+" private void setId(Long id) {\n"
+" this.id=id;\n"
+" }\n"
+" public Long getId() {\n"
+" return id;\n"
+" }\n"
+"\n"
+" void setBirthdate(Date date) {\n"
+" birthdate = date;\n"
+" }\n"
+" public Date getBirthdate() {\n"
+" return birthdate;\n"
+" }\n"
+"\n"
+" void setWeight(float weight) {\n"
+" this.weight = weight;\n"
+" }\n"
+" public float getWeight() {\n"
+" return weight;\n"
+" }\n"
+"\n"
+" public Color getColor() {\n"
+" return color;\n"
+" }\n"
+" void setColor(Color color) {\n"
+" this.color = color;\n"
+" }\n"
+"\n"
+" void setSex(char sex) {\n"
+" this.sex=sex;\n"
+" }\n"
+" public char getSex() {\n"
+" return sex;\n"
+" }\n"
+"\n"
+" void setLitterId(int id) {\n"
+" this.litterId = id;\n"
+" }\n"
+" public int getLitterId() {\n"
+" return litterId;\n"
+" }\n"
+"\n"
+" void setMother(Cat mother) {\n"
+" this.mother = mother;\n"
+" }\n"
+" public Cat getMother() {\n"
+" return mother;\n"
+" }\n"
+" void setKittens(Set kittens) {\n"
+" this.kittens = kittens;\n"
+" }\n"
+" public Set getKittens() {\n"
+" return kittens;\n"
+" }\n"
+" \n"
+" // addKitten not needed by Hibernate\n"
+" public void addKitten(Cat kitten) {\n"
+" kitten.setMother(this);\n"
+" kitten.setLitterId( kittens.size() ); \n"
+" kittens.add(kitten);\n"
+" }\n"
+"}]]>"
-#. Tag: para
-#: persistent_classes.xml:31
-#, no-c-format
+#: index.docbook:31
msgid "There are four main rules to follow here:"
-msgstr "Aquí hay cuatro reglas principales a seguir:"
+msgstr "Aquí hay cuatro reglas principales a seguir:"
-#. Tag: title
-#: persistent_classes.xml:37
-#, no-c-format
+#: index.docbook:37
msgid "Implement a no-argument constructor"
msgstr "Implementa un constructor sin argumentos"
-#. Tag: para
-#: persistent_classes.xml:39
-#, no-c-format
+#: index.docbook:39
msgid ""
"<literal>Cat</literal> has a no-argument constructor. All persistent
classes "
"must have a default constructor (which may be non-public) so that Hibernate "
@@ -171,20 +227,17 @@
msgstr ""
"<literal>Cat</literal> tiene un contructor sin argumentos. Todas las
clases "
"persistentes deben tener un constructor por defecto (que puede no ser "
-"público) de modo que Hibernate pueda instanciarlas usando "
+"público) de modo que Hibernate pueda instanciarlas usando "
"<literal>Constructor.newInstance()</literal>. Recomendamos fuertemente
tener "
"un constructor por defecto con al menos visibilidad de
<emphasis>package</"
-"emphasis> para la generación de proxies en tiempo de ejecución en
Hibernate."
+"emphasis> para la generación de proxies en tiempo de
ejecución "
+"en Hibernate."
-#. Tag: title
-#: persistent_classes.xml:49
-#, no-c-format
+#: index.docbook:49
msgid "Provide an identifier property (optional)"
msgstr "Provee una propiedad identificadora (opcional)"
-#. Tag: para
-#: persistent_classes.xml:51
-#, no-c-format
+#: index.docbook:51
msgid ""
"<literal>Cat</literal> has a property called
<literal>id</literal>. This "
"property maps to the primary key column of a database table. The property "
@@ -196,16 +249,15 @@
msgstr ""
"<literal>Cat</literal> tiene una propiedad llamada
<literal>id</literal>. "
"Esta propiedad mapea a la columna clave primaria de la tabla de base de "
-"datos. La propiedad podría llamarse cualquierCosa, y su tipo podría haber "
-"sido cualquier tipo primitivo, cualquier tipo de \"envoltura\" primitivo,
"
-"<literal>java.lang.String</literal> o
<literal>java.util.Date</literal>. (Si "
-"tu tabla de base de datos heredada tiene claves compuestas, puedes incluso "
-"usar una clase definida por el usuario con propiedades de estos tipos, ver "
-"la sección sobre identificadores compuestos luego.)"
+"datos. La propiedad podría llamarse cualquierCosa, y su tipo "
+"podría haber sido cualquier tipo primitivo, cualquier tipo de "
+"\"envoltura\" primitivo, <literal>java.lang.String</literal>
o <literal>java."
+"util.Date</literal>. (Si tu tabla de base de datos heredada tiene claves
"
+"compuestas, puedes incluso usar una clase definida por el usuario con "
+"propiedades de estos tipos, ver la sección sobre identificadores "
+"compuestos luego.)"
-#. Tag: para
-#: persistent_classes.xml:60
-#, no-c-format
+#: index.docbook:60
msgid ""
"The identifier property is strictly optional. You can leave them off and let
"
"Hibernate keep track of object identifiers internally. We do not recommend "
@@ -215,106 +267,85 @@
"dejar que Hibernate siga internamente la pista de los identificadores del "
"objeto. Sin embargo, no recomendamos esto."
-#. Tag: para
-#: persistent_classes.xml:65
-#, no-c-format
+#: index.docbook:65
msgid ""
"In fact, some functionality is available only to classes which declare an "
"identifier property:"
msgstr ""
-"De hecho, alguna funcionalidad está disponible sólo para clases que declaran
"
-"una propiedad identificadora:"
+"De hecho, alguna funcionalidad está disponible sólo para
"
+"clases que declaran una propiedad identificadora:"
-#. Tag: para
-#: persistent_classes.xml:72
-#, fuzzy, no-c-format
+#: index.docbook:72
msgid ""
"Transitive reattachment for detached objects (cascade update or cascade "
"merge) - see"
msgstr ""
-"Reasociación transitiva de objetos separados (actualizaciones o fusiones en "
-"cascada) - ver <xref linkend=\"objectstate-transitive\"/>"
+"Reasociación transitiva de objetos separados (actualizaciones o "
+"fusiones en cascada) - ver"
-#. Tag: literal
-#: persistent_classes.xml:79
-#, no-c-format
+#: index.docbook:79
msgid "Session.saveOrUpdate()"
msgstr "Session.saveOrUpdate()"
-#. Tag: literal
-#: persistent_classes.xml:84
-#, no-c-format
+#: index.docbook:84
msgid "Session.merge()"
msgstr "Session.merge()"
-#. Tag: para
-#: persistent_classes.xml:89
-#, no-c-format
+#: index.docbook:89
msgid ""
"We recommend you declare consistently-named identifier properties on "
"persistent classes. We further recommend that you use a nullable (ie. non-"
"primitive) type."
msgstr ""
"Recomendamos que declares propiedades identificadoras nombradas-"
-"consistentemente en clases persistentes. Mas aún, recomendamos que uses un "
-"tipo nulable (es decir, no primitivo)."
+"consistentemente en clases persistentes. Mas aún, recomendamos que
"
+"uses un tipo nulable (es decir, no primitivo)."
-#. Tag: title
-#: persistent_classes.xml:96
-#, no-c-format
+#: index.docbook:96
msgid "Prefer non-final classes (optional)"
msgstr "Prefiere las clases no finales (opcional)"
-#. Tag: para
-#: persistent_classes.xml:97
-#, no-c-format
+#: index.docbook:97
msgid ""
"A central feature of Hibernate, <emphasis>proxies</emphasis>, depends
upon "
"the persistent class being either non-final, or the implementation of an "
"interface that declares all public methods."
msgstr ""
"Un aspecto central de Hibernate, <emphasis>proxies</emphasis>, depende
de "
-"que las clases persistentes sean ya no finales, o sean ya la implementación "
-"de una interface que declare todos los métodos públicos."
+"que las clases persistentes sean ya no finales, o sean ya la "
+"implementación de una interface que declare todos los métodos
"
+"públicos."
-#. Tag: para
-#: persistent_classes.xml:102
-#, no-c-format
+#: index.docbook:102
msgid ""
"You can persist <literal>final</literal> classes that do not implement
an "
"interface with Hibernate, but you won't be able to use proxies for lazy "
"association fetching - which will limit your options for performance tuning."
msgstr ""
"Puedes persistir con Hibernate clases <literal>final</literal> que no
"
-"implementen una interface, pero no serás capaz de usar proxies para "
-"recuperación perezosa de asociaciones, lo que limitará tus opciones para "
-"afinar el rendimiento."
+"implementen una interface, pero no serás capaz de usar proxies para
"
+"recuperación perezosa de asociaciones, lo que limitará tus
"
+"opciones para afinar el rendimiento."
-#. Tag: para
-#: persistent_classes.xml:107
-#, no-c-format
+#: index.docbook:107
msgid ""
"You should also avoid declaring <literal>public final</literal> methods
on "
"the non-final classes. If you want to use a class with a <literal>public
"
"final</literal> method, you must explicitly disable proxying by setting
"
"<literal>lazy=\"false\"</literal>."
msgstr ""
-"Debes también evitar declarar métodos <literal>public final</literal>
en "
-"clases non-final. Si quieres usar una clase con un método <literal>public
"
-"final</literal>, debes deshabilitar explícitamente el uso de proxies "
-"estableciendo <literal>lazy=\"false\"</literal>."
+"Debes también evitar declarar métodos <literal>public
final</"
+"literal> en clases non-final. Si quieres usar una clase con un método
"
+"<literal>public final</literal>, debes deshabilitar
explícitamente el "
+"uso de proxies estableciendo
<literal>lazy=\"false\"</literal>."
-#. Tag: title
-#: persistent_classes.xml:115
-#, no-c-format
+#: index.docbook:115
msgid "Declare accessors and mutators for persistent fields (optional)"
msgstr ""
-"Declara métodos de acceso y modificación para los campos persistentes "
-"(opcional)"
+"Declara métodos de acceso y modificación para los campos
"
+"persistentes (opcional)"
-#. Tag: para
-#: persistent_classes.xml:117
-#, no-c-format
+#: index.docbook:117
msgid ""
"<literal>Cat</literal> declares accessor methods for all its persistent
"
"fields. Many other ORM tools directly persist instance variables. We believe
"
@@ -325,36 +356,30 @@
"literal>. You may switch to direct field access for particular properties,
"
"if needed."
msgstr ""
-"<literal>Cat</literal> declara métodos de acceso para todos sus campos
"
-"persistente. Muchas otras herramientas ORM persisten directamente variables "
-"de instancia. Creemos que es mejor proveer una indirección entre el esquema "
-"relacional y las estructuras internas de la clase. Por defecto, Hibernate "
-"persiste propiedades del estilo JavaBeans, y reconoce nombres de método de "
-"la forma <literal>getFoo</literal>,
<literal>isFoo</literal> y "
-"<literal>setFoo</literal>. Puedes cambiar a acceso directo a campos
para "
-"propiedades en particular, de ser necesario."
+"<literal>Cat</literal> declara métodos de acceso para todos
sus "
+"campos persistente. Muchas otras herramientas ORM persisten directamente "
+"variables de instancia. Creemos que es mejor proveer una indirección
"
+"entre el esquema relacional y las estructuras internas de la clase. Por "
+"defecto, Hibernate persiste propiedades del estilo JavaBeans, y reconoce "
+"nombres de método de la forma <literal>getFoo</literal>,
"
+"<literal>isFoo</literal> y <literal>setFoo</literal>.
Puedes cambiar a "
+"acceso directo a campos para propiedades en particular, de ser necesario."
-#. Tag: para
-#: persistent_classes.xml:127
-#, no-c-format
+#: index.docbook:127
msgid ""
"Properties need <emphasis>not</emphasis> be declared public - Hibernate
can "
"persist a property with a default, <literal>protected</literal> or
"
"<literal>private</literal> get / set pair."
msgstr ""
-"Las propiedades <emphasis>no</emphasis> necesitan ser declaradas
públicas. "
-"Hibernate puede persistir una propiedad con un par get / set "
+"Las propiedades <emphasis>no</emphasis> necesitan ser declaradas
pú"
+"blicas. Hibernate puede persistir una propiedad con un par get / set "
"<literal>protected</literal> o
<literal>private</literal>."
-#. Tag: title
-#: persistent_classes.xml:138
-#, no-c-format
+#: index.docbook:138
msgid "Implementing inheritance"
msgstr "Implementando herencia"
-#. Tag: para
-#: persistent_classes.xml:140
-#, no-c-format
+#: index.docbook:140
msgid ""
"A subclass must also observe the first and second rules. It inherits its "
"identifier property from the superclass, <literal>Cat</literal>."
@@ -362,9 +387,7 @@
"Una subclase puede a su vez observar la primera y segunda regla. Hereda su "
"propiedad identificadora de la superclase,
<literal>Cat</literal>."
-#. Tag: programlisting
-#: persistent_classes.xml:145
-#, no-c-format
+#: index.docbook:145
msgid ""
"<![CDATA[package eg;\n"
"\n"
@@ -379,28 +402,34 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[package eg;\n"
+"\n"
+"public class DomesticCat extends Cat {\n"
+" private String name;\n"
+"\n"
+" public String getName() {\n"
+" return name;\n"
+" }\n"
+" protected void setName(String name) {\n"
+" this.name=name;\n"
+" }\n"
+"}]]>"
-#. Tag: title
-#: persistent_classes.xml:149
-#, no-c-format
+#: index.docbook:149
msgid ""
"Implementing <literal>equals()</literal> and
<literal>hashCode()</literal>"
msgstr ""
"Implementando <literal>equals()</literal> y
<literal>hashCode()</literal>"
-#. Tag: para
-#: persistent_classes.xml:151
-#, no-c-format
+#: index.docbook:151
msgid ""
"You have to override the <literal>equals()</literal> and
<literal>hashCode()"
"</literal> methods if you"
msgstr ""
-"Tienes que sobrescribir los métodos <literal>equals()</literal> y
"
+"Tienes que sobrescribir los métodos
<literal>equals()</literal> y "
"<literal>hashCode()</literal> si :"
-#. Tag: para
-#: persistent_classes.xml:157
-#, no-c-format
+#: index.docbook:157
msgid ""
"intend to put instances of persistent classes in a
<literal>Set</literal> "
"(the recommended way to represent many-valued associations)
<emphasis>and</"
@@ -410,15 +439,11 @@
"(la forma recomendada de representar asociaciones multivaluadas) "
"<emphasis>y</emphasis>"
-#. Tag: para
-#: persistent_classes.xml:164
-#, no-c-format
+#: index.docbook:164
msgid "intend to use reattachment of detached instances"
-msgstr "piensas usar reasociación de instancias separadas."
+msgstr "piensas usar reasociación de instancias separadas."
-#. Tag: para
-#: persistent_classes.xml:170
-#, no-c-format
+#: index.docbook:170
msgid ""
"Hibernate guarantees equivalence of persistent identity (database row) and "
"Java identity only inside a particular session scope. So as soon as we mix "
@@ -427,15 +452,13 @@
"semantics for <literal>Set</literal>s."
msgstr ""
"Hibernate garantiza la equivalencia de identidad persistente (fila de base "
-"de datos) y identidad Java sólo dentro del ámbito de una sesión en "
-"particular. De modo que en el momento que mezclamos instancias recuperadas "
-"en sesiones diferentes, debemos implementar <literal>equals()</literal>
y "
-"<literal>hashCode()</literal> si deseamos tener una semántica
significativa "
-"de <literal>Set</literal>s."
+"de datos) y identidad Java sólo dentro del ámbito de una
"
+"sesión en particular. De modo que en el momento que mezclamos "
+"instancias recuperadas en sesiones diferentes, debemos implementar "
+"<literal>equals()</literal> y <literal>hashCode()</literal>
si deseamos "
+"tener una semántica significativa de
<literal>Set</literal>s."
-#. Tag: para
-#: persistent_classes.xml:178
-#, no-c-format
+#: index.docbook:178
msgid ""
"The most obvious way is to implement
<literal>equals()</literal>/"
"<literal>hashCode()</literal> by comparing the identifier value of both
"
@@ -453,26 +476,25 @@
"is not a Hibernate issue, but normal Java semantics of object identity and "
"equality."
msgstr ""
-"La forma más obvia es implementar <literal>equals()</literal>/"
+"La forma más obvia es implementar
<literal>equals()</literal>/"
"<literal>hashCode()</literal> comparando el valor identificador de
ambos "
"objetos. Si el valor es el mismo, ambos deben ser la misma fila de base de "
"datos, por lo tanto son iguales (si ambos son agregados a un
<literal>Set</"
-"literal>, sólo tendremos un elemento en el <literal>Set</literal>).
"
+"literal>, sólo tendremos un elemento en el
<literal>Set</literal>). "
"Desafortunadamente, no podemos usar este enfoque con identificadores "
-"generados! Hibernate sólo asignará valores identificadores a objetos que son
"
-"persistentes, una instancia recién creada no tendrá ningún valor "
-"identificador! Además, si una instancia no está salvada y está actualmente "
-"en un <literal>Set</literal>, salvarla asignará un valor identificador
al "
+"generados! Hibernate sólo asignará valores identificadores a
"
+"objetos que son persistentes, una instancia recién creada no "
+"tendrá ningún valor identificador! Además, si una
"
+"instancia no está salvada y está actualmente en un "
+"<literal>Set</literal>, salvarla asignará un valor
identificador al "
"objeto. Si <literal>equals()</literal> and
<literal>hashCode()</literal> "
-"están basados en el valor identificador, el código hash podría cambiar, "
-"rompiendo el contrato de <literal>Set</literal>. Ver el sitio web de
"
-"Hibernate para una discusión completa de este problema. Observa que esto no "
-"es una incidencia de Hibernate, sino la semántica normal de Java de "
-"identidad de objeto e igualdad."
+"están basados en el valor identificador, el código hash
"
+"podría cambiar, rompiendo el contrato de
<literal>Set</literal>. Ver "
+"el sitio web de Hibernate para una discusión completa de este "
+"problema. Observa que esto no es una incidencia de Hibernate, sino la "
+"semántica normal de Java de identidad de objeto e igualdad."
-#. Tag: para
-#: persistent_classes.xml:192
-#, no-c-format
+#: index.docbook:192
msgid ""
"We recommend implementing <literal>equals()</literal> and
<literal>hashCode()"
"</literal> using <emphasis>Business key equality</emphasis>.
Business key "
@@ -482,14 +504,13 @@
msgstr ""
"Recomendamos implementar <literal>equals()</literal> y
<literal>hashCode()</"
"literal> usando <emphasis>igualdad de clave de negocio (Business key
"
-"equality)</emphasis>. Igualdad de clave de negocio significa que el método
"
-"<literal>equals()</literal> compara sólo las propiedades que forman la
clave "
-"de negocio, una clave que podría identificar nuestra instancia en el mundo "
-"real (una clave candidata <emphasis>natural</emphasis>):"
+"equality)</emphasis>. Igualdad de clave de negocio significa que el
mé"
+"todo <literal>equals()</literal> compara sólo las
propiedades que "
+"forman la clave de negocio, una clave que podría identificar nuestra
"
+"instancia en el mundo real (una clave candidata <emphasis>natural</"
+"emphasis>):"
-#. Tag: programlisting
-#: persistent_classes.xml:200
-#, no-c-format
+#: index.docbook:200
msgid ""
"<![CDATA[public class Cat {\n"
"\n"
@@ -515,40 +536,55 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[public class Cat {\n"
+"\n"
+" ...\n"
+" public boolean equals(Object other) {\n"
+" if (this == other) return true;\n"
+" if ( !(other instanceof Cat) ) return false;\n"
+"\n"
+" final Cat cat = (Cat) other;\n"
+"\n"
+" if ( !cat.getLitterId().equals( getLitterId() ) ) return false;\n"
+" if ( !cat.getMother().equals( getMother() ) ) return false;\n"
+"\n"
+" return true;\n"
+" }\n"
+"\n"
+" public int hashCode() {\n"
+" int result;\n"
+" result = getMother().hashCode();\n"
+" result = 29 * result + getLitterId();\n"
+" return result;\n"
+" }\n"
+"\n"
+"}]]>"
-#. Tag: para
-#: persistent_classes.xml:202
-#, no-c-format
+#: index.docbook:202
msgid ""
"Note that a business key does not have to be as solid as a database primary "
"key candidate (see <xref
linkend=\"transactions-basics-identity\"/>). "
"Immutable or unique properties are usually good candidates for a business "
"key."
msgstr ""
-"Nota que una clave de negocio no tiene que ser tan sólida como una clave "
-"primaria candidata de base de datos (ver <xref
linkend=\"transactions-basics-"
-"identity\"/>). Las propiedades inmutables o únicas son usualmente buenas
"
-"candidatas para una clave de negocio."
+"Nota que una clave de negocio no tiene que ser tan sólida como una
"
+"clave primaria candidata de base de datos (ver <xref
linkend=\"transactions-"
+"basics-identity\"/>). Las propiedades inmutables o únicas son
"
+"usualmente buenas candidatas para una clave de negocio."
-#. Tag: title
-#: persistent_classes.xml:212
-#, no-c-format
+#: index.docbook:212
msgid "Dynamic models"
-msgstr "Modelos dinámicos"
+msgstr "Modelos dinámicos"
-#. Tag: emphasis
-#: persistent_classes.xml:215
-#, no-c-format
+#: index.docbook:215
msgid ""
"Note that the following features are currently considered experimental and "
"may change in the near future."
msgstr ""
-"Ten en cuenta que las siguientes funcionalidades están consideradas "
+"Ten en cuenta que las siguientes funcionalidades están consideradas
"
"actualmente experimentales y pueden cambiar en el futuro cercano."
-#. Tag: para
-#: persistent_classes.xml:219
-#, no-c-format
+#: index.docbook:219
msgid ""
"Persistent entities don't necessarily have to be represented as POJO classes
"
"or as JavaBean objects at runtime. Hibernate also supports dynamic models "
@@ -557,15 +593,14 @@
"write persistent classes, only mapping files."
msgstr ""
"Las entidades persistentes no necesariamente tienen que estar representadas "
-"como clases POJO o como objetos JavaBean en tiempo de ejecución. Hibernate "
-"soporta además modelos dinámicos (usando <literal>Map</literal>s de
"
-"<literal>Map</literal>s en tiempo de ejecución) y la representación de
"
-"entidades como árboles de DOM4J. Con este enfoque no escribes clases "
-"persistentes, sólo ficheros de mapeo."
+"como clases POJO o como objetos JavaBean en tiempo de ejecución. "
+"Hibernate soporta además modelos dinámicos (usando "
+"<literal>Map</literal>s de <literal>Map</literal>s en
tiempo de "
+"ejecución) y la representación de entidades como
á"
+"rboles de DOM4J. Con este enfoque no escribes clases persistentes,
só"
+"lo ficheros de mapeo."
-#. Tag: para
-#: persistent_classes.xml:227
-#, no-c-format
+#: index.docbook:227
msgid ""
"By default, Hibernate works in normal POJO mode. You may set a default "
"entity representation mode for a particular
<literal>SessionFactory</"
@@ -573,27 +608,23 @@
"option (see <xref
linkend=\"configuration-optional-properties\"/>."
msgstr ""
"Por defecto, Hibernate funciona en modo POJO normal. Puedes establecer una "
-"representación de entidad por defecto para una
<literal>SessionFactory</"
-"literal> en particular usando la opción de configuración "
-"<literal>default_entity_mode</literal> (ver <xref
linkend=\"configuration-"
-"optional-properties\"/>)."
+"representación de entidad por defecto para una "
+"<literal>SessionFactory</literal> en particular usando la
opción de "
+"configuración <literal>default_entity_mode</literal> (ver
<xref "
+"linkend=\"configuration-optional-properties\"/>)."
-#. Tag: para
-#: persistent_classes.xml:234
-#, no-c-format
+#: index.docbook:234
msgid ""
"The following examples demonstrates the representation using
<literal>Map</"
"literal>s. First, in the mapping file, an
<literal>entity-name</literal> has "
"to be declared instead of (or in addition to) a class name:"
msgstr ""
-"Los siguientes ejemplos demuestran la representación usando
<literal>Map</"
-"literal>s. Primero, en el fichero de mapeo, tiene que declararse un "
-"<literal>entity-name</literal> en vez de (o como agregado a) un nombre
de "
-"clase:"
+"Los siguientes ejemplos demuestran la representación usando "
+"<literal>Map</literal>s. Primero, en el fichero de mapeo, tiene que
"
+"declararse un <literal>entity-name</literal> en vez de (o como agregado
a) "
+"un nombre de clase:"
-#. Tag: programlisting
-#: persistent_classes.xml:240
-#, no-c-format
+#: index.docbook:240
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -629,34 +660,62 @@
" \n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class entity-name=\"Customer\">\n"
+"\n"
+" <id name=\"id\"\n"
+" type=\"long\"\n"
+" column=\"ID\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+"\n"
+" <property name=\"name\"\n"
+" column=\"NAME\"\n"
+" type=\"string\"/>\n"
+"\n"
+" <property name=\"address\"\n"
+" column=\"ADDRESS\"\n"
+" type=\"string\"/>\n"
+"\n"
+" <many-to-one name=\"organization\"\n"
+" column=\"ORGANIZATION_ID\"\n"
+" class=\"Organization\"/>\n"
+"\n"
+" <bag name=\"orders\"\n"
+" inverse=\"true\"\n"
+" lazy=\"false\"\n"
+" cascade=\"all\">\n"
+" <key column=\"CUSTOMER_ID\"/>\n"
+" <one-to-many class=\"Order\"/>\n"
+" </bag>\n"
+"\n"
+" </class>\n"
+" \n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: persistent_classes.xml:242
-#, no-c-format
+#: index.docbook:242
msgid ""
"Note that even though associations are declared using target class names, "
"the target type of an associations may also be a dynamic entity instead of a
"
"POJO."
msgstr ""
"Ten en cuenta que aunque las asociaciones se declaran usando nombres de "
-"clase objetivo, el tipo objetivo de una asociación puede ser además una "
-"entidad dinámica en vez de un POJO."
+"clase objetivo, el tipo objetivo de una asociación puede ser "
+"además una entidad dinámica en vez de un POJO."
-#. Tag: para
-#: persistent_classes.xml:249
-#, no-c-format
+#: index.docbook:249
msgid ""
"After setting the default entity mode to <literal>dynamic-map</literal>
for "
"the <literal>SessionFactory</literal>, we can at runtime work with
"
"<literal>Map</literal>s of <literal>Map</literal>s:"
msgstr ""
-"Después de establecer el modo de entidad por defecto a
<literal>dynamic-map</"
-"literal> para la <literal>SessionFactory</literal>, podemos trabajar
en "
-"tiempo de ejecución con <literal>Map</literal>s de
<literal>Map</literal>s:"
+"Después de establecer el modo de entidad por defecto a "
+"<literal>dynamic-map</literal> para la
<literal>SessionFactory</literal>, "
+"podemos trabajar en tiempo de ejecución con
<literal>Map</literal>s "
+"de <literal>Map</literal>s:"
-#. Tag: programlisting
-#: persistent_classes.xml:255
-#, no-c-format
+#: index.docbook:255
msgid ""
"<![CDATA[Session s = openSession();\n"
"Transaction tx = s.beginTransaction();\n"
@@ -680,10 +739,29 @@
"tx.commit();\n"
"s.close();]]>"
msgstr ""
+"<![CDATA[Session s = openSession();\n"
+"Transaction tx = s.beginTransaction();\n"
+"Session s = openSession();\n"
+"\n"
+"// Create a customer\n"
+"Map david = new HashMap();\n"
+"david.put(\"name\", \"David\");\n"
+"\n"
+"// Create an organization\n"
+"Map foobar = new HashMap();\n"
+"foobar.put(\"name\", \"Foobar Inc.\");\n"
+"\n"
+"// Link both\n"
+"david.put(\"organization\", foobar);\n"
+"\n"
+"// Save both\n"
+"s.save(\"Customer\", david);\n"
+"s.save(\"Organization\", foobar);\n"
+"\n"
+"tx.commit();\n"
+"s.close();]]>"
-#. Tag: para
-#: persistent_classes.xml:257
-#, no-c-format
+#: index.docbook:257
msgid ""
"The advantages of a dynamic mapping are quick turnaround time for "
"prototyping without the need for entity class implementation. However, you "
@@ -692,27 +770,23 @@
"can easily be normalized and sound, allowing to add a proper domain model "
"implementation on top later on."
msgstr ""
-"Las ventajas de un mapeo dinámico es rápido tiempo de ciclo de prototipado "
-"sin la necesidad de implementación de clases de entidad. Sin embargo, "
-"pierdes chequeo de tipos en tiempo de compilación y muy probablemente "
-"tratarás con muchas excepciones en tiempo de ejecución. Gracias al mapeo de "
-"Hibernate, el esquema de base de datos puede estar facilmente sano y "
-"normalizado, permitiendo agregar una implementación apropiada del modelo de "
-"dominio más tarde."
+"Las ventajas de un mapeo dinámico es rápido tiempo de ciclo
de "
+"prototipado sin la necesidad de implementación de clases de entidad.
"
+"Sin embargo, pierdes chequeo de tipos en tiempo de compilación y muy
"
+"probablemente tratarás con muchas excepciones en tiempo de "
+"ejecución. Gracias al mapeo de Hibernate, el esquema de base de datos
"
+"puede estar facilmente sano y normalizado, permitiendo agregar una "
+"implementación apropiada del modelo de dominio más
tarde."
-#. Tag: para
-#: persistent_classes.xml:265
-#, no-c-format
+#: index.docbook:265
msgid ""
"Entity representation modes can also be set on a per
<literal>Session</"
"literal> basis:"
msgstr ""
-"Los modos de representación de entidad pueden ser establecidos por "
+"Los modos de representación de entidad pueden ser establecidos por
"
"<literal>Session</literal>:"
-#. Tag: programlisting
-#: persistent_classes.xml:270
-#, no-c-format
+#: index.docbook:270
msgid ""
"<![CDATA[Session dynamicSession =
pojoSession.getSession(EntityMode.MAP);\n"
"\n"
@@ -727,10 +801,20 @@
"// Continue on pojoSession\n"
"]]>"
msgstr ""
+"<![CDATA[Session dynamicSession =
pojoSession.getSession(EntityMode.MAP);\n"
+"\n"
+"// Create a customer\n"
+"Map david = new HashMap();\n"
+"david.put(\"name\", \"David\");\n"
+"dynamicSession.save(\"Customer\", david);\n"
+"...\n"
+"dynamicSession.flush();\n"
+"dynamicSession.close()\n"
+"...\n"
+"// Continue on pojoSession\n"
+"]]>"
-#. Tag: para
-#: persistent_classes.xml:273
-#, no-c-format
+#: index.docbook:273
msgid ""
"Please note that the call to <literal>getSession()</literal> using an
"
"<literal>EntityMode</literal> is on the
<literal>Session</literal> API, not "
@@ -742,33 +826,28 @@
"primary unit of work."
msgstr ""
"Por favor, ten en cuenta que la llamada a
<literal>getSession()</literal> "
-"usando un <literal>EntityMode</literal> está en la API de
<literal>Session</"
-"literal>, no en la de <literal>SessionFactory</literal>. De esta
forma, la "
-"nueva <literal>Session</literal> comparte la conexión JDBC, transacción
y "
-"otra información de contexto. Esto significa que no tienes que llamar a "
-"<literal>flush()</literal> ni a <literal>close()</literal>
en la "
-"<literal>Session</literal> secundaria, y tembién dejar el manejo de la
"
-"transacción y de la conexión a la unidad de trabajo primaria."
+"usando un <literal>EntityMode</literal> está en la API de
"
+"<literal>Session</literal>, no en la de
<literal>SessionFactory</literal>. "
+"De esta forma, la nueva <literal>Session</literal> comparte la
conexió"
+"n JDBC, transacción y otra información de contexto. Esto
"
+"significa que no tienes que llamar a <literal>flush()</literal> ni a
"
+"<literal>close()</literal> en la <literal>Session</literal>
secundaria, y "
+"tembién dejar el manejo de la transacción y de la "
+"conexión a la unidad de trabajo primaria."
-#. Tag: para
-#: persistent_classes.xml:283
-#, no-c-format
+#: index.docbook:283
msgid ""
"More information about the XML representation capabilities can be found in "
"<xref linkend=\"xml\"/>."
msgstr ""
-"Puede encontrarse más información sobre las capacidades de representación "
-"XML en <xref linkend=\"xml\"/>."
+"Puede encontrarse más información sobre las capacidades de
"
+"representación XML en <xref linkend=\"xml\"/>."
-#. Tag: title
-#: persistent_classes.xml:291
-#, no-c-format
+#: index.docbook:291
msgid "Tuplizers"
msgstr "UNTRANSLATED!!! Tuplizers"
-#. Tag: para
-#: persistent_classes.xml:293
-#, no-c-format
+#: index.docbook:293
msgid ""
"<literal>org.hibernate.tuple.Tuplizer</literal>, and its
sub-interfaces, are "
"responsible for managing a particular representation of a piece of data, "
@@ -800,9 +879,7 @@
"managing the above mentioned contracts in regards to entities, while "
"<literal>ComponentTuplizer</literal>s do the same for
components."
-#. Tag: para
-#: persistent_classes.xml:308
-#, no-c-format
+#: index.docbook:308
msgid ""
"Users may also plug in their own tuplizers. Perhaps you require that a "
"<literal>java.util.Map</literal> implementation other than
<literal>java."
@@ -822,9 +899,7 @@
"component mapping they are meant to manage. Going back to the example of our
"
"customer entity:"
-#. Tag: programlisting
-#: persistent_classes.xml:317
-#, no-c-format
+#: index.docbook:317
msgid ""
"<![CDATA[<hibernate-mapping>\n"
" <class entity-name=\"Customer\">\n"
@@ -862,12 +937,57 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+" <class
entity-name=\"Customer\">\n"
+" <!--\n"
+" Override the dynamic-map entity-"
+"mode\n"
+" tuplizer for the customer entity\n"
+" -->\n"
+" <tuplizer
entity-mode=\"dynamic-map\"\n"
+"
class=\"CustomMapTuplizerImpl"
+"\"/>\n"
+" \n"
+" <id name=\"id\"
type=\"long\" column=\"ID"
+"\">\n"
+" <generator
class=\"sequence\"/>\n"
+" </id>\n"
+" \n"
+" <!-- other properties -->\n"
+" ...\n"
+" </class>\n"
+" </hibernate-mapping>\n"
+" \n"
+" \n"
+" public class CustomMapTuplizerImpl\n"
+" extends org.hibernate.tuple.entity."
+"DynamicMapEntityTuplizer {\n"
+" // override the buildInstantiator() method to plug in "
+"our custom map...\n"
+" protected final Instantiator buildInstantiator(\n"
+" org.hibernate.mapping.PersistentClass mappingInfo) {\n"
+" return new CustomMapInstantiator( mappingInfo );\n"
+" }\n"
+" \n"
+" private static final class CustomMapInstantiator\n"
+" extends org.hibernate.tuple.DynamicMapInstantitor {\n"
+" // override the generateMap() method to return our "
+"custom map...\n"
+" protected final Map generateMap() {\n"
+" return new CustomMap();\n"
+" }\n"
+" }\n"
+" }]]>"
-#. Tag: para
-#: persistent_classes.xml:322
-#, no-c-format
+#: index.docbook:322
msgid ""
"TODO: Document user-extension framework in the property and proxy packages"
msgstr ""
"PORHACER: Documentar el framework de extensiones del usuario en los paquetes
"
"de propiedad y proxies."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/preface.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/preface.po 2007-11-02
00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/preface.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: preface.xml:21
-#, no-c-format
+#: index.docbook:21
msgid "Preface"
msgstr "Prefacio"
-#. Tag: para
-#: preface.xml:23
-#, no-c-format
+#: index.docbook:23
msgid ""
"Working with object-oriented software and a relational database can be "
"cumbersome and time consuming in today's enterprise environments. Hibernate
"
@@ -28,30 +19,26 @@
"based schema."
msgstr ""
"Trabajar con software orientado a objetos y una base de datos relacional "
-"puede ser incómodo y consumir tiempo en los entornos de empresa de hoy. "
-"Hibernate es una herramienta de mapeo objeto/relacional para entornos Java. "
-"El término mapeo objeto/relacional (MOR) hace referencia a la técnica de "
-"mapear una representación de datos desde un modelo de objetos a un modelo de
"
-"datos relacional con un esquema basado en SQL."
+"puede ser incómodo y consumir tiempo en los entornos de empresa de
"
+"hoy. Hibernate es una herramienta de mapeo objeto/relacional para entornos "
+"Java. El término mapeo objeto/relacional (MOR) hace referencia a la
"
+"técnica de mapear una representación de datos desde un modelo
"
+"de objetos a un modelo de datos relacional con un esquema basado en SQL."
-#. Tag: para
-#: preface.xml:31
-#, no-c-format
+#: index.docbook:31
msgid ""
"Hibernate not only takes care of the mapping from Java classes to database "
"tables (and from Java data types to SQL data types), but also provides data "
"query and retrieval facilities and can significantly reduce development time
"
"otherwise spent with manual data handling in SQL and JDBC."
msgstr ""
-"Hibernate no sólo se encarga de mapear de clases Java a tablas de base de "
-"datos (y de tipos de datos de Java a tipos de datos SQL), sino que también "
-"provee facilidades de consulta y recuperación de datos y puede reducir "
-"significativamente el tiempo de desarrollo que de otra forma se gasta en el "
-"manejo de los datos en SQL y JDBC."
+"Hibernate no sólo se encarga de mapear de clases Java a tablas de
"
+"base de datos (y de tipos de datos de Java a tipos de datos SQL), sino que "
+"también provee facilidades de consulta y recuperación de
datos "
+"y puede reducir significativamente el tiempo de desarrollo que de otra forma
"
+"se gasta en el manejo de los datos en SQL y JDBC."
-#. Tag: para
-#: preface.xml:38
-#, no-c-format
+#: index.docbook:38
msgid ""
"Hibernates goal is to relieve the developer from 95 percent of common data "
"persistence related programming tasks. Hibernate may not be the best "
@@ -63,18 +50,17 @@
"translation from a tabular representation to a graph of objects."
msgstr ""
"La meta de Hibernate es relevar al desarrollador del 95 por ciento de las "
-"tareas comunes relacionadas a la programación de la persistencia de los "
-"datos. Hibernate puede no ser la mejor solución para aplicaciones que usan "
-"solamente procedimientos almacenados para implementar la lógica de negocio "
-"en la base de datos, es mas útil con modelos de dominio orientados a objetos
"
-"y lógica de negocio en middle-tier basada en Java. Sin embargo, Hibernate "
-"ciertamente puede ayudarte a quitar o encapsular código SQL específico de "
-"vendedor y ayudará con la tarea común de traducción de resultados desde una "
-"representación tabular a un grafo de objetos."
+"tareas comunes relacionadas a la programación de la persistencia de
"
+"los datos. Hibernate puede no ser la mejor solución para aplicaciones
"
+"que usan solamente procedimientos almacenados para implementar la
ló"
+"gica de negocio en la base de datos, es mas útil con modelos de "
+"dominio orientados a objetos y lógica de negocio en middle-tier "
+"basada en Java. Sin embargo, Hibernate ciertamente puede ayudarte a quitar o
"
+"encapsular código SQL específico de vendedor y
ayudará "
+"con la tarea común de traducción de resultados desde una
"
+"representación tabular a un grafo de objetos."
-#. Tag: para
-#: preface.xml:48
-#, no-c-format
+#: index.docbook:48
msgid ""
"If you are new to Hibernate and Object/Relational Mapping or even Java, "
"please follow these steps:"
@@ -82,9 +68,7 @@
"Si eres nuevo en Hibernate y lo del Mapeo Objeto/Relacional o incluso en "
"Java, sigue por favor estos pasos:"
-#. Tag: para
-#: preface.xml:55
-#, no-c-format
+#: index.docbook:55
msgid ""
"Read <xref linkend=\"tutorial\"/> for a tutorial with step-by-step
"
"instructions. The source code for the tutorial is included in the "
@@ -93,9 +77,7 @@
"Lee <xref linkend=\"quickstart\"/> para un tutorial de 30 minutos,
usando "
"Tomcat."
-#. Tag: para
-#: preface.xml:63
-#, no-c-format
+#: index.docbook:63
msgid ""
"Read <xref linkend=\"architecture\"/> to understand the
environments where "
"Hibernate can be used."
@@ -103,9 +85,7 @@
"Lee <xref linkend=\"architecture\"/> para entender los entornos en
los que "
"puede ser usado Hibernate."
-#. Tag: para
-#: preface.xml:69
-#, no-c-format
+#: index.docbook:69
msgid ""
"Have a look at the <literal>eg/</literal> directory in the Hibernate
"
"distribution, it contains a simple standalone application. Copy your JDBC "
@@ -114,17 +94,15 @@
"From a command prompt in the distribution directory, type <literal>ant
eg</"
"literal> (using Ant), or under Windows, type <literal>build
eg</literal>."
msgstr ""
-"Dale una mirada al directorio <literal>eg/</literal> en la distribución
de "
-"Hibernate, contiene una aplicación independiente simple. Copia tu driver "
-"JDBC al directorio <literal>lib/</literal> y edita
<literal>etc/hibernate."
-"properties</literal>, especificando los valores correctos para tu base de
"
-"datos. Desde línea de comandos en el directorio de la distribución, tipea "
-"<literal>ant eg</literal> (usando Ant), o bajo Windows, tipea
<literal>build "
-"eg</literal>."
+"Dale una mirada al directorio <literal>eg/</literal> en la
distribució"
+"n de Hibernate, contiene una aplicación independiente simple. Copia
"
+"tu driver JDBC al directorio <literal>lib/</literal> y edita
<literal>etc/"
+"hibernate.properties</literal>, especificando los valores correctos para tu
"
+"base de datos. Desde línea de comandos en el directorio de la "
+"distribución, tipea <literal>ant eg</literal> (usando Ant),
o bajo "
+"Windows, tipea <literal>build eg</literal>."
-#. Tag: para
-#: preface.xml:80
-#, no-c-format
+#: index.docbook:80
msgid ""
"Use this reference documentation as your primary source of information. "
"Consider reading <emphasis>Java Persistence with Hibernate</emphasis>
"
@@ -133,22 +111,19 @@
"caveatemptor.hibernate.org and download the example application for Java "
"Persistence with Hibernate."
msgstr ""
-"Usa esta documentación de referencia como tu fuente de información primaria.
"
-"Ten en consideración leer <emphasis>Java Persistence with
Hibernate</"
-"emphasis> (
http://www.manning.com/bauer2) si necesitas mas ayuda con el "
-"diseño de aplicaciones o si prefieres un tutorial paso a paso. Visita "
-"también
http://caveatemptor.hibernate.org y descarga la aplicación de "
-"ejemplo para Java Persistence with Hibernate."
+"Usa esta documentación de referencia como tu fuente de "
+"información primaria. Ten en consideración leer
<emphasis>Java "
+"Persistence with Hibernate</emphasis> (
http://www.manning.com/bauer2) si
"
+"necesitas mas ayuda con el diseño de aplicaciones o si prefieres un
"
+"tutorial paso a paso. Visita también
http://caveatemptor.hibernate."
+"org y descarga la aplicación de ejemplo para Java Persistence with
"
+"Hibernate."
-#. Tag: para
-#: preface.xml:90
-#, no-c-format
+#: index.docbook:90
msgid "FAQs are answered on the Hibernate website."
msgstr "Los FAQs son respondidos en el sitio web de Hibernate."
-#. Tag: para
-#: preface.xml:95
-#, no-c-format
+#: index.docbook:95
msgid ""
"Third party demos, examples, and tutorials are linked on the Hibernate "
"website."
@@ -156,21 +131,17 @@
"En el sitio web de Hibernate hay enlaces a demos de terceros, ejemplos y "
"tutoriales."
-#. Tag: para
-#: preface.xml:101
-#, no-c-format
+#: index.docbook:101
msgid ""
"The Community Area on the Hibernate website is a good resource for design "
"patterns and various integration solutions (Tomcat, JBoss AS, Struts, EJB, "
"etc.)."
msgstr ""
"El Area de Comunidad en el sitio web de Hibernate es una buena fuente de "
-"patrones de diseño y varias soluciones de integración (Tomcat, JBoss, "
-"Struts, EJB, etc.)."
+"patrones de diseño y varias soluciones de integración
(Tomcat, "
+"JBoss, Struts, EJB, etc.)."
-#. Tag: para
-#: preface.xml:109
-#, no-c-format
+#: index.docbook:109
msgid ""
"If you have questions, use the user forum linked on the Hibernate website. "
"We also provide a JIRA issue trackings system for bug reports and feature "
@@ -179,15 +150,13 @@
"documentation into your language, contact us on the developer mailing list."
msgstr ""
"Si tienes preguntas, usa el foro de usuarios enlazado en el sitio web de "
-"Hibernate. También proveemos un sistema de seguimiento JIRA para reportes de
"
-"defectos y peticiones de nuevas características. Si estas interesado en el "
-"desarrollo de Hibernate, únete a la lista de correo de desarrolladores. Si "
-"estas interesado en traducir esta documentación a tu lenguaje, contáctanos "
-"en la lista de correo de desarrolladores."
+"Hibernate. También proveemos un sistema de seguimiento JIRA para "
+"reportes de defectos y peticiones de nuevas características. Si estas
"
+"interesado en el desarrollo de Hibernate, únete a la lista de correo
"
+"de desarrolladores. Si estas interesado en traducir esta
documentació"
+"n a tu lenguaje, contáctanos en la lista de correo de
desarrolladores."
-#. Tag: para
-#: preface.xml:117
-#, no-c-format
+#: index.docbook:117
msgid ""
"Commercial development support, production support, and training for "
"Hibernate is available through JBoss Inc. (see
http://www.hibernate.org/"
@@ -195,7 +164,14 @@
"critical component of the JBoss Enterprise Middleware System (JEMS) suite of
"
"products."
msgstr ""
-"A través de JBoss Inc. (see
http://www.hibernate.org/SupportTraining/) hay "
-"disponibilidad de soporte comercial de desarrollo, soporte de producción y "
-"entrenamiento en Hibernate. Hibernate es un proyecto de la suite de "
-"productos de código abierto JBoss Professional."
+"A través de JBoss Inc. (see
http://www.hibernate.org/"
+"SupportTraining/) hay disponibilidad de soporte comercial de desarrollo, "
+"soporte de producción y entrenamiento en Hibernate. Hibernate es un
"
+"proyecto de la suite de productos de código abierto JBoss "
+"Professional."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified:
core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_criteria.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_criteria.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_criteria.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,38 +1,25 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: query_criteria.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Criteria Queries"
msgstr "Consultas por Criterios"
-#. Tag: para
-#: query_criteria.xml:7
-#, no-c-format
+#: index.docbook:7
msgid "Hibernate features an intuitive, extensible criteria query API."
msgstr ""
-"Acompaña a Hibernate una API de consultas por criterios intuitiva y "
+"Acompaña a Hibernate una API de consultas por criterios intuitiva y
"
"extensible."
-#. Tag: title
-#: query_criteria.xml:12
-#, no-c-format
+#: index.docbook:12
msgid "Creating a <literal>Criteria</literal> instance"
msgstr "Creando una instancia de <literal>Criteria</literal>"
-#. Tag: para
-#: query_criteria.xml:14
-#, no-c-format
+#: index.docbook:14
msgid ""
"The interface <literal>org.hibernate.Criteria</literal> represents a
query "
"against a particular persistent class. The <literal>Session</literal>
is a "
@@ -40,26 +27,23 @@
msgstr ""
"La interface <literal>org.hibernate.Criteria</literal> representa una
"
"consulta contra una clase persistente en particular. La
<literal>Session</"
-"literal> es una fábrica de instancias de
<literal>Criteria</literal>."
+"literal> es una fábrica de instancias de
<literal>Criteria</literal>."
-#. Tag: programlisting
-#: query_criteria.xml:20
-#, no-c-format
+#: index.docbook:20
msgid ""
"<![CDATA[Criteria crit = sess.createCriteria(Cat.class);\n"
"crit.setMaxResults(50);\n"
"List cats = crit.list();]]>"
msgstr ""
+"<![CDATA[Criteria crit = sess.createCriteria(Cat.class);\n"
+"crit.setMaxResults(50);\n"
+"List cats = crit.list();]]>"
-#. Tag: title
-#: query_criteria.xml:25
-#, no-c-format
+#: index.docbook:25
msgid "Narrowing the result set"
msgstr "Estrechando el conjunto resultado"
-#. Tag: para
-#: query_criteria.xml:27
-#, no-c-format
+#: index.docbook:27
msgid ""
"An individual query criterion is an instance of the interface
<literal>org."
"hibernate.criterion.Criterion</literal>. The class
<literal>org.hibernate."
@@ -68,28 +52,27 @@
msgstr ""
"Un criterio individual de consulta es una instancia de la interface "
"<literal>org.hibernate.criterion.Criterion</literal>. La clase
<literal>org."
-"hibernate.criterion.Restrictions</literal> define métodos de fábrica para
"
-"obtener ciertos tipos prefabricados de
<literal>Criterion</literal>."
+"hibernate.criterion.Restrictions</literal> define métodos de
fá"
+"brica para obtener ciertos tipos prefabricados de
<literal>Criterion</"
+"literal>."
-#. Tag: programlisting
-#: query_criteria.xml:35
-#, no-c-format
+#: index.docbook:35
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
" .add( Restrictions.between(\"weight\", minWeight, maxWeight)
)\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
+" .add( Restrictions.between(\"weight\", minWeight, maxWeight)
)\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:37
-#, no-c-format
+#: index.docbook:37
msgid "Restrictions may be grouped logically."
-msgstr "Las restricciones pueden ser agrupadas lógicamente."
+msgstr "Las restricciones pueden ser agrupadas lógicamente."
-#. Tag: programlisting
-#: query_criteria.xml:41
-#, no-c-format
+#: index.docbook:41
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
@@ -99,10 +82,15 @@
" ) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
+" .add( Restrictions.or(\n"
+" Restrictions.eq( \"age\", new Integer(0) ),\n"
+" Restrictions.isNull(\"age\")\n"
+" ) )\n"
+" .list();]]>"
-#. Tag: programlisting
-#: query_criteria.xml:43
-#, no-c-format
+#: index.docbook:43
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.in( \"name\", new String[] { \"Fritz\",
\"Izi\", \"Pk"
@@ -115,10 +103,18 @@
" ) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .add( Restrictions.in( \"name\", new String[] { \"Fritz\",
\"Izi\", \"Pk"
+"\" } ) )\n"
+" .add( Restrictions.disjunction()\n"
+" .add( Restrictions.isNull(\"age\") )\n"
+" .add( Restrictions.eq(\"age\", new Integer(0) ) )\n"
+" .add( Restrictions.eq(\"age\", new Integer(1) ) )\n"
+" .add( Restrictions.eq(\"age\", new Integer(2) ) )\n"
+" ) )\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:45
-#, no-c-format
+#: index.docbook:45
msgid ""
"There are quite a range of built-in criterion types
(<literal>Restrictions</"
"literal> subclasses), but one that is especially useful lets you specify SQL
"
@@ -128,29 +124,27 @@
"<literal>Restrictions</literal>), pero uno que es especialmente útil te
deja "
"especificar SQL directamente."
-#. Tag: programlisting
-#: query_criteria.xml:50
-#, no-c-format
+#: index.docbook:50
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.sqlRestriction(\"lower({alias}.name) like
lower(?)\", "
"\"Fritz%\", Hibernate.STRING) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .add( Restrictions.sql(\"lower({alias}.name) like lower(?)\",
\"Fritz%"
+"\", Hibernate.STRING) )\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:52
-#, no-c-format
+#: index.docbook:52
msgid ""
"The <literal>{alias}</literal> placeholder with be replaced by the row
alias "
"of the queried entity."
msgstr ""
-"El sitio <literal>{alias}</literal> será remplazado por el alias de
fila de "
-"la entidad consultada."
+"El sitio <literal>{alias}</literal> será remplazado por el
alias de "
+"fila de la entidad consultada."
-#. Tag: para
-#: query_criteria.xml:57
-#, no-c-format
+#: index.docbook:57
msgid ""
"An alternative approach to obtaining a criterion is to get it from a "
"<literal>Property</literal> instance. You can create a
<literal>Property</"
@@ -160,9 +154,7 @@
"de <literal>Property</literal>. Puedes crear una
<literal>Property</literal> "
"llamando a <literal>Property.forName()</literal>."
-#. Tag: programlisting
-#: query_criteria.xml:63
-#, no-c-format
+#: index.docbook:63
msgid ""
"<![CDATA[\n"
"Property age = Property.forName(\"age\");\n"
@@ -177,16 +169,24 @@
"\"Pk\" } ) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[\n"
+"Property age = Property.forName(\"age\");\n"
+"List cats = sess.createCriteria(Cat.class)\n"
+" .add( Restrictions.disjunction()\n"
+" .add( age.isNull() )\n"
+" .add( age.eq( new Integer(0) ) )\n"
+" .add( age.eq( new Integer(1) ) )\n"
+" .add( age.eq( new Integer(2) ) )\n"
+" ) )\n"
+" .add( Property.forName(\"name\").in( new String[] {
\"Fritz\", \"Izi\", "
+"\"Pk\" } ) )\n"
+" .list();]]>"
-#. Tag: title
-#: query_criteria.xml:68
-#, no-c-format
+#: index.docbook:68
msgid "Ordering the results"
msgstr "Ordenando los resultados"
-#. Tag: para
-#: query_criteria.xml:70
-#, no-c-format
+#: index.docbook:70
msgid ""
"You may order the results using
<literal>org.hibernate.criterion.Order</"
"literal>."
@@ -194,9 +194,7 @@
"Puedes ordenar los resultados usando
<literal>org.hibernate.criterion.Order</"
"literal>."
-#. Tag: programlisting
-#: query_criteria.xml:74
-#, no-c-format
+#: index.docbook:74
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"F%\")\n"
@@ -205,10 +203,14 @@
" .setMaxResults(50)\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .add( Restrictions.like(\"name\", \"F%\")\n"
+" .addOrder( Order.asc(\"name\") )\n"
+" .addOrder( Order.desc(\"age\") )\n"
+" .setMaxResults(50)\n"
+" .list();]]>"
-#. Tag: programlisting
-#: query_criteria.xml:76
-#, no-c-format
+#: index.docbook:76
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Property.forName(\"name\").like(\"F%\") )\n"
@@ -217,26 +219,27 @@
" .setMaxResults(50)\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .add( Property.forName(\"name\").like(\"F%\") )\n"
+" .addOrder( Property.forName(\"name\").asc() )\n"
+" .addOrder( Property.forName(\"age\").desc() )\n"
+" .setMaxResults(50)\n"
+" .list();]]>"
-#. Tag: title
-#: query_criteria.xml:81
-#, no-c-format
+#: index.docbook:81
msgid "Associations"
msgstr "Asociaciones"
-#. Tag: para
-#: query_criteria.xml:83
-#, no-c-format
+#: index.docbook:83
msgid ""
"You may easily specify constraints upon related entities by navigating "
"associations using <literal>createCriteria()</literal>."
msgstr ""
-"Puedes especificar fácilmente restricciones sobre las entidades relacionadas
"
-"al navegar asociaciones usando
<literal>createCriteria()</literal>."
+"Puedes especificar fácilmente restricciones sobre las entidades "
+"relacionadas al navegar asociaciones usando
<literal>createCriteria()</"
+"literal>."
-#. Tag: programlisting
-#: query_criteria.xml:88
-#, no-c-format
+#: index.docbook:88
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"F%\") )\n"
@@ -244,10 +247,13 @@
" .add( Restrictions.like(\"name\", \"F%\") )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .add( Restrictions.like(\"name\", \"F%\")\n"
+" .createCriteria(\"kittens\")\n"
+" .add( Restrictions.like(\"name\", \"F%\")\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:90
-#, no-c-format
+#: index.docbook:90
msgid ""
"note that the second <literal>createCriteria()</literal> returns a new
"
"instance of <literal>Criteria</literal>, which refers to the elements
of the "
@@ -255,17 +261,13 @@
msgstr ""
"nota que el segundo <literal>createCriteria()</literal> devuelve una
nueva "
"instancia de <literal>Criteria</literal>, que hace referencia a los
"
-"elementos de la colección <literal>kittens</literal>."
+"elementos de la colección <literal>kittens</literal>."
-#. Tag: para
-#: query_criteria.xml:96
-#, no-c-format
+#: index.docbook:96
msgid "The following, alternate form is useful in certain circumstances."
msgstr "La siguiente forma alternativa es útil en ciertas circunstancias."
-#. Tag: programlisting
-#: query_criteria.xml:100
-#, no-c-format
+#: index.docbook:100
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .createAlias(\"kittens\", \"kt\")\n"
@@ -273,10 +275,13 @@
" .add( Restrictions.eqProperty(\"kt.name\", \"mt.name\")
)\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .createAlias(\"kittens\", \"kt\")\n"
+" .createAlias(\"mate\", \"mt\")\n"
+" .add( Restrictions.eqProperty(\"kt.name\", \"mt.name\")
)\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:102
-#, no-c-format
+#: index.docbook:102
msgid ""
"(<literal>createAlias()</literal> does not create a new instance of
"
"<literal>Criteria</literal>.)"
@@ -284,24 +289,20 @@
"(<literal>createAlias()</literal> no crea una nueva instancia de
"
"<literal>Criteria</literal>.)"
-#. Tag: para
-#: query_criteria.xml:107
-#, no-c-format
+#: index.docbook:107
msgid ""
"Note that the kittens collections held by the <literal>Cat</literal>
"
"instances returned by the previous two queries are
<emphasis>not</emphasis> "
"pre-filtered by the criteria! If you wish to retrieve just the kittens that "
"match the criteria, you must use a
<literal>ResultTransformer</literal>."
msgstr ""
-"¡Observa que las colecciones de gatitos tenidas por las instancias de "
+"¡Observa que las colecciones de gatitos tenidas por las instancias de
"
"<literal>Cat</literal> devueltas por las dos consultas previas
<emphasis>no</"
-"emphasis> están prefiltradas por los criterios! Si deseas recuperar sólo los
"
-"gatitos que emparejen los criterios, debes usar
<literal>returnMaps()</"
-"literal>."
+"emphasis> están prefiltradas por los criterios! Si deseas recuperar
"
+"sólo los gatitos que emparejen los criterios, debes usar "
+"<literal>returnMaps()</literal>."
-#. Tag: programlisting
-#: query_criteria.xml:114
-#, no-c-format
+#: index.docbook:114
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .createCriteria(\"kittens\", \"kt\")\n"
@@ -315,26 +316,32 @@
" Cat kitten = (Cat) map.get(\"kt\");\n"
"}]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .createCriteria(\"kittens\", \"kt\")\n"
+" .add( Restrictions.eq(\"name\", \"F%\") )\n"
+" .returnMaps()\n"
+" .list();\n"
+"Iterator iter = cats.iterator();\n"
+"while ( iter.hasNext() ) {\n"
+" Map map = (Map) iter.next();\n"
+" Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS);\n"
+" Cat kitten = (Cat) map.get(\"kt\");\n"
+"}]]>"
-#. Tag: title
-#: query_criteria.xml:119
-#, no-c-format
+#: index.docbook:119
msgid "Dynamic association fetching"
-msgstr "Recuperación dinámica de asociaciones"
+msgstr "Recuperación dinámica de asociaciones"
-#. Tag: para
-#: query_criteria.xml:121
-#, no-c-format
+#: index.docbook:121
msgid ""
"You may specify association fetching semantics at runtime using "
"<literal>setFetchMode()</literal>."
msgstr ""
-"Puedes especificar la semántica de recuperación de asociaciones en tiempo de
"
-"ejecución usando <literal>setFetchMode()</literal>."
+"Puedes especificar la semántica de recuperación de "
+"asociaciones en tiempo de ejecución usando
<literal>setFetchMode()</"
+"literal>."
-#. Tag: programlisting
-#: query_criteria.xml:126
-#, no-c-format
+#: index.docbook:126
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
@@ -342,28 +349,27 @@
" .setFetchMode(\"kittens\", FetchMode.EAGER)\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
+" .setFetchMode(\"mate\", FetchMode.EAGER)\n"
+" .setFetchMode(\"kittens\", FetchMode.EAGER)\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:128
-#, no-c-format
+#: index.docbook:128
msgid ""
"This query will fetch both <literal>mate</literal> and
<literal>kittens</"
"literal> by outer join. See <xref
linkend=\"performance-fetching\"/> for "
"more information."
msgstr ""
-"Esta consulta recuperará tanto <literal>mate</literal> como "
-"<literal>kittens</literal> por unión exterior (outer join). Ver
<xref "
-"linkend=\"performance-fetching\"/> para más información."
+"Esta consulta recuperará tanto <literal>mate</literal> como
"
+"<literal>kittens</literal> por unión exterior (outer join).
Ver <xref "
+"linkend=\"performance-fetching\"/> para más
información."
-#. Tag: title
-#: query_criteria.xml:136
-#, no-c-format
+#: index.docbook:136
msgid "Example queries"
msgstr "Consultas por ejemplos"
-#. Tag: para
-#: query_criteria.xml:138
-#, no-c-format
+#: index.docbook:138
msgid ""
"The class <literal>org.hibernate.criterion.Example</literal> allows you
to "
"construct a query criterion from a given instance."
@@ -371,9 +377,7 @@
"La clase <literal>org.hibernate.criterion.Example</literal> te permite
"
"construir un criterio de consulta a partir de una instancia dada."
-#. Tag: programlisting
-#: query_criteria.xml:143
-#, no-c-format
+#: index.docbook:143
msgid ""
"<![CDATA[Cat cat = new Cat();\n"
"cat.setSex('F');\n"
@@ -382,26 +386,27 @@
" .add( Example.create(cat) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[Cat cat = new Cat();\n"
+"cat.setSex('F');\n"
+"cat.setColor(Color.BLACK);\n"
+"List results = session.createCriteria(Cat.class)\n"
+" .add( Example.create(cat) )\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:145
-#, no-c-format
+#: index.docbook:145
msgid ""
"Version properties, identifiers and associations are ignored. By default, "
"null valued properties are excluded."
msgstr ""
-"Las propiedades de versión, los identificadores y las asociaciones son "
-"ignorados. Por defecto, las propiedades valuadas a nulo son excluídas."
+"Las propiedades de versión, los identificadores y las asociaciones
"
+"son ignorados. Por defecto, las propiedades valuadas a nulo son
excluí"
+"das."
-#. Tag: para
-#: query_criteria.xml:150
-#, no-c-format
+#: index.docbook:150
msgid "You can adjust how the <literal>Example</literal> is
applied."
-msgstr "Puedes ajustar cómo se aplica el
<literal>Example</literal>."
+msgstr "Puedes ajustar cómo se aplica el
<literal>Example</literal>."
-#. Tag: programlisting
-#: query_criteria.xml:154
-#, no-c-format
+#: index.docbook:154
msgid ""
"<![CDATA[Example example = Example.create(cat)\n"
" .excludeZeroes() //exclude zero valued properties\n"
@@ -413,17 +418,22 @@
" .add(example)\n"
" .list();]]>"
msgstr ""
+"<![CDATA[Example example = Example.create(cat)\n"
+" .excludeZeroes() //exclude zero valued properties\n"
+" .excludeProperty(\"color\") //exclude the property named
\"color\"\n"
+" .ignoreCase() //perform case insensitive string "
+"comparisons\n"
+" .enableLike(); //use like for string comparisons\n"
+"List results = session.createCriteria(Cat.class)\n"
+" .add(example)\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:156
-#, no-c-format
+#: index.docbook:156
msgid "You can even use examples to place criteria upon associated objects."
msgstr ""
"Puedes incluso usar ejemplos para colocar criterios sobre objetos asociados."
-#. Tag: programlisting
-#: query_criteria.xml:160
-#, no-c-format
+#: index.docbook:160
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .add( Example.create(cat) )\n"
@@ -431,38 +441,40 @@
" .add( Example.create( cat.getMate() ) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+" .add( Example.create(cat) )\n"
+" .createCriteria(\"mate\")\n"
+" .add( Example.create( cat.getMate() ) )\n"
+" .list();]]>"
-#. Tag: title
-#: query_criteria.xml:165
-#, no-c-format
+#: index.docbook:165
msgid "Projections, aggregation and grouping"
-msgstr "Proyecciones, agregación y agrupamiento"
+msgstr "Proyecciones, agregación y agrupamiento"
-#. Tag: para
-#: query_criteria.xml:166
-#, no-c-format
+#: index.docbook:166
msgid ""
"The class <literal>org.hibernate.criterion.Projections</literal> is a
"
"factory for <literal>Projection</literal> instances. We apply a
projection "
"to a query by calling <literal>setProjection()</literal>."
msgstr ""
"La clase <literal>org.hibernate.criterion.Projections</literal> es una
"
-"fábrica de instancias de <literal>Projection</literal>. Aplicamos una
"
-"proyección a una consulta llamando a
<literal>setProjection()</literal>."
+"fábrica de instancias de <literal>Projection</literal>.
Aplicamos una "
+"proyección a una consulta llamando a
<literal>setProjection()</"
+"literal>."
-#. Tag: programlisting
-#: query_criteria.xml:172
-#, no-c-format
+#: index.docbook:172
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.rowCount() )\n"
" .add( Restrictions.eq(\"color\", Color.BLACK) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+" .setProjection( Projections.rowCount() )\n"
+" .add( Restrictions.eq(\"color\", Color.BLACK) )\n"
+" .list();]]>"
-#. Tag: programlisting
-#: query_criteria.xml:174
-#, no-c-format
+#: index.docbook:174
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.projectionList()\n"
@@ -473,35 +485,37 @@
" )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+" .setProjection( Projections.projectionList()\n"
+" .add( Projections.rowCount() )\n"
+" .add( Projections.avg(\"weight\") )\n"
+" .add( Projections.max(\"weight\") )\n"
+" .add( Projections.groupProperty(\"color\") )\n"
+" )\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:176
-#, no-c-format
+#: index.docbook:176
msgid ""
"There is no explicit \"group by\" necessary in a criteria query. Certain
"
"projection types are defined to be <emphasis>grouping projections</"
"emphasis>, which also appear in the SQL <literal>group by</literal>
clause."
msgstr ""
-"No es necesario ningún \"group by\" explícito en una consulta por
criterios. "
-"Ciertos tipos de proyecciones son definidos para ser <emphasis>proyecciones
"
-"agrupadas</emphasis>, que además aparecen en la cláusula SQL
<literal>group "
-"by</literal>."
+"No es necesario ningún \"group by\" explícito en una consulta
por "
+"criterios. Ciertos tipos de proyecciones son definidos para ser "
+"<emphasis>proyecciones agrupadas</emphasis>, que además
aparecen en "
+"la cláusula SQL <literal>group by</literal>."
-#. Tag: para
-#: query_criteria.xml:182
-#, no-c-format
+#: index.docbook:182
msgid ""
"An alias may optionally be assigned to a projection, so that the projected "
"value may be referred to in restrictions or orderings. Here are two "
"different ways to do this:"
msgstr ""
-"Puede opcionalmente asignarse un alias a una proyección, de modo que el "
-"valor proyectado pueda ser referido en restricciones u ordenamientos. Aquí "
-"hay dos formas diferentes de hacer esto:"
+"Puede opcionalmente asignarse un alias a una proyección, de modo que
"
+"el valor proyectado pueda ser referido en restricciones u ordenamientos. "
+"Aquí hay dos formas diferentes de hacer esto:"
-#. Tag: programlisting
-#: query_criteria.xml:188
-#, no-c-format
+#: index.docbook:188
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.alias(
Projections.groupProperty(\"color\"), "
@@ -509,34 +523,37 @@
" .addOrder( Order.asc(\"colr\") )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+" .setProjection( Projections.alias(
Projections.groupProperty(\"color\"), "
+"\"colr\" ) )\n"
+" .addOrder( Order.asc(\"colr\") )\n"
+" .list();]]>"
-#. Tag: programlisting
-#: query_criteria.xml:190
-#, no-c-format
+#: index.docbook:190
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection(
Projections.groupProperty(\"color\").as(\"colr\") )\n"
" .addOrder( Order.asc(\"colr\") )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+" .setProjection(
Projections.groupProperty(\"color\").as(\"colr\") )\n"
+" .addOrder( Order.asc(\"colr\") )\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:192
-#, no-c-format
+#: index.docbook:192
msgid ""
"The <literal>alias()</literal> and <literal>as()</literal>
methods simply "
"wrap a projection instance in another, aliased, instance of "
"<literal>Projection</literal>. As a shortcut, you can assign an alias
when "
"you add the projection to a projection list:"
msgstr ""
-"Los métodos <literal>alias()</literal> y
<literal>as()</literal> simplemente "
-"envuelven una instancia de proyección en otra instancia de "
-"<literal>Projection</literal> con alias. Como un atajo, puedes asignar
un "
-"alias cuando agregas la proyección a una lista de proyecciones:"
+"Los métodos <literal>alias()</literal> y
<literal>as()</literal> "
+"simplemente envuelven una instancia de proyección en otra instancia
"
+"de <literal>Projection</literal> con alias. Como un atajo, puedes
asignar un "
+"alias cuando agregas la proyección a una lista de proyecciones:"
-#. Tag: programlisting
-#: query_criteria.xml:199
-#, no-c-format
+#: index.docbook:199
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.projectionList()\n"
@@ -549,10 +566,18 @@
" .addOrder( Order.desc(\"avgWeight\") )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+" .setProjection( Projections.projectionList()\n"
+" .add( Projections.rowCount(), \"catCountByColor\" )\n"
+" .add( Projections.avg(\"weight\"), \"avgWeight\"
)\n"
+" .add( Projections.max(\"weight\"), \"maxWeight\"
)\n"
+" .add( Projections.groupProperty(\"color\"), \"color\"
)\n"
+" )\n"
+" .addOrder( Order.desc(\"catCountByColor\") )\n"
+" .addOrder( Order.desc(\"avgWeight\") )\n"
+" .list();]]>"
-#. Tag: programlisting
-#: query_criteria.xml:201
-#, no-c-format
+#: index.docbook:201
msgid ""
"<![CDATA[List results = session.createCriteria(Domestic.class,
\"cat\")\n"
" .createAlias(\"kittens\", \"kit\")\n"
@@ -564,30 +589,37 @@
" .addOrder( Order.asc(\"kitName\") )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List results = session.createCriteria(Domestic.class,
\"cat\")\n"
+" .createAlias(\"kittens\", \"kit\")\n"
+" .setProjection( Projections.projectionList()\n"
+" .add( Projections.property(\"cat.name\"), \"catName\"
)\n"
+" .add( Projections.property(\"kit.name\"), \"kitName\"
)\n"
+" )\n"
+" .addOrder( Order.asc(\"catName\") )\n"
+" .addOrder( Order.asc(\"kitName\") )\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:203
-#, no-c-format
+#: index.docbook:203
msgid ""
"You can also use <literal>Property.forName()</literal> to express
"
"projections:"
msgstr ""
-"Puedes también usar <literal>Property.forName()</literal> para expresar
"
-"proyecciones:"
+"Puedes también usar <literal>Property.forName()</literal>
para "
+"expresar proyecciones:"
-#. Tag: programlisting
-#: query_criteria.xml:207
-#, no-c-format
+#: index.docbook:207
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Property.forName(\"name\") )\n"
" .add( Property.forName(\"color\").eq(Color.BLACK) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+" .setProjection( Property.forName(\"name\") )\n"
+" .add( Property.forName(\"color\").eq(Color.BLACK) )\n"
+" .list();]]>"
-#. Tag: programlisting
-#: query_criteria.xml:209
-#, no-c-format
+#: index.docbook:209
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.projectionList()\n"
@@ -600,28 +632,32 @@
" .addOrder( Order.desc(\"avgWeight\") )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+" .setProjection( Projections.projectionList()\n"
+" .add( Projections.rowCount().as(\"catCountByColor\") )\n"
+" .add(
Property.forName(\"weight\").avg().as(\"avgWeight\") )\n"
+" .add(
Property.forName(\"weight\").max().as(\"maxWeight\") )\n"
+" .add( Property.forName(\"color\").group().as(\"color\"
)\n"
+" )\n"
+" .addOrder( Order.desc(\"catCountByColor\") )\n"
+" .addOrder( Order.desc(\"avgWeight\") )\n"
+" .list();]]>"
-#. Tag: title
-#: query_criteria.xml:214
-#, no-c-format
+#: index.docbook:214
msgid "Detached queries and subqueries"
msgstr "Consultas y subconsultas separadas"
-#. Tag: para
-#: query_criteria.xml:215
-#, no-c-format
+#: index.docbook:215
msgid ""
"The <literal>DetachedCriteria</literal> class lets you create a query
"
"outside the scope of a session, and then later execute it using some "
"arbitrary <literal>Session</literal>."
msgstr ""
"La clase <literal>DetachedCriteria</literal> te deja crear una consulta
"
-"fuera del ámbito de una sesión, y entonces ejecutarla luego usando alguna "
-"<literal>Session</literal> arbitraria."
+"fuera del ámbito de una sesión, y entonces ejecutarla luego
"
+"usando alguna <literal>Session</literal> arbitraria."
-#. Tag: programlisting
-#: query_criteria.xml:220
-#, no-c-format
+#: index.docbook:220
msgid ""
"<![CDATA[DetachedCriteria query = DetachedCriteria.forClass(Cat.class)\n"
" .add( Property.forName(\"sex\").eq('F') );\n"
@@ -633,22 +669,28 @@
"txn.commit();\n"
"session.close();]]>"
msgstr ""
+"<![CDATA[DetachedCriteria query = DetachedCriteria.forClass(Cat.class)\n"
+" .add( Property.forName(\"sex\").eq('F') );\n"
+" \n"
+"Session session = ....;\n"
+"Transaction txn = session.beginTransaction();\n"
+"List results = query.getExecutableCriteria(session).setMaxResults(100).list"
+"();\n"
+"txn.commit();\n"
+"session.close();]]>"
-#. Tag: para
-#: query_criteria.xml:222
-#, no-c-format
+#: index.docbook:222
msgid ""
"A <literal>DetachedCriteria</literal> may also be used to express a
"
"subquery. Criterion instances involving subqueries may be obtained via "
"<literal>Subqueries</literal> or
<literal>Property</literal>."
msgstr ""
-"También una <literal>DetachedCriteria</literal> puede usarse para
expresar "
-"una subconsulta. Las instancias de Criterion implicando subconsultas pueden "
-"obtenerse vía <literal>Subqueries</literal> o
<literal>Property</literal>."
+"También una <literal>DetachedCriteria</literal> puede usarse
para "
+"expresar una subconsulta. Las instancias de Criterion implicando "
+"subconsultas pueden obtenerse vía
<literal>Subqueries</literal> o "
+"<literal>Property</literal>."
-#. Tag: programlisting
-#: query_criteria.xml:228
-#, no-c-format
+#: index.docbook:228
msgid ""
"<![CDATA[DetachedCriteria avgWeight =
DetachedCriteria.forClass(Cat.class)\n"
" .setProjection( Property.forName(\"weight\").avg() );\n"
@@ -656,10 +698,13 @@
" .add( Property.forName(\"weight\").gt(avgWeight) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[DetachedCriteria avgWeight =
DetachedCriteria.forClass(Cat.class)\n"
+" .setProjection( Property.forName(\"weight\").avg() );\n"
+"session.createCriteria(Cat.class)\n"
+" .add( Property.forName(\"weight\").gt(avgWeight) )\n"
+" .list();]]>"
-#. Tag: programlisting
-#: query_criteria.xml:230
-#, no-c-format
+#: index.docbook:230
msgid ""
"<![CDATA[DetachedCriteria weights =
DetachedCriteria.forClass(Cat.class)\n"
" .setProjection( Property.forName(\"weight\") );\n"
@@ -667,16 +712,17 @@
" .add( Subqueries.geAll(\"weight\", weights) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[DetachedCriteria weights =
DetachedCriteria.forClass(Cat.class)\n"
+" .setProjection( Property.forName(\"weight\") );\n"
+"session.createCriteria(Cat.class)\n"
+" .add( Subqueries.geAll(\"weight\", weights) )\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:232
-#, no-c-format
+#: index.docbook:232
msgid "Even correlated subqueries are possible:"
msgstr "Incluso son posibles las subconsultas correlacionadas:"
-#. Tag: programlisting
-#: query_criteria.xml:236
-#, no-c-format
+#: index.docbook:236
msgid ""
"<![CDATA[DetachedCriteria avgWeightForSex =
DetachedCriteria.forClass(Cat."
"class, \"cat2\")\n"
@@ -686,16 +732,19 @@
" .add( Property.forName(\"weight\").gt(avgWeightForSex) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[DetachedCriteria avgWeightForSex =
DetachedCriteria.forClass(Cat."
+"class, \"cat2\")\n"
+" .setProjection( Property.forName(\"weight\").avg() )\n"
+" .add(
Property.forName(\"cat2.sex\").eqProperty(\"cat.sex\") );\n"
+"session.createCriteria(Cat.class, \"cat\")\n"
+" .add( Property.forName(\"weight\").gt(avgWeightForSex) )\n"
+" .list();]]>"
-#. Tag: title
-#: query_criteria.xml:245
-#, no-c-format
+#: index.docbook:245
msgid "Queries by natural identifier"
msgstr "Consultas por identificador natural"
-#. Tag: para
-#: query_criteria.xml:247
-#, no-c-format
+#: index.docbook:247
msgid ""
"For most queries, including criteria queries, the query cache is not very "
"efficient, because query cache invalidation occurs too frequently. However, "
@@ -704,27 +753,25 @@
"applications, this kind of query occurs frequently. The criteria API "
"provides special provision for this use case."
msgstr ""
-"Para la mayoría de consultas, incluyendo las consultas por criterios, el "
-"caché de consulta no es muy eficiente, debido a que la invalidación del "
-"caché de consulta ocurre demasiado frecuentemente. Sin embargo, hay un tipo "
-"especial de consulta donde podemos optimizar el algoritmo de invalidación de
"
-"caché: búsquedas por una clave natural constante. En algunas aplicaciones, "
-"este tipo de consulta, ocurre frecuentemente. La API de criterios brinda "
-"especial provisión para este caso de uso."
+"Para la mayoría de consultas, incluyendo las consultas por criterios,
"
+"el caché de consulta no es muy eficiente, debido a que la "
+"invalidación del caché de consulta ocurre demasiado "
+"frecuentemente. Sin embargo, hay un tipo especial de consulta donde podemos "
+"optimizar el algoritmo de invalidación de caché: búsquedas
por "
+"una clave natural constante. En algunas aplicaciones, este tipo de consulta,
"
+"ocurre frecuentemente. La API de criterios brinda especial provisión
"
+"para este caso de uso."
-#. Tag: para
-#: query_criteria.xml:255
-#, no-c-format
+#: index.docbook:255
msgid ""
"First, you should map the natural key of your entity using
<literal><"
"natural-id></literal>, and enable use of the second-level
cache."
msgstr ""
"Primero, debes mapear la clave natural de tu entidad usando
<literal><"
-"natural-id></literal>, y habilitar el uso del caché de segundo
nivel."
+"natural-id></literal>, y habilitar el uso del caché de
segundo "
+"nivel."
-#. Tag: programlisting
-#: query_criteria.xml:260
-#, no-c-format
+#: index.docbook:260
msgid ""
"<![CDATA[<class name=\"User\">\n"
" <cache usage=\"read-write\"/>\n"
@@ -738,36 +785,39 @@
" <property name=\"password\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"User\">\n"
+" <cache usage=\"read-write\"/>\n"
+" <id name=\"id\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" <natural-id>\n"
+" <property name=\"name\"/>\n"
+" <property name=\"org\"/>\n"
+" </natural-id>\n"
+" <property name=\"password\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: query_criteria.xml:262
-#, no-c-format
+#: index.docbook:262
msgid ""
"Note that this functionality is not intended for use with entities with "
"<emphasis>mutable</emphasis> natural keys."
msgstr ""
-"Nota que esta funcionalidad no está pensada para uso con entidades con "
-"claves naturales <emphasis>mutable</emphasis>."
+"Nota que esta funcionalidad no está pensada para uso con entidades
"
+"con claves naturales <emphasis>mutable</emphasis>."
-#. Tag: para
-#: query_criteria.xml:267
-#, no-c-format
+#: index.docbook:267
msgid "Next, enable the Hibernate query cache."
-msgstr "Seguido, habilita el caché de consulta de Hibernate."
+msgstr "Seguido, habilita el caché de consulta de Hibernate."
-#. Tag: para
-#: query_criteria.xml:271
-#, no-c-format
+#: index.docbook:271
msgid ""
"Now, <literal>Restrictions.naturalId()</literal> allows us to make use
of "
"the more efficient cache algorithm."
msgstr ""
"Ahora, <literal>Restrictions.naturalId()</literal> nos permite hacer
uso de "
-"el algoritmo de caché más eficiente."
+"el algoritmo de caché más eficiente."
-#. Tag: programlisting
-#: query_criteria.xml:276
-#, no-c-format
+#: index.docbook:276
msgid ""
"<![CDATA[session.createCriteria(User.class)\n"
" .add( Restrictions.naturalId()\n"
@@ -776,3 +826,15 @@
" ).setCacheable(true)\n"
" .uniqueResult();]]>"
msgstr ""
+"<![CDATA[session.createCriteria(User.class)\n"
+" .add( Restrictions.naturalId()\n"
+" .set(\"name\", \"gavin\")\n"
+" .set(\"org\", \"hb\") \n"
+" ).setCacheable(true)\n"
+" .uniqueResult();]]>"
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_hql.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_hql.po 2007-11-02
00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_hql.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,44 +1,32 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: query_hql.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "HQL: The Hibernate Query Language"
msgstr "HQL: El Lenguaje de Consulta de Hibernate"
-#. Tag: para
-#: query_hql.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"Hibernate is equipped with an extremely powerful query language that (quite "
"intentionally) looks very much like SQL. But don't be fooled by the syntax;
"
"HQL is fully object-oriented, understanding notions like inheritence, "
"polymorphism and association."
msgstr ""
-"Hibernate está equipado con un lenguaje de consulta extremadamente potente "
-"que (intencionalmente en absoluto) se parece muchísimo a SQL. Pero no te "
-"engañes por la sintaxis; HQL es completamente orientado a objetos, "
-"entendiendo nociones como herencia, polimorfismo y asociación."
+"Hibernate está equipado con un lenguaje de consulta extremadamente
"
+"potente que (intencionalmente en absoluto) se parece muchísimo a SQL.
"
+"Pero no te engañes por la sintaxis; HQL es completamente orientado a
"
+"objetos, entendiendo nociones como herencia, polimorfismo y
asociació"
+"n."
-#. Tag: title
-#: query_hql.xml:14
-#, no-c-format
+#: index.docbook:14
msgid "Case Sensitivity"
-msgstr "Sensibilidad a Mayúsculas"
+msgstr "Sensibilidad a Mayúsculas"
-#. Tag: para
-#: query_hql.xml:16
-#, no-c-format
+#: index.docbook:16
msgid ""
"Queries are case-insensitive, except for names of Java classes and "
"properties. So <literal>SeLeCT</literal> is the same as
<literal>sELEct</"
@@ -46,46 +34,37 @@
"eg.FOO</literal> is not <literal>org.hibernate.eg.Foo</literal>
and "
"<literal>foo.barSet</literal> is not
<literal>foo.BARSET</literal>."
msgstr ""
-"Las consultas son insensibles a mayúsculas, excepto para nombres de clases "
-"Java y propiedades. De modo que <literal>SeLeCT</literal> es lo mismo
que "
-"<literal>sELEct</literal> e igual a
<literal>SELECT</literal>, pero "
+"Las consultas son insensibles a mayúsculas, excepto para nombres de
"
+"clases Java y propiedades. De modo que <literal>SeLeCT</literal> es lo
mismo "
+"que <literal>sELEct</literal> e igual a
<literal>SELECT</literal>, pero "
"<literal>org.hibernate.eg.FOO</literal> no lo es a
<literal>org.hibernate.eg."
"Foo</literal> y <literal>foo.barSet</literal> no es igual a
<literal>foo."
"BARSET</literal>."
-#. Tag: para
-#: query_hql.xml:27
-#, no-c-format
+#: index.docbook:27
msgid ""
"This manual uses lowercase HQL keywords. Some users find queries with "
"uppercase keywords more readable, but we find this convention ugly when "
"embedded in Java code."
msgstr ""
-"Este manual usa palabras clave HQL en minúsculas. Algunos usuarios "
-"encuentran las consultas con palabras clave en mayúsculas más leíbles, pero "
-"encontramos esta convención fea cuando se encaja en código Java."
+"Este manual usa palabras clave HQL en minúsculas. Algunos usuarios
"
+"encuentran las consultas con palabras clave en mayúsculas más
"
+"leíbles, pero encontramos esta convención fea cuando se
encaja "
+"en código Java."
-#. Tag: title
-#: query_hql.xml:35
-#, no-c-format
+#: index.docbook:35
msgid "The from clause"
-msgstr "La cláusula from"
+msgstr "La cláusula from"
-#. Tag: para
-#: query_hql.xml:37
-#, no-c-format
+#: index.docbook:37
msgid "The simplest possible Hibernate query is of the form:"
-msgstr "La consulta más simple posible de Hibernate es de la forma:"
+msgstr "La consulta más simple posible de Hibernate es de la
forma:"
-#. Tag: programlisting
-#: query_hql.xml:41
-#, no-c-format
+#: index.docbook:41
msgid "<![CDATA[from eg.Cat]]>"
-msgstr ""
+msgstr "<![CDATA[from eg.Cat]]>"
-#. Tag: para
-#: query_hql.xml:43
-#, no-c-format
+#: index.docbook:43
msgid ""
"which simply returns all instances of the class
<literal>eg.Cat</literal>. "
"We don't usually need to qualify the class name, since
<literal>auto-import</"
@@ -93,156 +72,121 @@
msgstr ""
"que simplemente devuelve todas las instancias de la clase
<literal>eg.Cat</"
"literal>. Usualmente no necesitamos cualificar el nombre de la clase, ya que
"
-"<literal>auto-import</literal> está por defecto. De modo que casi
siempre "
-"escribimos solamente:"
+"<literal>auto-import</literal> está por defecto. De modo que
casi "
+"siempre escribimos solamente:"
-#. Tag: programlisting
-#: query_hql.xml:49
-#, no-c-format
+#: index.docbook:49
msgid "<![CDATA[from Cat]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat]]>"
-#. Tag: para
-#: query_hql.xml:51
-#, no-c-format
+#: index.docbook:51
msgid ""
"Most of the time, you will need to assign an
<emphasis>alias</emphasis>, "
"since you will want to refer to the <literal>Cat</literal> in other
parts of "
"the query."
msgstr ""
-"La mayoría del tiempo, necesitarás asignar un
<emphasis>alias</emphasis>, ya "
-"que querrás referirte al <literal>Cat</literal> en otras partes de la
"
-"consulta."
+"La mayoría del tiempo, necesitarás asignar un
<emphasis>alias</"
+"emphasis>, ya que querrás referirte al
<literal>Cat</literal> en "
+"otras partes de la consulta."
-#. Tag: programlisting
-#: query_hql.xml:57 query_hql.xml:372
-#, no-c-format
+#: index.docbook:57, index.docbook:372
msgid "<![CDATA[from Cat as cat]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat as cat]]>"
-#. Tag: para
-#: query_hql.xml:59
-#, no-c-format
+#: index.docbook:59
msgid ""
"This query assigns the alias <literal>cat</literal> to
<literal>Cat</"
"literal> instances, so we could use that alias later in the query. The "
"<literal>as</literal> keyword is optional; we could also write:"
msgstr ""
"Esta consulta asigna el alias <literal>cat</literal> a las instancias
de "
-"<literal>Cat</literal>, de modo que podríamos usar ese alias luego en
la "
-"consulta. La palabra clave <literal>as</literal> es opcional; también
"
-"podríamos escribir:"
+"<literal>Cat</literal>, de modo que podríamos usar ese alias
luego en "
+"la consulta. La palabra clave <literal>as</literal> es opcional;
"
+"también podríamos escribir:"
-#. Tag: programlisting
-#: query_hql.xml:65
-#, no-c-format
+#: index.docbook:65
msgid "<![CDATA[from Cat cat]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat]]>"
-#. Tag: para
-#: query_hql.xml:67
-#, no-c-format
+#: index.docbook:67
msgid ""
"Multiple classes may appear, resulting in a cartesian product or
\"cross\" "
"join."
msgstr ""
-"Pueden aparecer múltiples clases, resultando en un producto cartesiano o "
-"unión \"cruzada\" (cross join)."
+"Pueden aparecer múltiples clases, resultando en un producto "
+"cartesiano o unión \"cruzada\" (cross join)."
-#. Tag: programlisting
-#: query_hql.xml:71
-#, no-c-format
+#: index.docbook:71
msgid "<![CDATA[from Formula, Parameter]]>"
-msgstr ""
+msgstr "<![CDATA[from Formula, Parameter]]>"
-#. Tag: programlisting
-#: query_hql.xml:72
-#, no-c-format
+#: index.docbook:72
msgid "<![CDATA[from Formula as form, Parameter as param]]>"
-msgstr ""
+msgstr "<![CDATA[from Formula as form, Parameter as param]]>"
-#. Tag: para
-#: query_hql.xml:74
-#, no-c-format
+#: index.docbook:74
msgid ""
"It is considered good practice to name query aliases using an initial "
"lowercase, consistent with Java naming standards for local variables (eg. "
"<literal>domesticCat</literal>)."
msgstr ""
-"Se considera buena práctica el nombrar los alias de consulta usando una "
-"inicial en minúsculas, consistente con los estándares de nombrado de Java "
-"para variables locales (por ejemplo,
<literal>domesticCat</literal>)."
+"Se considera buena práctica el nombrar los alias de consulta usando
"
+"una inicial en minúsculas, consistente con los estándares de
"
+"nombrado de Java para variables locales (por ejemplo,
<literal>domesticCat</"
+"literal>)."
-#. Tag: title
-#: query_hql.xml:83
-#, no-c-format
+#: index.docbook:83
msgid "Associations and joins"
msgstr "Asociaciones y uniones (joins)"
-#. Tag: para
-#: query_hql.xml:85
-#, no-c-format
+#: index.docbook:85
msgid ""
"We may also assign aliases to associated entities, or even to elements of a "
"collection of values, using a <literal>join</literal>."
msgstr ""
-"Podemos también asignar aliases a entidades asociadas, e incluso a elementos
"
-"de una colección de valores, usando una <literal>join</literal>."
+"Podemos también asignar aliases a entidades asociadas, e incluso a
"
+"elementos de una colección de valores, usando una
<literal>join</"
+"literal>."
-#. Tag: programlisting
-#: query_hql.xml:90
-#, no-c-format
+#: index.docbook:90
msgid ""
"<![CDATA[from Cat as cat\n"
" inner join cat.mate as mate\n"
" left outer join cat.kittens as kitten]]>"
msgstr ""
+"<![CDATA[from Cat as cat \n"
+" inner join cat.mate as mate\n"
+" left outer join cat.kittens as kitten]]>"
-#. Tag: programlisting
-#: query_hql.xml:92
-#, no-c-format
+#: index.docbook:92
msgid "<![CDATA[from Cat as cat left join cat.mate.kittens as
kittens]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat as cat left join cat.mate.kittens as
kittens]]>"
-#. Tag: programlisting
-#: query_hql.xml:94
-#, no-c-format
+#: index.docbook:94
msgid "<![CDATA[from Formula form full join form.parameter param]]>"
-msgstr ""
+msgstr "<![CDATA[from Formula form full join form.parameter param]]>"
-#. Tag: para
-#: query_hql.xml:96
-#, no-c-format
+#: index.docbook:96
msgid "The supported join types are borrowed from ANSI SQL"
msgstr "Los tipos de join soportados son prestados de ANSI SQL"
-#. Tag: literal
-#: query_hql.xml:103
-#, no-c-format
+#: index.docbook:103
msgid "inner join"
msgstr "inner join"
-#. Tag: literal
-#: query_hql.xml:108
-#, no-c-format
+#: index.docbook:108
msgid "left outer join"
msgstr "left outer join"
-#. Tag: literal
-#: query_hql.xml:113
-#, no-c-format
+#: index.docbook:113
msgid "right outer join"
msgstr "right outer join"
-#. Tag: para
-#: query_hql.xml:117
-#, no-c-format
+#: index.docbook:117
msgid "<literal>full join</literal> (not usually useful)"
-msgstr "<literal>full join</literal> (no útil usualmente)"
+msgstr "<literal>full join</literal> (no útil
usualmente)"
-#. Tag: para
-#: query_hql.xml:123
-#, no-c-format
+#: index.docbook:123
msgid ""
"The <literal>inner join</literal>, <literal>left outer
join</literal> and "
"<literal>right outer join</literal> constructs may be
abbreviated."
@@ -250,37 +194,35 @@
"Las construcciones <literal>inner join</literal>, <literal>left
outer join</"
"literal> y <literal>right outer join</literal> pueden ser
abreviadas."
-#. Tag: programlisting
-#: query_hql.xml:128
-#, no-c-format
+#: index.docbook:128
msgid ""
"<![CDATA[from Cat as cat\n"
" join cat.mate as mate\n"
" left join cat.kittens as kitten]]>"
msgstr ""
+"<![CDATA[from Cat as cat \n"
+" join cat.mate as mate\n"
+" left join cat.kittens as kitten]]>"
-#. Tag: para
-#: query_hql.xml:130
-#, no-c-format
+#: index.docbook:130
msgid ""
"You may supply extra join conditions using the HQL
<literal>with</literal> "
"keyword."
msgstr ""
-"Puedes proveer condiciones de unión extra usando la palabra clave "
+"Puedes proveer condiciones de unión extra usando la palabra clave
"
"<literal>with</literal> de HQL."
-#. Tag: programlisting
-#: query_hql.xml:135
-#, no-c-format
+#: index.docbook:135
msgid ""
"<![CDATA[from Cat as cat\n"
" left join cat.kittens as kitten\n"
" with kitten.bodyWeight > 10.0]]>"
msgstr ""
+"<![CDATA[from Cat as cat \n"
+" left join cat.kittens as kitten \n"
+" with kitten.bodyWeight > 10.0]]>"
-#. Tag: para
-#: query_hql.xml:137
-#, no-c-format
+#: index.docbook:137
msgid ""
"In addition, a \"fetch\" join allows associations or collections of
values "
"to be initialized along with their parent objects, using a single select. "
@@ -289,25 +231,25 @@
"associations and collections. See <xref
linkend=\"performance-fetching\"/> "
"for more information."
msgstr ""
-"En adición, un \"fetch\" join permite a las asociaciones o colecciones de
"
-"valores ser inicializadas junto a sus objetos padres, usando una sola "
-"selección. Esto es particularmente útil en el case de una colección. "
-"Efectivamente sobrescribe el outer join y las declaraciones perezosas (lazy)
"
-"del fichero de mapeo para asociaciones y colecciones. Ver <xref linkend="
-"\"performance-fetching\"/> para más información."
+"En adición, un \"fetch\" join permite a las asociaciones o
"
+"colecciones de valores ser inicializadas junto a sus objetos padres, usando "
+"una sola selección. Esto es particularmente útil en el case
de "
+"una colección. Efectivamente sobrescribe el outer join y las "
+"declaraciones perezosas (lazy) del fichero de mapeo para asociaciones y "
+"colecciones. Ver <xref linkend=\"performance-fetching\"/> para
más "
+"información."
-#. Tag: programlisting
-#: query_hql.xml:145
-#, no-c-format
+#: index.docbook:145
msgid ""
"<![CDATA[from Cat as cat\n"
" inner join fetch cat.mate\n"
" left join fetch cat.kittens]]>"
msgstr ""
+"<![CDATA[from Cat as cat \n"
+" inner join fetch cat.mate\n"
+" left join fetch cat.kittens]]>"
-#. Tag: para
-#: query_hql.xml:147
-#, no-c-format
+#: index.docbook:147
msgid ""
"A fetch join does not usually need to assign an alias, because the "
"associated objects should not be used in the <literal>where</literal>
clause "
@@ -316,26 +258,27 @@
"object. The only reason we might need an alias is if we are recursively join
"
"fetching a further collection:"
msgstr ""
-"Usualmente a un fetch join no se necesita asignársele un alias, porque los "
-"objetos asociados no deben ser usados en la cláusula
<literal>where</"
-"literal> (ni en cualquier otra cláusula). Además, los objetos asociados no
"
-"son devueltos directamente en los resultados de consulta. En cambio, pueden "
-"ser accedidos vía el objeto padre. La única razón por la que necesitaríamos "
-"un alias es estamos uniendo recursivamente otra colección:"
+"Usualmente a un fetch join no se necesita asignársele un alias, "
+"porque los objetos asociados no deben ser usados en la cláusula "
+"<literal>where</literal> (ni en cualquier otra cláusula).
Ademá"
+"s, los objetos asociados no son devueltos directamente en los resultados de "
+"consulta. En cambio, pueden ser accedidos vía el objeto padre. La
"
+"única razón por la que necesitaríamos un alias es
"
+"estamos uniendo recursivamente otra colección:"
-#. Tag: programlisting
-#: query_hql.xml:155
-#, no-c-format
+#: index.docbook:155
msgid ""
"<![CDATA[from Cat as cat\n"
" inner join fetch cat.mate\n"
" left join fetch cat.kittens child\n"
" left join fetch child.kittens]]>"
msgstr ""
+"<![CDATA[from Cat as cat \n"
+" inner join fetch cat.mate\n"
+" left join fetch cat.kittens child\n"
+" left join fetch child.kittens]]>"
-#. Tag: para
-#: query_hql.xml:157
-#, no-c-format
+#: index.docbook:157
msgid ""
"Note that the <literal>fetch</literal> construct may not be used in
queries "
"called using <literal>iterate()</literal> (though
<literal>scroll()</"
@@ -352,55 +295,48 @@
"join fetch</literal> and <literal>right join fetch</literal> are
not "
"meaningful."
msgstr ""
-"Nota que la construcción <literal>fetch</literal> no puede usarse en
"
+"Nota que la construcción <literal>fetch</literal> no puede
usarse en "
"consultas llamadas usando <literal>scroll()</literal> o
<literal>iterate()</"
"literal>. Ni debe usarse <literal>fetch</literal> junto con "
"<literal>setMaxResults()</literal> o
<literal>setFirstResult()</literal>. "
-"Tampoco puede usarse <literal>fetch</literal> junto a una condición
"
+"Tampoco puede usarse <literal>fetch</literal> junto a una
condición "
"<literal>with</literal> ad hoc. Es posible crear un producto cartesiano
"
-"trayendo por join más de una colección en una colección, así que ten cuidado
"
-"en este caso. Traer por join múltiples roles de colección también da a veces
"
-"resultados inesperados para mapeos de bag, así que sé cuidadoso sobre cómo "
+"trayendo por join más de una colección en una
colecció"
+"n, así que ten cuidado en este caso. Traer por join múltiples
"
+"roles de colección también da a veces resultados inesperados
"
+"para mapeos de bag, así que sé cuidadoso sobre
cómo "
"formular tus consultas en este caso. Finalmente, nota que <literal>full join
"
"fetch</literal> y <literal>right join fetch</literal> no son
significativos."
-#. Tag: para
-#: query_hql.xml:172
-#, no-c-format
+#: index.docbook:172
msgid ""
"If you are using property-level lazy fetching (with bytecode "
"instrumentation), it is possible to force Hibernate to fetch the lazy "
"properties immediately (in the first query) using <literal>fetch all "
"properties</literal>."
msgstr ""
-"Si estás usando recuperación perezosa a nivel de propiedad (con "
-"instrumentación de bytecode), es posible forzar a Hibernate a traer las "
-"propiedades perezosas inmediatamente (en la primera consulta) usando "
-"<literal>fetch all properties</literal>."
+"Si estás usando recuperación perezosa a nivel de propiedad
"
+"(con instrumentación de bytecode), es posible forzar a Hibernate a
"
+"traer las propiedades perezosas inmediatamente (en la primera consulta) "
+"usando <literal>fetch all properties</literal>."
-#. Tag: programlisting
-#: query_hql.xml:178
-#, no-c-format
+#: index.docbook:178
msgid "<![CDATA[from Document fetch all properties order by name]]>"
-msgstr ""
+msgstr "<![CDATA[from Document fetch all properties order by name]]>"
-#. Tag: programlisting
-#: query_hql.xml:179
-#, no-c-format
+#: index.docbook:179
msgid ""
"<![CDATA[from Document doc fetch all properties where lower(doc.name) like
'%"
"cats%']]>"
msgstr ""
+"<![CDATA[from Document doc fetch all properties where lower(doc.name) like
'%"
+"cats%']]>"
-#. Tag: title
-#: query_hql.xml:184
-#, no-c-format
+#: index.docbook:184
msgid "Forms of join syntax"
msgstr "UNTRANSLATED!!! Forms of join syntax"
-#. Tag: para
-#: query_hql.xml:186
-#, no-c-format
+#: index.docbook:186
msgid ""
"HQL supports two forms of association joining:
<literal>implicit</literal> "
"and <literal>explicit</literal>."
@@ -408,9 +344,7 @@
"HQL supports two forms of association joining:
<literal>implicit</literal> "
"and <literal>explicit</literal>."
-#. Tag: para
-#: query_hql.xml:190
-#, no-c-format
+#: index.docbook:190
msgid ""
"The queries shown in the previous section all use the
<literal>explicit</"
"literal> form where the join keyword is explicitly used in the from clause.
"
@@ -420,9 +354,7 @@
"literal> form where the join keyword is explicitly used in the from clause.
"
"This is the recommended form."
-#. Tag: para
-#: query_hql.xml:195
-#, no-c-format
+#: index.docbook:195
msgid ""
"The <literal>implicit</literal> form does not use the join keyword.
Instead, "
"the associations are \"dereferenced\" using dot-notation.
<literal>implicit</"
@@ -434,21 +366,15 @@
"literal> joins can appear in any of the HQL clauses.
<literal>implicit</"
"literal> join result in inner joins in the resulting SQL statement."
-#. Tag: programlisting
-#: query_hql.xml:202
-#, no-c-format
+#: index.docbook:202
msgid "<![CDATA[from Cat as cat where cat.mate.name like
'%s%']]>"
-msgstr ""
+msgstr "<![CDATA[from Cat as cat where cat.mate.name like
'%s%']]>"
-#. Tag: title
-#: query_hql.xml:206
-#, no-c-format
+#: index.docbook:206
msgid "Refering to identifier property"
msgstr "Refering to identifier property"
-#. Tag: para
-#: query_hql.xml:208
-#, no-c-format
+#: index.docbook:208
msgid ""
"There are, generally speaking, 2 ways to refer to an entity's identifier
"
"property:"
@@ -456,9 +382,7 @@
"There are, generally speaking, 2 ways to refer to an entity's identifier
"
"property:"
-#. Tag: para
-#: query_hql.xml:213
-#, no-c-format
+#: index.docbook:213
msgid ""
"The special property (lowercase) <literal>id</literal> may be used to
"
"reference the identifier property of an entity <emphasis>provided that
"
@@ -468,9 +392,7 @@
"reference the identifier property of an entity <emphasis>provided that
"
"entity does not define a non-identifier property named id</emphasis>."
-#. Tag: para
-#: query_hql.xml:220
-#, no-c-format
+#: index.docbook:220
msgid ""
"If the entity defines a named identifier property, you may use that property
"
"name."
@@ -478,9 +400,7 @@
"If the entity defines a named identifier property, you may use that property
"
"name."
-#. Tag: para
-#: query_hql.xml:226
-#, no-c-format
+#: index.docbook:226
msgid ""
"References to composite identifier properties follow the same naming rules. "
"If the entity has a non-identifier property named id, the composite "
@@ -494,9 +414,7 @@
"the special <literal>id</literal> property can be used to rerference
the "
"identifier property."
-#. Tag: para
-#: query_hql.xml:233
-#, fuzzy, no-c-format
+#: index.docbook:233
msgid ""
"Note: this has changed significantly starting in version 3.2.2. In previous "
"versions, <literal>id</literal> <emphasis>always</emphasis>
referred to the "
@@ -505,56 +423,47 @@
"could never be referenced in Hibernate queries."
msgstr ""
"Note: this has changed significantly starting in version 3.2.2. In previous "
-"versions, <literal>id</literal><emphasis>always</emphasis>
referred to the "
+"versions, <literal>id</literal> <emphasis>always</emphasis>
referred to the "
"identifier property no matter what its actual name. A ramification of that "
"decision was that non-identifier properties named <literal>id</literal>
"
"could never be referenced in Hibernate queries."
-#. Tag: title
-#: query_hql.xml:242
-#, no-c-format
+#: index.docbook:242
msgid "The select clause"
-msgstr "La cláusula select"
+msgstr "La cláusula select"
-#. Tag: para
-#: query_hql.xml:244
-#, no-c-format
+#: index.docbook:244
msgid ""
"The <literal>select</literal> clause picks which objects and properties
to "
"return in the query result set. Consider:"
msgstr ""
-"La cláusula <literal>select</literal> escoge qué objetos y propiedades
"
-"devolver in el conjunto resultado de la consulta. Considera:"
+"La cláusula <literal>select</literal> escoge qué
objetos y "
+"propiedades devolver in el conjunto resultado de la consulta. Considera:"
-#. Tag: programlisting
-#: query_hql.xml:249
-#, no-c-format
+#: index.docbook:249
msgid ""
"<![CDATA[select mate\n"
"from Cat as cat\n"
" inner join cat.mate as mate]]>"
msgstr ""
+"<![CDATA[select mate \n"
+"from Cat as cat \n"
+" inner join cat.mate as mate]]>"
-#. Tag: para
-#: query_hql.xml:251
-#, no-c-format
+#: index.docbook:251
msgid ""
"The query will select <literal>mate</literal>s of other
<literal>Cat</"
"literal>s. Actually, you may express this query more compactly as:"
msgstr ""
-"La consulta seleccionará <literal>mate</literal>s de otros
<literal>Cat</"
-"literal>s. Realmente, puedes expresar esta consulta en un forma más compacta
"
-"como:"
+"La consulta seleccionará <literal>mate</literal>s de otros
"
+"<literal>Cat</literal>s. Realmente, puedes expresar esta consulta en un
"
+"forma más compacta como:"
-#. Tag: programlisting
-#: query_hql.xml:256
-#, no-c-format
+#: index.docbook:256
msgid "<![CDATA[select cat.mate from Cat cat]]>"
-msgstr ""
+msgstr "<![CDATA[select cat.mate from Cat cat]]>"
-#. Tag: para
-#: query_hql.xml:258
-#, no-c-format
+#: index.docbook:258
msgid ""
"Queries may return properties of any value type including properties of "
"component type:"
@@ -562,75 +471,71 @@
"Las consultas pueden devolver propiedades de cualquier tipo de valor "
"incluyendo propiedades de tipo componente:"
-#. Tag: programlisting
-#: query_hql.xml:262
-#, no-c-format
+#: index.docbook:262
msgid ""
"<![CDATA[select cat.name from DomesticCat cat\n"
"where cat.name like 'fri%']]>"
msgstr ""
+"<![CDATA[select cat.name from DomesticCat cat\n"
+"where cat.name like 'fri%']]>"
-#. Tag: programlisting
-#: query_hql.xml:264
-#, no-c-format
+#: index.docbook:264
msgid "<![CDATA[select cust.name.firstName from Customer as cust]]>"
-msgstr ""
+msgstr "<![CDATA[select cust.name.firstName from Customer as cust]]>"
-#. Tag: para
-#: query_hql.xml:266
-#, no-c-format
+#: index.docbook:266
msgid ""
"Queries may return multiple objects and/or properties as an array of type "
"<literal>Object[]</literal>,"
msgstr ""
-"Las consultas pueden devolver múltiples objetos y/o propiedades como un "
-"array de tipo <literal>Object[]</literal>,"
+"Las consultas pueden devolver múltiples objetos y/o propiedades como
"
+"un array de tipo <literal>Object[]</literal>,"
-#. Tag: programlisting
-#: query_hql.xml:271
-#, no-c-format
+#: index.docbook:271
msgid ""
"<![CDATA[select mother, offspr, mate.name\n"
"from DomesticCat as mother\n"
" inner join mother.mate as mate\n"
" left outer join mother.kittens as offspr]]>"
msgstr ""
+"<![CDATA[select mother, offspr, mate.name \n"
+"from DomesticCat as mother\n"
+" inner join mother.mate as mate\n"
+" left outer join mother.kittens as offspr]]>"
-#. Tag: para
-#: query_hql.xml:273
-#, no-c-format
+#: index.docbook:273
msgid "or as a <literal>List</literal>,"
msgstr "o como una <literal>List</literal>,"
-#. Tag: programlisting
-#: query_hql.xml:277
-#, no-c-format
+#: index.docbook:277
msgid ""
"<![CDATA[select new list(mother, offspr, mate.name)\n"
"from DomesticCat as mother\n"
" inner join mother.mate as mate\n"
" left outer join mother.kittens as offspr]]>"
msgstr ""
+"<![CDATA[select new list(mother, offspr, mate.name)\n"
+"from DomesticCat as mother\n"
+" inner join mother.mate as mate\n"
+" left outer join mother.kittens as offspr]]>"
-#. Tag: para
-#: query_hql.xml:279
-#, no-c-format
+#: index.docbook:279
msgid "or as an actual typesafe Java object,"
msgstr "o como un objeto real Java de tipo seguro,"
-#. Tag: programlisting
-#: query_hql.xml:283
-#, no-c-format
+#: index.docbook:283
msgid ""
"<![CDATA[select new Family(mother, mate, offspr)\n"
"from DomesticCat as mother\n"
" join mother.mate as mate\n"
" left join mother.kittens as offspr]]>"
msgstr ""
+"<![CDATA[select new Family(mother, mate, offspr)\n"
+"from DomesticCat as mother\n"
+" join mother.mate as mate\n"
+" left join mother.kittens as offspr]]>"
-#. Tag: para
-#: query_hql.xml:285
-#, no-c-format
+#: index.docbook:285
msgid ""
"assuming that the class <literal>Family</literal> has an appropriate
"
"constructor."
@@ -638,161 +543,138 @@
"asumiendo que la clase <literal>Family</literal> tiene un constructor
"
"apropiado."
-#. Tag: para
-#: query_hql.xml:289
-#, no-c-format
+#: index.docbook:289
msgid ""
"You may assign aliases to selected expressions using
<literal>as</literal>:"
msgstr ""
"Puedes asignar aliases para seleccionar expresiones usando
<literal>as</"
"literal>:"
-#. Tag: programlisting
-#: query_hql.xml:293
-#, no-c-format
+#: index.docbook:293
msgid ""
"<![CDATA[select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as
"
"n\n"
"from Cat cat]]>"
msgstr ""
+"<![CDATA[select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as
"
+"n\n"
+"from Cat cat]]>"
-#. Tag: para
-#: query_hql.xml:295
-#, no-c-format
+#: index.docbook:295
msgid ""
"This is most useful when used together with <literal>select new
map</"
"literal>:"
msgstr ""
-"Esto es lo más útil cuando se usa junto con <literal>select new
map</"
-"literal>:"
+"Esto es lo más útil cuando se usa junto con
<literal>select "
+"new map</literal>:"
-#. Tag: programlisting
-#: query_hql.xml:299
-#, no-c-format
+#: index.docbook:299
msgid ""
"<![CDATA[select new map( max(bodyWeight) as max, min(bodyWeight) as min, "
"count(*) as n )\n"
"from Cat cat]]>"
msgstr ""
+"<![CDATA[select new map( max(bodyWeight) as max, min(bodyWeight) as min, "
+"count(*) as n )\n"
+"from Cat cat]]>"
-#. Tag: para
-#: query_hql.xml:301
-#, no-c-format
+#: index.docbook:301
msgid ""
"This query returns a <literal>Map</literal> from aliases to selected
values."
msgstr ""
"Esta consulta devuelve un <literal>Map</literal> de aliases a valores
"
"seleccionados."
-#. Tag: title
-#: query_hql.xml:308
-#, no-c-format
+#: index.docbook:308
msgid "Aggregate functions"
-msgstr "Funciones de agregación"
+msgstr "Funciones de agregación"
-#. Tag: para
-#: query_hql.xml:310
-#, no-c-format
+#: index.docbook:310
msgid ""
"HQL queries may even return the results of aggregate functions on
properties:"
msgstr ""
"Las consultas HQL pueden incluso devolver resultados de funciones de "
-"agregación sobre propiedades:"
+"agregación sobre propiedades:"
-#. Tag: programlisting
-#: query_hql.xml:314
-#, no-c-format
+#: index.docbook:314
msgid ""
"<![CDATA[select avg(cat.weight), sum(cat.weight), max(cat.weight), count"
"(cat)\n"
"from Cat cat]]>"
msgstr ""
+"<![CDATA[select avg(cat.weight), sum(cat.weight), max(cat.weight), count"
+"(cat)\n"
+"from Cat cat]]>"
-#. Tag: para
-#: query_hql.xml:325
-#, no-c-format
+#: index.docbook:325
msgid "The supported aggregate functions are"
-msgstr "Las funciones de agregación soportadas son"
+msgstr "Las funciones de agregación soportadas son"
-#. Tag: literal
-#: query_hql.xml:332
-#, no-c-format
+#: index.docbook:332
msgid "avg(...), sum(...), min(...), max(...)"
msgstr "avg(...), sum(...), min(...), max(...)"
-#. Tag: literal
-#: query_hql.xml:337
-#, no-c-format
+#: index.docbook:337
msgid "count(*)"
msgstr "count(*)"
-#. Tag: literal
-#: query_hql.xml:342
-#, no-c-format
+#: index.docbook:342
msgid "count(...), count(distinct ...), count(all...)"
msgstr "count(...), count(distinct ...), count(all...)"
-#. Tag: para
-#: query_hql.xml:347
-#, no-c-format
+#: index.docbook:347
msgid ""
"You may use arithmetic operators, concatenation, and recognized SQL "
"functions in the select clause:"
msgstr ""
-"Puedes usar operadores aritméticos, concatenación, y funciones SQL "
-"reconocidas en la cláusula select:"
+"Puedes usar operadores aritméticos, concatenación, y
funciones "
+"SQL reconocidas en la cláusula select:"
-#. Tag: programlisting
-#: query_hql.xml:352
-#, no-c-format
+#: index.docbook:352
msgid ""
"<![CDATA[select cat.weight + sum(kitten.weight)\n"
"from Cat cat\n"
" join cat.kittens kitten\n"
"group by cat.id, cat.weight]]>"
msgstr ""
+"<![CDATA[select cat.weight + sum(kitten.weight) \n"
+"from Cat cat \n"
+" join cat.kittens kitten\n"
+"group by cat.id, cat.weight]]>"
-#. Tag: programlisting
-#: query_hql.xml:354
-#, no-c-format
+#: index.docbook:354
msgid ""
"<![CDATA[select firstName||' '||initial||' '||upper(lastName)
from Person]]>"
msgstr ""
+"<![CDATA[select firstName||' '||initial||' '||upper(lastName)
from Person]]>"
-#. Tag: para
-#: query_hql.xml:356
-#, no-c-format
+#: index.docbook:356
msgid ""
"The <literal>distinct</literal> and <literal>all</literal>
keywords may be "
"used and have the same semantics as in SQL."
msgstr ""
"Las palabras clave <literal>distinct</literal> y
<literal>all</literal> "
-"pueden ser usadas y tienen las misma semántica que en SQL."
+"pueden ser usadas y tienen las misma semántica que en SQL."
-#. Tag: programlisting
-#: query_hql.xml:361
-#, no-c-format
+#: index.docbook:361
msgid ""
"<![CDATA[select distinct cat.name from Cat cat\n"
"\n"
"select count(distinct cat.name), count(cat) from Cat cat]]>"
msgstr ""
+"<![CDATA[select distinct cat.name from Cat cat\n"
+"\n"
+"select count(distinct cat.name), count(cat) from Cat cat]]>"
-#. Tag: title
-#: query_hql.xml:366
-#, no-c-format
+#: index.docbook:366
msgid "Polymorphic queries"
-msgstr "Consultas polimórficas"
+msgstr "Consultas polimórficas"
-#. Tag: para
-#: query_hql.xml:368
-#, no-c-format
+#: index.docbook:368
msgid "A query like:"
msgstr "Una consulta como:"
-#. Tag: para
-#: query_hql.xml:374
-#, no-c-format
+#: index.docbook:374
msgid ""
"returns instances not only of <literal>Cat</literal>, but also of
subclasses "
"like <literal>DomesticCat</literal>. Hibernate queries may name "
@@ -801,101 +683,83 @@
"that extend that class or implement the interface. The following query would
"
"return all persistent objects:"
msgstr ""
-"devuelve instancias no sólo de <literal>Cat</literal>, sino también de
"
-"subclases como <literal>DomesticCat</literal>. Las consultas de
Hibernate "
-"pueden mencionar <emphasis>cualquier</emphasis> clase o interface Java
en la "
-"cláusula <literal>from</literal>. La consulta devolverá instancias de
todas "
-"las clases persistentes que extiendan esa clase o implementen la interface. "
-"La siguiente consulta devolvería todos los objetos persistentes."
+"devuelve instancias no sólo de <literal>Cat</literal>, sino
"
+"también de subclases como <literal>DomesticCat</literal>.
Las "
+"consultas de Hibernate pueden mencionar <emphasis>cualquier</emphasis>
clase "
+"o interface Java en la cláusula <literal>from</literal>. La
consulta "
+"devolverá instancias de todas las clases persistentes que extiendan
"
+"esa clase o implementen la interface. La siguiente consulta
devolverí"
+"a todos los objetos persistentes."
-#. Tag: programlisting
-#: query_hql.xml:382
-#, no-c-format
+#: index.docbook:382
msgid "<![CDATA[from java.lang.Object o]]>"
-msgstr ""
+msgstr "<![CDATA[from java.lang.Object o]]>"
-#. Tag: para
-#: query_hql.xml:384
-#, no-c-format
+#: index.docbook:384
msgid ""
"The interface <literal>Named</literal> might be implemented by various
"
"persistent classes:"
msgstr ""
-"La interface <literal>Named</literal> podría ser implementada por
varias "
-"clases persistentes:"
+"La interface <literal>Named</literal> podría ser
implementada por "
+"varias clases persistentes:"
-#. Tag: programlisting
-#: query_hql.xml:389
-#, no-c-format
+#: index.docbook:389
msgid "<![CDATA[from Named n, Named m where n.name = m.name]]>"
-msgstr ""
+msgstr "<![CDATA[from Named n, Named m where n.name = m.name]]>"
-#. Tag: para
-#: query_hql.xml:391
-#, no-c-format
+#: index.docbook:391
msgid ""
"Note that these last two queries will require more than one SQL "
"<literal>SELECT</literal>. This means that the <literal>order
by</literal> "
"clause does not correctly order the whole result set. (It also means you "
"can't call these queries using
<literal>Query.scroll()</literal>.)"
msgstr ""
-"Nota que estas dos últimas consultas requerirán más de un
<literal>SELECT</"
-"literal> SQL. Esto significa que la cláusula <literal>order
by</literal> no "
-"ordenará correctamente todo el conjunto resultado. (Significa además que no "
-"puedes llamar estas consulta usando
<literal>Query.scroll()</literal>.)"
+"Nota que estas dos últimas consultas requerirán
más de "
+"un <literal>SELECT</literal> SQL. Esto significa que la
cláusula "
+"<literal>order by</literal> no ordenará correctamente todo
el "
+"conjunto resultado. (Significa además que no puedes llamar estas "
+"consulta usando <literal>Query.scroll()</literal>.)"
-#. Tag: title
-#: query_hql.xml:400
-#, no-c-format
+#: index.docbook:400
msgid "The where clause"
-msgstr "La cláusula where"
+msgstr "La cláusula where"
-#. Tag: para
-#: query_hql.xml:402
-#, no-c-format
+#: index.docbook:402
msgid ""
"The <literal>where</literal> clause allows you to narrow the list of
"
"instances returned. If no alias exists, you may refer to properties by name:"
msgstr ""
-"La cláusula where te permite estrechar la lista de instancias devueltas. Si "
-"no existe ningún alias. puedes referirte a las propiedades por nombre:"
+"La cláusula where te permite estrechar la lista de instancias "
+"devueltas. Si no existe ningún alias. puedes referirte a las "
+"propiedades por nombre:"
-#. Tag: programlisting
-#: query_hql.xml:407
-#, no-c-format
+#: index.docbook:407
msgid "<![CDATA[from Cat where name='Fritz']]>"
-msgstr ""
+msgstr "<![CDATA[from Cat where name='Fritz']]>"
-#. Tag: para
-#: query_hql.xml:409
-#, no-c-format
+#: index.docbook:409
msgid "If there is an alias, use a qualified property name:"
msgstr "Si existe un alias, usan un nombre cualificado de propiedad:"
-#. Tag: programlisting
-#: query_hql.xml:413
-#, no-c-format
+#: index.docbook:413
msgid "<![CDATA[from Cat as cat where cat.name='Fritz']]>"
-msgstr ""
+msgstr "<![CDATA[from Cat as cat where cat.name='Fritz']]>"
-#. Tag: para
-#: query_hql.xml:415
-#, no-c-format
+#: index.docbook:415
msgid "returns instances of <literal>Cat</literal> named
'Fritz'."
msgstr "devuelve las instancias de <literal>Cat</literal> llamadas
'Fritz'."
-#. Tag: programlisting
-#: query_hql.xml:419
-#, no-c-format
+#: index.docbook:419
msgid ""
"<![CDATA[select foo\n"
"from Foo foo, Bar bar\n"
"where foo.startDate = bar.date]]>"
msgstr ""
+"<![CDATA[select foo \n"
+"from Foo foo, Bar bar\n"
+"where foo.startDate = bar.date]]>"
-#. Tag: para
-#: query_hql.xml:421
-#, no-c-format
+#: index.docbook:421
msgid ""
"will return all instances of <literal>Foo</literal> for which there
exists "
"an instance of <literal>bar</literal> with a
<literal>date</literal> "
@@ -903,100 +767,88 @@
"<literal>Foo</literal>. Compound path expressions make the
<literal>where</"
"literal> clause extremely powerful. Consider:"
msgstr ""
-"devolverá todas las instancias de <literal>Foo</literal> para las
cuales "
-"exista una instancia de <literal>bar</literal> con una propiedad
"
+"devolverá todas las instancias de <literal>Foo</literal>
para las "
+"cuales exista una instancia de <literal>bar</literal> con una propiedad
"
"<literal>date</literal> igual a la propiedad
<literal>startDate</literal> "
"del <literal>Foo</literal>. Las expresiones de ruta compuestas hacen la
"
-"cláusula <literal>where</literal> extremadamente potente.
Considera:"
+"cláusula <literal>where</literal> extremadamente potente.
Considera:"
-#. Tag: programlisting
-#: query_hql.xml:430
-#, no-c-format
+#: index.docbook:430
msgid "<![CDATA[from Cat cat where cat.mate.name is not null]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat where cat.mate.name is not null]]>"
-#. Tag: para
-#: query_hql.xml:432
-#, no-c-format
+#: index.docbook:432
msgid ""
"This query translates to an SQL query with a table (inner) join. If you were
"
"to write something like"
msgstr ""
-"Esta consulta se traduce en una consulta SQL con una unión de tabla "
+"Esta consulta se traduce en una consulta SQL con una unión de tabla
"
"(interna). Si fueses a escribir algo como"
-#. Tag: programlisting
-#: query_hql.xml:437
-#, no-c-format
+#: index.docbook:437
msgid ""
"<![CDATA[from Foo foo\n"
"where foo.bar.baz.customer.address.city is not null]]>"
msgstr ""
+"<![CDATA[from Foo foo \n"
+"where foo.bar.baz.customer.address.city is not null]]>"
-#. Tag: para
-#: query_hql.xml:439
-#, no-c-format
+#: index.docbook:439
msgid ""
"you would end up with a query that would require four table joins in SQL."
msgstr ""
-"terminarías con una consulta que requeriría cuatro uniones de tablas en SQL."
+"terminarías con una consulta que requeriría cuatro uniones de
"
+"tablas en SQL."
-#. Tag: para
-#: query_hql.xml:443
-#, no-c-format
+#: index.docbook:443
msgid ""
"The <literal>=</literal> operator may be used to compare not only
"
"properties, but also instances:"
msgstr ""
-"El operador <literal>=</literal> puede ser usado para comparar no sólo
"
-"propiedades, sino también instancias:"
+"El operador <literal>=</literal> puede ser usado para comparar no
só"
+"lo propiedades, sino también instancias:"
-#. Tag: programlisting
-#: query_hql.xml:448
-#, no-c-format
+#: index.docbook:448
msgid "<![CDATA[from Cat cat, Cat rival where cat.mate = rival.mate]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat, Cat rival where cat.mate = rival.mate]]>"
-#. Tag: programlisting
-#: query_hql.xml:450
-#, no-c-format
+#: index.docbook:450
msgid ""
"<![CDATA[select cat, mate\n"
"from Cat cat, Cat mate\n"
"where cat.mate = mate]]>"
msgstr ""
+"<![CDATA[select cat, mate \n"
+"from Cat cat, Cat mate\n"
+"where cat.mate = mate]]>"
-#. Tag: para
-#: query_hql.xml:452
-#, no-c-format
+#: index.docbook:452
msgid ""
"The special property (lowercase) <literal>id</literal> may be used to
"
"reference the unique identifier of an object. See <xref
linkend=\"queryhql-"
"identifier-property\"/> for more information."
msgstr ""
-"La propiedad especial (en minúsculas) <literal>id</literal> puede ser
usada "
-"para referenciar el identificador único de un objeto. (También puedes usar "
-"su nombre de propiedad.)"
+"La propiedad especial (en minúsculas) <literal>id</literal>
puede ser "
+"usada para referenciar el identificador único de un objeto. "
+"(También puedes usar su nombre de propiedad.)"
-#. Tag: programlisting
-#: query_hql.xml:458
-#, no-c-format
+#: index.docbook:458
msgid ""
"<![CDATA[from Cat as cat where cat.id = 123\n"
"\n"
"from Cat as cat where cat.mate.id = 69]]>"
msgstr ""
+"<![CDATA[from Cat as cat where cat.id = 123\n"
+"\n"
+"from Cat as cat where cat.mate.id = 69]]>"
-#. Tag: para
-#: query_hql.xml:460
-#, no-c-format
+#: index.docbook:460
msgid "The second query is efficient. No table join is required!"
msgstr ""
-"La segunda consulta es eficiente. ¡No se requiere ninguna unión de tablas!"
+"La segunda consulta es eficiente. ¡No se requiere ninguna
unió"
+"n de tablas!"
-#. Tag: para
-#: query_hql.xml:464
-#, no-c-format
+#: index.docbook:464
msgid ""
"Properties of composite identifiers may also be used. Suppose "
"<literal>Person</literal> has a composite identifier consisting of
"
@@ -1004,38 +856,38 @@
"<xref linkend=\"queryhql-identifier-property\"/> for more
information "
"regarding referencing identifier properties."
msgstr ""
-"También pueden ser usadas las propiedades de identificadores compuestos. "
-"Supón que <literal>Person</literal> tiene un identificador compuesto
"
-"consistente en <literal>country</literal> y
<literal>medicareNumber</"
-"literal>."
+"También pueden ser usadas las propiedades de identificadores "
+"compuestos. Supón que <literal>Person</literal> tiene un
"
+"identificador compuesto consistente en <literal>country</literal> y
"
+"<literal>medicareNumber</literal>."
-#. Tag: programlisting
-#: query_hql.xml:471
-#, no-c-format
+#: index.docbook:471
msgid ""
"<![CDATA[from bank.Person person\n"
"where person.id.country = 'AU'\n"
" and person.id.medicareNumber = 123456]]>"
msgstr ""
+"<![CDATA[from bank.Person person\n"
+"where person.id.country = 'AU' \n"
+" and person.id.medicareNumber = 123456]]>"
-#. Tag: programlisting
-#: query_hql.xml:473
-#, no-c-format
+#: index.docbook:473
msgid ""
"<![CDATA[from bank.Account account\n"
"where account.owner.id.country = 'AU'\n"
" and account.owner.id.medicareNumber = 123456]]>"
msgstr ""
+"<![CDATA[from bank.Account account\n"
+"where account.owner.id.country = 'AU' \n"
+" and account.owner.id.medicareNumber = 123456]]>"
-#. Tag: para
-#: query_hql.xml:475
-#, no-c-format
+#: index.docbook:475
msgid "Once again, the second query requires no table join."
-msgstr "Una vez más, la segunda consulta no requiere ninguna unión de tablas."
+msgstr ""
+"Una vez más, la segunda consulta no requiere ninguna unión de
"
+"tablas."
-#. Tag: para
-#: query_hql.xml:479
-#, no-c-format
+#: index.docbook:479
msgid ""
"Likewise, the special property <literal>class</literal> accesses the
"
"discriminator value of an instance in the case of polymorphic persistence. A
"
@@ -1043,33 +895,25 @@
"discriminator value."
msgstr ""
"Asimismo, la propiedad especial <literal>class</literal> acccede al
valor "
-"discriminador de una instancia en el caso de persistencia polimórfica. Un "
-"nombre de clase Java embebido en la cláusula where será traducido a su valor
"
-"discriminador."
+"discriminador de una instancia en el caso de persistencia polimó"
+"rfica. Un nombre de clase Java embebido en la cláusula where "
+"será traducido a su valor discriminador."
-#. Tag: programlisting
-#: query_hql.xml:485
-#, no-c-format
+#: index.docbook:485
msgid "<![CDATA[from Cat cat where cat.class = DomesticCat]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat where cat.class = DomesticCat]]>"
-#. Tag: para
-#: query_hql.xml:487
-#, no-c-format
+#: index.docbook:487
msgid ""
"You may also use components or composite user types, or properties of said "
"component types. See <xref linkend=\"queryhql-components\"/> for
more "
"details."
msgstr ""
-"Puedes también especificar propiedades de componentes o tipos compuestos de "
-"usuario (y de componentes de componentes, etc). Nunca intentes usar una "
-"expresión de ruta que termine en una propiedad de tipo componente (al "
-"contrario de una propiedad de un componente). Por ejemplo, si
<literal>store."
-"owner</literal> es una entidad con un componente
<literal>address</literal>"
+"You may also use components or composite user types, or properties of said "
+"component types. See <xref linkend=\"queryhql-components\"/> for
more "
+"details."
-#. Tag: para
-#: query_hql.xml:492
-#, no-c-format
+#: index.docbook:492
msgid ""
"An \"any\" type has the special properties
<literal>id</literal> and "
"<literal>class</literal>, allowing us to express a join in the
following way "
@@ -1077,77 +921,62 @@
"<literal><any></literal>)."
msgstr ""
"Un tipo \"any\" tiene las propiedades especiales
<literal>id</literal> y "
-"<literal>class</literal>, permiténdonos expresar un join en la
siguiente "
-"forma (donde <literal>AuditLog.item</literal> es una propiedad mapeada
con "
-"<literal><any></literal>)."
+"<literal>class</literal>, permiténdonos expresar un join en
la "
+"siguiente forma (donde <literal>AuditLog.item</literal> es una
propiedad "
+"mapeada con <literal><any></literal>)."
-#. Tag: programlisting
-#: query_hql.xml:498
-#, no-c-format
+#: index.docbook:498
msgid ""
"<![CDATA[from AuditLog log, Payment payment\n"
"where log.item.class = 'Payment' and log.item.id = payment.id]]>"
msgstr ""
+"<![CDATA[from AuditLog log, Payment payment \n"
+"where log.item.class = 'Payment' and log.item.id = payment.id]]>"
-#. Tag: para
-#: query_hql.xml:500
-#, no-c-format
+#: index.docbook:500
msgid ""
"Notice that <literal>log.item.class</literal> and
<literal>payment.class</"
"literal> would refer to the values of completely different database columns
"
"in the above query."
msgstr ""
"Nota que <literal>log.item.class</literal> y
<literal>payment.class</"
-"literal> harían referencia a los valores de columnas de base de datos "
+"literal> harían referencia a los valores de columnas de base de datos
"
"completamente diferentes en la consulta anterior."
-#. Tag: title
-#: query_hql.xml:508
-#, no-c-format
+#: index.docbook:508
msgid "Expressions"
msgstr "Expresiones"
-#. Tag: para
-#: query_hql.xml:510
-#, no-c-format
+#: index.docbook:510
msgid ""
"Expressions allowed in the <literal>where</literal> clause include most
of "
"the kind of things you could write in SQL:"
msgstr ""
-"Las expresiones permitidas en la cláusula <literal>where</literal>
incluyen "
-"la mayoría del tipo de cosas que podrías escribir en SQL:"
+"Las expresiones permitidas en la cláusula
<literal>where</literal> "
+"incluyen la mayoría del tipo de cosas que podrías escribir en
"
+"SQL:"
-#. Tag: para
-#: query_hql.xml:517
-#, no-c-format
+#: index.docbook:517
msgid "mathematical operators <literal>+, -, *, /</literal>"
-msgstr "operadores matemáticos <literal>+, -, *, /</literal>"
+msgstr "operadores matemáticos <literal>+, -, *,
/</literal>"
-#. Tag: para
-#: query_hql.xml:522
-#, no-c-format
+#: index.docbook:522
msgid ""
"binary comparison operators <literal>=, >=, <=,
<>, !=, like</"
"literal>"
msgstr ""
-"operadores de comparación binarios <literal>=, >=, <=,
<>, !=, "
-"like</literal>"
+"operadores de comparación binarios <literal>=, >=,
<=, <"
+">, !=, like</literal>"
-#. Tag: para
-#: query_hql.xml:527
-#, no-c-format
+#: index.docbook:527
msgid "logical operations <literal>and, or, not</literal>"
-msgstr "operadores lógicos <literal>and, or, not</literal>"
+msgstr "operadores lógicos <literal>and, or,
not</literal>"
-#. Tag: para
-#: query_hql.xml:532
-#, no-c-format
+#: index.docbook:532
msgid "Parentheses <literal>( )</literal>, indicating grouping"
-msgstr "Paréntesis <literal>( )</literal>, indicando agrupación"
+msgstr "Paréntesis <literal>( )</literal>, indicando
agrupación"
-#. Tag: para
-#: query_hql.xml:537
-#, no-c-format
+#: index.docbook:537
msgid ""
"<literal>in</literal>, <literal>not in</literal>,
<literal>between</"
"literal>, <literal>is null</literal>, <literal>is not
null</literal>, "
@@ -1159,9 +988,7 @@
"<literal>is empty</literal>, <literal>is not
empty</literal>, "
"<literal>member of</literal> y <literal>not member
of</literal>"
-#. Tag: para
-#: query_hql.xml:550
-#, no-c-format
+#: index.docbook:550
msgid ""
"\"Simple\" case, <literal>case ... when ... then ... else ...
end</literal>, "
"and \"searched\" case, <literal>case when ... then ... else ...
end</literal>"
@@ -1169,19 +996,15 @@
"Caso \"simple\", <literal>case ... when ... then ... else ...
end</literal>, "
"y caso \"buscado\", <literal>case when ... then ... else ...
end</literal>"
-#. Tag: para
-#: query_hql.xml:556
-#, no-c-format
+#: index.docbook:556
msgid ""
"string concatenation <literal>...||...</literal> or
<literal>concat(...,...)"
"</literal>"
msgstr ""
-"concatenación de cadenas <literal>...||...</literal> o
<literal>concat"
+"concatenación de cadenas <literal>...||...</literal> o
<literal>concat"
"(...,...)</literal>"
-#. Tag: para
-#: query_hql.xml:561
-#, no-c-format
+#: index.docbook:561
msgid ""
"<literal>current_date()</literal>,
<literal>current_time()</literal>, "
"<literal>current_timestamp()</literal>"
@@ -1189,9 +1012,7 @@
"<literal>current_date()</literal>,
<literal>current_time()</literal>, "
"<literal>current_timestamp()</literal>"
-#. Tag: para
-#: query_hql.xml:567
-#, no-c-format
+#: index.docbook:567
msgid ""
"<literal>second(...)</literal>,
<literal>minute(...)</literal>, <literal>hour"
"(...)</literal>, <literal>day(...)</literal>,
<literal>month(...)</literal>, "
@@ -1201,37 +1022,29 @@
"(...)</literal>, <literal>day(...)</literal>,
<literal>month(...)</literal>, "
"<literal>year(...)</literal>,"
-#. Tag: para
-#: query_hql.xml:574
-#, no-c-format
+#: index.docbook:574
msgid ""
"Any function or operator defined by EJB-QL 3.0: <literal>substring(),
trim"
"(), lower(), upper(), length(), locate(), abs(), sqrt(), bit_length(), mod()"
"</literal>"
msgstr ""
-"Cualquier función u operador definido por EJB-QL 3.0: <literal>substring(),
"
-"trim(), lower(), upper(), length(), locate(), abs(), sqrt(), bit_length(), "
-"mod()</literal>"
+"Cualquier función u operador definido por EJB-QL 3.0: "
+"<literal>substring(), trim(), lower(), upper(), length(), locate(), abs(),
"
+"sqrt(), bit_length(), mod()</literal>"
-#. Tag: para
-#: query_hql.xml:580
-#, no-c-format
+#: index.docbook:580
msgid "<literal>coalesce()</literal> and
<literal>nullif()</literal>"
msgstr "<literal>coalesce()</literal> y
<literal>nullif()</literal>"
-#. Tag: para
-#: query_hql.xml:585
-#, no-c-format
+#: index.docbook:585
msgid ""
"<literal>str()</literal> for converting numeric or temporal values to a
"
"readable string"
msgstr ""
-"<literal>str()</literal> para convertir valores numéricos o temporales
a una "
-"cadena legible."
+"<literal>str()</literal> para convertir valores numéricos o
"
+"temporales a una cadena legible."
-#. Tag: para
-#: query_hql.xml:591
-#, no-c-format
+#: index.docbook:591
msgid ""
"<literal>cast(... as ...)</literal>, where the second argument is the
name "
"of a Hibernate type, and <literal>extract(... from ...)</literal> if
ANSI "
@@ -1243,19 +1056,15 @@
"<literal>cast()</literal> y <literal>extract()</literal>
fuesen soportados "
"por la base de datos subyacente."
-#. Tag: para
-#: query_hql.xml:599
-#, no-c-format
+#: index.docbook:599
msgid ""
"the HQL <literal>index()</literal> function, that applies to aliases of
a "
"joined indexed collection"
msgstr ""
-"la función <literal>index()</literal> de HQL, que se aplica a alias de
una "
-"colección indexada unida."
+"la función <literal>index()</literal> de HQL, que se aplica
a alias "
+"de una colección indexada unida."
-#. Tag: para
-#: query_hql.xml:605
-#, no-c-format
+#: index.docbook:605
msgid ""
"HQL functions that take collection-valued path expressions: <literal>size(),
"
"minelement(), maxelement(), minindex(), maxindex()</literal>, along with the
"
@@ -1269,37 +1078,29 @@
"<literal>indices</literal> que pueden ser cuantificadas usando "
"<literal>some, all, exists, any, in</literal>."
-#. Tag: para
-#: query_hql.xml:613
-#, no-c-format
+#: index.docbook:613
msgid ""
"Any database-supported SQL scalar function like
<literal>sign()</literal>, "
"<literal>trunc()</literal>, <literal>rtrim()</literal>,
<literal>sin()</"
"literal>"
msgstr ""
-"Cualquier función escalar SQL soportada por la base de datos como "
+"Cualquier función escalar SQL soportada por la base de datos como
"
"<literal>sign()</literal>, <literal>trunc()</literal>,
<literal>rtrim()</"
"literal>, <literal>sin()</literal>"
-#. Tag: para
-#: query_hql.xml:619
-#, no-c-format
+#: index.docbook:619
msgid "JDBC-style positional parameters <literal>?</literal>"
-msgstr "parámetros posicionales JDBC <literal>?</literal>"
+msgstr "parámetros posicionales JDBC
<literal>?</literal>"
-#. Tag: para
-#: query_hql.xml:624
-#, no-c-format
+#: index.docbook:624
msgid ""
"named parameters <literal>:name</literal>,
<literal>:start_date</literal>, "
"<literal>:x1</literal>"
msgstr ""
-"parámetros con nombre <literal>:name</literal>,
<literal>:start_date</"
+"parámetros con nombre <literal>:name</literal>,
<literal>:start_date</"
"literal>, <literal>:x1</literal>"
-#. Tag: para
-#: query_hql.xml:629
-#, no-c-format
+#: index.docbook:629
msgid ""
"SQL literals <literal>'foo'</literal>,
<literal>69</literal>, <literal>6.66E"
"+2</literal>, <literal>'1970-01-01
10:00:01.0'</literal>"
@@ -1307,60 +1108,48 @@
"literales SQL <literal>'foo'</literal>,
<literal>69</literal>, <literal>6.66E"
"+2</literal>, <literal>'1970-01-01
10:00:01.0'</literal>"
-#. Tag: para
-#: query_hql.xml:635
-#, no-c-format
+#: index.docbook:635
msgid ""
"Java <literal>public static final</literal> constants
<literal>eg.Color."
"TABBY</literal>"
msgstr ""
-"constantes Java <literal>public static
final</literal><literal>eg.Color."
+"constantes Java <literal>public static final</literal>
<literal>eg.Color."
"TABBY</literal>"
-#. Tag: para
-#: query_hql.xml:641
-#, no-c-format
+#: index.docbook:641
msgid ""
"<literal>in</literal> and <literal>between</literal> may be
used as follows:"
msgstr ""
"<literal>in</literal> y <literal>between</literal> pueden
usarse como sigue:"
-#. Tag: programlisting
-#: query_hql.xml:645
-#, no-c-format
+#: index.docbook:645
msgid "<![CDATA[from DomesticCat cat where cat.name between 'A' and
'B']]>"
-msgstr ""
+msgstr "<![CDATA[from DomesticCat cat where cat.name between 'A' and
'B']]>"
-#. Tag: programlisting
-#: query_hql.xml:647
-#, no-c-format
+#: index.docbook:647
msgid ""
"<![CDATA[from DomesticCat cat where cat.name in ( 'Foo', 'Bar',
'Baz' )]]>"
msgstr ""
+"<![CDATA[from DomesticCat cat where cat.name in ( 'Foo', 'Bar',
'Baz' )]]>"
-#. Tag: para
-#: query_hql.xml:649
-#, no-c-format
+#: index.docbook:649
msgid "and the negated forms may be written"
msgstr "y pueden escribirse las formas negadas"
-#. Tag: programlisting
-#: query_hql.xml:653
-#, no-c-format
+#: index.docbook:653
msgid "<![CDATA[from DomesticCat cat where cat.name not between 'A' and
'B']]>"
msgstr ""
+"<![CDATA[from DomesticCat cat where cat.name not between 'A' and
'B']]>"
-#. Tag: programlisting
-#: query_hql.xml:655
-#, no-c-format
+#: index.docbook:655
msgid ""
"<![CDATA[from DomesticCat cat where cat.name not in ( 'Foo',
'Bar', 'Baz' )]]"
">"
msgstr ""
+"<![CDATA[from DomesticCat cat where cat.name not in ( 'Foo',
'Bar', 'Baz' )]]"
+">"
-#. Tag: para
-#: query_hql.xml:657
-#, no-c-format
+#: index.docbook:657
msgid ""
"Likewise, <literal>is null</literal> and <literal>is not
null</literal> may "
"be used to test for null values."
@@ -1368,67 +1157,54 @@
"Asimismo, <literal>is null</literal> y <literal>is not
null</literal> pueden "
"ser usadas para comprobar valores nulos."
-#. Tag: para
-#: query_hql.xml:662
-#, no-c-format
+#: index.docbook:662
msgid ""
"Booleans may be easily used in expressions by declaring HQL query "
"substitutions in Hibernate configuration:"
msgstr ""
-"Los booleanos pueden ser fácilmente usados en expresiones declarando "
-"substituciones de consulta HQL en la configuración de Hibernate:"
+"Los booleanos pueden ser fácilmente usados en expresiones declarando
"
+"substituciones de consulta HQL en la configuración de Hibernate:"
-#. Tag: programlisting
-#: query_hql.xml:667
-#, no-c-format
+#: index.docbook:667
msgid ""
"<![CDATA[<property name=\"hibernate.query.substitutions\">true
1, false 0</"
"property>]]>"
msgstr ""
+"<![CDATA[<property name=\"hibernate.query.substitutions\">true
1, false 0</"
+"property>]]>"
-#. Tag: para
-#: query_hql.xml:669
-#, no-c-format
+#: index.docbook:669
msgid ""
"This will replace the keywords <literal>true</literal> and
<literal>false</"
"literal> with the literals <literal>1</literal> and
<literal>0</literal> in "
"the translated SQL from this HQL:"
msgstr ""
-"Esto remplazará las palabras clave <literal>true</literal> y
<literal>false</"
-"literal> con los literales <literal>1</literal> y
<literal>0</literal> en el "
-"SQL traducido de este HQL:"
+"Esto remplazará las palabras clave <literal>true</literal> y
"
+"<literal>false</literal> con los literales
<literal>1</literal> y "
+"<literal>0</literal> en el SQL traducido de este HQL:"
-#. Tag: programlisting
-#: query_hql.xml:674
-#, no-c-format
+#: index.docbook:674
msgid "<![CDATA[from Cat cat where cat.alive = true]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat where cat.alive = true]]>"
-#. Tag: para
-#: query_hql.xml:676
-#, no-c-format
+#: index.docbook:676
msgid ""
"You may test the size of a collection with the special property "
"<literal>size</literal>, or the special
<literal>size()</literal> function."
msgstr ""
-"Puedes comprobar el tamaño de una colección con la propiedad especial "
-"<literal>size</literal>, o la función especial
<literal>size()</literal>."
+"Puedes comprobar el tamaño de una colección con la propiedad
"
+"especial <literal>size</literal>, o la función especial
<literal>size"
+"()</literal>."
-#. Tag: programlisting
-#: query_hql.xml:681
-#, no-c-format
+#: index.docbook:681
msgid "<![CDATA[from Cat cat where cat.kittens.size > 0]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat where cat.kittens.size > 0]]>"
-#. Tag: programlisting
-#: query_hql.xml:683
-#, no-c-format
+#: index.docbook:683
msgid "<![CDATA[from Cat cat where size(cat.kittens) > 0]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat where size(cat.kittens) > 0]]>"
-#. Tag: para
-#: query_hql.xml:685
-#, no-c-format
+#: index.docbook:685
msgid ""
"For indexed collections, you may refer to the minimum and maximum indices "
"using <literal>minindex</literal> and
<literal>maxindex</literal> functions. "
@@ -1436,82 +1212,68 @@
"of basic type using the <literal>minelement</literal> and "
"<literal>maxelement</literal> functions."
msgstr ""
-"Para colecciones indexadas, puedes referirte a los índices máximo y mínimo "
-"usando las funciones <literal>minindex</literal> y
<literal>maxindex</"
-"literal>. Similarmente, puedes referirte a los elementos máximo y mínimo de
"
-"una colección de tipo básico usando las funciones
<literal>minelement</"
-"literal> y <literal>maxelement</literal>."
+"Para colecciones indexadas, puedes referirte a los índices
má"
+"ximo y mínimo usando las funciones
<literal>minindex</literal> y "
+"<literal>maxindex</literal>. Similarmente, puedes referirte a los
elementos "
+"máximo y mínimo de una colección de tipo
básico "
+"usando las funciones <literal>minelement</literal> y
<literal>maxelement</"
+"literal>."
-#. Tag: programlisting
-#: query_hql.xml:693
-#, no-c-format
+#: index.docbook:693
msgid ""
"<![CDATA[from Calendar cal where maxelement(cal.holidays) >
current_date]]>"
msgstr ""
+"<![CDATA[from Calendar cal where maxelement(cal.holidays) >
current_date]]>"
-#. Tag: programlisting
-#: query_hql.xml:695
-#, no-c-format
+#: index.docbook:695
msgid "<![CDATA[from Order order where maxindex(order.items) >
100]]>"
-msgstr ""
+msgstr "<![CDATA[from Order order where maxindex(order.items) >
100]]>"
-#. Tag: programlisting
-#: query_hql.xml:697
-#, no-c-format
+#: index.docbook:697
msgid "<![CDATA[from Order order where minelement(order.items) >
10000]]>"
-msgstr ""
+msgstr "<![CDATA[from Order order where minelement(order.items) >
10000]]>"
-#. Tag: para
-#: query_hql.xml:699
-#, no-c-format
+#: index.docbook:699
msgid ""
"The SQL functions <literal>any, some, all, exists, in</literal> are
"
"supported when passed the element or index set of a collection "
"(<literal>elements</literal> and <literal>indices</literal>
functions) or "
"the result of a subquery (see below)."
msgstr ""
-"Las funciones SQL <literal>any, some, all, exists, in</literal> están
"
-"soportadas cuando se les pasa el conjunto de elementos o índices de una "
-"colección (funciones <literal>elements</literal> y
<literal>indices</"
-"literal>) o el resultado de una subconsulta (ver debajo)."
+"Las funciones SQL <literal>any, some, all, exists, in</literal>
están "
+"soportadas cuando se les pasa el conjunto de elementos o índices de
"
+"una colección (funciones <literal>elements</literal> y
"
+"<literal>indices</literal>) o el resultado de una subconsulta (ver
debajo)."
-#. Tag: programlisting
-#: query_hql.xml:705
-#, no-c-format
+#: index.docbook:705
msgid ""
"<![CDATA[select mother from Cat as mother, Cat as kit\n"
"where kit in elements(foo.kittens)]]>"
msgstr ""
+"<![CDATA[select mother from Cat as mother, Cat as kit\n"
+"where kit in elements(foo.kittens)]]>"
-#. Tag: programlisting
-#: query_hql.xml:707
-#, no-c-format
+#: index.docbook:707
msgid ""
"<![CDATA[select p from NameList list, Person p\n"
"where p.name = some elements(list.names)]]>"
msgstr ""
+"<![CDATA[select p from NameList list, Person p\n"
+"where p.name = some elements(list.names)]]>"
-#. Tag: programlisting
-#: query_hql.xml:709
-#, no-c-format
+#: index.docbook:709
msgid "<![CDATA[from Cat cat where exists elements(cat.kittens)]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat where exists elements(cat.kittens)]]>"
-#. Tag: programlisting
-#: query_hql.xml:711
-#, no-c-format
+#: index.docbook:711
msgid "<![CDATA[from Player p where 3 > all elements(p.scores)]]>"
-msgstr ""
+msgstr "<![CDATA[from Player p where 3 > all elements(p.scores)]]>"
-#. Tag: programlisting
-#: query_hql.xml:713
-#, no-c-format
+#: index.docbook:713
msgid "<![CDATA[from Show show where 'fizard' in
indices(show.acts)]]>"
-msgstr ""
+msgstr "<![CDATA[from Show show where 'fizard' in
indices(show.acts)]]>"
-#. Tag: para
-#: query_hql.xml:715
-#, no-c-format
+#: index.docbook:715
msgid ""
"Note that these constructs - <literal>size</literal>,
<literal>elements</"
"literal>, <literal>indices</literal>,
<literal>minindex</literal>, "
@@ -1522,115 +1284,104 @@
"Nota que estas construcciones - <literal>size</literal>,
<literal>elements</"
"literal>, <literal>indices</literal>,
<literal>minindex</literal>, "
"<literal>maxindex</literal>, <literal>minelement</literal>,
"
-"<literal>maxelement</literal> - pueden ser usadas solamente en la
cláusula "
-"where en Hibernate3."
+"<literal>maxelement</literal> - pueden ser usadas solamente en la
clá"
+"usula where en Hibernate3."
-#. Tag: para
-#: query_hql.xml:722
-#, no-c-format
+#: index.docbook:722
msgid ""
"Elements of indexed collections (arrays, lists, maps) may be referred to by "
"index (in a where clause only):"
msgstr ""
"Los elementos de colecciones indexadas (arrays, listas, mapas) pueden ser "
-"referidos por índice (en una cláusula where solamente):"
+"referidos por índice (en una cláusula where
solamente):"
-#. Tag: programlisting
-#: query_hql.xml:727
-#, no-c-format
+#: index.docbook:727
msgid "<![CDATA[from Order order where order.items[0].id = 1234]]>"
-msgstr ""
+msgstr "<![CDATA[from Order order where order.items[0].id = 1234]]>"
-#. Tag: programlisting
-#: query_hql.xml:729
-#, no-c-format
+#: index.docbook:729
msgid ""
"<![CDATA[select person from Person person, Calendar calendar\n"
"where calendar.holidays['national day'] = person.birthDay\n"
" and person.nationality.calendar = calendar]]>"
msgstr ""
+"<![CDATA[select person from Person person, Calendar calendar\n"
+"where calendar.holidays['national day'] = person.birthDay\n"
+" and person.nationality.calendar = calendar]]>"
-#. Tag: programlisting
-#: query_hql.xml:731
-#, no-c-format
+#: index.docbook:731
msgid ""
"<![CDATA[select item from Item item, Order order\n"
"where order.items[ order.deliveredItemIndices[0] ] = item and order.id =
11]]"
">"
msgstr ""
+"<![CDATA[select item from Item item, Order order\n"
+"where order.items[ order.deliveredItemIndices[0] ] = item and order.id =
11]]"
+">"
-#. Tag: programlisting
-#: query_hql.xml:733
-#, no-c-format
+#: index.docbook:733
msgid ""
"<![CDATA[select item from Item item, Order order\n"
"where order.items[ maxindex(order.items) ] = item and order.id = 11]]>"
msgstr ""
+"<![CDATA[select item from Item item, Order order\n"
+"where order.items[ maxindex(order.items) ] = item and order.id = 11]]>"
-#. Tag: para
-#: query_hql.xml:735
-#, no-c-format
+#: index.docbook:735
msgid ""
"The expression inside <literal>[]</literal> may even be an arithmetic
"
"expression."
msgstr ""
-"La expresión dentro de <literal>[]</literal> puede incluso ser una
expresión "
-"aritmética."
+"La expresión dentro de <literal>[]</literal> puede incluso
ser una "
+"expresión aritmética."
-#. Tag: programlisting
-#: query_hql.xml:739
-#, no-c-format
+#: index.docbook:739
msgid ""
"<![CDATA[select item from Item item, Order order\n"
"where order.items[ size(order.items) - 1 ] = item]]>"
msgstr ""
+"<![CDATA[select item from Item item, Order order\n"
+"where order.items[ size(order.items) - 1 ] = item]]>"
-#. Tag: para
-#: query_hql.xml:741
-#, no-c-format
+#: index.docbook:741
msgid ""
"HQL also provides the built-in <literal>index()</literal> function, for
"
"elements of a one-to-many association or collection of values."
msgstr ""
-"HQL provee además el función prefabricada <literal>index()</literal>,
para "
-"elementos de una asociación uno-a-muchos o colección de valores."
+"HQL provee además el función prefabricada
<literal>index()</"
+"literal>, para elementos de una asociación uno-a-muchos o "
+"colección de valores."
-#. Tag: programlisting
-#: query_hql.xml:746
-#, no-c-format
+#: index.docbook:746
msgid ""
"<![CDATA[select item, index(item) from Order order\n"
" join order.items item\n"
"where index(item) < 5]]>"
msgstr ""
+"<![CDATA[select item, index(item) from Order order \n"
+" join order.items item\n"
+"where index(item) < 5]]>"
-#. Tag: para
-#: query_hql.xml:748
-#, no-c-format
+#: index.docbook:748
msgid "Scalar SQL functions supported by the underlying database may be used"
msgstr ""
"Pueden usarse las funciones SQL escalares soportadas por la base de datos "
"subyacente"
-#. Tag: programlisting
-#: query_hql.xml:752
-#, no-c-format
+#: index.docbook:752
msgid "<![CDATA[from DomesticCat cat where upper(cat.name) like
'FRI%']]>"
-msgstr ""
+msgstr "<![CDATA[from DomesticCat cat where upper(cat.name) like
'FRI%']]>"
-#. Tag: para
-#: query_hql.xml:754
-#, no-c-format
+#: index.docbook:754
msgid ""
"If you are not yet convinced by all this, think how much longer and less "
"readable the following query would be in SQL:"
msgstr ""
-"Si aún no estás convencido de todo esto, piensa cuánto más largo y menos "
-"leíble sería la siguiente consulta en SQL:"
+"Si aún no estás convencido de todo esto, piensa
cuánto "
+"más largo y menos leíble sería la siguiente
consulta en "
+"SQL:"
-#. Tag: programlisting
-#: query_hql.xml:759
-#, no-c-format
+#: index.docbook:759
msgid ""
"<![CDATA[select cust\n"
"from Product prod,\n"
@@ -1640,16 +1391,19 @@
" and store.location.name in ( 'Melbourne', 'Sydney' )\n"
" and prod = all elements(cust.currentOrder.lineItems)]]>"
msgstr ""
+"<![CDATA[select cust\n"
+"from Product prod,\n"
+" Store store\n"
+" inner join store.customers cust\n"
+"where prod.name = 'widget'\n"
+" and store.location.name in ( 'Melbourne', 'Sydney' )\n"
+" and prod = all elements(cust.currentOrder.lineItems)]]>"
-#. Tag: para
-#: query_hql.xml:761
-#, no-c-format
+#: index.docbook:761
msgid "<emphasis>Hint:</emphasis> something like"
msgstr "<emphasis>Ayuda:</emphasis> algo como"
-#. Tag: programlisting
-#: query_hql.xml:765
-#, no-c-format
+#: index.docbook:765
msgid ""
"<![CDATA[SELECT cust.name, cust.address, cust.phone, cust.id, cust."
"current_order\n"
@@ -1670,16 +1424,30 @@
" AND cust.current_order = o.id\n"
" )]]>"
msgstr ""
+"<![CDATA[SELECT cust.name, cust.address, cust.phone, cust.id, cust."
+"current_order\n"
+"FROM customers cust,\n"
+" stores store,\n"
+" locations loc,\n"
+" store_customers sc,\n"
+" product prod\n"
+"WHERE prod.name = 'widget'\n"
+" AND store.loc_id = loc.id\n"
+" AND loc.name IN ( 'Melbourne', 'Sydney' )\n"
+" AND sc.store_id = store.id\n"
+" AND sc.cust_id = cust.id\n"
+" AND prod.id = ALL(\n"
+" SELECT item.prod_id\n"
+" FROM line_items item, orders o\n"
+" WHERE item.order_id = o.id\n"
+" AND cust.current_order = o.id\n"
+" )]]>"
-#. Tag: title
-#: query_hql.xml:770
-#, no-c-format
+#: index.docbook:770
msgid "The order by clause"
-msgstr "La cláusula order by"
+msgstr "La cláusula order by"
-#. Tag: para
-#: query_hql.xml:772
-#, no-c-format
+#: index.docbook:772
msgid ""
"The list returned by a query may be ordered by any property of a returned "
"class or components:"
@@ -1687,17 +1455,15 @@
"La lista devuelta por una consulta puede ser ordenada por cualquier "
"propiedad de una clase devuelta o componentes:"
-#. Tag: programlisting
-#: query_hql.xml:776
-#, no-c-format
+#: index.docbook:776
msgid ""
"<![CDATA[from DomesticCat cat\n"
"order by cat.name asc, cat.weight desc, cat.birthdate]]>"
msgstr ""
+"<![CDATA[from DomesticCat cat\n"
+"order by cat.name asc, cat.weight desc, cat.birthdate]]>"
-#. Tag: para
-#: query_hql.xml:778
-#, no-c-format
+#: index.docbook:778
msgid ""
"The optional <literal>asc</literal> or
<literal>desc</literal> indicate "
"ascending or descending order respectively."
@@ -1705,15 +1471,11 @@
"Los <literal>asc</literal> o <literal>desc</literal>
opcionales indican "
"ordenamiento ascendente o descendente respectivamente."
-#. Tag: title
-#: query_hql.xml:785
-#, no-c-format
+#: index.docbook:785
msgid "The group by clause"
-msgstr "La cláusula group by"
+msgstr "La cláusula group by"
-#. Tag: para
-#: query_hql.xml:787
-#, no-c-format
+#: index.docbook:787
msgid ""
"A query that returns aggregate values may be grouped by any property of a "
"returned class or components:"
@@ -1721,55 +1483,55 @@
"Una consulta que devuelve valores agregados puede ser agrupada por cualquier
"
"propiedad de una clase devuelta o componentes:"
-#. Tag: programlisting
-#: query_hql.xml:791
-#, no-c-format
+#: index.docbook:791
msgid ""
"<![CDATA[select cat.color, sum(cat.weight), count(cat)\n"
"from Cat cat\n"
"group by cat.color]]>"
msgstr ""
+"<![CDATA[select cat.color, sum(cat.weight), count(cat) \n"
+"from Cat cat\n"
+"group by cat.color]]>"
-#. Tag: programlisting
-#: query_hql.xml:793
-#, no-c-format
+#: index.docbook:793
msgid ""
"<![CDATA[select foo.id, avg(name), max(name)\n"
"from Foo foo join foo.names name\n"
"group by foo.id]]>"
msgstr ""
+"<![CDATA[select foo.id, avg(name), max(name) \n"
+"from Foo foo join foo.names name\n"
+"group by foo.id]]>"
-#. Tag: para
-#: query_hql.xml:795
-#, no-c-format
+#: index.docbook:795
msgid "A <literal>having</literal> clause is also allowed."
-msgstr "Se permite también una cláusula
<literal>having</literal>."
+msgstr ""
+"Se permite también una cláusula
<literal>having</literal>."
-#. Tag: programlisting
-#: query_hql.xml:799
-#, no-c-format
+#: index.docbook:799
msgid ""
"<![CDATA[select cat.color, sum(cat.weight), count(cat)\n"
"from Cat cat\n"
"group by cat.color\n"
"having cat.color in (eg.Color.TABBY, eg.Color.BLACK)]]>"
msgstr ""
+"<![CDATA[select cat.color, sum(cat.weight), count(cat) \n"
+"from Cat cat\n"
+"group by cat.color \n"
+"having cat.color in (eg.Color.TABBY, eg.Color.BLACK)]]>"
-#. Tag: para
-#: query_hql.xml:801
-#, no-c-format
+#: index.docbook:801
msgid ""
"SQL functions and aggregate functions are allowed in the
<literal>having</"
"literal> and <literal>order by</literal> clauses, if supported by
the "
"underlying database (eg. not in MySQL)."
msgstr ""
-"Las funciones y funciones de agregación SQL están permitidas en las "
-"cláusulas <literal>having</literal> y <literal>order
by</literal>, si están "
-"soportadas por la base de datos subyacente (por ejemplo, no en MySQL)."
+"Las funciones y funciones de agregación SQL están permitidas
"
+"en las cláusulas <literal>having</literal> y
<literal>order by</"
+"literal>, si están soportadas por la base de datos subyacente (por
"
+"ejemplo, no en MySQL)."
-#. Tag: programlisting
-#: query_hql.xml:807
-#, no-c-format
+#: index.docbook:807
msgid ""
"<![CDATA[select cat\n"
"from Cat cat\n"
@@ -1778,10 +1540,14 @@
"having avg(kitten.weight) > 100\n"
"order by count(kitten) asc, sum(kitten.weight) desc]]>"
msgstr ""
+"<![CDATA[select cat\n"
+"from Cat cat\n"
+" join cat.kittens kitten\n"
+"group by cat\n"
+"having avg(kitten.weight) > 100\n"
+"order by count(kitten) asc, sum(kitten.weight) desc]]>"
-#. Tag: para
-#: query_hql.xml:809
-#, no-c-format
+#: index.docbook:809
msgid ""
"Note that neither the <literal>group by</literal> clause nor the
"
"<literal>order by</literal> clause may contain arithmetic expressions.
Also "
@@ -1790,18 +1556,15 @@
"literal> are non-aggregated. You have to list all non-aggregated properties
"
"explicitly."
msgstr ""
-"Nota que ni la cláusula <literal>group by</literal> ni la cláusula
"
-"<literal>order by</literal> pueden contener expresiones
aritméticas."
+"Nota que ni la cláusula <literal>group by</literal> ni la
clá"
+"usula <literal>order by</literal> pueden contener expresiones
aritmé"
+"ticas."
-#. Tag: title
-#: query_hql.xml:821
-#, no-c-format
+#: index.docbook:821
msgid "Subqueries"
msgstr "Subconsultas"
-#. Tag: para
-#: query_hql.xml:823
-#, no-c-format
+#: index.docbook:823
msgid ""
"For databases that support subselects, Hibernate supports subqueries within "
"queries. A subquery must be surrounded by parentheses (often by an SQL "
@@ -1810,68 +1573,75 @@
msgstr ""
"Para bases de datos que soportan subconsultas, Hibernate soporta "
"subconsultas dentro de consultas. Una subconsulta debe ser encerrada entre "
-"paréntesis (frecuentemente por una llamada a una función de agregación SQL).
"
-"Incluso se permiten subconsultas correlacionadas (subconsultas que hacen "
-"referencia a un alias en la consulta exterior)."
+"paréntesis (frecuentemente por una llamada a una función de
"
+"agregación SQL). Incluso se permiten subconsultas correlacionadas
"
+"(subconsultas que hacen referencia a un alias en la consulta exterior)."
-#. Tag: programlisting
-#: query_hql.xml:829
-#, no-c-format
+#: index.docbook:829
msgid ""
"<![CDATA[from Cat as fatcat\n"
"where fatcat.weight > (\n"
" select avg(cat.weight) from DomesticCat cat\n"
")]]>"
msgstr ""
+"<![CDATA[from Cat as fatcat\n"
+" where fatcat.weight > (\n"
+" select avg(cat.weight) from DomesticCat cat\n"
+" )]]>"
-#. Tag: programlisting
-#: query_hql.xml:831
-#, no-c-format
+#: index.docbook:831
msgid ""
"<![CDATA[from DomesticCat as cat\n"
"where cat.name = some (\n"
" select name.nickName from Name as name\n"
")]]>"
msgstr ""
+"<![CDATA[from DomesticCat as cat\n"
+" where cat.name = some (\n"
+" select name.nickName from Name as "
+"name\n"
+" )]]>"
-#. Tag: programlisting
-#: query_hql.xml:833
-#, no-c-format
+#: index.docbook:833
msgid ""
"<![CDATA[from Cat as cat\n"
"where not exists (\n"
" from Cat as mate where mate.mate = cat\n"
")]]>"
msgstr ""
+"<![CDATA[from Cat as cat\n"
+" where not exists (\n"
+" from Cat as mate where mate.mate = "
+"cat\n"
+" )]]>"
-#. Tag: programlisting
-#: query_hql.xml:835
-#, no-c-format
+#: index.docbook:835
msgid ""
"<![CDATA[from DomesticCat as cat\n"
"where cat.name not in (\n"
" select name.nickName from Name as name\n"
")]]>"
msgstr ""
+"<![CDATA[from DomesticCat as cat\n"
+" where cat.name not in (\n"
+" select name.nickName from Name as "
+"name\n"
+" )]]>"
-#. Tag: programlisting
-#: query_hql.xml:837
-#, no-c-format
+#: index.docbook:837
msgid ""
"<![CDATA[select cat.id, (select max(kit.weight) from cat.kitten kit)\n"
"from Cat as cat]]>"
msgstr ""
+"<![CDATA[select cat.id, (select max(kit.weight) from cat.kitten kit)\n"
+" from Cat as cat]]>"
-#. Tag: para
-#: query_hql.xml:839
-#, no-c-format
+#: index.docbook:839
msgid "Note that HQL subqueries may occur only in the select or where
clauses."
msgstr ""
"Note that HQL subqueries may occur only in the select or where clauses."
-#. Tag: para
-#: query_hql.xml:843
-#, no-c-format
+#: index.docbook:843
msgid ""
"Note that subqueries can also utilize <literal>row value
constructor</"
"literal> syntax. See <xref linkend=\"queryhql-tuple\"/> for more
details."
@@ -1879,15 +1649,11 @@
"Note that subqueries can also utilize <literal>row value
constructor</"
"literal> syntax. See <xref linkend=\"queryhql-tuple\"/> for more
details."
-#. Tag: title
-#: query_hql.xml:851
-#, no-c-format
+#: index.docbook:851
msgid "HQL examples"
msgstr "Ejemplos de HQL"
-#. Tag: para
-#: query_hql.xml:853
-#, no-c-format
+#: index.docbook:853
msgid ""
"Hibernate queries can be quite powerful and complex. In fact, the power of "
"the query language is one of Hibernate's main selling points. Here are some
"
@@ -1896,13 +1662,12 @@
msgstr ""
"Las consultas de Hibernate pueden ser abolutamente potentes y complejas, De "
"hecho, el poder del lenguaje de consulta es uno de los puntos principales de
"
-"venta de Hibernate. He aquí algunos consultas de ejemplo muy similares a "
-"consultas que he usado en un proyecto reciente. ¡Nota que la mayoría de las "
-"consultas que escribirás som mucho más simples que estas!"
+"venta de Hibernate. He aquí algunos consultas de ejemplo muy "
+"similares a consultas que he usado en un proyecto reciente. ¡Nota que
"
+"la mayoría de las consultas que escribirás som mucho
má"
+"s simples que estas!"
-#. Tag: para
-#: query_hql.xml:859
-#, no-c-format
+#: index.docbook:859
msgid ""
"The following query returns the order id, number of items and total value of
"
"the order for all unpaid orders for a particular customer and given minimum "
@@ -1912,17 +1677,16 @@
"literal>, <literal>CATALOG</literal> and
<literal>PRICE</literal> tables has "
"four inner joins and an (uncorrelated) subselect."
msgstr ""
-"La siguiente consulta devuelve el order id, número de items y valor total de
"
-"la orden para todas las ordenes inpagas de un cliente en particular y valor "
-"total mínimo dados, ordenando los resultados por valor total. Al determinar "
-"los precios, usa el catálogo actual. La consulta SQL resultante, contra las "
-"tablas <literal>ORDER</literal>,
<literal>ORDER_LINE</literal>, "
-"<literal>PRODUCT</literal>, <literal>CATALOG</literal> and
<literal>PRICE</"
-"literal> tiene cuatro joins interiores y una subselect (no
correlacionada)."
+"La siguiente consulta devuelve el order id, número de items y valor
"
+"total de la orden para todas las ordenes inpagas de un cliente en particular
"
+"y valor total mínimo dados, ordenando los resultados por valor total.
"
+"Al determinar los precios, usa el catálogo actual. La consulta SQL
"
+"resultante, contra las tablas <literal>ORDER</literal>,
<literal>ORDER_LINE</"
+"literal>, <literal>PRODUCT</literal>,
<literal>CATALOG</literal> and "
+"<literal>PRICE</literal> tiene cuatro joins interiores y una subselect
(no "
+"correlacionada)."
-#. Tag: programlisting
-#: query_hql.xml:868
-#, no-c-format
+#: index.docbook:868
msgid ""
"<![CDATA[select order.id, sum(price.amount), count(item)\n"
"from Order as order\n"
@@ -1943,20 +1707,35 @@
"having sum(price.amount) > :minAmount\n"
"order by sum(price.amount) desc]]>"
msgstr ""
+"<![CDATA[select order.id, sum(price.amount), count(item)\n"
+"from Order as order\n"
+" join order.lineItems as item\n"
+" join item.product as product,\n"
+" Catalog as catalog\n"
+" join catalog.prices as price\n"
+"where order.paid = false\n"
+" and order.customer = :customer\n"
+" and price.product = product\n"
+" and catalog.effectiveDate < sysdate\n"
+" and catalog.effectiveDate >= all (\n"
+" select cat.effectiveDate \n"
+" from Catalog as cat\n"
+" where cat.effectiveDate < sysdate\n"
+" )\n"
+"group by order\n"
+"having sum(price.amount) > :minAmount\n"
+"order by sum(price.amount) desc]]>"
-#. Tag: para
-#: query_hql.xml:870
-#, no-c-format
+#: index.docbook:870
msgid ""
"What a monster! Actually, in real life, I'm not very keen on subqueries, so
"
"my query was really more like this:"
msgstr ""
-"¡Qué monstruo! Realmente, en la vida real, no estoy muy afilado en "
-"subconsultas, de modo que mi consulta fue realmente algo como esto:"
+"¡Qué monstruo! Realmente, en la vida real, no estoy muy
"
+"afilado en subconsultas, de modo que mi consulta fue realmente algo como "
+"esto:"
-#. Tag: programlisting
-#: query_hql.xml:875
-#, no-c-format
+#: index.docbook:875
msgid ""
"<![CDATA[select order.id, sum(price.amount), count(item)\n"
"from Order as order\n"
@@ -1972,10 +1751,21 @@
"having sum(price.amount) > :minAmount\n"
"order by sum(price.amount) desc]]>"
msgstr ""
+"<![CDATA[select order.id, sum(price.amount), count(item)\n"
+"from Order as order\n"
+" join order.lineItems as item\n"
+" join item.product as product,\n"
+" Catalog as catalog\n"
+" join catalog.prices as price\n"
+"where order.paid = false\n"
+" and order.customer = :customer\n"
+" and price.product = product\n"
+" and catalog = :currentCatalog\n"
+"group by order\n"
+"having sum(price.amount) > :minAmount\n"
+"order by sum(price.amount) desc]]>"
-#. Tag: para
-#: query_hql.xml:877
-#, no-c-format
+#: index.docbook:877
msgid ""
"The next query counts the number of payments in each status, excluding all "
"payments in the <literal>AWAITING_APPROVAL</literal> status where the
most "
@@ -1984,16 +1774,14 @@
"<literal>PAYMENT</literal>,
<literal>PAYMENT_STATUS</literal> and "
"<literal>PAYMENT_STATUS_CHANGE</literal> tables."
msgstr ""
-"La próxima consulta cuenta el número de pagos en cada estado, excluyendo "
-"todos los pagos en el estado <literal>AWAITING_APPROVAL</literal> donde
el "
-"estado más reciente fue hecho por el usuario actual. Se traduce en una "
-"consulta SQL con dos joins interiores y una subselect correlacionada contra "
-"las tablas <literal>PAYMENT</literal>,
<literal>PAYMENT_STATUS</literal> y "
-"<literal>PAYMENT_STATUS_CHANGE</literal>."
+"La próxima consulta cuenta el número de pagos en cada estado,
"
+"excluyendo todos los pagos en el estado
<literal>AWAITING_APPROVAL</literal> "
+"donde el estado más reciente fue hecho por el usuario actual. Se "
+"traduce en una consulta SQL con dos joins interiores y una subselect "
+"correlacionada contra las tablas <literal>PAYMENT</literal>, "
+"<literal>PAYMENT_STATUS</literal> y
<literal>PAYMENT_STATUS_CHANGE</literal>."
-#. Tag: programlisting
-#: query_hql.xml:885
-#, no-c-format
+#: index.docbook:885
msgid ""
"<![CDATA[select count(payment), status.name\n"
"from Payment as payment\n"
@@ -2011,21 +1799,32 @@
"group by status.name, status.sortOrder\n"
"order by status.sortOrder]]>"
msgstr ""
+"<![CDATA[select count(payment), status.name \n"
+"from Payment as payment \n"
+" join payment.currentStatus as status\n"
+" join payment.statusChanges as statusChange\n"
+"where payment.status.name <> PaymentStatus.AWAITING_APPROVAL\n"
+" or (\n"
+" statusChange.timeStamp = ( \n"
+" select max(change.timeStamp) \n"
+" from PaymentStatusChange change \n"
+" where change.payment = payment\n"
+" )\n"
+" and statusChange.user <> :currentUser\n"
+" )\n"
+"group by status.name, status.sortOrder\n"
+"order by status.sortOrder]]>"
-#. Tag: para
-#: query_hql.xml:887
-#, no-c-format
+#: index.docbook:887
msgid ""
"If I would have mapped the <literal>statusChanges</literal> collection
as a "
"list, instead of a set, the query would have been much simpler to write."
msgstr ""
-"Si hubiese mapeado la colección <literal>statusChanges</literal> como
una "
-"lista, en vez de un conjunto, la consulta habría sido mucho más simple de "
-"escribir."
+"Si hubiese mapeado la colección
<literal>statusChanges</literal> como "
+"una lista, en vez de un conjunto, la consulta habría sido mucho "
+"más simple de escribir."
-#. Tag: programlisting
-#: query_hql.xml:892
-#, no-c-format
+#: index.docbook:892
msgid ""
"<![CDATA[select count(payment), status.name\n"
"from Payment as payment\n"
@@ -2036,10 +1835,16 @@
"group by status.name, status.sortOrder\n"
"order by status.sortOrder]]>"
msgstr ""
+"<![CDATA[select count(payment), status.name \n"
+"from Payment as payment\n"
+" join payment.currentStatus as status\n"
+"where payment.status.name <> PaymentStatus.AWAITING_APPROVAL\n"
+" or payment.statusChanges[ maxIndex(payment.statusChanges) ].user <>
:"
+"currentUser\n"
+"group by status.name, status.sortOrder\n"
+"order by status.sortOrder]]>"
-#. Tag: para
-#: query_hql.xml:894
-#, no-c-format
+#: index.docbook:894
msgid ""
"The next query uses the MS SQL Server <literal>isNull()</literal>
function "
"to return all the accounts and unpaid payments for the organization to which
"
@@ -2049,17 +1854,15 @@
"<literal>ACCOUNT_TYPE</literal>,
<literal>ORGANIZATION</literal> and "
"<literal>ORG_USER</literal> tables."
msgstr ""
-"La próxima consulta usa la función <literal>isNull()</literal> de MS
SQL "
-"Server para devolver todas las cuentas y pagos inpagos de la organización a "
-"la que pertenece el usuario actual. Se traduce en una consulta SQL con tres "
-"joins interiores, un join exterior y una subconsulta contra las tablas "
-"<literal>ACCOUNT</literal>, <literal>PAYMENT</literal>,
"
+"La próxima consulta usa la función
<literal>isNull()</literal> "
+"de MS SQL Server para devolver todas las cuentas y pagos inpagos de la "
+"organización a la que pertenece el usuario actual. Se traduce en una
"
+"consulta SQL con tres joins interiores, un join exterior y una subconsulta "
+"contra las tablas <literal>ACCOUNT</literal>,
<literal>PAYMENT</literal>, "
"<literal>PAYMENT_STATUS</literal>,
<literal>ACCOUNT_TYPE</literal>, "
"<literal>ORGANIZATION</literal> y
<literal>ORG_USER</literal>."
-#. Tag: programlisting
-#: query_hql.xml:903
-#, no-c-format
+#: index.docbook:903
msgid ""
"<![CDATA[select account, payment\n"
"from Account as account\n"
@@ -2069,19 +1872,22 @@
"PaymentStatus.UNPAID)\n"
"order by account.type.sortOrder, account.accountNumber,
payment.dueDate]]>"
msgstr ""
+"<![CDATA[select account, payment\n"
+"from Account as account\n"
+" left outer join account.payments as payment\n"
+"where :currentUser in elements(account.holder.users)\n"
+" and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, "
+"PaymentStatus.UNPAID)\n"
+"order by account.type.sortOrder, account.accountNumber,
payment.dueDate]]>"
-#. Tag: para
-#: query_hql.xml:905
-#, no-c-format
+#: index.docbook:905
msgid ""
"For some databases, we would need to do away with the (correlated)
subselect."
msgstr ""
-"Para algunas bases de datos, necesitaríamos eliminar la subselect "
+"Para algunas bases de datos, necesitaríamos eliminar la subselect
"
"(correlacionada)."
-#. Tag: programlisting
-#: query_hql.xml:909
-#, no-c-format
+#: index.docbook:909
msgid ""
"<![CDATA[select account, payment\n"
"from Account as account\n"
@@ -2092,16 +1898,20 @@
"PaymentStatus.UNPAID)\n"
"order by account.type.sortOrder, account.accountNumber,
payment.dueDate]]>"
msgstr ""
+"<![CDATA[select account, payment\n"
+"from Account as account\n"
+" join account.holder.users as user\n"
+" left outer join account.payments as payment\n"
+"where :currentUser = user\n"
+" and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, "
+"PaymentStatus.UNPAID)\n"
+"order by account.type.sortOrder, account.accountNumber,
payment.dueDate]]>"
-#. Tag: title
-#: query_hql.xml:914
-#, no-c-format
+#: index.docbook:914
msgid "Bulk update and delete"
msgstr "Sentencias UPDATE y DELETE masivas"
-#. Tag: para
-#: query_hql.xml:916
-#, no-c-format
+#: index.docbook:916
msgid ""
"HQL now supports <literal>update</literal>,
<literal>delete</literal> and "
"<literal>insert ... select ...</literal> statements. See <xref
linkend="
@@ -2110,40 +1920,32 @@
"HQL soporta ahora sentencias UPDATE y DELETE en HQL. Ver <xref linkend="
"\"batch-direct\"/> para detalles."
-#. Tag: title
-#: query_hql.xml:924
-#, no-c-format
+#: index.docbook:924
msgid "Tips & Tricks"
msgstr "Consejos y Trucos"
-#. Tag: para
-#: query_hql.xml:926
-#, no-c-format
+#: index.docbook:926
msgid ""
"You can count the number of query results without actually returning them:"
msgstr ""
-"Puedes contar el número de resultados de una consulta sin devolverlos "
+"Puedes contar el número de resultados de una consulta sin devolverlos
"
"realmente:"
-#. Tag: programlisting
-#: query_hql.xml:930
-#, no-c-format
+#: index.docbook:930
msgid ""
"<![CDATA[( (Integer) session.createQuery(\"select count(*) from
....\")."
"iterate().next() ).intValue()]]>"
msgstr ""
+"<![CDATA[( (Integer) session.createQuery(\"select count(*) from
....\")."
+"iterate().next() ).intValue()]]>"
-#. Tag: para
-#: query_hql.xml:932
-#, no-c-format
+#: index.docbook:932
msgid "To order a result by the size of a collection, use the following
query:"
msgstr ""
-"Para ordenar un resultado por el tamaño de una colección, usa la siguiente "
-"consulta:"
+"Para ordenar un resultado por el tamaño de una colección, usa
"
+"la siguiente consulta:"
-#. Tag: programlisting
-#: query_hql.xml:936
-#, no-c-format
+#: index.docbook:936
msgid ""
"<![CDATA[select usr.id, usr.name\n"
"from User as usr\n"
@@ -2151,32 +1953,30 @@
"group by usr.id, usr.name\n"
"order by count(msg)]]>"
msgstr ""
+"<![CDATA[select usr.id, usr.name\n"
+"from User as usr \n"
+" left join usr.messages as msg\n"
+"group by usr.id, usr.name\n"
+"order by count(msg)]]>"
-#. Tag: para
-#: query_hql.xml:938
-#, no-c-format
+#: index.docbook:938
msgid ""
"If your database supports subselects, you can place a condition upon "
"selection size in the where clause of your query:"
msgstr ""
-"Si tu base de datos soporta subselects, puedes colocar una condición sobre "
-"el tamaño de selección en la cláusula where de tu consulta:"
+"Si tu base de datos soporta subselects, puedes colocar una condición
"
+"sobre el tamaño de selección en la cláusula where
de tu "
+"consulta:"
-#. Tag: programlisting
-#: query_hql.xml:943
-#, no-c-format
+#: index.docbook:943
msgid "<![CDATA[from User usr where size(usr.messages) >= 1]]>"
-msgstr ""
+msgstr "<![CDATA[from User usr where size(usr.messages) >= 1]]>"
-#. Tag: para
-#: query_hql.xml:945
-#, no-c-format
+#: index.docbook:945
msgid "If your database doesn't support subselects, use the following
query:"
msgstr "Si tu base de datos no soporta subselects, usa la siguiente consulta:"
-#. Tag: programlisting
-#: query_hql.xml:949
-#, no-c-format
+#: index.docbook:949
msgid ""
"<![CDATA[select usr.id, usr.name\n"
"from User usr.name\n"
@@ -2184,20 +1984,22 @@
"group by usr.id, usr.name\n"
"having count(msg) >= 1]]>"
msgstr ""
+"<![CDATA[select usr.id, usr.name\n"
+"from User usr.name\n"
+" join usr.messages msg\n"
+"group by usr.id, usr.name\n"
+"having count(msg) >= 1]]>"
-#. Tag: para
-#: query_hql.xml:951
-#, no-c-format
+#: index.docbook:951
msgid ""
"As this solution can't return a <literal>User</literal> with zero
messages "
"because of the inner join, the following form is also useful:"
msgstr ""
-"Como esta solución no puede devolver un <literal>User</literal> con
cero "
-"mensajes debido a la unión interior, la siguiente forma es también útil:"
+"Como esta solución no puede devolver un
<literal>User</literal> con "
+"cero mensajes debido a la unión interior, la siguiente forma es "
+"también útil:"
-#. Tag: programlisting
-#: query_hql.xml:956
-#, no-c-format
+#: index.docbook:956
msgid ""
"<![CDATA[select usr.id, usr.name\n"
"from User as usr\n"
@@ -2205,28 +2007,31 @@
"group by usr.id, usr.name\n"
"having count(msg) = 0]]>"
msgstr ""
+"<![CDATA[select usr.id, usr.name\n"
+"from User as usr\n"
+" left join usr.messages as msg\n"
+"group by usr.id, usr.name\n"
+"having count(msg) = 0]]>"
-#. Tag: para
-#: query_hql.xml:958
-#, no-c-format
+#: index.docbook:958
msgid "Properties of a JavaBean can be bound to named query parameters:"
msgstr ""
-"Las propiedades de un JavaBean pueden ser ligadas al parámetros de consulta "
-"con nombre:"
+"Las propiedades de un JavaBean pueden ser ligadas al parámetros de
"
+"consulta con nombre:"
-#. Tag: programlisting
-#: query_hql.xml:962
-#, no-c-format
+#: index.docbook:962
msgid ""
"<![CDATA[Query q = s.createQuery(\"from foo Foo as foo where foo.name=:name
"
"and foo.size=:size\");\n"
"q.setProperties(fooBean); // fooBean has getName() and getSize()\n"
"List foos = q.list();]]>"
msgstr ""
+"<![CDATA[Query q = s.createQuery(\"from foo Foo as foo where foo.name=:name
"
+"and foo.size=:size\");\n"
+"q.setProperties(fooBean); // fooBean has getName() and getSize()\n"
+"List foos = q.list();]]>"
-#. Tag: para
-#: query_hql.xml:964
-#, no-c-format
+#: index.docbook:964
msgid ""
"Collections are pageable by using the <literal>Query</literal>
interface "
"with a filter:"
@@ -2234,9 +2039,7 @@
"Las colecciones son paginables usando la interface
<literal>Query</literal> "
"con un filtro:"
-#. Tag: programlisting
-#: query_hql.xml:968
-#, no-c-format
+#: index.docbook:968
msgid ""
"<![CDATA[Query q = s.createFilter( collection, \"\" ); // the trivial
"
"filter\n"
@@ -2244,121 +2047,106 @@
"q.setFirstResult(PAGE_SIZE * pageNumber);\n"
"List page = q.list();]]>"
msgstr ""
+"<![CDATA[Query q = s.createFilter( collection, \"\" ); // the trivial
"
+"filter\n"
+"q.setMaxResults(PAGE_SIZE);\n"
+"q.setFirstResult(PAGE_SIZE * pageNumber);\n"
+"List page = q.list();]]>"
-#. Tag: para
-#: query_hql.xml:970
-#, no-c-format
+#: index.docbook:970
msgid "Collection elements may be ordered or grouped using a query filter:"
msgstr ""
-"Los elementos de colección pueden ser ordenados o agrupados usando un filtro
"
-"de consulta:"
+"Los elementos de colección pueden ser ordenados o agrupados usando un
"
+"filtro de consulta:"
-#. Tag: programlisting
-#: query_hql.xml:974
-#, no-c-format
+#: index.docbook:974
msgid ""
"<![CDATA[Collection orderedCollection = s.filter( collection, \"order by
"
"this.amount\" );\n"
"Collection counts = s.filter( collection, \"select this.type, count(this)
"
"group by this.type\" );]]>"
msgstr ""
+"<![CDATA[Collection orderedCollection = s.filter( collection, \"order by
"
+"this.amount\" );\n"
+"Collection counts = s.filter( collection, \"select this.type, count(this)
"
+"group by this.type\" );]]>"
-#. Tag: para
-#: query_hql.xml:976
-#, no-c-format
+#: index.docbook:976
msgid "You can find the size of a collection without initializing it:"
-msgstr "Puedes hallar el tamaño de una colección sin inicializarla:"
+msgstr ""
+"Puedes hallar el tamaño de una colección sin
inicializarla:"
-#. Tag: programlisting
-#: query_hql.xml:980
-#, no-c-format
+#: index.docbook:980
msgid ""
"<![CDATA[( (Integer) session.createQuery(\"select count(*) from
....\")."
"iterate().next() ).intValue();]]>"
msgstr ""
+"<![CDATA[( (Integer) session.createQuery(\"select count(*) from
....\")."
+"iterate().next() ).intValue();]]>"
-#. Tag: title
-#: query_hql.xml:985
-#, no-c-format
+#: index.docbook:985
msgid "Components"
-msgstr "translator-credits"
+msgstr "UNTRANSLATED! Components"
-#. Tag: para
-#: query_hql.xml:987
-#, no-c-format
+#: index.docbook:987
msgid ""
"Components might be used in just about every way that simple value types can
"
"be used in HQL queries. They can appear in the
<literal>select</literal> "
"clause:"
msgstr ""
+"Components might be used in just about every way that simple value types can
"
+"be used in HQL queries. They can appear in the
<literal>select</literal> "
+"clause:"
-#. Tag: programlisting
-#: query_hql.xml:992 query_hql.xml:1038
-#, no-c-format
+#: index.docbook:992, index.docbook:1038
msgid "<![CDATA[select p.name from from Person p]]>"
-msgstr ""
+msgstr "<![CDATA[select p.name from from Person p]]>"
-#. Tag: programlisting
-#: query_hql.xml:993
-#, no-c-format
+#: index.docbook:993
msgid "<![CDATA[select p.name.first from from Person p]]>"
-msgstr ""
+msgstr "<![CDATA[select p.name.first from from Person p]]>"
-#. Tag: para
-#: query_hql.xml:995
-#, no-c-format
+#: index.docbook:995
msgid ""
"where the Person's name property is a component. Components can also be used
"
"in the <literal>where</literal> clause:"
msgstr ""
+"where the Person's name property is a component. Components can also be used
"
+"in the <literal>where</literal> clause:"
-#. Tag: programlisting
-#: query_hql.xml:1000
-#, no-c-format
+#: index.docbook:1000
msgid "<![CDATA[from from Person p where p.name = :name]]>"
-msgstr ""
+msgstr "<![CDATA[from from Person p where p.name = :name]]>"
-#. Tag: programlisting
-#: query_hql.xml:1001
-#, no-c-format
+#: index.docbook:1001
msgid "<![CDATA[from from Person p where p.name.first = :firstName]]>"
-msgstr ""
+msgstr "<![CDATA[from from Person p where p.name.first = :firstName]]>"
-#. Tag: para
-#: query_hql.xml:1003
-#, no-c-format
+#: index.docbook:1003
msgid "Components can also be used in the <literal>order by</literal>
clause:"
-msgstr ""
+msgstr "Components can also be used in the <literal>order by</literal>
clause:"
-#. Tag: programlisting
-#: query_hql.xml:1007
-#, no-c-format
+#: index.docbook:1007
msgid "<![CDATA[from from Person p order by p.name]]>"
-msgstr ""
+msgstr "<![CDATA[from from Person p order by p.name]]>"
-#. Tag: programlisting
-#: query_hql.xml:1008
-#, no-c-format
+#: index.docbook:1008
msgid "<![CDATA[from from Person p order by p.name.first]]>"
-msgstr ""
+msgstr "<![CDATA[from from Person p order by p.name.first]]>"
-#. Tag: para
-#: query_hql.xml:1010
-#, no-c-format
+#: index.docbook:1010
msgid ""
"Another common use of components is in <link
linkend=\"queryhql-tuple\">row "
"value constructors</link>."
msgstr ""
+"Another common use of components is in <link
linkend=\"queryhql-tuple\">row "
+"value constructors</link>."
-#. Tag: title
-#: query_hql.xml:1016
-#, no-c-format
+#: index.docbook:1016
msgid "Row value constructor syntax"
-msgstr ""
+msgstr "Row value constructor syntax"
-#. Tag: para
-#: query_hql.xml:1018
-#, no-c-format
+#: index.docbook:1018
msgid ""
"HQL supports the use of ANSI SQL <literal>row value
constructor</literal> "
"syntax (sometimes called <literal>tuple</literal> syntax), even though
the "
@@ -2366,61 +2154,77 @@
"referring to multi-valued comparisons, typically associated with components.
"
"Consider an entity Person which defines a name component:"
msgstr ""
+"HQL supports the use of ANSI SQL <literal>row value
constructor</literal> "
+"syntax (sometimes called <literal>tuple</literal> syntax), even though
the "
+"underlying database may not support that notion. Here we are generally "
+"referring to multi-valued comparisons, typically associated with components.
"
+"Consider an entity Person which defines a name component:"
-#. Tag: programlisting
-#: query_hql.xml:1025
-#, no-c-format
+#: index.docbook:1025
msgid ""
"<![CDATA[from Person p where p.name.first='John' and p.name."
"last='Jingleheimer-Schmidt']]>"
msgstr ""
+"<![CDATA[from Person p where p.name.first='John' and p.name."
+"last='Jingleheimer-Schmidt']]>"
-#. Tag: para
-#: query_hql.xml:1027
-#, no-c-format
+#: index.docbook:1027
msgid ""
"That's valid syntax, although a little verbose. It be nice to make this a
"
"bit more concise and use <literal>row value constructor</literal>
syntax:"
msgstr ""
+"That's valid syntax, although a little verbose. It be nice to make this a
"
+"bit more concise and use <literal>row value constructor</literal>
syntax:"
-#. Tag: programlisting
-#: query_hql.xml:1032
-#, no-c-format
+#: index.docbook:1032
msgid "<![CDATA[from Person p where p.name=('John',
'Jingleheimer-Schmidt')]]>"
msgstr ""
+"<![CDATA[from Person p where p.name=('John',
'Jingleheimer-Schmidt')]]>"
-#. Tag: para
-#: query_hql.xml:1034
-#, no-c-format
+#: index.docbook:1034
msgid ""
"It can also be useful to specify this in the <literal>select</literal>
"
"clause:"
msgstr ""
+"It can also be useful to specify this in the <literal>select</literal>
"
+"clause:"
-#. Tag: para
-#: query_hql.xml:1040
-#, no-c-format
+#: index.docbook:1040
msgid ""
"Another time using <literal>row value constructor</literal> syntax can
be "
"beneficial is when using subqueries needing to compare against multiple "
"values:"
msgstr ""
+"Another time using <literal>row value constructor</literal> syntax can
be "
+"beneficial is when using subqueries needing to compare against multiple "
+"values:"
-#. Tag: programlisting
-#: query_hql.xml:1045
-#, no-c-format
+#: index.docbook:1045
msgid ""
"<![CDATA[from Cat as cat\n"
"where not ( cat.name, cat.color ) in (\n"
" select cat.name, cat.color from DomesticCat cat\n"
")]]>"
msgstr ""
+"<![CDATA[from Cat as cat\n"
+" where not ( cat.name, cat.color ) "
+"in (\n"
+" select cat.name, cat.color from "
+"DomesticCat cat\n"
+" )]]>"
-#. Tag: para
-#: query_hql.xml:1047
-#, no-c-format
+#: index.docbook:1047
msgid ""
"One thing to consider when deciding if you want to use this syntax is that "
"the query will be dependent upon the ordering of the component sub-"
"properties in the metadata."
msgstr ""
+"One thing to consider when deciding if you want to use this syntax is that "
+"the query will be dependent upon the ordering of the component sub-"
+"properties in the metadata."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_sql.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_sql.po 2007-11-02
00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_sql.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: query_sql.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Native SQL"
msgstr "SQL Nativo"
-#. Tag: para
-#: query_sql.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"You may also express queries in the native SQL dialect of your database. "
"This is useful if you want to utilize database specific features such as "
@@ -26,32 +17,27 @@
"provides a clean migration path from a direct SQL/JDBC based application to "
"Hibernate."
msgstr ""
-"Puedes también expresar consultas en el dialecto SQL nativo de tu base de "
-"datos. Esto es útil si quieres utilizar aspectos específicos de base de "
-"datos tal como consejos (hints) de consulta o la palabra clave "
-"<literal>CONNECT</literal> en Oracle. Provee además una clara ruta de
"
-"migración desde una aplicación basada en SQL/JDBC directo a Hibernate."
+"Puedes también expresar consultas en el dialecto SQL nativo de tu
"
+"base de datos. Esto es útil si quieres utilizar aspectos
especí"
+"ficos de base de datos tal como consejos (hints) de consulta o la palabra "
+"clave <literal>CONNECT</literal> en Oracle. Provee además
una clara "
+"ruta de migración desde una aplicación basada en SQL/JDBC
"
+"directo a Hibernate."
-#. Tag: para
-#: query_sql.xml:13
-#, no-c-format
+#: index.docbook:13
msgid ""
"Hibernate3 allows you to specify handwritten SQL (including stored "
"procedures) for all create, update, delete, and load operations."
msgstr ""
"Hibernate3 te permite especificar SQL escrito a mano (incluyendo "
-"procedimientos almacenados) para todas las operaciones de creación, "
-"actualización, borrado y carga."
+"procedimientos almacenados) para todas las operaciones de creación,
"
+"actualización, borrado y carga."
-#. Tag: title
-#: query_sql.xml:17
-#, no-c-format
+#: index.docbook:17
msgid "Using a <literal>SQLQuery</literal>"
msgstr "Using a <literal>SQLQuery</literal>"
-#. Tag: para
-#: query_sql.xml:19
-#, no-c-format
+#: index.docbook:19
msgid ""
"Execution of native SQL queries is controlled via the
<literal>SQLQuery</"
"literal> interface, which is obtained by calling <literal>Session."
@@ -63,30 +49,26 @@
"createSQLQuery()</literal>. The following describes how to use this API for
"
"querying."
-#. Tag: title
-#: query_sql.xml:25
-#, no-c-format
+#: index.docbook:25
msgid "Scalar queries"
msgstr "Scalar queries"
-#. Tag: para
-#: query_sql.xml:27
-#, no-c-format
+#: index.docbook:27
msgid "The most basic SQL query is to get a list of scalars (values)."
msgstr "The most basic SQL query is to get a list of scalars (values)."
-#. Tag: programlisting
-#: query_sql.xml:30
-#, no-c-format
+#: index.docbook:30
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").list();\n"
"sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM
CATS\").list();\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").list();\n"
+"
sess."
+"createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM CATS\").list();\n"
+"
]]>"
-#. Tag: para
-#: query_sql.xml:32
-#, no-c-format
+#: index.docbook:32
msgid ""
"These will both return a List of Object arrays (Object[]) with scalar values
"
"for each column in the CATS table. Hibernate will use ResultSetMetadata to "
@@ -96,9 +78,7 @@
"for each column in the CATS table. Hibernate will use ResultSetMetadata to "
"deduce the actual order and types of the returned scalar values."
-#. Tag: para
-#: query_sql.xml:37
-#, no-c-format
+#: index.docbook:37
msgid ""
"To avoid the overhead of using <literal>ResultSetMetadata</literal> or
"
"simply to be more explicit in what is returned one can use
<literal>addScalar"
@@ -108,9 +88,7 @@
"simply to be more explicit in what is returned one can use
<literal>addScalar"
"()</literal>."
-#. Tag: programlisting
-#: query_sql.xml:41
-#, no-c-format
+#: index.docbook:41
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
" .addScalar(\"ID\", Hibernate.LONG)\n"
@@ -118,28 +96,28 @@
" .addScalar(\"BIRTHDATE\", Hibernate.DATE)\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
+" ."
+"addScalar(\"ID\", Hibernate.LONG)\n"
+" ."
+"addScalar(\"NAME\", Hibernate.STRING)\n"
+" ."
+"addScalar(\"BIRTHDATE\", Hibernate.DATE)\n"
+"
]]>"
-#. Tag: para
-#: query_sql.xml:43 query_sql.xml:89 query_sql.xml:170 query_sql.xml:321
-#, no-c-format
+#: index.docbook:43, index.docbook:89, index.docbook:170, index.docbook:321
msgid "This query specified:"
msgstr "This query specified:"
-#. Tag: para
-#: query_sql.xml:47 query_sql.xml:93 query_sql.xml:325
-#, no-c-format
+#: index.docbook:47, index.docbook:93, index.docbook:325
msgid "the SQL query string"
msgstr "the SQL query string"
-#. Tag: para
-#: query_sql.xml:51
-#, no-c-format
+#: index.docbook:51
msgid "the columns and types to return"
msgstr "the columns and types to return"
-#. Tag: para
-#: query_sql.xml:55
-#, no-c-format
+#: index.docbook:55
msgid ""
"This will still return Object arrays, but now it will not use "
"<literal>ResultSetMetdata</literal> but will instead explicitly get the
ID, "
@@ -155,9 +133,7 @@
"be returned, even though the query is using <literal>*</literal> and
could "
"return more than the three listed columns."
-#. Tag: para
-#: query_sql.xml:63
-#, no-c-format
+#: index.docbook:63
msgid ""
"It is possible to leave out the type information for all or some of the "
"scalars."
@@ -165,9 +141,7 @@
"It is possible to leave out the type information for all or some of the "
"scalars."
-#. Tag: programlisting
-#: query_sql.xml:66
-#, no-c-format
+#: index.docbook:66
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
" .addScalar(\"ID\", Hibernate.LONG)\n"
@@ -175,10 +149,16 @@
" .addScalar(\"BIRTHDATE\")\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
+" ."
+"addScalar(\"ID\", Hibernate.LONG)\n"
+" ."
+"addScalar(\"NAME\")\n"
+" ."
+"addScalar(\"BIRTHDATE\")\n"
+"
]]>"
-#. Tag: para
-#: query_sql.xml:68
-#, no-c-format
+#: index.docbook:68
msgid ""
"This is essentially the same query as before, but now "
"<literal>ResultSetMetaData</literal> is used to decide the type of NAME
and "
@@ -188,9 +168,7 @@
"<literal>ResultSetMetaData</literal> is used to decide the type of NAME
and "
"BIRTHDATE where as the type of ID is explicitly specified."
-#. Tag: para
-#: query_sql.xml:72
-#, no-c-format
+#: index.docbook:72
msgid ""
"How the java.sql.Types returned from ResultSetMetaData is mapped to "
"Hibernate types is controlled by the Dialect. If a specific type is not "
@@ -202,15 +180,11 @@
"mapped or does not result in the expected type it is possible to customize "
"it via calls to <literal>registerHibernateType</literal> in the
Dialect."
-#. Tag: title
-#: query_sql.xml:80
-#, no-c-format
+#: index.docbook:80
msgid "Entity queries"
msgstr "Entity queries"
-#. Tag: para
-#: query_sql.xml:82
-#, no-c-format
+#: index.docbook:82
msgid ""
"The above queries were all about returning scalar values, basically "
"returning the \"raw\" values from the resultset. The following shows how
to "
@@ -222,25 +196,24 @@
"get entity objects from a native sql query via
<literal>addEntity()</"
"literal>."
-#. Tag: programlisting
-#: query_sql.xml:87
-#, no-c-format
+#: index.docbook:87
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT * FROM
CATS\").addEntity(Cat.class);\n"
"sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM
CATS\").addEntity(Cat."
"class);\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM
CATS\").addEntity(Cat.class);\n"
+"
sess."
+"createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM
CATS\").addEntity(Cat."
+"class);\n"
+"
]]>"
-#. Tag: para
-#: query_sql.xml:97
-#, no-c-format
+#: index.docbook:97
msgid "the entity returned by the query"
msgstr "the entity returned by the query"
-#. Tag: para
-#: query_sql.xml:101
-#, no-c-format
+#: index.docbook:101
msgid ""
"Assuming that Cat is mapped as a class with the columns ID, NAME and "
"BIRTHDATE the above queries will both return a List where each element is a "
@@ -250,9 +223,7 @@
"BIRTHDATE the above queries will both return a List where each element is a "
"Cat entity."
-#. Tag: para
-#: query_sql.xml:105
-#, no-c-format
+#: index.docbook:105
msgid ""
"If the entity is mapped with a <literal>many-to-one</literal> to
another "
"entity it is required to also return this when performing the native query, "
@@ -268,30 +239,25 @@
"but we prefer to be explicit as in the following example for a
<literal>many-"
"to-one</literal> to a <literal>Dog</literal>:"
-#. Tag: programlisting
-#: query_sql.xml:113
-#, no-c-format
+#: index.docbook:113
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, DOG_ID FROM
CATS"
"\").addEntity(Cat.class);\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, DOG_ID FROM
CATS"
+"\").addEntity(Cat.class);\n"
+"
]]>"
-#. Tag: para
-#: query_sql.xml:115
-#, no-c-format
+#: index.docbook:115
msgid "This will allow cat.getDog() to function properly."
msgstr "This will allow cat.getDog() to function properly."
-#. Tag: title
-#: query_sql.xml:119
-#, no-c-format
+#: index.docbook:119
msgid "Handling associations and collections"
msgstr "Handling associations and collections"
-#. Tag: para
-#: query_sql.xml:121
-#, no-c-format
+#: index.docbook:121
msgid ""
"It is possible to eagerly join in the <literal>Dog</literal> to avoid
the "
"possible extra roundtrip for initializing the proxy. This is done via the "
@@ -303,9 +269,7 @@
"<literal>addJoin()</literal> method, which allows you to join in an
"
"association or collection."
-#. Tag: programlisting
-#: query_sql.xml:126
-#, no-c-format
+#: index.docbook:126
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT c.ID, NAME, BIRTHDATE, DOG_ID, D_ID,
"
"D_NAME FROM CATS c, DOGS d WHERE c.DOG_ID = d.D_ID\")\n"
@@ -313,10 +277,15 @@
" .addJoin(\"cat.dog\");\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT c.ID, NAME, BIRTHDATE, DOG_ID, D_ID,
"
+"D_NAME FROM CATS c, DOGS d WHERE c.DOG_ID = d.D_ID\")\n"
+" ."
+"addEntity(\"cat\", Cat.class)\n"
+" ."
+"addJoin(\"cat.dog\");\n"
+"
]]>"
-#. Tag: para
-#: query_sql.xml:128
-#, no-c-format
+#: index.docbook:128
msgid ""
"In this example the returned <literal>Cat</literal>'s will have
their "
"<literal>dog</literal> property fully initialized without any extra
"
@@ -332,9 +301,7 @@
"the same eager joining for collections, e.g. if the
<literal>Cat</literal> "
"had a one-to-many to <literal>Dog</literal> instead."
-#. Tag: programlisting
-#: query_sql.xml:136
-#, no-c-format
+#: index.docbook:136
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, D_ID, D_NAME,
"
"CAT_ID FROM CATS c, DOGS d WHERE c.ID = d.CAT_ID\")\n"
@@ -342,10 +309,15 @@
" .addJoin(\"cat.dogs\");\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, D_ID, D_NAME,
"
+"CAT_ID FROM CATS c, DOGS d WHERE c.ID = d.CAT_ID\")\n"
+" ."
+"addEntity(\"cat\", Cat.class)\n"
+" ."
+"addJoin(\"cat.dogs\");\n"
+"
]]>"
-#. Tag: para
-#: query_sql.xml:138
-#, no-c-format
+#: index.docbook:138
msgid ""
"At this stage we are reaching the limits of what is possible with native "
"queries without starting to enhance the sql queries to make them usable in "
@@ -357,15 +329,11 @@
"Hibernate; the problems starts to arise when returning multiple entities of "
"the same type or when the default alias/column names are not enough."
-#. Tag: title
-#: query_sql.xml:146
-#, no-c-format
+#: index.docbook:146
msgid "Returning multiple entities"
msgstr "Returning multiple entities"
-#. Tag: para
-#: query_sql.xml:148
-#, no-c-format
+#: index.docbook:148
msgid ""
"Until now the result set column names are assumed to be the same as the "
"column names specified in the mapping document. This can be problematic for "
@@ -377,9 +345,7 @@
"SQL queries which join multiple tables, since the same column names may "
"appear in more than one table."
-#. Tag: para
-#: query_sql.xml:153
-#, no-c-format
+#: index.docbook:153
msgid ""
"Column alias injection is needed in the following query (which most likely "
"will fail):"
@@ -387,9 +353,7 @@
"Column alias injection is needed in the following query (which most likely "
"will fail):"
-#. Tag: programlisting
-#: query_sql.xml:156
-#, no-c-format
+#: index.docbook:156
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT c.*, m.* FROM CATS c, CATS m WHERE
c."
"MOTHER_ID = c.ID\")\n"
@@ -397,10 +361,15 @@
" .addEntity(\"mother\", Cat.class)\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT c.*, m.* FROM CATS c, CATS m WHERE
c."
+"MOTHER_ID = c.ID\")\n"
+" ."
+"addEntity(\"cat\", Cat.class)\n"
+" ."
+"addEntity(\"mother\", Cat.class)\n"
+"
]]>"
-#. Tag: para
-#: query_sql.xml:158
-#, no-c-format
+#: index.docbook:158
msgid ""
"The intention for this query is to return two Cat instances per row, a cat "
"and its mother. This will fail since there is a conflict of names since they
"
@@ -416,15 +385,11 @@
"which are not equal to the columns specificed in the mappings (\"ID\" and
"
"\"NAME\")."
-#. Tag: para
-#: query_sql.xml:165
-#, no-c-format
+#: index.docbook:165
msgid "The following form is not vulnerable to column name duplication:"
msgstr "The following form is not vulnerable to column name duplication:"
-#. Tag: programlisting
-#: query_sql.xml:168
-#, no-c-format
+#: index.docbook:168
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT {cat.*}, {mother.*} FROM CATS c,
CATS "
"m WHERE c.MOTHER_ID = c.ID\")\n"
@@ -432,10 +397,15 @@
" .addEntity(\"mother\", Cat.class)\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT {cat.*}, {mother.*} FROM CATS c,
CATS "
+"m WHERE c.MOTHER_ID = c.ID\")\n"
+" ."
+"addEntity(\"cat\", Cat.class)\n"
+" ."
+"addEntity(\"mother\", Cat.class)\n"
+"
]]>"
-#. Tag: para
-#: query_sql.xml:174
-#, no-c-format
+#: index.docbook:174
msgid ""
"the SQL query string, with placeholders for Hibernate to inject column "
"aliases"
@@ -443,15 +413,11 @@
"the SQL query string, with placeholders for Hibernate to inject column "
"aliases"
-#. Tag: para
-#: query_sql.xml:179
-#, no-c-format
+#: index.docbook:179
msgid "the entities returned by the query"
msgstr "the entities returned by the query"
-#. Tag: para
-#: query_sql.xml:183
-#, no-c-format
+#: index.docbook:183
msgid ""
"The {cat.*} and {mother.*} notation used above is a shorthand for \"all
"
"properties\". Alternatively, you may list the columns explicity, but even in
"
@@ -471,9 +437,7 @@
"metadata. Notice that we may even use the property aliases in the where "
"clause if we like."
-#. Tag: programlisting
-#: query_sql.xml:192
-#, no-c-format
+#: index.docbook:192
msgid ""
"<![CDATA[String sql = \"SELECT ID as {c.id}, NAME as {c.name}, \" +
\n"
" \"BIRTHDATE as {c.birthDate}, MOTHER_ID as {c.mother}, {mother.*}
"
@@ -485,16 +449,25 @@
" .addEntity(\"mother\", Cat.class).list()\n"
"]]>"
msgstr ""
+"<![CDATA[String sql = \"SELECT ID as {c.id}, NAME as {c.name}, \" +
\n"
+" \"BIRTHDATE as {c."
+"birthDate}, MOTHER_ID as {c.mother}, {mother.*} \" +\n"
+" \"FROM CAT_LOG c, "
+"CAT_LOG m WHERE {c.mother} = c.ID\";\n"
+" \n"
+" List loggedCats = sess."
+"createSQLQuery(sql)\n"
+" .addEntity(\"cat\",
Cat."
+"class)\n"
+"
.addEntity(\"mother\", "
+"Cat.class).list()\n"
+" ]]>"
-#. Tag: title
-#: query_sql.xml:195
-#, no-c-format
+#: index.docbook:195
msgid "Alias and property references"
msgstr "Alias and property references"
-#. Tag: para
-#: query_sql.xml:197
-#, no-c-format
+#: index.docbook:197
msgid ""
"For most cases the above alias injection is needed, but for queries relating
"
"to more complex mappings like composite properties, inheritance "
@@ -506,9 +479,7 @@
"discriminators, collections etc. there are some specific aliases to use to "
"allow Hibernate to inject the proper aliases."
-#. Tag: para
-#: query_sql.xml:202
-#, no-c-format
+#: index.docbook:202
msgid ""
"The following table shows the different possibilities of using the alias "
"injection. Note: the alias names in the result are examples, each alias will
"
@@ -518,213 +489,143 @@
"injection. Note: the alias names in the result are examples, each alias will
"
"have a unique and probably different name when used."
-#. Tag: title
-#: query_sql.xml:208
-#, no-c-format
+#: index.docbook:208
msgid "Alias injection names"
msgstr "Alias injection names"
-#. Tag: entry
-#: query_sql.xml:219
-#, no-c-format
+#: index.docbook:219
msgid "Description"
msgstr "Description"
-#. Tag: entry
-#: query_sql.xml:221
-#, no-c-format
+#: index.docbook:221
msgid "Syntax"
msgstr "Syntax"
-#. Tag: entry
-#: query_sql.xml:223
-#, no-c-format
+#: index.docbook:223
msgid "Example"
msgstr "Example"
-#. Tag: entry
-#: query_sql.xml:229
-#, no-c-format
+#: index.docbook:229
msgid "A simple property"
msgstr "A simple property"
-#. Tag: literal
-#: query_sql.xml:231
-#, no-c-format
+#: index.docbook:231
msgid "{[aliasname].[propertyname]"
msgstr "{[aliasname].[propertyname]"
-#. Tag: literal
-#: query_sql.xml:233
-#, no-c-format
+#: index.docbook:233
msgid "A_NAME as {item.name}"
msgstr "A_NAME as {item.name}"
-#. Tag: entry
-#: query_sql.xml:237
-#, no-c-format
+#: index.docbook:237
msgid "A composite property"
msgstr "A composite property"
-#. Tag: literal
-#: query_sql.xml:239
-#, no-c-format
+#: index.docbook:239
msgid "{[aliasname].[componentname].[propertyname]}"
msgstr "{[aliasname].[componentname].[propertyname]}"
-#. Tag: literal
-#: query_sql.xml:241
-#, no-c-format
+#: index.docbook:241
msgid "CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}"
msgstr "CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}"
-#. Tag: entry
-#: query_sql.xml:246
-#, no-c-format
+#: index.docbook:246
msgid "Discriminator of an entity"
msgstr "Discriminator of an entity"
-#. Tag: literal
-#: query_sql.xml:248
-#, no-c-format
+#: index.docbook:248
msgid "{[aliasname].class}"
msgstr "{[aliasname].class}"
-#. Tag: literal
-#: query_sql.xml:250
-#, no-c-format
+#: index.docbook:250
msgid "DISC as {item.class}"
msgstr "DISC as {item.class}"
-#. Tag: entry
-#: query_sql.xml:254
-#, no-c-format
+#: index.docbook:254
msgid "All properties of an entity"
msgstr "All properties of an entity"
-#. Tag: literal
-#: query_sql.xml:256 query_sql.xml:304
-#, no-c-format
+#: index.docbook:256, index.docbook:304
msgid "{[aliasname].*}"
msgstr "{[aliasname].*}"
-#. Tag: literal
-#: query_sql.xml:258
-#, no-c-format
+#: index.docbook:258
msgid "{item.*}"
msgstr "{item.*}"
-#. Tag: entry
-#: query_sql.xml:262
-#, no-c-format
+#: index.docbook:262
msgid "A collection key"
msgstr "A collection key"
-#. Tag: literal
-#: query_sql.xml:264
-#, no-c-format
+#: index.docbook:264
msgid "{[aliasname].key}"
msgstr "{[aliasname].key}"
-#. Tag: literal
-#: query_sql.xml:266
-#, no-c-format
+#: index.docbook:266
msgid "ORGID as {coll.key}"
msgstr "ORGID as {coll.key}"
-#. Tag: entry
-#: query_sql.xml:270
-#, no-c-format
+#: index.docbook:270
msgid "The id of an collection"
msgstr "The id of an collection"
-#. Tag: literal
-#: query_sql.xml:272
-#, no-c-format
+#: index.docbook:272
msgid "{[aliasname].id}"
msgstr "{[aliasname].id}"
-#. Tag: literal
-#: query_sql.xml:274
-#, no-c-format
+#: index.docbook:274
msgid "EMPID as {coll.id}"
msgstr "EMPID as {coll.id}"
-#. Tag: entry
-#: query_sql.xml:278
-#, no-c-format
+#: index.docbook:278
msgid "The element of an collection"
msgstr "The element of an collection"
-#. Tag: literal
-#: query_sql.xml:280
-#, no-c-format
+#: index.docbook:280
msgid "{[aliasname].element}"
msgstr "{[aliasname].element}"
-#. Tag: literal
-#: query_sql.xml:282
-#, no-c-format
+#: index.docbook:282
msgid "XID as {coll.element}"
msgstr "XID as {coll.element}"
-#. Tag: entry
-#: query_sql.xml:286
-#, no-c-format
+#: index.docbook:286
msgid "roperty of the element in the collection"
msgstr "roperty of the element in the collection"
-#. Tag: literal
-#: query_sql.xml:288
-#, no-c-format
+#: index.docbook:288
msgid "{[aliasname].element.[propertyname]}"
msgstr "{[aliasname].element.[propertyname]}"
-#. Tag: literal
-#: query_sql.xml:290
-#, no-c-format
+#: index.docbook:290
msgid "NAME as {coll.element.name}"
msgstr "NAME as {coll.element.name}"
-#. Tag: entry
-#: query_sql.xml:294
-#, no-c-format
+#: index.docbook:294
msgid "All properties of the element in the collection"
msgstr "All properties of the element in the collection"
-#. Tag: literal
-#: query_sql.xml:296
-#, no-c-format
+#: index.docbook:296
msgid "{[aliasname].element.*}"
msgstr "{[aliasname].element.*}"
-#. Tag: literal
-#: query_sql.xml:298
-#, no-c-format
+#: index.docbook:298
msgid "{coll.element.*}"
msgstr "{coll.element.*}"
-#. Tag: entry
-#: query_sql.xml:302
-#, no-c-format
+#: index.docbook:302
msgid "All properties of the the collection"
msgstr "All properties of the the collection"
-#. Tag: literal
-#: query_sql.xml:306
-#, no-c-format
+#: index.docbook:306
msgid "{coll.*}"
msgstr "{coll.*}"
-#. Tag: title
-#: query_sql.xml:315
-#, no-c-format
+#: index.docbook:315
msgid "Returning non-managed entities"
msgstr "Returning non-managed entities"
-#. Tag: para
-#: query_sql.xml:317
-#, no-c-format
+#: index.docbook:317
msgid ""
"It is possible to apply a ResultTransformer to native sql queries. Allowing "
"it to e.g. return non-managed entities."
@@ -732,23 +633,20 @@
"It is possible to apply a ResultTransformer to native sql queries. Allowing "
"it to e.g. return non-managed entities."
-#. Tag: programlisting
-#: query_sql.xml:319
-#, no-c-format
+#: index.docbook:319
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT NAME, BIRTHDATE FROM
CATS\")\n"
" .setResultTransformer(Transformers.aliasToBean(CatDTO.class))]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT NAME, BIRTHDATE FROM
CATS\")\n"
+" ."
+"setResultTransformer(Transformers.aliasToBean(CatDTO.class))]]>"
-#. Tag: para
-#: query_sql.xml:329
-#, no-c-format
+#: index.docbook:329
msgid "a result transformer"
msgstr "a result transformer"
-#. Tag: para
-#: query_sql.xml:333
-#, no-c-format
+#: index.docbook:333
msgid ""
"The above query will return a list of <literal>CatDTO</literal> which
has "
"been instantiated and injected the values of NAME and BIRTHNAME into its "
@@ -758,15 +656,11 @@
"been instantiated and injected the values of NAME and BIRTHNAME into its "
"corresponding properties or fields."
-#. Tag: title
-#: query_sql.xml:340
-#, no-c-format
+#: index.docbook:340
msgid "Handling inheritance"
msgstr "Handling inheritance"
-#. Tag: para
-#: query_sql.xml:342
-#, no-c-format
+#: index.docbook:342
msgid ""
"Native sql queries which query for entities that is mapped as part of an "
"inheritance must include all properties for the baseclass and all it "
@@ -776,21 +670,15 @@
"inheritance must include all properties for the baseclass and all it "
"subclasses."
-#. Tag: title
-#: query_sql.xml:348
-#, no-c-format
+#: index.docbook:348
msgid "Parameters"
msgstr "Parameters"
-#. Tag: para
-#: query_sql.xml:350
-#, no-c-format
+#: index.docbook:350
msgid "Native sql queries support positional as well as named parameters:"
msgstr "Native sql queries support positional as well as named parameters:"
-#. Tag: programlisting
-#: query_sql.xml:353
-#, no-c-format
+#: index.docbook:353
msgid ""
"<![CDATA[Query query = sess.createSQLQuery(\"SELECT * FROM CATS WHERE NAME
"
"like ?\").addEntity(Cat.class);\n"
@@ -800,16 +688,22 @@
"addEntity(Cat.class);\n"
"List pusList = query.setString(\"name\", \"Pus%\").list();
]]>"
msgstr ""
+"<![CDATA[Query query = sess.createSQLQuery(\"SELECT * FROM CATS WHERE NAME
"
+"like ?\").addEntity(Cat.class);\n"
+" List pusList = query."
+"setString(0, \"Pus%\").list();\n"
+" \n"
+" query = sess."
+"createSQLQuery(\"SELECT * FROM CATS WHERE NAME like
:name\").addEntity(Cat."
+"class);\n"
+" List pusList = query."
+"setString(\"name\", \"Pus%\").list(); ]]>"
-#. Tag: title
-#: query_sql.xml:361
-#, no-c-format
+#: index.docbook:361
msgid "Named SQL queries"
msgstr "Consultas SQL con nombre"
-#. Tag: para
-#: query_sql.xml:363
-#, no-c-format
+#: index.docbook:363
msgid ""
"Named SQL queries may be defined in the mapping document and called in "
"exactly the same way as a named HQL query. In this case, we do "
@@ -820,9 +714,7 @@
"En este caso, <emphasis>no</emphasis> necesitamos llamar a
<literal>addEntity"
"()</literal>."
-#. Tag: programlisting
-#: query_sql.xml:368
-#, no-c-format
+#: index.docbook:368
msgid ""
"<![CDATA[<sql-query name=\"persons\">\n"
" <return alias=\"person\"
class=\"eg.Person\"/>\n"
@@ -833,20 +725,28 @@
" WHERE person.NAME LIKE :namePattern\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"persons\">\n"
+" <return alias=\"person\"
class=\"eg.Person\"/>\n"
+" SELECT person.NAME AS {person.name},\n"
+" person.AGE AS {person.age},\n"
+" person.SEX AS {person.sex}\n"
+" FROM PERSON person \n"
+" WHERE person.NAME LIKE :namePattern\n"
+"</sql-query>]]>"
-#. Tag: programlisting
-#: query_sql.xml:370
-#, no-c-format
+#: index.docbook:370
msgid ""
"<![CDATA[List people = sess.getNamedQuery(\"persons\")\n"
" .setString(\"namePattern\", namePattern)\n"
" .setMaxResults(50)\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List people = sess.getNamedQuery(\"persons\")\n"
+" .setString(\"namePattern\", namePattern)\n"
+" .setMaxResults(50)\n"
+" .list();]]>"
-#. Tag: para
-#: query_sql.xml:372
-#, no-c-format
+#: index.docbook:372
msgid ""
"The <literal><return-join></literal> and
<literal><load-"
"collection></literal> elements are used to join associations and
define "
@@ -856,9 +756,7 @@
"collection></literal> se usan para unir asociaciones y definir
consultas "
"que inicialicen colecciones, respectivamente."
-#. Tag: programlisting
-#: query_sql.xml:377
-#, no-c-format
+#: index.docbook:377
msgid ""
"<![CDATA[<sql-query name=\"personsWith\">\n"
" <return alias=\"person\"
class=\"eg.Person\"/>\n"
@@ -876,10 +774,23 @@
" WHERE person.NAME LIKE :namePattern\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"personsWith\">\n"
+" <return alias=\"person\"
class=\"eg.Person\"/>\n"
+" <return-join alias=\"address\"
property=\"person.mailingAddress\"/>\n"
+" SELECT person.NAME AS {person.name},\n"
+" person.AGE AS {person.age},\n"
+" person.SEX AS {person.sex},\n"
+" address.STREET AS {address.street},\n"
+" address.CITY AS {address.city},\n"
+" address.STATE AS {address.state},\n"
+" address.ZIP AS {address.zip}\n"
+" FROM PERSON person \n"
+" JOIN ADDRESS address\n"
+" ON person.ID = address.PERSON_ID AND
address.TYPE='MAILING'\n"
+" WHERE person.NAME LIKE :namePattern\n"
+"</sql-query>]]>"
-#. Tag: para
-#: query_sql.xml:379
-#, no-c-format
+#: index.docbook:379
msgid ""
"A named SQL query may return a scalar value. You must declare the column "
"alias and Hibernate type using the
<literal><return-scalar></literal> "
@@ -889,9 +800,7 @@
"especificar el alias de columna y tipo Hibernate usando el elementp "
"<literal><return-scalar></literal>:"
-#. Tag: programlisting
-#: query_sql.xml:383
-#, no-c-format
+#: index.docbook:383
msgid ""
"<![CDATA[<sql-query name=\"mySqlQuery\">\n"
" <return-scalar column=\"name\"
type=\"string\"/>\n"
@@ -901,10 +810,15 @@
" FROM PERSON p WHERE p.NAME LIKE 'Hiber%'\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"mySqlQuery\">\n"
+" <return-scalar column=\"name\"
type=\"string\"/>\n"
+" <return-scalar column=\"age\"
type=\"long\"/>\n"
+" SELECT p.NAME AS name,\n"
+" p.AGE AS age,\n"
+" FROM PERSON p WHERE p.NAME LIKE 'Hiber%'\n"
+"</sql-query>]]>"
-#. Tag: para
-#: query_sql.xml:385
-#, no-c-format
+#: index.docbook:385
msgid ""
"You can externalize the resultset mapping informations in a
<literal><"
"resultset></literal> element to either reuse them accross several
named "
@@ -914,9 +828,7 @@
"resultset></literal> element to either reuse them accross several
named "
"queries or through the <literal>setResultSetMapping()</literal>
API."
-#. Tag: programlisting
-#: query_sql.xml:390
-#, no-c-format
+#: index.docbook:390
msgid ""
"<![CDATA[<resultset name=\"personAddress\">\n"
" <return alias=\"person\"
class=\"eg.Person\"/>\n"
@@ -937,10 +849,27 @@
" WHERE person.NAME LIKE :namePattern\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<resultset name=\"personAddress\">\n"
+" <return alias=\"person\"
class=\"eg.Person\"/>\n"
+" <return-join alias=\"address\"
property=\"person."
+"mailingAddress\"/>\n"
+" </resultset>\n"
+" \n"
+" <sql-query name=\"personsWith\"
resultset-ref=\"personAddress\">\n"
+" SELECT person.NAME AS {person.name},\n"
+" person.AGE AS {person.age},\n"
+" person.SEX AS {person.sex},\n"
+" address.STREET AS {address.street},\n"
+" address.CITY AS {address.city},\n"
+" address.STATE AS {address.state},\n"
+" address.ZIP AS {address.zip}\n"
+" FROM PERSON person\n"
+" JOIN ADDRESS address\n"
+" ON person.ID = address.PERSON_ID AND
address.TYPE='MAILING'\n"
+" WHERE person.NAME LIKE :namePattern\n"
+" </sql-query>]]>"
-#. Tag: para
-#: query_sql.xml:392
-#, no-c-format
+#: index.docbook:392
msgid ""
"You can alternatively use the resultset mapping information in your hbm "
"files directly in java code."
@@ -948,9 +877,7 @@
"You can alternatively use the resultset mapping information in your hbm "
"files directly in java code."
-#. Tag: programlisting
-#: query_sql.xml:395
-#, no-c-format
+#: index.docbook:395
msgid ""
"<![CDATA[List cats = sess.createSQLQuery(\n"
" \"select {cat.*}, {kitten.*} from cats cat, cats kitten where
kitten."
@@ -959,30 +886,31 @@
" .setResultSetMapping(\"catAndKitten\")\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createSQLQuery(\n"
+" \"select {cat.*}, {kitten.*} from cats cat,
"
+"cats kitten where kitten.mother = cat.id\"\n"
+" )\n"
+"
.setResultSetMapping(\"catAndKitten\")\n"
+" .list();]]>"
-#. Tag: title
-#: query_sql.xml:398
-#, no-c-format
+#: index.docbook:398
msgid "Using return-property to explicitly specify column/alias names"
msgstr ""
-"Usando return-property para especificar explícitamente nombres de columna/"
-"alias"
+"Usando return-property para especificar explícitamente nombres de
"
+"columna/alias"
-#. Tag: para
-#: query_sql.xml:401
-#, no-c-format
+#: index.docbook:401
msgid ""
"With <literal><return-property></literal> you can
explicitly tell "
"Hibernate what column aliases to use, instead of using the
<literal>{}</"
"literal>-syntax to let Hibernate inject its own aliases."
msgstr ""
-"Con <literal><return-property></literal> puedes decirle
explícitamente "
-"a Hibernate qué alias de columna usar, en vez de usar la sintáxis
<literal>{}"
-"</literal> para dejar que Hibernate inyecte sus propios alias."
+"Con <literal><return-property></literal> puedes decirle
explí"
+"citamente a Hibernate qué alias de columna usar, en vez de usar la
"
+"sintáxis <literal>{}</literal> para dejar que Hibernate
inyecte sus "
+"propios alias."
-#. Tag: programlisting
-#: query_sql.xml:406
-#, no-c-format
+#: index.docbook:406
msgid ""
"<![CDATA[<sql-query name=\"mySqlQuery\">\n"
" <return alias=\"person\"
class=\"eg.Person\">\n"
@@ -997,22 +925,31 @@
"</sql-query>\n"
"]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"mySqlQuery\">\n"
+" <return alias=\"person\"
class=\"eg.Person\">\n"
+" <return-property name=\"name\"
column=\"myName\"/>\n"
+" <return-property name=\"age\"
column=\"myAge\"/>\n"
+" <return-property name=\"sex\"
column=\"mySex\"/>\n"
+" </return>\n"
+" SELECT person.NAME AS myName,\n"
+" person.AGE AS myAge,\n"
+" person.SEX AS mySex,\n"
+" FROM PERSON person WHERE person.NAME LIKE :name\n"
+"</sql-query>\n"
+"]]>"
-#. Tag: para
-#: query_sql.xml:408
-#, no-c-format
+#: index.docbook:408
msgid ""
"<literal><return-property></literal> also works with
multiple columns. "
"This solves a limitation with the <literal>{}</literal>-syntax which
can not "
"allow fine grained control of multi-column properties."
msgstr ""
-"<literal><return-property></literal> también trabaja con
múltiples "
-"columnas. Esto resuelve una limitación de la sintáxis
<literal>{}</literal>, "
-"la cual no puede permitir un control fino de propiedades multi-columna."
+"<literal><return-property></literal> también
trabaja con "
+"múltiples columnas. Esto resuelve una limitación de la
"
+"sintáxis <literal>{}</literal>, la cual no puede permitir un
control "
+"fino de propiedades multi-columna."
-#. Tag: programlisting
-#: query_sql.xml:413
-#, no-c-format
+#: index.docbook:413
msgid ""
"<![CDATA[<sql-query
name=\"organizationCurrentEmployments\">\n"
" <return alias=\"emp\" class=\"Employment\">\n"
@@ -1030,23 +967,34 @@
" ORDER BY STARTDATE ASC\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query
name=\"organizationCurrentEmployments\">\n"
+" <return alias=\"emp\" class=\"Employment\">
\n"
+" <return-property name=\"salary\"> \n"
+" <return-column name=\"VALUE\"/>\n"
+" <return-column name=\"CURRENCY\"/> \n"
+" </return-property>\n"
+" <return-property name=\"endDate\"
column=\"myEndDate\"/>\n"
+" </return>\n"
+" SELECT EMPLOYEE AS {emp.employee}, EMPLOYER AS {emp.employer}, \n"
+" STARTDATE AS {emp.startDate}, ENDDATE AS {emp.endDate},\n"
+" REGIONCODE as {emp.regionCode}, EID AS {emp.id}, VALUE, CURRENCY\n"
+" FROM EMPLOYMENT\n"
+" WHERE EMPLOYER = :id AND ENDDATE IS NULL\n"
+" ORDER BY STARTDATE ASC\n"
+"</sql-query>]]>"
-#. Tag: para
-#: query_sql.xml:415
-#, no-c-format
+#: index.docbook:415
msgid ""
"Notice that in this example we used
<literal><return-property></"
"literal> in combination with the <literal>{}</literal>-syntax for
injection. "
"Allowing users to choose how they want to refer column and properties."
msgstr ""
"Nota que en este ejemplo hemos usado
<literal><return-property></"
-"literal> en combinación con la sintáxis <literal>{}</literal> para
"
-"inyección, permitiendo a los usuarios elejir cómo quieren referirse a las "
-"columnas y propiedades."
+"literal> en combinación con la sintáxis
<literal>{}</literal> "
+"para inyección, permitiendo a los usuarios elejir cómo
quieren "
+"referirse a las columnas y propiedades."
-#. Tag: para
-#: query_sql.xml:420
-#, no-c-format
+#: index.docbook:420
msgid ""
"If your mapping has a discriminator you must use
<literal><return-"
"discriminator></literal> to specify the discriminator column."
@@ -1054,15 +1002,11 @@
"Si tu mapeo tiene un discriminador debes usar <literal><return-"
"discriminator></literal> para especificar la columna
discriminadora."
-#. Tag: title
-#: query_sql.xml:426
-#, no-c-format
+#: index.docbook:426
msgid "Using stored procedures for querying"
msgstr "Usando procedimientos almacenados para consultar"
-#. Tag: para
-#: query_sql.xml:428
-#, no-c-format
+#: index.docbook:428
msgid ""
"Hibernate 3 introduces support for queries via stored procedures and "
"functions. Most of the following documentation is equivalent for both. The "
@@ -1070,14 +1014,13 @@
"to be able to work with Hibernate. An example of such a stored function in "
"Oracle 9 and higher is as follows:"
msgstr ""
-"Hibernate3 introduce soporte para consultas vía procedimientos almacenados. "
-"Los procedimientos almacenados deben devolver un conjunto resultado como el "
-"primer parámetro de salida para ser capaces de funcionar con Hibernate. Un "
-"ejemplo de uno procedimiento almacenado en Oracle 9 o superior es así:"
+"Hibernate3 introduce soporte para consultas vía procedimientos "
+"almacenados. Los procedimientos almacenados deben devolver un conjunto "
+"resultado como el primer parámetro de salida para ser capaces de "
+"funcionar con Hibernate. Un ejemplo de uno procedimiento almacenado en "
+"Oracle 9 o superior es así:"
-#. Tag: programlisting
-#: query_sql.xml:434
-#, no-c-format
+#: index.docbook:434
msgid ""
"<![CDATA[CREATE OR REPLACE FUNCTION selectAllEmployments\n"
" RETURN SYS_REFCURSOR\n"
@@ -1092,18 +1035,26 @@
" RETURN st_cursor;\n"
" END;]]>"
msgstr ""
+"<![CDATA[CREATE OR REPLACE FUNCTION selectAllEmployments \n"
+" RETURN SYS_REFCURSOR \n"
+"AS \n"
+" st_cursor SYS_REFCURSOR; \n"
+"BEGIN \n"
+" OPEN st_cursor FOR \n"
+" SELECT EMPLOYEE, EMPLOYER, \n"
+" STARTDATE, ENDDATE, \n"
+" REGIONCODE, EID, VALUE, CURRENCY \n"
+" FROM EMPLOYMENT; \n"
+" RETURN st_cursor; \n"
+" END;]]>"
-#. Tag: para
-#: query_sql.xml:436
-#, no-c-format
+#: index.docbook:436
msgid "To use this query in Hibernate you need to map it via a named query."
msgstr ""
"Para usar esta consulta en Hibernate necesitas mapearla por medio de una "
"consulta con nombre."
-#. Tag: programlisting
-#: query_sql.xml:439
-#, no-c-format
+#: index.docbook:439
msgid ""
"<![CDATA[<sql-query name=\"selectAllEmployees_SP\"
callable=\"true\">\n"
" <return alias=\"emp\" class=\"Employment\">\n"
@@ -1121,28 +1072,40 @@
" { ? = call selectAllEmployments() }\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"selectAllEmployees_SP\"
callable=\"true\">\n"
+" <return alias=\"emp\" class=\"Employment\">\n"
+" <return-property name=\"employee\"
column=\"EMPLOYEE\"/>\n"
+" <return-property name=\"employer\"
column=\"EMPLOYER\"/"
+"> \n"
+" <return-property name=\"startDate\"
column=\"STARTDATE\"/>\n"
+" <return-property name=\"endDate\"
column=\"ENDDATE\"/> \n"
+" <return-property name=\"regionCode\"
column=\"REGIONCODE\"/"
+"> \n"
+" <return-property name=\"id\" column=\"EID\"/"
+"> \n"
+" <return-property name=\"salary\"> \n"
+" <return-column name=\"VALUE\"/>\n"
+" <return-column name=\"CURRENCY\"/> \n"
+" </return-property>\n"
+" </return>\n"
+" { ? = call selectAllEmployments() }\n"
+"</sql-query>]]>"
-#. Tag: para
-#: query_sql.xml:441
-#, no-c-format
+#: index.docbook:441
msgid ""
"Notice stored procedures currently only return scalars and entities. "
"<literal><return-join></literal> and
<literal><load-collection></"
"literal> are not supported."
msgstr ""
-"Nota que los procedimientos almacenados sólo devuelven escalares y "
-"entidades. No están soportados
<literal><return-join></literal> y "
-"<literal><load-collection></literal>."
+"Nota que los procedimientos almacenados sólo devuelven escalares y
"
+"entidades. No están soportados
<literal><return-join></literal> "
+"y <literal><load-collection></literal>."
-#. Tag: title
-#: query_sql.xml:446
-#, no-c-format
+#: index.docbook:446
msgid "Rules/limitations for using stored procedures"
msgstr "Reglas/limitaciones para usar procedimientos almacenados"
-#. Tag: para
-#: query_sql.xml:448
-#, no-c-format
+#: index.docbook:448
msgid ""
"To use stored procedures with Hibernate the procedures/functions have to "
"follow some rules. If they do not follow those rules they are not usable "
@@ -1153,14 +1116,13 @@
msgstr ""
"Para usar procedimientos almacenados con Hibernate los procedimientos tienen
"
"que seguir algunas reglas. Si no siguen esas reglas no son usables por "
-"Hibernate. Si aún quisieras usar estos procedimientos tendrías que "
-"ejecutarlos por medio de <literal>session.connection()</literal>. Las
reglas "
-"son diferentes para cada base de datos, ya que los vendedores de base de "
-"datos tienen diferentes semánticas/sintáxis de procedimientos almacenados."
+"Hibernate. Si aún quisieras usar estos procedimientos
tendrías "
+"que ejecutarlos por medio de <literal>session.connection()</literal>.
Las "
+"reglas son diferentes para cada base de datos, ya que los vendedores de base
"
+"de datos tienen diferentes semánticas/sintáxis de "
+"procedimientos almacenados."
-#. Tag: para
-#: query_sql.xml:455
-#, no-c-format
+#: index.docbook:455
msgid ""
"Stored procedure queries can't be paged with
<literal>setFirstResult()/"
"setMaxResults()</literal>."
@@ -1168,27 +1130,21 @@
"Las consultas de procedimientos almacenados no pueden ser paginadas con "
"<literal>setFirstResult()/setMaxResults()</literal>."
-#. Tag: para
-#: query_sql.xml:458
-#, no-c-format
+#: index.docbook:458
msgid ""
"Recommended call form is standard SQL92: <literal>{ ? = call
functionName"
"(<parameters>) }</literal> or <literal>{ ? = call
procedureName(<"
"parameters>}</literal>. Native call syntax is not supported."
msgstr "Para Oracle se aplican las siguientes reglas:"
-#. Tag: para
-#: query_sql.xml:463
-#, no-c-format
+#: index.docbook:463
msgid "For Oracle the following rules apply:"
msgstr ""
"El procedimiento debe devolver un conjunto resultado. Esto se hace "
"devolviendo un <literal>SYS_REFCURSOR</literal> en Oracle 9 o 10. En
Oracle "
"necesitas definir un tipo <literal>REF CURSOR</literal>."
-#. Tag: para
-#: query_sql.xml:467
-#, no-c-format
+#: index.docbook:467
msgid ""
"A function must return a result set. The first parameter of a procedure must
"
"be an <literal>OUT</literal> that returns a result set. This is done by
"
@@ -1197,18 +1153,14 @@
"literature."
msgstr ""
"La forma recomendada es <literal>{ ? = call
procName(<parameters>) }</"
-"literal> o <literal>{ ? = call procName }</literal> (esto es más una
regla "
-"de Oracle que una regla de Hibernate)."
+"literal> o <literal>{ ? = call procName }</literal> (esto es
más una "
+"regla de Oracle que una regla de Hibernate)."
-#. Tag: para
-#: query_sql.xml:476
-#, no-c-format
+#: index.docbook:476
msgid "For Sybase or MS SQL server the following rules apply:"
msgstr "Para Sybase o MS SQL server se aplican las siguientes reglas:"
-#. Tag: para
-#: query_sql.xml:480
-#, no-c-format
+#: index.docbook:480
msgid ""
"The procedure must return a result set. Note that since these servers can/"
"will return multiple result sets and update counts, Hibernate will iterate "
@@ -1216,30 +1168,25 @@
"value. Everything else will be discarded."
msgstr ""
"El procedimiento debe devolver un conjunto resultado. Nota que ya que estos "
-"servidores pueden y devolverán múltiples conjuntos resultados y cuentas de "
-"actualización, Hibernate iterará los resultados y tomará el primer resultado
"
-"que sea un conjunto resultado como su valor a devolver. Todo lo demás será "
-"descartado."
+"servidores pueden y devolverán múltiples conjuntos resultados
"
+"y cuentas de actualización, Hibernate iterará los resultados
y "
+"tomará el primer resultado que sea un conjunto resultado como su "
+"valor a devolver. Todo lo demás será descartado."
-#. Tag: para
-#: query_sql.xml:488
-#, no-c-format
+#: index.docbook:488
msgid ""
"If you can enable <literal>SET NOCOUNT ON</literal> in your procedure
it "
"will probably be more efficient, but this is not a requirement."
msgstr ""
-"Si habilitas <literal>SET NOCOUNT ON</literal> en tu procedimiento será
"
-"probablemente más eficiente, pero esto no es un requerimiento."
+"Si habilitas <literal>SET NOCOUNT ON</literal> en tu procedimiento
"
+"será probablemente más eficiente, pero esto no es un "
+"requerimiento."
-#. Tag: title
-#: query_sql.xml:498
-#, no-c-format
+#: index.docbook:498
msgid "Custom SQL for create, update and delete"
msgstr "SQL personalizado para crear, actualizar y borrar"
-#. Tag: para
-#: query_sql.xml:500
-#, no-c-format
+#: index.docbook:500
msgid ""
"Hibernate3 can use custom SQL statements for create, update, and delete "
"operations. The class and collection persisters in Hibernate already contain
"
@@ -1251,13 +1198,11 @@
"Hibernate3 puede usar sentencias SQL personalizadas para las operaciones de "
"crear, actualizar y borrar. Los persistidores de clases y colecciones en "
"Hibernate ya contienen un conjunto de cadenas generadas en tiempo de "
-"configuración (insertsql, deletesql, updatesql, etc.). Las etiquetas de "
-"mapeo <literal><sql-insert></literal>,
<literal><sql-delete></"
+"configuración (insertsql, deletesql, updatesql, etc.). Las etiquetas
"
+"de mapeo <literal><sql-insert></literal>,
<literal><sql-delete></"
"literal>, y <literal><sql-update></literal>
sobrescriben estas cadenas:"
-#. Tag: programlisting
-#: query_sql.xml:508
-#, no-c-format
+#: index.docbook:508
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\">\n"
@@ -1270,32 +1215,37 @@
" <sql-delete>DELETE FROM PERSON WHERE ID=?</sql-delete>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" <property name=\"name\" not-null=\"true\"/>\n"
+" <sql-insert>INSERT INTO PERSON (NAME, ID) VALUES ( UPPER(?), ?
)</sql-"
+"insert>\n"
+" <sql-update>UPDATE PERSON SET NAME=UPPER(?) WHERE
ID=?</sql-update>\n"
+" <sql-delete>DELETE FROM PERSON WHERE ID=?</sql-delete>\n"
+"</class>]]>"
-#. Tag: para
-#: query_sql.xml:510
-#, no-c-format
+#: index.docbook:510
msgid ""
"The SQL is directly executed in your database, so you are free to use any "
"dialect you like. This will of course reduce the portability of your mapping
"
"if you use database specific SQL."
msgstr ""
"El SQL se ejecuta directamente en tu base de datos, de modo que eres libre "
-"de usar cualquier dialecto que quieras. Esto reducirá, por supuesto, la "
-"portabilidad de tu mapeo si usas SQL específico de la base de datos."
+"de usar cualquier dialecto que quieras. Esto reducirá, por supuesto,
"
+"la portabilidad de tu mapeo si usas SQL específico de la base de "
+"datos."
-#. Tag: para
-#: query_sql.xml:514
-#, no-c-format
+#: index.docbook:514
msgid ""
"Stored procedures are supported if the <literal>callable</literal>
attribute "
"is set:"
msgstr ""
-"Los procedimientos almacenados son soportados si está establecido el "
+"Los procedimientos almacenados son soportados si está establecido el
"
"atributo <literal>callable</literal>:"
-#. Tag: programlisting
-#: query_sql.xml:517
-#, no-c-format
+#: index.docbook:517
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\">\n"
@@ -1308,20 +1258,26 @@
"update>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" <property name=\"name\" not-null=\"true\"/>\n"
+" <sql-insert callable=\"true\">{call createPerson (?,
?)}</sql-insert>\n"
+" <sql-delete callable=\"true\">{? = call deletePerson
(?)}</sql-delete>\n"
+" <sql-update callable=\"true\">{? = call updatePerson (?,
?)}</sql-"
+"update>\n"
+"</class>]]>"
-#. Tag: para
-#: query_sql.xml:519
-#, no-c-format
+#: index.docbook:519
msgid ""
"The order of the positional parameters are currently vital, as they must be "
"in the same sequence as Hibernate expects them."
msgstr ""
-"El orden de los parámetros posicionales son actualmente vitales, ya que "
-"deben estar en la misma secuencia en que las espera Hibernate."
+"El orden de los parámetros posicionales son actualmente vitales, ya
"
+"que deben estar en la misma secuencia en que las espera Hibernate."
-#. Tag: para
-#: query_sql.xml:522
-#, no-c-format
+#: index.docbook:522
msgid ""
"You can see the expected order by enabling debug logging for the "
"<literal>org.hibernate.persister.entity</literal> level. With this
level "
@@ -1330,16 +1286,15 @@
"include your custom SQL in the mapping files as that will override the "
"Hibernate generated static sql.)"
msgstr ""
-"Puedes ver el orden esperado habilitando el registro de depuración para el "
-"nivel <literal>org.hibernate.persister.entity</literal>. Con este nivel
"
-"habilitado, Hibernate imprimirá el SQL estático que se usa para crear, "
-"actualizar, borrar, etc. las entidades. (Para ver la secuencia esperada, "
-"recuerda no incluir tu SQL personalizado en los ficheros de mapeo ya que "
-"sobrescribirán el sql estático generado por Hibernate.)"
+"Puedes ver el orden esperado habilitando el registro de depuración
"
+"para el nivel <literal>org.hibernate.persister.entity</literal>. Con
este "
+"nivel habilitado, Hibernate imprimirá el SQL estático que se
"
+"usa para crear, actualizar, borrar, etc. las entidades. (Para ver la "
+"secuencia esperada, recuerda no incluir tu SQL personalizado en los ficheros
"
+"de mapeo ya que sobrescribirán el sql estático generado por
"
+"Hibernate.)"
-#. Tag: para
-#: query_sql.xml:529
-#, no-c-format
+#: index.docbook:529
msgid ""
"The stored procedures are in most cases (read: better do it than not) "
"required to return the number of rows inserted/updated/deleted, as Hibernate
"
@@ -1347,16 +1302,15 @@
"registers the first statement parameter as a numeric output parameter for "
"the CUD operations:"
msgstr ""
-"Los procedimientos almacenados son, en la mayoría de los casos (léase, mejor
"
-"hacerlo que no hacerlo), obligados a devolver el número de filas insertadas/"
-"actualizadas/borradas, ya que Hibernate tiene algunas comprobaciones en "
-"tiempo de ejecución del éxito de la sentencia. Hibernate siempre registra el
"
-"primer parámetro de la sentencia como un parámetro de salida numérico para "
-"las operaciones CUD:"
+"Los procedimientos almacenados son, en la mayoría de los casos "
+"(léase, mejor hacerlo que no hacerlo), obligados a devolver el "
+"número de filas insertadas/actualizadas/borradas, ya que Hibernate
"
+"tiene algunas comprobaciones en tiempo de ejecución del éxito
"
+"de la sentencia. Hibernate siempre registra el primer parámetro de la
"
+"sentencia como un parámetro de salida numérico para las
"
+"operaciones CUD:"
-#. Tag: programlisting
-#: query_sql.xml:535
-#, no-c-format
+#: index.docbook:535
msgid ""
"<![CDATA[CREATE OR REPLACE FUNCTION updatePerson (uid IN NUMBER, uname IN
"
"VARCHAR2)\n"
@@ -1373,24 +1327,32 @@
"\n"
"END updatePerson;]]>"
msgstr ""
+"<![CDATA[CREATE OR REPLACE FUNCTION updatePerson (uid IN NUMBER, uname IN
"
+"VARCHAR2)\n"
+" RETURN NUMBER IS\n"
+"BEGIN\n"
+"\n"
+" update PERSON\n"
+" set\n"
+" NAME = uname,\n"
+" where\n"
+" ID = uid;\n"
+"\n"
+" return SQL%ROWCOUNT;\n"
+"\n"
+"END updatePerson;]]>"
-#. Tag: title
-#: query_sql.xml:539
-#, no-c-format
+#: index.docbook:539
msgid "Custom SQL for loading"
msgstr "SQL personalizado para carga"
-#. Tag: para
-#: query_sql.xml:541
-#, no-c-format
+#: index.docbook:541
msgid "You may also declare your own SQL (or HQL) queries for entity loading:"
msgstr ""
-"Puedes también declarar tu propias consultas SQL (o HQL) para cargar "
+"Puedes también declarar tu propias consultas SQL (o HQL) para cargar
"
"entidades:"
-#. Tag: programlisting
-#: query_sql.xml:544
-#, no-c-format
+#: index.docbook:544
msgid ""
"<![CDATA[<sql-query name=\"person\">\n"
" <return alias=\"pers\" class=\"Person\"
lock-mode=\"upgrade\"/>\n"
@@ -1400,21 +1362,24 @@
" FOR UPDATE\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"person\">\n"
+" <return alias=\"pers\" class=\"Person\"
lock-mode=\"upgrade\"/>\n"
+" SELECT NAME AS {pers.name}, ID AS {pers.id} \n"
+" FROM PERSON \n"
+" WHERE ID=? \n"
+" FOR UPDATE\n"
+"</sql-query>]]>"
-#. Tag: para
-#: query_sql.xml:546
-#, no-c-format
+#: index.docbook:546
msgid ""
"This is just a named query declaration, as discussed earlier. You may "
"reference this named query in a class mapping:"
msgstr ""
-"Esto es sólo una declaración de consulta con nombrem como se ha discutido "
-"anteriormente. Puedes hacer referencia a esta consulta con nombre en un "
-"mapeo de clase:"
+"Esto es sólo una declaración de consulta con nombrem como se
"
+"ha discutido anteriormente. Puedes hacer referencia a esta consulta con "
+"nombre en un mapeo de clase:"
-#. Tag: programlisting
-#: query_sql.xml:549
-#, no-c-format
+#: index.docbook:549
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\">\n"
@@ -1424,22 +1389,23 @@
" <loader query-ref=\"person\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" <property name=\"name\" not-null=\"true\"/>\n"
+" <loader query-ref=\"person\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: query_sql.xml:551
-#, no-c-format
+#: index.docbook:551
msgid "This even works with stored procedures."
msgstr "Esto incluso funciona con procedimientos almacenados."
-#. Tag: para
-#: query_sql.xml:553
-#, no-c-format
+#: index.docbook:553
msgid "You may even define a query for collection loading:"
msgstr "Puedes incluso definit una consulta para la carga de colecciones:"
-#. Tag: programlisting
-#: query_sql.xml:555
-#, no-c-format
+#: index.docbook:555
msgid ""
"<![CDATA[<set name=\"employments\"
inverse=\"true\">\n"
" <key/>\n"
@@ -1447,10 +1413,13 @@
" <loader query-ref=\"employments\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"employments\"
inverse=\"true\">\n"
+" <key/>\n"
+" <one-to-many class=\"Employment\"/>\n"
+" <loader query-ref=\"employments\"/>\n"
+"</set>]]>"
-#. Tag: programlisting
-#: query_sql.xml:557
-#, no-c-format
+#: index.docbook:557
msgid ""
"<![CDATA[<sql-query name=\"employments\">\n"
" <load-collection alias=\"emp\"
role=\"Person.employments\"/>\n"
@@ -1460,20 +1429,23 @@
" ORDER BY STARTDATE ASC, EMPLOYEE ASC\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"employments\">\n"
+" <load-collection alias=\"emp\"
role=\"Person.employments\"/>\n"
+" SELECT {emp.*}\n"
+" FROM EMPLOYMENT emp\n"
+" WHERE EMPLOYER = :id\n"
+" ORDER BY STARTDATE ASC, EMPLOYEE ASC\n"
+"</sql-query>]]>"
-#. Tag: para
-#: query_sql.xml:559
-#, no-c-format
+#: index.docbook:559
msgid ""
"You could even define an entity loader that loads a collection by join "
"fetching:"
msgstr ""
-"Podrías incluso definir un cargador de entidades que cargue una colección "
-"por recuperación por unión (join fetching):"
+"Podrías incluso definir un cargador de entidades que cargue una "
+"colección por recuperación por unión (join
fetching):"
-#. Tag: programlisting
-#: query_sql.xml:562
-#, no-c-format
+#: index.docbook:562
msgid ""
"<![CDATA[<sql-query name=\"person\">\n"
" <return alias=\"pers\" class=\"Person\"/>\n"
@@ -1485,3 +1457,18 @@
" WHERE ID=?\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"person\">\n"
+" <return alias=\"pers\" class=\"Person\"/>\n"
+" <return-join alias=\"emp\"
property=\"pers.employments\"/> \n"
+" SELECT NAME AS {pers.*}, {emp.*}\n"
+" FROM PERSON pers\n"
+" LEFT OUTER JOIN EMPLOYMENT emp \n"
+" ON pers.ID = emp.PERSON_ID\n"
+" WHERE ID=?\n"
+"</sql-query>]]>"
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/session_api.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/session_api.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/session_api.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: session_api.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Working with objects"
msgstr "Trabajando con objetos"
-#. Tag: para
-#: session_api.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"Hibernate is a full object/relational mapping solution that not only shields
"
"the developer from the details of the underlying database management system,
"
@@ -27,16 +18,15 @@
"JDBC/SQL persistence layers, a very natural object-oriented view of "
"persistence in Java applications."
msgstr ""
-"Hibernate es una solución completa de mapeo objeto/relacional que no sólo "
-"abstrae al desarrollador de los detalles del sistema de manejo de base datos
"
-"subyacente, sino que además ofrece <emphasis>manejo de
estado</emphasis> de "
-"objetos. Esto es, al contrario del manejo de
<literal>sentencias</literal> "
-"SQL en capas comunes de persistencia JDBC/SQL, una vista de la persistencia "
-"en aplicaciones Java muy natural y orientada a objetos."
+"Hibernate es una solución completa de mapeo objeto/relacional que no
"
+"sólo abstrae al desarrollador de los detalles del sistema de manejo
"
+"de base datos subyacente, sino que además ofrece <emphasis>manejo
de "
+"estado</emphasis> de objetos. Esto es, al contrario del manejo de "
+"<literal>sentencias</literal> SQL en capas comunes de persistencia
JDBC/SQL, "
+"una vista de la persistencia en aplicaciones Java muy natural y orientada a "
+"objetos."
-#. Tag: para
-#: session_api.xml:16
-#, no-c-format
+#: index.docbook:16
msgid ""
"In other words, Hibernate application developers should always think about "
"the <emphasis>state</emphasis> of their objects, and not necessarily
about "
@@ -46,25 +36,19 @@
msgstr ""
"En otras palabras, los desarroladores de aplicaciones Hibernate deben "
"siempre pensar en el <emphasis>estado</emphasis> de sus objetos, y no
"
-"necesariamente en la ejecución de sentencias SQL. Esta parte es cuidada por "
-"Hibernate y es sólo relevante para el desarrollador de la aplicación al "
-"afinar el rendimiento del sistema."
+"necesariamente en la ejecución de sentencias SQL. Esta parte es "
+"cuidada por Hibernate y es sólo relevante para el desarrollador de la
"
+"aplicación al afinar el rendimiento del sistema."
-#. Tag: title
-#: session_api.xml:24
-#, no-c-format
+#: index.docbook:24
msgid "Hibernate object states"
msgstr "Estados de objeto de Hibernate"
-#. Tag: para
-#: session_api.xml:26
-#, no-c-format
+#: index.docbook:26
msgid "Hibernate defines and supports the following object states:"
msgstr "Hibernate define y soporta los siguientes estados de objeto:"
-#. Tag: para
-#: session_api.xml:32
-#, no-c-format
+#: index.docbook:32
msgid ""
"<emphasis>Transient</emphasis> - an object is transient if it has just
been "
"instantiated using the <literal>new</literal> operator, and it is not
"
@@ -77,18 +61,16 @@
"transition)."
msgstr ""
"<emphasis>Transitorio</emphasis> - un objeto es transitorio si ha sido
"
-"recién instanciado usando el operador <literal>new</literal>, y no está
"
-"asociado a una <literal>Session</literal> de Hibernate. No tiene una
"
-"representación persistente en la base de datos y no se le ha asignado un "
-"valor identificador. Las instancias transitorias serán destruídas por el "
-"recolector de basura si la aplicación no mantiene más una referencia. Usa la
"
-"<literal>Session</literal> de Hibernate para hacer un objeto
persistente (y "
-"deja que Hibernate cuide de las sentencias SQL que necesitan ejecutarse para
"
-"esta transición)."
+"recién instanciado usando el operador
<literal>new</literal>, y no "
+"está asociado a una <literal>Session</literal> de Hibernate.
No tiene "
+"una representación persistente en la base de datos y no se le ha "
+"asignado un valor identificador. Las instancias transitorias serán
"
+"destruídas por el recolector de basura si la aplicación no
"
+"mantiene más una referencia. Usa la
<literal>Session</literal> de "
+"Hibernate para hacer un objeto persistente (y deja que Hibernate cuide de "
+"las sentencias SQL que necesitan ejecutarse para esta
transición)."
-#. Tag: para
-#: session_api.xml:44
-#, no-c-format
+#: index.docbook:44
msgid ""
"<emphasis>Persistent</emphasis> - a persistent instance has a
representation "
"in the database and an identifier value. It might just have been saved or "
@@ -100,17 +82,16 @@
"made transient."
msgstr ""
"<emphasis>Persistente</emphasis> - una instancia persistente tiene una
"
-"representación en la base de datos y un valor identificador. Puede haber "
-"sido salvado o cargado, sin embargo, está por definición en el ámbito de una
"
-"<literal>Session</literal>. Hibernate detectará cualquier cambio hecho
a un "
-"objeto en estado persistentey sincronizará el estado con la base de datos "
-"cuando se complete la unidad de trabajo. Los desarrolladores no ejecutan "
-"sentencias <literal>UPDATE</literal> manuales, o sentencias
<literal>DELETE</"
-"literal> cuando un objeto debe ser hecho transitorio."
+"representación en la base de datos y un valor identificador. Puede
"
+"haber sido salvado o cargado, sin embargo, está por
definición "
+"en el ámbito de una <literal>Session</literal>. Hibernate
"
+"detectará cualquier cambio hecho a un objeto en estado persistentey
"
+"sincronizará el estado con la base de datos cuando se complete la
"
+"unidad de trabajo. Los desarrolladores no ejecutan sentencias "
+"<literal>UPDATE</literal> manuales, o sentencias
<literal>DELETE</literal> "
+"cuando un objeto debe ser hecho transitorio."
-#. Tag: para
-#: session_api.xml:55
-#, no-c-format
+#: index.docbook:55
msgid ""
"<emphasis>Detached</emphasis> - a detached instance is an object that
has "
"been persistent, but its <literal>Session</literal> has been closed.
The "
@@ -124,46 +105,40 @@
msgstr ""
"<emphasis>Separado (detached)</emphasis> - una instancia separada es un
"
"objeto que ha sido hecho persistente, pero su
<literal>Session</literal> ha "
-"sido cerrada. La referencia al objeto todavía es válida, por supuesto, y la "
-"instancia separada podría incluso ser modificada en este estado. Una "
-"instancia separada puede ser re-unida a una nueva
<literal>Session</literal> "
-"en un punto posterior en el tiempo, haciéndola persistente de nuevo (con "
-"todas las modificaciones). Este aspecto habilita un modelo de programación "
-"para unidades de trabajo de ejecución larga que requieren tiempo-para-pensar
"
-"del usuario. Las llamamos <emphasis>transaccciones de
aplicación</emphasis>, "
-"es decir, una unidad de trabajo desde el punto de vista del usuario."
+"sido cerrada. La referencia al objeto todavía es válida, por
"
+"supuesto, y la instancia separada podría incluso ser modificada en
"
+"este estado. Una instancia separada puede ser re-unida a una nueva "
+"<literal>Session</literal> en un punto posterior en el tiempo,
hacié"
+"ndola persistente de nuevo (con todas las modificaciones). Este aspecto "
+"habilita un modelo de programación para unidades de trabajo de "
+"ejecución larga que requieren tiempo-para-pensar del usuario. Las
"
+"llamamos <emphasis>transaccciones de aplicación</emphasis>,
es decir, "
+"una unidad de trabajo desde el punto de vista del usuario."
-#. Tag: para
-#: session_api.xml:69
-#, no-c-format
+#: index.docbook:69
msgid ""
"We'll now discuss the states and state transitions (and the Hibernate "
"methods that trigger a transition) in more detail."
msgstr ""
-"Discutiremos ahora los estados y transiciones de estados (y los métodos de "
-"Hibernate que disparan una transición) en más detalle:"
+"Discutiremos ahora los estados y transiciones de estados (y los
mé"
+"todos de Hibernate que disparan una transición) en más
detalle:"
-#. Tag: title
-#: session_api.xml:77
-#, no-c-format
+#: index.docbook:77
msgid "Making objects persistent"
msgstr "Haciendo los objetos persistentes"
-#. Tag: para
-#: session_api.xml:79
-#, no-c-format
+#: index.docbook:79
msgid ""
"Newly instantiated instances of a a persistent class are considered "
"<emphasis>transient</emphasis> by Hibernate. We can make a transient
"
"instance <emphasis>persistent</emphasis> by associating it with a
session:"
msgstr ""
-"Las instancias recién instanciadas de una clase persistente son consideradas
"
-"<emphasis>transitorias</emphasis> por Hibernate. Podemos hacer una
instancia "
-"transitoria <emphasis>persistente</emphasis> asociándola con una
sesión:"
+"Las instancias recién instanciadas de una clase persistente son "
+"consideradas <emphasis>transitorias</emphasis> por Hibernate. Podemos
hacer "
+"una instancia transitoria <emphasis>persistente</emphasis>
asociá"
+"ndola con una sesión:"
-#. Tag: programlisting
-#: session_api.xml:86
-#, no-c-format
+#: index.docbook:86
msgid ""
"<![CDATA[DomesticCat fritz = new DomesticCat();\n"
"fritz.setColor(Color.GINGER);\n"
@@ -171,10 +146,13 @@
"fritz.setName(\"Fritz\");\n"
"Long generatedId = (Long) sess.save(fritz);]]>"
msgstr ""
+"<![CDATA[DomesticCat fritz = new DomesticCat();\n"
+"fritz.setColor(Color.GINGER);\n"
+"fritz.setSex('M');\n"
+"fritz.setName(\"Fritz\");\n"
+"Long generatedId = (Long) sess.save(fritz);]]>"
-#. Tag: para
-#: session_api.xml:88
-#, no-c-format
+#: index.docbook:88
msgid ""
"If <literal>Cat</literal> has a generated identifier, the identifier is
"
"generated and assigned to the <literal>cat</literal> when
<literal>save()</"
@@ -190,13 +168,11 @@
"<literal>save()</literal>. Si <literal>Cat</literal> tiene
un identificador "
"<literal>assigned</literal>, o una clave compuesta, el identificador
debe "
"ser asignado a la instancia de <literal>cat</literal> antes de llamar a
"
-"<literal>save()</literal>. Puedes también usar
<literal>persist()</literal> "
-"en vez de <literal>save()</literal>, con la semántica definida en el
"
-"temprano borrador de EJB3."
+"<literal>save()</literal>. Puedes también usar
<literal>persist()</"
+"literal> en vez de <literal>save()</literal>, con la
semántica "
+"definida en el temprano borrador de EJB3."
-#. Tag: para
-#: session_api.xml:100
-#, no-c-format
+#: index.docbook:100
msgid ""
"<literal>persist()</literal> makes a transient instance persistent.
However, "
"it doesn't guarantee that the identifier value will be assigned to the "
@@ -214,9 +190,7 @@
"transaction boundaries. This is useful in long-running conversations with an
"
"extended Session/persistence context."
-#. Tag: para
-#: session_api.xml:111
-#, no-c-format
+#: index.docbook:111
msgid ""
"<literal>save()</literal> does guarantee to return an identifier. If an
"
"INSERT has to be executed to get the identifier ( e.g. \"identity\"
"
@@ -230,19 +204,15 @@
"you are inside or outside of a transaction. This is problematic in a long-"
"running conversation with an extended Session/persistence context."
-#. Tag: para
-#: session_api.xml:121
-#, no-c-format
+#: index.docbook:121
msgid ""
"Alternatively, you may assign the identifier using an overloaded version of "
"<literal>save()</literal>."
msgstr ""
-"Alternativamente, puedes asignar el identificador usando una versión "
+"Alternativamente, puedes asignar el identificador usando una versión
"
"sobrecargada de <literal>save()</literal>."
-#. Tag: programlisting
-#: session_api.xml:126
-#, no-c-format
+#: index.docbook:126
msgid ""
"<![CDATA[DomesticCat pk = new DomesticCat();\n"
"pk.setColor(Color.TABBY);\n"
@@ -252,10 +222,15 @@
"pk.addKitten(fritz);\n"
"sess.save( pk, new Long(1234) );]]>"
msgstr ""
+"<![CDATA[DomesticCat pk = new DomesticCat();\n"
+"pk.setColor(Color.TABBY);\n"
+"pk.setSex('F');\n"
+"pk.setName(\"PK\");\n"
+"pk.setKittens( new HashSet() );\n"
+"pk.addKitten(fritz);\n"
+"sess.save( pk, new Long(1234) );]]>"
-#. Tag: para
-#: session_api.xml:128
-#, no-c-format
+#: index.docbook:128
msgid ""
"If the object you make persistent has associated objects (e.g. the "
"<literal>kittens</literal> collection in the previous example), these
"
@@ -266,16 +241,15 @@
"literal> the objects in the wrong order."
msgstr ""
"Si el objeto que haces persistente tiene objetos asociados (por ejemplo, la "
-"colección <literal>kittens</literal> en el ejemplo anterior), estos
objetos "
-"pueden ser hechos persistentes en cualquier orden que quieras a menos que "
-"tengas una restricción <literal>NOT NULL</literal> sobre una columna
clave "
-"foránea. Nunca hay riesgo de violar restricciones de clave foránea. Sin "
-"embargo, podrías violar una restricción <literal>NOT NULL</literal> si
"
-"llamas a <literal>save()</literal> sobre objetos en orden
erróneo."
+"colección <literal>kittens</literal> en el ejemplo
anterior), estos "
+"objetos pueden ser hechos persistentes en cualquier orden que quieras a "
+"menos que tengas una restricción <literal>NOT NULL</literal>
sobre "
+"una columna clave foránea. Nunca hay riesgo de violar restricciones
"
+"de clave foránea. Sin embargo, podrías violar una "
+"restricción <literal>NOT NULL</literal> si llamas a
<literal>save()</"
+"literal> sobre objetos en orden erróneo."
-#. Tag: para
-#: session_api.xml:138
-#, no-c-format
+#: index.docbook:138
msgid ""
"Usually you don't bother with this detail, as you'll very likely use
"
"Hibernate's <emphasis>transitive persistence</emphasis> feature to
save the "
@@ -283,69 +257,64 @@
"constraint violations don't occur - Hibernate will take care of everything.
"
"Transitive persistence is discussed later in this chapter."
msgstr ""
-"Usualmente no te preocupas con este detalle, pues muy probablemente usarás "
-"la funcionalidad de <emphasis>persistencia transitiva</emphasis> de
"
-"Hibernate para salvar los objetos asociados automáticamente. Entonces, ni "
-"siquiera ocurren violaciones de restricciones <literal>NOT
NULL</literal> - "
-"Hibernate cuidará de todo. La persistencia transitiva se discute más "
-"adelante en este capítulo."
+"Usualmente no te preocupas con este detalle, pues muy probablemente "
+"usarás la funcionalidad de <emphasis>persistencia
transitiva</"
+"emphasis> de Hibernate para salvar los objetos asociados
automá"
+"ticamente. Entonces, ni siquiera ocurren violaciones de restricciones "
+"<literal>NOT NULL</literal> - Hibernate cuidará de todo. La
"
+"persistencia transitiva se discute más adelante en este
capí"
+"tulo."
-#. Tag: title
-#: session_api.xml:149
-#, no-c-format
+#: index.docbook:149
msgid "Loading an object"
msgstr "Cargando un objeto"
-#. Tag: para
-#: session_api.xml:151
-#, no-c-format
+#: index.docbook:151
msgid ""
"The <literal>load()</literal> methods of
<literal>Session</literal> gives "
"you a way to retrieve a persistent instance if you already know its "
"identifier. <literal>load()</literal> takes a class object and will
load the "
"state into a newly instantiated instance of that class, in persistent state."
msgstr ""
-"Los métodos <literal>load()</literal> de
<literal>Session</literal> te "
-"brindan una forma de traer una instancia persistente si ya saves su "
-"identificador. <literal>load()</literal> toma un objeto clase y cargará
el "
-"estado dentro de una instancia recién instanciada de esta clase, en estado "
-"persistente."
+"Los métodos <literal>load()</literal> de
<literal>Session</literal> "
+"te brindan una forma de traer una instancia persistente si ya saves su "
+"identificador. <literal>load()</literal> toma un objeto clase y "
+"cargará el estado dentro de una instancia recién instanciada
"
+"de esta clase, en estado persistente."
-#. Tag: programlisting
-#: session_api.xml:158
-#, no-c-format
+#: index.docbook:158
msgid "<![CDATA[Cat fritz = (Cat) sess.load(Cat.class, generatedId);]]>"
-msgstr ""
+msgstr "<![CDATA[Cat fritz = (Cat) sess.load(Cat.class,
generatedId);]]>"
-#. Tag: programlisting
-#: session_api.xml:160
-#, no-c-format
+#: index.docbook:160
msgid ""
"<![CDATA[// you need to wrap primitive identifiers\n"
"long id = 1234;\n"
"DomesticCat pk = (DomesticCat) sess.load( DomesticCat.class, new Long"
"(id) );]]>"
msgstr ""
+"<![CDATA[// you need to wrap primitive identifiers\n"
+"long id = 1234;\n"
+"DomesticCat pk = (DomesticCat) sess.load( DomesticCat.class, new Long"
+"(id) );]]>"
-#. Tag: para
-#: session_api.xml:162
-#, no-c-format
+#: index.docbook:162
msgid "Alternatively, you can load state into a given instance:"
msgstr "Alternativamente, puedes cargar estado dentro de una instancia dada:"
-#. Tag: programlisting
-#: session_api.xml:166
-#, no-c-format
+#: index.docbook:166
msgid ""
"<![CDATA[Cat cat = new DomesticCat();\n"
"// load pk's state into cat\n"
"sess.load( cat, new Long(pkId) );\n"
"Set kittens = cat.getKittens();]]>"
msgstr ""
+"<![CDATA[Cat cat = new DomesticCat();\n"
+"// load pk's state into cat\n"
+"sess.load( cat, new Long(pkId) );\n"
+"Set kittens = cat.getKittens();]]>"
-#. Tag: para
-#: session_api.xml:168
-#, no-c-format
+#: index.docbook:168
msgid ""
"Note that <literal>load()</literal> will throw an unrecoverable
exception if "
"there is no matching database row. If the class is mapped with a proxy, "
@@ -356,30 +325,27 @@
"instances to be loaded as a batch if <literal>batch-size</literal> is
"
"defined for the class mapping."
msgstr ""
-"Nota que <literal>load()</literal> lanzará una excepción irrecuperable
si no "
-"hay una fila correspondiente en base de datos. Si la clase es mapeada con un
"
-"proxy, <literal>load()</literal> sólo devuelve un proxy no inicializado
y no "
-"llamará realmente a la base de datos hasta que invoques un método del proxy.
"
-"Este comportamiento es muy útil si deseas crear una asociación a un objeto "
-"sin cargarlo realmente de la base de datos. Permite además que múltiples "
-"instancias sean cargadas como un lote si se define
<literal>batch-size</"
-"literal> para el mapeo de la clase."
+"Nota que <literal>load()</literal> lanzará una
excepción "
+"irrecuperable si no hay una fila correspondiente en base de datos. Si la "
+"clase es mapeada con un proxy, <literal>load()</literal>
sólo "
+"devuelve un proxy no inicializado y no llamará realmente a la base de
"
+"datos hasta que invoques un método del proxy. Este comportamiento es
"
+"muy útil si deseas crear una asociación a un objeto sin
"
+"cargarlo realmente de la base de datos. Permite además que
mú"
+"ltiples instancias sean cargadas como un lote si se define
<literal>batch-"
+"size</literal> para el mapeo de la clase."
-#. Tag: para
-#: session_api.xml:179
-#, no-c-format
+#: index.docbook:179
msgid ""
"If you are not certain that a matching row exists, you should use the "
"<literal>get()</literal> method, which hits the database immediately
and "
"returns null if there is no matching row."
msgstr ""
"Si no tienes certeza que exista una fila correspondiente, debes usar el "
-"método <literal>get()</literal>, que llama a la base de datos
inmediatamente "
-"y devuelve nulo si no existe una fila correspondiente."
+"método <literal>get()</literal>, que llama a la base de
datos "
+"inmediatamente y devuelve nulo si no existe una fila correspondiente."
-#. Tag: programlisting
-#: session_api.xml:185
-#, no-c-format
+#: index.docbook:185
msgid ""
"<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id);\n"
"if (cat==null) {\n"
@@ -388,28 +354,28 @@
"}\n"
"return cat;]]>"
msgstr ""
+"<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id);\n"
+"if (cat==null) {\n"
+" cat = new Cat();\n"
+" sess.save(cat, id);\n"
+"}\n"
+"return cat;]]>"
-#. Tag: para
-#: session_api.xml:187
-#, no-c-format
+#: index.docbook:187
msgid ""
"You may even load an object using an SQL <literal>SELECT ... FOR
UPDATE</"
"literal>, using a <literal>LockMode</literal>. See the API
documentation for "
"more information."
msgstr ""
"Puedes incluso cargar un objeto usando un <literal>SELECT ... FOR
UPDATE</"
-"literal> de SQL, usando un <literal>LockMode</literal>. Ver la
documentación "
-"de la API para más información."
+"literal> de SQL, usando un <literal>LockMode</literal>. Ver la
"
+"documentación de la API para más
información."
-#. Tag: programlisting
-#: session_api.xml:192
-#, no-c-format
+#: index.docbook:192
msgid "<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id,
LockMode.UPGRADE);]]>"
-msgstr ""
+msgstr "<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id,
LockMode.UPGRADE);]]>"
-#. Tag: para
-#: session_api.xml:194
-#, no-c-format
+#: index.docbook:194
msgid ""
"Note that any associated instances or contained collections are "
"<emphasis>not</emphasis> selected <literal>FOR
UPDATE</literal>, unless you "
@@ -417,55 +383,49 @@
"cascade style for the association."
msgstr ""
"Ten en cuenta que <emphasis>ninguna</emphasis> instancia asociada o
"
-"colección contenida es selecciona <literal>FOR UPDATE</literal>, a
menos que "
-"decidas especificar <literal>lock</literal> o
<literal>all</literal> como un "
-"estilo de cascada para la asociación."
+"colección contenida es selecciona <literal>FOR
UPDATE</literal>, a "
+"menos que decidas especificar <literal>lock</literal> o
<literal>all</"
+"literal> como un estilo de cascada para la asociación."
-#. Tag: para
-#: session_api.xml:201
-#, no-c-format
+#: index.docbook:201
msgid ""
"It is possible to re-load an object and all its collections at any time, "
"using the <literal>refresh()</literal> method. This is useful when
database "
"triggers are used to initialize some of the properties of the object."
msgstr ""
"Es posible volver a cargar un objeto y todas sus colecciones en cualquier "
-"momento, usando el método <literal>refresh()</literal>. Esto es útil
cuando "
-"se usan disparadores de base de datos para inicializar algunas de las "
-"propiedades del objeto."
+"momento, usando el método <literal>refresh()</literal>. Esto
es "
+"útil cuando se usan disparadores de base de datos para inicializar
"
+"algunas de las propiedades del objeto."
-#. Tag: programlisting
-#: session_api.xml:207
-#, no-c-format
+#: index.docbook:207
msgid ""
"<![CDATA[sess.save(cat);\n"
"sess.flush(); //force the SQL INSERT\n"
"sess.refresh(cat); //re-read the state (after the trigger executes)]]>"
msgstr ""
+"<![CDATA[sess.save(cat);\n"
+"sess.flush(); //force the SQL INSERT\n"
+"sess.refresh(cat); //re-read the state (after the trigger executes)]]>"
-#. Tag: para
-#: session_api.xml:209
-#, no-c-format
+#: index.docbook:209
msgid ""
"An important question usually appears at this point: How much does Hibernate
"
"load from the database and how many SQL <literal>SELECT</literal>s will
it "
"use? This depends on the <emphasis>fetching strategy</emphasis> and is
"
"explained in <xref linkend=\"performance-fetching\"/>."
msgstr ""
-"Una cuestión importante aparece usualmente en este punto: ¿Cuánto carga "
-"Hibernate de la base de datos y cuántos <literal>SELECT</literal>s de
SQL "
-"usará? Esto depende de la <emphasis>estrategia de
recuperación</emphasis> y "
-"se explica en <xref linkend=\"performance-fetching\"/>."
+"Una cuestión importante aparece usualmente en este punto:
¿Cuá"
+"nto carga Hibernate de la base de datos y cuántos
<literal>SELECT</"
+"literal>s de SQL usará? Esto depende de la <emphasis>estrategia
de "
+"recuperación</emphasis> y se explica en <xref
linkend=\"performance-"
+"fetching\"/>."
-#. Tag: title
-#: session_api.xml:219
-#, no-c-format
+#: index.docbook:219
msgid "Querying"
msgstr "Consultando"
-#. Tag: para
-#: session_api.xml:221
-#, no-c-format
+#: index.docbook:221
msgid ""
"If you don't know the identifiers of the objects you are looking for, you
"
"need a query. Hibernate supports an easy-to-use but powerful object oriented
"
@@ -474,23 +434,20 @@
"express your query in the native SQL of your database, with optional support
"
"from Hibernate for result set conversion into objects."
msgstr ""
-"Si no sabes los identificadores de los objetos que estás buscando, necesitas
"
-"una consulta. Hibernate soporta un lenguaje de consulta orientado a objetos "
-"(HQL) fácil de usar pero potente. Para la creación de consultas "
-"programáticas, Hibernate soporta una funcionalidad sofisticada de consulta "
-"de Criteria y Example (QBC and QBE). También puedes expresar tu consulta en "
-"el SQL nativo de tu base de datos, con soporte opcional de Hibernate para la
"
-"conversión del conjunto resultado en objetos."
+"Si no sabes los identificadores de los objetos que estás buscando,
"
+"necesitas una consulta. Hibernate soporta un lenguaje de consulta orientado "
+"a objetos (HQL) fácil de usar pero potente. Para la creación
"
+"de consultas programáticas, Hibernate soporta una funcionalidad "
+"sofisticada de consulta de Criteria y Example (QBC and QBE). También
"
+"puedes expresar tu consulta en el SQL nativo de tu base de datos, con "
+"soporte opcional de Hibernate para la conversión del conjunto "
+"resultado en objetos."
-#. Tag: title
-#: session_api.xml:231
-#, no-c-format
+#: index.docbook:231
msgid "Executing queries"
msgstr "Ejecutando consultas"
-#. Tag: para
-#: session_api.xml:233
-#, no-c-format
+#: index.docbook:233
msgid ""
"HQL and native SQL queries are represented with an instance of
<literal>org."
"hibernate.Query</literal>. This interface offers methods for parameter
"
@@ -499,14 +456,12 @@
"literal>:"
msgstr ""
"Las consultas HQL y SQL nativas son representadas con una instancia de "
-"<literal>org.hibernate.Query</literal>. Esta interface ofrece métodos
para "
-"la ligación de parámetros, manejo del conjunto resultado, y para la "
-"ejecución de la consulta real. Siempre obtienes una
<literal>Query</literal> "
-"usando la <literal>Session</literal> actual:"
+"<literal>org.hibernate.Query</literal>. Esta interface ofrece
métodos "
+"para la ligación de parámetros, manejo del conjunto
resultado, "
+"y para la ejecución de la consulta real. Siempre obtienes una "
+"<literal>Query</literal> usando la
<literal>Session</literal> actual:"
-#. Tag: programlisting
-#: session_api.xml:240
-#, no-c-format
+#: index.docbook:240
msgid ""
"<![CDATA[List cats = session.createQuery(\n"
" \"from Cat as cat where cat.birthdate < ?\")\n"
@@ -533,10 +488,28 @@
" \"select mother from Cat as mother left join fetch
mother.kittens\");\n"
"Set uniqueMothers = new HashSet(mothersWithKittens.list());]]>"
msgstr ""
+"<![CDATA[List cats = session.createQuery(\n"
+" \"from Cat as cat where cat.birthdate < ?\")\n"
+" .setDate(0, date)\n"
+" .list();\n"
+"\n"
+"List mothers = session.createQuery(\n"
+" \"select mother from Cat as cat join cat.mother as mother where cat.name
"
+"= ?\")\n"
+" .setString(0, name)\n"
+" .list();\n"
+"\n"
+"List kittens = session.createQuery(\n"
+" \"from Cat as cat where cat.mother = ?\")\n"
+" .setEntity(0, pk)\n"
+" .list();\n"
+"\n"
+"Cat mother = (Cat) session.createQuery(\n"
+" \"select cat.mother from Cat as cat where cat = ?\")\n"
+" .setEntity(0, izi)\n"
+" .uniqueResult();]]>"
-#. Tag: para
-#: session_api.xml:242
-#, no-c-format
+#: index.docbook:242
msgid ""
"A query is usually executed by invoking <literal>list()</literal>, the
"
"result of the query will be loaded completely into a collection in memory. "
@@ -548,20 +521,17 @@
"simply through a <literal>Set</literal>."
msgstr ""
"Una consulta se ejecuta usualmente invocando a
<literal>list()</literal>, el "
-"resultado de la consulta será cargado completamente dentro de una colección "
-"en memoria. Las instancias de entidad traídas por una consulta están en "
-"estado persistente. El método <literal>uniqueResult()</literal> ofrece
un "
-"atajo si sabes que tu consulta devolverá sólo un objeto."
+"resultado de la consulta será cargado completamente dentro de una
"
+"colección en memoria. Las instancias de entidad traídas por
"
+"una consulta están en estado persistente. El método "
+"<literal>uniqueResult()</literal> ofrece un atajo si sabes que tu
consulta "
+"devolverá sólo un objeto."
-#. Tag: title
-#: session_api.xml:254
-#, no-c-format
+#: index.docbook:254
msgid "Iterating results"
msgstr "Iterando los resultados"
-#. Tag: para
-#: session_api.xml:256
-#, no-c-format
+#: index.docbook:256
msgid ""
"Occasionally, you might be able to achieve better performance by executing "
"the query using the <literal>iterate()</literal> method. This will only
"
@@ -573,19 +543,19 @@
"returns identifiers, and <emphasis>n</emphasis> additional selects to
"
"initialize the actual instances."
msgstr ""
-"Ocasionalmente, podrías ser capaz de lograr mejor rendimiento al ejecutar la
"
-"consulta usando el método <literal>iterate()</literal>. Esto sólo será
en el "
-"caso que esperes que las instancias reales de entidad devueltas por la "
-"consulta estén ya en la sesión o caché de segundo nivel. Si todavía no están
"
-"en caché, <literal>iterate()</literal> será más lento que
<literal>list()</"
-"literal> y podría requerir muchas llamadas a la base de datos para una "
-"consulta simple, usualmente <emphasis>1</emphasis> para la selección
inicial "
-"que solamente devuelve identificadores, y <emphasis>n</emphasis>
selecciones "
-"adicionales para inicializar las instancias reales."
+"Ocasionalmente, podrías ser capaz de lograr mejor rendimiento al "
+"ejecutar la consulta usando el método
<literal>iterate()</literal>. "
+"Esto sólo será en el caso que esperes que las instancias
"
+"reales de entidad devueltas por la consulta estén ya en la "
+"sesión o caché de segundo nivel. Si todavía no
"
+"están en caché, <literal>iterate()</literal>
será "
+"más lento que <literal>list()</literal> y podría
requerir "
+"muchas llamadas a la base de datos para una consulta simple, usualmente "
+"<emphasis>1</emphasis> para la selección inicial que
solamente "
+"devuelve identificadores, y <emphasis>n</emphasis> selecciones
adicionales "
+"para inicializar las instancias reales."
-#. Tag: programlisting
-#: session_api.xml:268
-#, no-c-format
+#: index.docbook:268
msgid ""
"<![CDATA[// fetch ids\n"
"Iterator iter = sess.createQuery(\"from eg.Qux q order by
q.likeliness\")."
@@ -601,16 +571,25 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[// fetch ids\n"
+"Iterator iter = sess.createQuery(\"from eg.Qux q order by
q.likeliness\")."
+"iterate();\n"
+"while ( iter.hasNext() ) {\n"
+" Qux qux = (Qux) iter.next(); // fetch the object\n"
+" // something we couldnt express in the query\n"
+" if ( qux.calculateComplicatedAlgorithm() ) {\n"
+" // delete the current instance\n"
+" iter.remove();\n"
+" // dont need to process the rest\n"
+" break;\n"
+" }\n"
+"}]]>"
-#. Tag: title
-#: session_api.xml:272
-#, no-c-format
+#: index.docbook:272
msgid "Queries that return tuples"
msgstr "Consultas que devuelven tuplas"
-#. Tag: para
-#: session_api.xml:274
-#, no-c-format
+#: index.docbook:274
msgid ""
"Hibernate queries sometimes return tuples of objects, in which case each "
"tuple is returned as an array:"
@@ -618,9 +597,7 @@
"Las consultas de Hibernate a veces devuelven tuplas de objetos, en cuyo caso
"
"cada tupla se devuelve como un array:"
-#. Tag: programlisting
-#: session_api.xml:279
-#, no-c-format
+#: index.docbook:279
msgid ""
"<![CDATA[Iterator kittensAndMothers = sess.createQuery(\n"
" \"select kitten, mother from Cat kitten join kitten.mother
mother"
@@ -635,29 +612,35 @@
" ....\n"
"}]]>"
msgstr ""
+"<![CDATA[Iterator kittensAndMothers = sess.createQuery(\n"
+" \"select kitten, mother from Cat kitten join kitten.mother
mother"
+"\")\n"
+" .list()\n"
+" .iterator();\n"
+"\n"
+"while ( kittensAndMothers.hasNext() ) {\n"
+" Object[] tuple = (Object[]) kittensAndMothers.next();\n"
+" Cat kitten = (Cat) tuple[0];\n"
+" Cat mother = (Cat) tuple[1];\n"
+" ....\n"
+"}]]>"
-#. Tag: title
-#: session_api.xml:284
-#, no-c-format
+#: index.docbook:284
msgid "Scalar results"
msgstr "Resultados escalares"
-#. Tag: para
-#: session_api.xml:286
-#, no-c-format
+#: index.docbook:286
msgid ""
"Queries may specify a property of a class in the
<literal>select</literal> "
"clause. They may even call SQL aggregate functions. Properties or aggregates
"
"are considered \"scalar\" results (and not entities in persistent
state)."
msgstr ""
-"Las consultas pueden especificar una propiedad de una clase en la cláusula "
-"<literal>select</literal>. Pueden incluso llamar a funciones de
agregación "
-"SQL. Las propiedades o agregaciones son considerados resultados
\"escalares"
-"\" (y no entidades en estado persistente)."
+"Las consultas pueden especificar una propiedad de una clase en la
clá"
+"usula <literal>select</literal>. Pueden incluso llamar a funciones de
"
+"agregación SQL. Las propiedades o agregaciones son considerados "
+"resultados \"escalares\" (y no entidades en estado persistente)."
-#. Tag: programlisting
-#: session_api.xml:292
-#, no-c-format
+#: index.docbook:292
msgid ""
"<![CDATA[Iterator results = sess.createQuery(\n"
" \"select cat.color, min(cat.birthdate), count(cat) from Cat cat
\" "
@@ -674,16 +657,26 @@
" .....\n"
"}]]>"
msgstr ""
+"<![CDATA[Iterator results = sess.createQuery(\n"
+" \"select cat.color, min(cat.birthdate), count(cat) from Cat cat
\" "
+"+\n"
+" \"group by cat.color\")\n"
+" .list()\n"
+" .iterator();\n"
+"\n"
+"while ( results.hasNext() ) {\n"
+" Object[] row = results.next();\n"
+" Color type = (Color) row[0];\n"
+" Date oldest = (Date) row[1];\n"
+" Integer count = (Integer) row[2];\n"
+" .....\n"
+"}]]>"
-#. Tag: title
-#: session_api.xml:297
-#, no-c-format
+#: index.docbook:297
msgid "Bind parameters"
-msgstr "Ligación de parámetros"
+msgstr "Ligación de parámetros"
-#. Tag: para
-#: session_api.xml:299
-#, no-c-format
+#: index.docbook:299
msgid ""
"Methods on <literal>Query</literal> are provided for binding values to
named "
"parameters or JDBC-style <literal>?</literal> parameters.
<emphasis>Contrary "
@@ -691,37 +684,29 @@
"are identifiers of the form <literal>:name</literal> in the query
string. "
"The advantages of named parameters are:"
msgstr ""
-"Se proveen métodos en <literal>Query</literal> para ligar valores a
"
-"parámetros con nombre o parámetros <literal>?</literal> de estilo JDBC.
"
-"<emphasis>Al contrario de JDBC, Hibernate numera los parámetros desde
cero.</"
-"emphasis> Los parámetros con nombre son identificadores de la forma "
-"<literal>:name</literal> en la cadena de la consulta. Las ventajas de
los "
-"parámetros con nombre son:"
+"Se proveen métodos en <literal>Query</literal> para ligar
valores a "
+"parámetros con nombre o parámetros
<literal>?</literal> de "
+"estilo JDBC. <emphasis>Al contrario de JDBC, Hibernate numera los
pará"
+"metros desde cero.</emphasis> Los parámetros con nombre son
"
+"identificadores de la forma <literal>:name</literal> en la cadena de la
"
+"consulta. Las ventajas de los parámetros con nombre son:"
-#. Tag: para
-#: session_api.xml:309
-#, no-c-format
+#: index.docbook:309
msgid ""
"named parameters are insensitive to the order they occur in the query string"
msgstr ""
-"los parámetros con nombre son insensibles al orden en que aparecen en la "
-"cadena de consulta"
+"los parámetros con nombre son insensibles al orden en que aparecen en
"
+"la cadena de consulta"
-#. Tag: para
-#: session_api.xml:315
-#, no-c-format
+#: index.docbook:315
msgid "they may occur multiple times in the same query"
-msgstr "pueden aparecer múltiples veces en la misma consulta"
+msgstr "pueden aparecer múltiples veces en la misma consulta"
-#. Tag: para
-#: session_api.xml:320
-#, no-c-format
+#: index.docbook:320
msgid "they are self-documenting"
msgstr "son auto-documentados"
-#. Tag: programlisting
-#: session_api.xml:326
-#, no-c-format
+#: index.docbook:326
msgid ""
"<![CDATA[//named parameter (preferred)\n"
"Query q = sess.createQuery(\"from DomesticCat cat where cat.name =
:name"
@@ -729,20 +714,25 @@
"q.setString(\"name\", \"Fritz\");\n"
"Iterator cats = q.iterate();]]>"
msgstr ""
+"<![CDATA[//named parameter (preferred)\n"
+"Query q = sess.createQuery(\"from DomesticCat cat where cat.name =
:name"
+"\");\n"
+"q.setString(\"name\", \"Fritz\");\n"
+"Iterator cats = q.iterate();]]>"
-#. Tag: programlisting
-#: session_api.xml:328
-#, no-c-format
+#: index.docbook:328
msgid ""
"<![CDATA[//positional parameter\n"
"Query q = sess.createQuery(\"from DomesticCat cat where cat.name =
?\");\n"
"q.setString(0, \"Izi\");\n"
"Iterator cats = q.iterate();]]>"
msgstr ""
+"<![CDATA[//positional parameter\n"
+"Query q = sess.createQuery(\"from DomesticCat cat where cat.name =
?\");\n"
+"q.setString(0, \"Izi\");\n"
+"Iterator cats = q.iterate();]]>"
-#. Tag: programlisting
-#: session_api.xml:330
-#, no-c-format
+#: index.docbook:330
msgid ""
"<![CDATA[//named parameter list\n"
"List names = new ArrayList();\n"
@@ -753,54 +743,55 @@
"q.setParameterList(\"namesList\", names);\n"
"List cats = q.list();]]>"
msgstr ""
+"<![CDATA[//named parameter list\n"
+"List names = new ArrayList();\n"
+"names.add(\"Izi\");\n"
+"names.add(\"Fritz\");\n"
+"Query q = sess.createQuery(\"from DomesticCat cat where cat.name in (:"
+"namesList)\");\n"
+"q.setParameterList(\"namesList\", names);\n"
+"List cats = q.list();]]>"
-#. Tag: title
-#: session_api.xml:335
-#, no-c-format
+#: index.docbook:335
msgid "Pagination"
-msgstr "Paginación"
+msgstr "Paginación"
-#. Tag: para
-#: session_api.xml:337
-#, no-c-format
+#: index.docbook:337
msgid ""
"If you need to specify bounds upon your result set (the maximum number of "
"rows you want to retrieve and / or the first row you want to retrieve) you "
"should use methods of the <literal>Query</literal> interface:"
msgstr ""
-"Si necesitas especificar límites sobre tu conjunto resultado (el número "
-"máximo de filas que quieras traer y/o la primera fila que quieras traer) "
-"debes usar los métodos de la interface <literal>Query</literal>:"
+"Si necesitas especificar límites sobre tu conjunto resultado (el "
+"número máximo de filas que quieras traer y/o la primera fila
"
+"que quieras traer) debes usar los métodos de la interface "
+"<literal>Query</literal>:"
-#. Tag: programlisting
-#: session_api.xml:343
-#, no-c-format
+#: index.docbook:343
msgid ""
"<![CDATA[Query q = sess.createQuery(\"from DomesticCat
cat\");\n"
"q.setFirstResult(20);\n"
"q.setMaxResults(10);\n"
"List cats = q.list();]]>"
msgstr ""
+"<![CDATA[Query q = sess.createQuery(\"from DomesticCat
cat\");\n"
+"q.setFirstResult(20);\n"
+"q.setMaxResults(10);\n"
+"List cats = q.list();]]>"
-#. Tag: para
-#: session_api.xml:345
-#, no-c-format
+#: index.docbook:345
msgid ""
"Hibernate knows how to translate this limit query into the native SQL of "
"your DBMS."
msgstr ""
-"Hibernate sabe cómo traducir este límite de consulta al SQL nativo de tu "
-"DBMS."
+"Hibernate sabe cómo traducir este límite de consulta al SQL
"
+"nativo de tu DBMS."
-#. Tag: title
-#: session_api.xml:353
-#, no-c-format
+#: index.docbook:353
msgid "Scrollable iteration"
-msgstr "Iteración scrollable"
+msgstr "Iteración scrollable"
-#. Tag: para
-#: session_api.xml:355
-#, no-c-format
+#: index.docbook:355
msgid ""
"If your JDBC driver supports scrollable <literal>ResultSet</literal>s,
the "
"<literal>Query</literal> interface may be used to obtain a "
@@ -809,12 +800,10 @@
msgstr ""
"Si tu driver JDBC soporta <literal>ResultSet</literal>s scrollables, la
"
"interface <literal>Query</literal> puede ser usada para obtener un
objeto "
-"<literal>ScrollableResults</literal>, que permite una navegación
flexible de "
-"los resultados de consulta."
+"<literal>ScrollableResults</literal>, que permite una
navegación "
+"flexible de los resultados de consulta."
-#. Tag: programlisting
-#: session_api.xml:362
-#, no-c-format
+#: index.docbook:362
msgid ""
"<![CDATA[Query q = sess.createQuery(\"select cat.name, cat from DomesticCat
"
"cat \" +\n"
@@ -841,41 +830,57 @@
"}\n"
"cats.close()]]>"
msgstr ""
+"<![CDATA[Query q = sess.createQuery(\"select cat.name, cat from DomesticCat
"
+"cat \" +\n"
+" \"order by cat.name\");\n"
+"ScrollableResults cats = q.scroll();\n"
+"if ( cats.first() ) {\n"
+"\n"
+" // find the first name on each page of an alphabetical list of cats by "
+"name\n"
+" firstNamesOfPages = new ArrayList();\n"
+" do {\n"
+" String name = cats.getString(0);\n"
+" firstNamesOfPages.add(name);\n"
+" }\n"
+" while ( cats.scroll(PAGE_SIZE) );\n"
+"\n"
+" // Now get the first page of cats\n"
+" pageOfCats = new ArrayList();\n"
+" cats.beforeFirst();\n"
+" int i=0;\n"
+" while( ( PAGE_SIZE > i++ ) && cats.next() ) pageOfCats.add(
cats.get"
+"(1) );\n"
+"\n"
+"}\n"
+"cats.close()]]>"
-#. Tag: para
-#: session_api.xml:364
-#, no-c-format
+#: index.docbook:364
msgid ""
"Note that an open database connection (and cursor) is required for this "
"functionality, use
<literal>setMaxResult()</literal>/<literal>setFirstResult"
"()</literal> if you need offline pagination functionality."
msgstr ""
-"Nota que se requiere una conexión de base de datos abierta (y cursor) para "
-"esta funcionalidad, usa <literal>setMaxResult()</literal>/"
+"Nota que se requiere una conexión de base de datos abierta (y cursor)
"
+"para esta funcionalidad, usa <literal>setMaxResult()</literal>/"
"<literal>setFirstResult()</literal> si necesitas la funcionalidad de
"
-"paginación fuera de línea."
+"paginación fuera de línea."
-#. Tag: title
-#: session_api.xml:373
-#, no-c-format
+#: index.docbook:373
msgid "Externalizing named queries"
msgstr "Externalizando consultas con nombre"
-#. Tag: para
-#: session_api.xml:375
-#, no-c-format
+#: index.docbook:375
msgid ""
"You may also define named queries in the mapping document. (Remember to use "
"a <literal>CDATA</literal> section if your query contains characters
that "
"could be interpreted as markup.)"
msgstr ""
-"Puedes además definir consultas con nombre en el documento de mapeo. "
-"(Recuerda usar una sección <literal>CDATA</literal> si tu consulta
contiene "
-"caracteres que puedan ser interpretados como etiquetado.)"
+"Puedes además definir consultas con nombre en el documento de mapeo.
"
+"(Recuerda usar una sección <literal>CDATA</literal> si tu
consulta "
+"contiene caracteres que puedan ser interpretados como etiquetado.)"
-#. Tag: programlisting
-#: session_api.xml:381
-#, no-c-format
+#: index.docbook:381
msgid ""
"<![CDATA[<query
name=\"ByNameAndMaximumWeight\"><![CDATA[\n"
" from eg.DomesticCat as cat\n"
@@ -883,38 +888,44 @@
" and cat.weight > ?\n"
"] ]></query>]]>"
msgstr ""
+"<![CDATA[<query
name=\"eg.DomesticCat.by.name.and.minimum.weight\"><![CDATA"
+"[\n"
+" from eg.DomesticCat as cat\n"
+" where cat.name = ?\n"
+" and cat.weight > ?\n"
+"] ]></query>]]>"
-#. Tag: para
-#: session_api.xml:383
-#, no-c-format
+#: index.docbook:383
msgid "Parameter binding and executing is done programatically:"
-msgstr "La ligación de parámetros y ejecución se hace programáticamente:"
+msgstr ""
+"La ligación de parámetros y ejecución se hace
"
+"programáticamente:"
-#. Tag: programlisting
-#: session_api.xml:387
-#, no-c-format
+#: index.docbook:387
msgid ""
"<![CDATA[Query q =
sess.getNamedQuery(\"ByNameAndMaximumWeight\");\n"
"q.setString(0, name);\n"
"q.setInt(1, minWeight);\n"
"List cats = q.list();]]>"
msgstr ""
+"<![CDATA[Query q =
sess.getNamedQuery(\"eg.DomesticCat.by.name.and.minimum."
+"weight\");\n"
+"q.setString(0, name);\n"
+"q.setInt(1, minWeight);\n"
+"List cats = q.list();]]>"
-#. Tag: para
-#: session_api.xml:389
-#, no-c-format
+#: index.docbook:389
msgid ""
"Note that the actual program code is independent of the query language that "
"is used, you may also define native SQL queries in metadata, or migrate "
"existing queries to Hibernate by placing them in mapping files."
msgstr ""
-"Nota que el código real del programa es independiente del lenguaje de "
-"consulta usado; puedes además definir consultas SQL nativas en metadatos, o "
-"migrar consultas existentes a Hibernate colocándolas en ficheros de mapeo."
+"Nota que el código real del programa es independiente del lenguaje de
"
+"consulta usado; puedes además definir consultas SQL nativas en "
+"metadatos, o migrar consultas existentes a Hibernate colocándolas en
"
+"ficheros de mapeo."
-#. Tag: para
-#: session_api.xml:395
-#, no-c-format
+#: index.docbook:395
msgid ""
"Also note that a query declaration inside a
<literal><hibernate-"
"mapping></literal> element requires a global unique name for the
query, "
@@ -929,28 +940,22 @@
"qualified name of the class, for example <literal>eg.Cat."
"ByNameAndMaximumWeight</literal>."
-#. Tag: title
-#: session_api.xml:408
-#, no-c-format
+#: index.docbook:408
msgid "Filtering collections"
msgstr "Filtrando colecciones"
-#. Tag: para
-#: session_api.xml:409
-#, no-c-format
+#: index.docbook:409
msgid ""
"A collection <emphasis>filter</emphasis> is a special type of query
that may "
"be applied to a persistent collection or array. The query string may refer "
"to <literal>this</literal>, meaning the current collection
element."
msgstr ""
-"Un <emphasis>filtro</emphasis> de colección es un tipo especial de
consulta "
-"que puede ser aplicado a una colección persistente o array. La cadena de "
-"consulta puede referirse a <literal>this</literal>, significando el
elemento "
-"de colección actual."
+"Un <emphasis>filtro</emphasis> de colección es un tipo
especial de "
+"consulta que puede ser aplicado a una colección persistente o array.
"
+"La cadena de consulta puede referirse a <literal>this</literal>,
"
+"significando el elemento de colección actual."
-#. Tag: programlisting
-#: session_api.xml:415
-#, no-c-format
+#: index.docbook:415
msgid ""
"<![CDATA[Collection blackKittens = session.createFilter(\n"
" pk.getKittens(), \n"
@@ -959,71 +964,72 @@
" .list()\n"
");]]>"
msgstr ""
+"<![CDATA[Collection blackKittens = session.createFilter(\n"
+" pk.getKittens(), \n"
+" \"where this.color = ?\")\n"
+" .setParameter( Color.BLACK, Hibernate.custom(ColorUserType.class) )\n"
+" .list()\n"
+");]]>"
-#. Tag: para
-#: session_api.xml:417
-#, no-c-format
+#: index.docbook:417
msgid ""
"The returned collection is considered a bag, and it's a copy of the given
"
"collection. The original collection is not modified (this is contrary to the
"
"implication of the name \"filter\", but consistent with expected
behavior)."
msgstr ""
-"La colección devuelta es considerada un bag, y es una copia de la colección "
-"dada. La colección original no es modificada (esto es contrario a la "
-"implicación del nombre \"filtro\", pero consistente con el comportamiento
"
-"esperado)."
+"La colección devuelta es considerada un bag, y es una copia de la
"
+"colección dada. La colección original no es modificada (esto
"
+"es contrario a la implicación del nombre \"filtro\", pero
consistente "
+"con el comportamiento esperado)."
-#. Tag: para
-#: session_api.xml:423
-#, no-c-format
+#: index.docbook:423
msgid ""
"Observe that filters do not require a <literal>from</literal> clause
(though "
"they may have one if required). Filters are not limited to returning the "
"collection elements themselves."
msgstr ""
-"Observa que los filtros no requieren una cláusula
<literal>from</literal> "
-"(aunque pueden tener uno si se requiere). Los filtros no están limitados a "
-"devolver los elementos de colección por sí mismos."
+"Observa que los filtros no requieren una cláusula
<literal>from</"
+"literal> (aunque pueden tener uno si se requiere). Los filtros no
está"
+"n limitados a devolver los elementos de colección por sí
"
+"mismos."
-#. Tag: programlisting
-#: session_api.xml:428
-#, no-c-format
+#: index.docbook:428
msgid ""
"<![CDATA[Collection blackKittenMates = session.createFilter(\n"
" pk.getKittens(), \n"
" \"select this.mate where this.color =
eg.Color.BLACK.intValue\")\n"
" .list();]]>"
msgstr ""
+"<![CDATA[Collection blackKittenMates = session.createFilter(\n"
+" pk.getKittens(), \n"
+" \"select this.mate where this.color =
eg.Color.BLACK.intValue\")\n"
+" .list();]]>"
-#. Tag: para
-#: session_api.xml:430
-#, no-c-format
+#: index.docbook:430
msgid ""
"Even an empty filter query is useful, e.g. to load a subset of elements in a
"
"huge collection:"
msgstr ""
-"Incluso una consulta de filtro vacío es útil, por ejemplo, para cargar un "
-"subconjunto de elementos en una colección enorme:"
+"Incluso una consulta de filtro vacío es útil, por ejemplo,
"
+"para cargar un subconjunto de elementos en una colección enorme:"
-#. Tag: programlisting
-#: session_api.xml:435
-#, no-c-format
+#: index.docbook:435
msgid ""
"<![CDATA[Collection tenKittens = session.createFilter(\n"
" mother.getKittens(), \"\")\n"
" .setFirstResult(0).setMaxResults(10)\n"
" .list();]]>"
msgstr ""
+"<![CDATA[Collection tenKittens = session.createFilter(\n"
+" mother.getKittens(), \"\")\n"
+" .setFirstResult(0).setMaxResults(10)\n"
+" .list();]]>"
-#. Tag: title
-#: session_api.xml:440
-#, no-c-format
+#: index.docbook:440
msgid "Criteria queries"
msgstr "Consultas de criterios"
-#. Tag: para
-#: session_api.xml:442
-#, no-c-format
+#: index.docbook:442
msgid ""
"HQL is extremely powerful but some developers prefer to build queries "
"dynamically, using an object-oriented API, rather than building query "
@@ -1031,40 +1037,37 @@
"API for these cases:"
msgstr ""
"HQL es extremadamente potente pero algunos desarrolladores prefieren "
-"construir consultas dinámicamente usando una API orientada a objetos, en vez
"
-"construir cadenas de consulta. Hibernate provee una API intuitiva de "
+"construir consultas dinámicamente usando una API orientada a objetos,
"
+"en vez construir cadenas de consulta. Hibernate provee una API intuitiva de "
"consulta <literal>Criteria</literal> para estos casos:"
-#. Tag: programlisting
-#: session_api.xml:448
-#, no-c-format
+#: index.docbook:448
msgid ""
"<![CDATA[Criteria crit = session.createCriteria(Cat.class);\n"
"crit.add( Restrictions.eq( \"color\", eg.Color.BLACK ) );\n"
"crit.setMaxResults(10);\n"
"List cats = crit.list();]]>"
msgstr ""
+"<![CDATA[Criteria crit = session.createCriteria(Cat.class);\n"
+"crit.add( Restrictions.eq( \"color\", eg.Color.BLACK ) );\n"
+"crit.setMaxResults(10);\n"
+"List cats = crit.list();]]>"
-#. Tag: para
-#: session_api.xml:450
-#, no-c-format
+#: index.docbook:450
msgid ""
"The <literal>Criteria</literal> and the associated
<literal>Example</"
"literal> API are discussed in more detail in <xref
linkend=\"querycriteria\"/"
">."
msgstr ""
"Las APIs de <literal>Criteria</literal> y la asociada
<literal>Example</"
-"literal> son discutidas en más detalle en <xref
linkend=\"querycriteria\"/>."
+"literal> son discutidas en más detalle en <xref linkend="
+"\"querycriteria\"/>."
-#. Tag: title
-#: session_api.xml:458
-#, no-c-format
+#: index.docbook:458
msgid "Queries in native SQL"
msgstr "Consultas en SQL nativo"
-#. Tag: para
-#: session_api.xml:460
-#, no-c-format
+#: index.docbook:460
msgid ""
"You may express a query in SQL, using
<literal>createSQLQuery()</literal> "
"and let Hibernate take care of the mapping from result sets to objects. Note
"
@@ -1079,19 +1082,19 @@
"directamente. Si eliges usar la API de Hibernate, debes encerrar los alias "
"de SQL entre llaves:"
-#. Tag: programlisting
-#: session_api.xml:468
-#, no-c-format
+#: index.docbook:468
msgid ""
"<![CDATA[List cats = session.createSQLQuery(\"SELECT {cat.*} FROM CAT {cat}
"
"WHERE ROWNUM<10\")\n"
" .addEntity(\"cat\", Cat.class)\n"
".list();]]>"
msgstr ""
+"<![CDATA[List cats = session.createSQLQuery(\"SELECT {cat.*} FROM CAT {cat}
"
+"WHERE ROWNUM<10\")\n"
+" .addEntity(\"cat\", Cat.class)\n"
+".list();]]>"
-#. Tag: programlisting
-#: session_api.xml:470
-#, no-c-format
+#: index.docbook:470
msgid ""
"<![CDATA[List cats = session.createSQLQuery(\n"
" \"SELECT {cat}.ID AS {cat.id}, {cat}.SEX AS {cat.sex}, \" +\n"
@@ -1101,28 +1104,30 @@
" .addEntity(\"cat\", Cat.class)\n"
".list()]]>"
msgstr ""
+"<![CDATA[List cats = session.createSQLQuery(\n"
+" \"SELECT {cat}.ID AS {cat.id}, {cat}.SEX AS {cat.sex}, \" +\n"
+" \"{cat}.MATE AS {cat.mate}, {cat}.SUBCLASS AS {cat.class}, ...
\" "
+"+\n"
+" \"FROM CAT {cat} WHERE ROWNUM<10\")\n"
+" .addEntity(\"cat\", Cat.class)\n"
+".list()]]>"
-#. Tag: para
-#: session_api.xml:472
-#, no-c-format
+#: index.docbook:472
msgid ""
"SQL queries may contain named and positional parameters, just like Hibernate
"
"queries. More information about native SQL queries in Hibernate can be found
"
"in <xref linkend=\"querysql\"/>."
msgstr ""
-"Las consultas SQL pueden contener parámetros con nombre y posicionales, al "
-"igual que las consultas de Hibernate. Puede encontrarse más información "
-"sobre consultas en SQL nativo en <xref
linkend=\"querysql\"/>."
+"Las consultas SQL pueden contener parámetros con nombre y "
+"posicionales, al igual que las consultas de Hibernate. Puede encontrarse "
+"más información sobre consultas en SQL nativo en <xref
linkend="
+"\"querysql\"/>."
-#. Tag: title
-#: session_api.xml:483
-#, no-c-format
+#: index.docbook:483
msgid "Modifying persistent objects"
msgstr "Modificando objetos persistentes"
-#. Tag: para
-#: session_api.xml:485
-#, no-c-format
+#: index.docbook:485
msgid ""
"<emphasis>Transactional persistent instances</emphasis> (ie. objects
loaded, "
"saved, created or queried by the <literal>Session</literal>) may be
"
@@ -1136,29 +1141,29 @@
msgstr ""
"Las <emphasis>instancias persistentes transaccionales</emphasis> (es
decir, "
"objetos cargados, creados o consultados por la
<literal>Session</literal>) "
-"pueden ser manipulados por la aplicación y cualquier cambio al estado "
-"persistente será persistido cuando la <literal>Session</literal> sea
"
-"<emphasis>limpiada (flushed)</emphasis> (discutido más adelante en este
"
-"capítulo). No hay necesidad de llamar un método en particular (como "
-"<literal>update()</literal>, que tiene un propósito diferente) para
hacer "
-"persistentes tus modificaciones. De modo que la forma más directa de "
-"actualizar el estado de un objeto es cargarlo con
<literal>load()</literal>, "
-"y entonces manipularlo directamente, mientras la
<literal>Session</literal> "
-"está abierta:"
+"pueden ser manipulados por la aplicación y cualquier cambio al estado
"
+"persistente será persistido cuando la
<literal>Session</literal> sea "
+"<emphasis>limpiada (flushed)</emphasis> (discutido más
adelante en "
+"este capítulo). No hay necesidad de llamar un método en
"
+"particular (como <literal>update()</literal>, que tiene un
propósito "
+"diferente) para hacer persistentes tus modificaciones. De modo que la forma "
+"más directa de actualizar el estado de un objeto es cargarlo con "
+"<literal>load()</literal>, y entonces manipularlo directamente,
mientras la "
+"<literal>Session</literal> está abierta:"
-#. Tag: programlisting
-#: session_api.xml:496
-#, no-c-format
+#: index.docbook:496
msgid ""
"<![CDATA[DomesticCat cat = (DomesticCat) sess.load( Cat.class, new Long"
"(69) );\n"
"cat.setName(\"PK\");\n"
"sess.flush(); // changes to cat are automatically detected and
persisted]]>"
msgstr ""
+"<![CDATA[DomesticCat cat = (DomesticCat) sess.load( Cat.class, new Long"
+"(69) );\n"
+"cat.setName(\"PK\");\n"
+"sess.flush(); // changes to cat are automatically detected and
persisted]]>"
-#. Tag: para
-#: session_api.xml:498
-#, no-c-format
+#: index.docbook:498
msgid ""
"Sometimes this programming model is inefficient since it would require both "
"an SQL <literal>SELECT</literal> (to load an object) and an SQL "
@@ -1166,15 +1171,13 @@
"session. Therefore Hibernate offers an alternate approach, using detached "
"instances."
msgstr ""
-"A veces este modelo de programación es ineficiente pues podría requerir una "
-"<literal>SELECT</literal> de SQL (para cargar un objeto) y un "
+"A veces este modelo de programación es ineficiente pues
podría "
+"requerir una <literal>SELECT</literal> de SQL (para cargar un objeto) y
un "
"<literal>UPDATE</literal> de SQL (para hacer persistentes sus datos
"
-"actualizados) en la misma sesión. Por lo tanto, Hibernate ofrece un enfoque "
-"alternativo, usando instancias separadas (detached)."
+"actualizados) en la misma sesión. Por lo tanto, Hibernate ofrece un
"
+"enfoque alternativo, usando instancias separadas (detached)."
-#. Tag: emphasis
-#: session_api.xml:506
-#, fuzzy, no-c-format
+#: index.docbook:506
msgid ""
"Note that Hibernate does not offer its own API for direct execution of "
"<literal>UPDATE</literal> or <literal>DELETE</literal>
statements. Hibernate "
@@ -1187,26 +1190,24 @@
"Hibernate may however provide special mass operation functions. See <xref
"
"linkend=\"batch\"/> for some possible batch operation tricks."
msgstr ""
-"Nota que Hibernate no ofreve su propia API para ejecución directa de "
-"sentencias <placeholder-1/> o <placeholder-2/>. Hibernate es un
servicio de "
-"<placeholder-3/>, no tienes que pensar en <placeholder-4/> para usarlo.
JDBC "
-"es una API perfecta para ejecutar sentencias SQL; puedes obtener una "
-"<placeholder-5/> JDBC en cualquier momento llamando a <placeholder-6/>.
"
-"Además, la noción de operaciones masivas entra en conflicto con el mapeo "
-"objeto/relacional en aplicaciones en línea orientadas al procesamiento de "
-"transacciones. Versiones futuras de Hibernate pueden, sin embargo, proveer "
-"funciones de operación masiva especiales. Ver <xref
linkend=\"batch\"/> por "
-"algunos trucos de operación en lote (batch) posibles."
+"Nota que Hibernate no ofreve su propia API para ejecución directa de
"
+"sentencias <literal>UPDATE</literal> o
<literal>DELETE</literal>. Hibernate "
+"es un servicio de <emphasis>gestión de estado</emphasis>, no
tienes "
+"que pensar en <literal>sentencias</literal> para usarlo. JDBC es una
API "
+"perfecta para ejecutar sentencias SQL; puedes obtener una "
+"<literal>Connection</literal> JDBC en cualquier momento llamando a
"
+"<literal>session.connection()</literal>. Además, la
noción de "
+"operaciones masivas entra en conflicto con el mapeo objeto/relacional en "
+"aplicaciones en línea orientadas al procesamiento de transacciones.
"
+"Versiones futuras de Hibernate pueden, sin embargo, proveer funciones de "
+"operación masiva especiales. Ver <xref
linkend=\"batch\"/> por "
+"algunos trucos de operación en lote (batch) posibles."
-#. Tag: title
-#: session_api.xml:521
-#, no-c-format
+#: index.docbook:521
msgid "Modifying detached objects"
msgstr "Modificando objetos separados"
-#. Tag: para
-#: session_api.xml:523
-#, no-c-format
+#: index.docbook:523
msgid ""
"Many applications need to retrieve an object in one transaction, send it to "
"the UI layer for manipulation, then save the changes in a new transaction. "
@@ -1214,27 +1215,23 @@
"environment usually use versioned data to ensure isolation for the
\"long\" "
"unit of work."
msgstr ""
-"Muchas aplicaciones necesitan recuperar un objeto en una transacción, "
-"enviarla a la capa de UI para su manipulación, y entonces salvar los cambios
"
-"en una nueva transacción. Las aplicaciones que usan este tipo de enfoque en "
-"un entorno de alta concurrencia usualmente usan datos versionados para "
-"asegurar el aislamiento de la unidad de trabajo \"larga\"."
+"Muchas aplicaciones necesitan recuperar un objeto en una transacción,
"
+"enviarla a la capa de UI para su manipulación, y entonces salvar los
"
+"cambios en una nueva transacción. Las aplicaciones que usan este tipo
"
+"de enfoque en un entorno de alta concurrencia usualmente usan datos "
+"versionados para asegurar el aislamiento de la unidad de trabajo
\"larga\"."
-#. Tag: para
-#: session_api.xml:530
-#, no-c-format
+#: index.docbook:530
msgid ""
"Hibernate supports this model by providing for reattachment of detached "
"instances using the <literal>Session.update()</literal> or
<literal>Session."
"merge()</literal> methods:"
msgstr ""
-"Hibernate soporta este modelo al proveer re-unión de instancias separadas "
-"usando los métodos <literal>Session.update()</literal> o
<literal>Session."
-"merge()</literal>:"
+"Hibernate soporta este modelo al proveer re-unión de instancias "
+"separadas usando los métodos
<literal>Session.update()</literal> o "
+"<literal>Session.merge()</literal>:"
-#. Tag: programlisting
-#: session_api.xml:536
-#, no-c-format
+#: index.docbook:536
msgid ""
"<![CDATA[// in the first session\n"
"Cat cat = (Cat) firstSession.load(Cat.class, catId);\n"
@@ -1248,10 +1245,19 @@
"secondSession.update(cat); // update cat\n"
"secondSession.update(mate); // update mate]]>"
msgstr ""
+"<![CDATA[// in the first session\n"
+"Cat cat = (Cat) firstSession.load(Cat.class, catId);\n"
+"Cat potentialMate = new Cat();\n"
+"firstSession.save(potentialMate);\n"
+"\n"
+"// in a higher layer of the application\n"
+"cat.setMate(potentialMate);\n"
+"\n"
+"// later, in a new session\n"
+"secondSession.update(cat); // update cat\n"
+"secondSession.update(mate); // update mate]]>"
-#. Tag: para
-#: session_api.xml:538
-#, no-c-format
+#: index.docbook:538
msgid ""
"If the <literal>Cat</literal> with identifier
<literal>catId</literal> had "
"already been loaded by <literal>secondSession</literal> when the
application "
@@ -1259,11 +1265,10 @@
msgstr ""
"Si el <literal>Cat</literal> con identificador
<literal>catId</literal> ya "
"hubiera sido cargado por <literal>secondSession</literal> cuando la
"
-"aplicación intentó volver a unirlo, se habría lanzado una excepción."
+"aplicación intentó volver a unirlo, se habría
lanzado "
+"una excepción."
-#. Tag: para
-#: session_api.xml:544
-#, no-c-format
+#: index.docbook:544
msgid ""
"Use <literal>update()</literal> if you are sure that the session does
not "
"contain an already persistent instance with the same identifier, and "
@@ -1273,17 +1278,16 @@
"fresh session, ensuring that reattachment of your detached instances is the "
"first operation that is executed."
msgstr ""
-"Usa <literal>update()</literal> si no estás seguro que la sesión tenga
una "
-"instancia ya persistente con el mismo identificador, y
<literal>merge()</"
-"literal> si quieres fusionar tus modificaciones en cualquier momento sin "
-"consideración del estado de la sesión. En otras palabras,
<literal>update()</"
-"literal> es usualmente el primer método que llamarías en una sesión fresca,
"
-"asegurando que la re-unión de tus instancias separadas es la primera "
-"operación que se ejecuta."
+"Usa <literal>update()</literal> si no estás seguro que la
sesió"
+"n tenga una instancia ya persistente con el mismo identificador, y "
+"<literal>merge()</literal> si quieres fusionar tus modificaciones en
"
+"cualquier momento sin consideración del estado de la sesión.
"
+"En otras palabras, <literal>update()</literal> es usualmente el primer
"
+"método que llamarías en una sesión fresca,
asegurando "
+"que la re-unión de tus instancias separadas es la primera "
+"operación que se ejecuta."
-#. Tag: para
-#: session_api.xml:553
-#, no-c-format
+#: index.docbook:553
msgid ""
"The application should individually <literal>update()</literal>
detached "
"instances reachable from the given detached instance if and
<emphasis>only</"
@@ -1291,28 +1295,24 @@
"course, using <emphasis>transitive persistence</emphasis>, see <xref
linkend="
"\"objectstate-transitive\"/>."
msgstr ""
-"La aplicación debe actualizar individualmente las instancias separadas "
-"alcanzables por la instancia separada dada llamando a
<literal>update()</"
-"literal>, si y <emphasis>sólo</emphasis> si quiere que sus estados
sean "
-"también actualizados. Esto puede, por supuesto, ser automatizado usando "
-"<emphasis>persistencia transitiva</emphasis>, ver <xref
linkend="
-"\"objectstate-transitive\"/>."
+"La aplicación debe actualizar individualmente las instancias "
+"separadas alcanzables por la instancia separada dada llamando a "
+"<literal>update()</literal>, si y
<emphasis>sólo</emphasis> si quiere "
+"que sus estados sean también actualizados. Esto puede, por supuesto,
"
+"ser automatizado usando <emphasis>persistencia transitiva</emphasis>,
ver "
+"<xref linkend=\"objectstate-transitive\"/>."
-#. Tag: para
-#: session_api.xml:560
-#, no-c-format
+#: index.docbook:560
msgid ""
"The <literal>lock()</literal> method also allows an application to
"
"reassociate an object with a new session. However, the detached instance has
"
"to be unmodified!"
msgstr ""
-"El método <literal>lock()</literal> también permite a una aplicación
"
-"reasociar un objeto con una sesión nueva. Sin embargo, la instancia separada
"
-"no puede haber sido modificada!"
+"El método <literal>lock()</literal> también
permite a una "
+"aplicación reasociar un objeto con una sesión nueva. Sin
"
+"embargo, la instancia separada no puede haber sido modificada!"
-#. Tag: programlisting
-#: session_api.xml:565
-#, no-c-format
+#: index.docbook:565
msgid ""
"<![CDATA[//just reassociate:\n"
"sess.lock(fritz, LockMode.NONE);\n"
@@ -1321,10 +1321,14 @@
"//do a version check, using SELECT ... FOR UPDATE, then reassociate:\n"
"sess.lock(pk, LockMode.UPGRADE);]]>"
msgstr ""
+"<![CDATA[//just reassociate:\n"
+"sess.lock(fritz, LockMode.NONE);\n"
+"//do a version check, then reassociate:\n"
+"sess.lock(izi, LockMode.READ);\n"
+"//do a version check, using SELECT ... FOR UPDATE, then reassociate:\n"
+"sess.lock(pk, LockMode.UPGRADE);]]>"
-#. Tag: para
-#: session_api.xml:567
-#, no-c-format
+#: index.docbook:567
msgid ""
"Note that <literal>lock()</literal> can be used with various "
"<literal>LockMode</literal>s, see the API documentation and the chapter
on "
@@ -1332,13 +1336,12 @@
"usecase for <literal>lock()</literal>."
msgstr ""
"Nota que <literal>lock()</literal> puede ser usado con varios "
-"<literal>LockMode</literal>s, ver la documentación de la API y el
capítulo "
-"sobre manejo de transacciones para más información. La re-unión no es el "
-"único caso de uso para <literal>lock()</literal>."
+"<literal>LockMode</literal>s, ver la documentación de la API
y el "
+"capítulo sobre manejo de transacciones para más "
+"información. La re-unión no es el único caso de
uso "
+"para <literal>lock()</literal>."
-#. Tag: para
-#: session_api.xml:574
-#, no-c-format
+#: index.docbook:574
msgid ""
"Other models for long units of work are discussed in <xref linkend="
"\"transactions-optimistic\"/>."
@@ -1346,30 +1349,24 @@
"Se discuten otros modelos para unidades de trabajo largas en <xref
linkend="
"\"transactions-optimistic\"/>."
-#. Tag: title
-#: session_api.xml:581
-#, no-c-format
+#: index.docbook:581
msgid "Automatic state detection"
-msgstr "Detección automática de estado"
+msgstr "Detección automática de estado"
-#. Tag: para
-#: session_api.xml:583
-#, no-c-format
+#: index.docbook:583
msgid ""
"Hibernate users have requested a general purpose method that either saves a "
"transient instance by generating a new identifier or updates/reattaches the "
"detached instances associated with its current identifier. The "
"<literal>saveOrUpdate()</literal> method implements this
functionality."
msgstr ""
-"Los usuarios de Hibernate han pedido un método de propósito general que bien
"
-"salve una instancia transitoria generando un identificador nuevo, o bien "
-"actualice/reúna las instancias separadas asociadas con su identificador "
-"actual. El método <literal>saveOrUpdate()</literal> implementa esta
"
-"funcionalidad."
+"Los usuarios de Hibernate han pedido un método de propósito
"
+"general que bien salve una instancia transitoria generando un identificador "
+"nuevo, o bien actualice/reúna las instancias separadas asociadas con
"
+"su identificador actual. El método
<literal>saveOrUpdate()</literal> "
+"implementa esta funcionalidad."
-#. Tag: programlisting
-#: session_api.xml:590
-#, no-c-format
+#: index.docbook:590
msgid ""
"<![CDATA[// in the first session\n"
"Cat cat = (Cat) firstSession.load(Cat.class, catID);\n"
@@ -1384,10 +1381,20 @@
"secondSession.saveOrUpdate(mate); // save the new instance (mate has a null
"
"id)]]>"
msgstr ""
+"<![CDATA[// in the first session\n"
+"Cat cat = (Cat) firstSession.load(Cat.class, catID);\n"
+"\n"
+"// in a higher tier of the application\n"
+"Cat mate = new Cat();\n"
+"cat.setMate(mate);\n"
+"\n"
+"// later, in a new session\n"
+"secondSession.saveOrUpdate(cat); // update existing state (cat has a non-"
+"null id)\n"
+"secondSession.saveOrUpdate(mate); // save the new instance (mate has a null
"
+"id)]]>"
-#. Tag: para
-#: session_api.xml:592
-#, no-c-format
+#: index.docbook:592
msgid ""
"The usage and semantics of <literal>saveOrUpdate()</literal> seems to
be "
"confusing for new users. Firstly, so long as you are not trying to use "
@@ -1396,16 +1403,14 @@
"<literal>merge()</literal>. Some whole applications will never use
either of "
"these methods."
msgstr ""
-"El uso y semántica de <literal>saveOrUpdate()</literal> parece ser
confuso "
-"para usuarios nuevos. Primeramente, en tanto no estés intentando usar "
-"instancias de una sesión en otra sesión nueva, no debes necesitar usar "
-"<literal>update()</literal>,
<literal>saveOrUpdate()</literal>, o "
-"<literal>merge()</literal>. Algunas aplicaciones enteras nunca usarán
"
-"ninguno de estos métodos."
+"El uso y semántica de <literal>saveOrUpdate()</literal>
parece ser "
+"confuso para usuarios nuevos. Primeramente, en tanto no estés "
+"intentando usar instancias de una sesión en otra sesión
nueva, "
+"no debes necesitar usar <literal>update()</literal>,
<literal>saveOrUpdate()"
+"</literal>, o <literal>merge()</literal>. Algunas aplicaciones
enteras nunca "
+"usarán ninguno de estos métodos."
-#. Tag: para
-#: session_api.xml:600
-#, no-c-format
+#: index.docbook:600
msgid ""
"Usually <literal>update()</literal> or
<literal>saveOrUpdate()</literal> are "
"used in the following scenario:"
@@ -1413,174 +1418,134 @@
"Usualmente <literal>update()</literal> o
<literal>saveOrUpdate()</literal> "
"se usan en el siguiente escenario:"
-#. Tag: para
-#: session_api.xml:607
-#, no-c-format
+#: index.docbook:607
msgid "the application loads an object in the first session"
-msgstr "la aplicación carga un objeto en la primera sesión"
+msgstr "la aplicación carga un objeto en la primera
sesión"
-#. Tag: para
-#: session_api.xml:612
-#, no-c-format
+#: index.docbook:612
msgid "the object is passed up to the UI tier"
msgstr "el objeto es pasado a la capa de UI"
-#. Tag: para
-#: session_api.xml:617
-#, no-c-format
+#: index.docbook:617
msgid "some modifications are made to the object"
msgstr "se hacen algunas modificaciones al objeto"
-#. Tag: para
-#: session_api.xml:622
-#, no-c-format
+#: index.docbook:622
msgid "the object is passed back down to the business logic tier"
msgstr "el objeto se pasa abajo de regreso a la capa de negocio"
-#. Tag: para
-#: session_api.xml:627
-#, no-c-format
+#: index.docbook:627
msgid ""
"the application persists these modifications by calling
<literal>update()</"
"literal> in a second session"
msgstr ""
-"la aplicación hace estas modificaciones persistentes llamando a "
-"<literal>update()</literal> en una segunda sesión"
+"la aplicación hace estas modificaciones persistentes llamando a "
+"<literal>update()</literal> en una segunda sesión"
-#. Tag: para
-#: session_api.xml:634
-#, no-c-format
+#: index.docbook:634
msgid "<literal>saveOrUpdate()</literal> does the following:"
msgstr "<literal>saveOrUpdate()</literal> hace lo siguiente:"
-#. Tag: para
-#: session_api.xml:640
-#, no-c-format
+#: index.docbook:640
msgid "if the object is already persistent in this session, do nothing"
-msgstr "si el objeto ya es persistente en esta sesión, no hace nada"
+msgstr "si el objeto ya es persistente en esta sesión, no hace
nada"
-#. Tag: para
-#: session_api.xml:645
-#, no-c-format
+#: index.docbook:645
msgid ""
"if another object associated with the session has the same identifier, throw
"
"an exception"
msgstr ""
-"si otro objeto asociado con la sesión tiene el mismo identificador, lanza "
-"una excepción"
+"si otro objeto asociado con la sesión tiene el mismo identificador,
"
+"lanza una excepción"
-#. Tag: para
-#: session_api.xml:651
-#, no-c-format
+#: index.docbook:651
msgid "if the object has no identifier property,
<literal>save()</literal> it"
msgstr ""
"si el objeto no tiene ninguna propiedad identificadora, lo salva llamando a "
"<literal>save()</literal>"
-#. Tag: para
-#: session_api.xml:656
-#, no-c-format
+#: index.docbook:656
msgid ""
"if the object's identifier has the value assigned to a newly instantiated
"
"object, <literal>save()</literal> it"
msgstr ""
-"si el identificador del objeto tiene el valor asignado a un objeto recién "
-"instanciado, lo salva llamando a <literal>save()</literal>"
+"si el identificador del objeto tiene el valor asignado a un objeto "
+"recién instanciado, lo salva llamando a
<literal>save()</literal>"
-#. Tag: para
-#: session_api.xml:662
-#, no-c-format
+#: index.docbook:662
msgid ""
"if the object is versioned (by a
<literal><version></literal> or "
"<literal><timestamp></literal>), and the version property
value is the "
"same value assigned to a newly instantiated object,
<literal>save()</"
"literal> it"
msgstr ""
-"si el objeto está versionado (por un
<literal><version></literal> o "
-"<literal><timestamp></literal>), y el valor de la
propiedad de versión "
-"es el mismo valor asignado a una objeto recién instanciado, lo salva "
-"llamando a <literal>save()</literal>"
+"si el objeto está versionado (por un
<literal><version></"
+"literal> o <literal><timestamp></literal>), y el valor
de la propiedad "
+"de versión es el mismo valor asignado a una objeto recién
"
+"instanciado, lo salva llamando a <literal>save()</literal>"
-#. Tag: para
-#: session_api.xml:670
-#, no-c-format
+#: index.docbook:670
msgid "otherwise <literal>update()</literal> the object"
msgstr ""
"en cualquier otro caso se actualiza el objeto llamando a
<literal>update()</"
"literal>"
-#. Tag: para
-#: session_api.xml:676
-#, no-c-format
+#: index.docbook:676
msgid "and <literal>merge()</literal> is very different:"
msgstr "y <literal>merge()</literal> es muy diferente:"
-#. Tag: para
-#: session_api.xml:682
-#, no-c-format
+#: index.docbook:682
msgid ""
"if there is a persistent instance with the same identifier currently "
"associated with the session, copy the state of the given object onto the "
"persistent instance"
msgstr ""
"si existe una instancia persistente con el mismo identificador asignado "
-"actualmente con la sesión, copia el estado del objeto dado en la instancia "
-"persistente"
+"actualmente con la sesión, copia el estado del objeto dado en la "
+"instancia persistente"
-#. Tag: para
-#: session_api.xml:689
-#, no-c-format
+#: index.docbook:689
msgid ""
"if there is no persistent instance currently associated with the session, "
"try to load it from the database, or create a new persistent instance"
msgstr ""
-"si no existe ninguna instancia persistente actualmente asociada a la sesión,
"
-"intente cargarla de la base de datos, o crear una nueva instancia
persistente"
+"si no existe ninguna instancia persistente actualmente asociada a la "
+"sesión, intente cargarla de la base de datos, o crear una nueva "
+"instancia persistente"
-#. Tag: para
-#: session_api.xml:695
-#, no-c-format
+#: index.docbook:695
msgid "the persistent instance is returned"
msgstr "la instancia persistente es devuelta"
-#. Tag: para
-#: session_api.xml:700
-#, no-c-format
+#: index.docbook:700
msgid ""
"the given instance does not become associated with the session, it remains "
"detached"
msgstr ""
-"la instancia dada no resulta ser asociada a la sesión, permanece separada"
+"la instancia dada no resulta ser asociada a la sesión, permanece "
+"separada"
-#. Tag: title
-#: session_api.xml:710
-#, no-c-format
+#: index.docbook:710
msgid "Deleting persistent objects"
msgstr "Borrando objetos persistentes"
-#. Tag: para
-#: session_api.xml:712
-#, no-c-format
+#: index.docbook:712
msgid ""
"<literal>Session.delete()</literal> will remove an object's state
from the "
"database. Of course, your application might still hold a reference to a "
"deleted object. It's best to think of <literal>delete()</literal>
as making "
"a persistent instance transient."
msgstr ""
-"<literal>Session.delete()</literal> quitará el estado de un objeto de
la "
-"base de datos. Por supuesto, tu aplicación podría tener aún una referencia a
"
-"un objeto borrado. Lo mejor es pensar en <literal>delete()</literal>
como "
-"hacer transitoria una instancia persistente."
+"<literal>Session.delete()</literal> quitará el estado de un
objeto de "
+"la base de datos. Por supuesto, tu aplicación podría tener
"
+"aún una referencia a un objeto borrado. Lo mejor es pensar en "
+"<literal>delete()</literal> como hacer transitoria una instancia
persistente."
-#. Tag: programlisting
-#: session_api.xml:719
-#, no-c-format
+#: index.docbook:719
msgid "<![CDATA[sess.delete(cat);]]>"
-msgstr ""
+msgstr "<![CDATA[sess.delete(cat);]]>"
-#. Tag: para
-#: session_api.xml:721
-#, no-c-format
+#: index.docbook:721
msgid ""
"You may delete objects in any order you like, without risk of foreign key "
"constraint violations. It is still possible to violate a <literal>NOT
NULL</"
@@ -1588,32 +1553,26 @@
"order, e.g. if you delete the parent, but forget to delete the children."
msgstr ""
"Puedes borrar los objetos en el orden que gustes, sin riesgo de violaciones "
-"de restricción de clave foránea. Aún es posible violar una restricción "
-"<literal>NOT NULL</literal> sobre una columna clave foránea borrando
objetos "
-"en un orden erróneo, por ejemplo, si borras el padre, pero olvidas borrar "
-"los hijos."
+"de restricción de clave foránea. Aún es posible
violar "
+"una restricción <literal>NOT NULL</literal> sobre una
columna clave "
+"foránea borrando objetos en un orden erróneo, por ejemplo, si
"
+"borras el padre, pero olvidas borrar los hijos."
-#. Tag: title
-#: session_api.xml:732
-#, no-c-format
+#: index.docbook:732
msgid "Replicating object between two different datastores"
-msgstr "Replicando objetos entre dos almacénes de datos diferentes"
+msgstr "Replicando objetos entre dos almacénes de datos diferentes"
-#. Tag: para
-#: session_api.xml:734
-#, no-c-format
+#: index.docbook:734
msgid ""
"It is occasionally useful to be able to take a graph of persistent instances
"
"and make them persistent in a different datastore, without regenerating "
"identifier values."
msgstr ""
-"Es ocasionalmente útil ser capaz de tomar un grafo de instancias "
-"persistentes y hacerlas persistentes en un almacén de datos diferente, sin "
-"regenerar los valores identificadores."
+"Es ocasionalmente útil ser capaz de tomar un grafo de instancias "
+"persistentes y hacerlas persistentes en un almacén de datos "
+"diferente, sin regenerar los valores identificadores."
-#. Tag: programlisting
-#: session_api.xml:740
-#, no-c-format
+#: index.docbook:740
msgid ""
"<![CDATA[//retrieve a cat from one database\n"
"Session session1 = factory1.openSession();\n"
@@ -1629,20 +1588,30 @@
"tx2.commit();\n"
"session2.close();]]>"
msgstr ""
+"<![CDATA[//retrieve a cat from one database\n"
+"Session session1 = factory1.openSession();\n"
+"Transaction tx1 = session1.beginTransaction();\n"
+"Cat cat = session1.get(Cat.class, catId);\n"
+"tx1.commit();\n"
+"session1.close();\n"
+"\n"
+"//reconcile with a second database\n"
+"Session session2 = factory2.openSession();\n"
+"Transaction tx2 = session2.beginTransaction();\n"
+"session2.replicate(cat, ReplicationMode.LATEST_VERSION);\n"
+"tx2.commit();\n"
+"session2.close();]]>"
-#. Tag: para
-#: session_api.xml:742
-#, no-c-format
+#: index.docbook:742
msgid ""
"The <literal>ReplicationMode</literal> determines how
<literal>replicate()</"
"literal> will deal with conflicts with existing rows in the database."
msgstr ""
-"El <literal>ReplicationMode</literal> determina cómo
<literal>replicate()</"
-"literal> tratará los conflictos con filas existentes en la base de datos."
+"El <literal>ReplicationMode</literal> determina cómo "
+"<literal>replicate()</literal> tratará los conflictos con
filas "
+"existentes en la base de datos."
-#. Tag: para
-#: session_api.xml:749
-#, no-c-format
+#: index.docbook:749
msgid ""
"<literal>ReplicationMode.IGNORE</literal> - ignore the object when
there is "
"an existing database row with the same identifier"
@@ -1650,9 +1619,7 @@
"<literal>ReplicationMode.IGNORE</literal> - ignora el objeto cuando
existe "
"una fila de base de datos con el mismo identificador"
-#. Tag: para
-#: session_api.xml:755
-#, no-c-format
+#: index.docbook:755
msgid ""
"<literal>ReplicationMode.OVERWRITE</literal> - overwrite any existing
"
"database row with the same identifier"
@@ -1660,31 +1627,25 @@
"<literal>ReplicationMode.OVERWRITE</literal> - sobrescribe cualquier
fila de "
"base de datos existente con el mismo identificador"
-#. Tag: para
-#: session_api.xml:761
-#, no-c-format
+#: index.docbook:761
msgid ""
"<literal>ReplicationMode.EXCEPTION</literal> - throw an exception if
there "
"is an existing database row with the same identifier"
msgstr ""
-"<literal>ReplicationMode.EXCEPTION</literal> - lanza una excepción si
existe "
-"una fila de base de datos con el mismo identificador"
+"<literal>ReplicationMode.EXCEPTION</literal> - lanza una
excepción si "
+"existe una fila de base de datos con el mismo identificador"
-#. Tag: para
-#: session_api.xml:767
-#, no-c-format
+#: index.docbook:767
msgid ""
"<literal>ReplicationMode.LATEST_VERSION</literal> - overwrite the row
if its "
"version number is earlier than the version number of the object, or ignore "
"the object otherwise"
msgstr ""
"<literal>ReplicationMode.LATEST_VERSION</literal> - sobrescribe la fila
si "
-"su número de versión es anterior al número de versión del objeto, o en caso "
-"contrario ignora el objeto"
+"su número de versión es anterior al número de
"
+"versión del objeto, o en caso contrario ignora el objeto"
-#. Tag: para
-#: session_api.xml:775
-#, no-c-format
+#: index.docbook:775
msgid ""
"Usecases for this feature include reconciling data entered into different "
"database instances, upgrading system configuration information during "
@@ -1693,56 +1654,44 @@
msgstr ""
"Los casos de uso para esta funcionalidad incluyen reconciliar datos "
"ingresados en instancias diferentes de bases de datos, actualizar "
-"información de configuración de sistema durante actualizaciones de producto,
"
-"deshacer cambios producidos durante transacciones no-ACID y más."
+"información de configuración de sistema durante "
+"actualizaciones de producto, deshacer cambios producidos durante "
+"transacciones no-ACID y más."
-#. Tag: title
-#: session_api.xml:784
-#, no-c-format
+#: index.docbook:784
msgid "Flushing the Session"
-msgstr "Limpiando (flushing) la sesión"
+msgstr "Limpiando (flushing) la sesión"
-#. Tag: para
-#: session_api.xml:786
-#, no-c-format
+#: index.docbook:786
msgid ""
"From time to time the <literal>Session</literal> will execute the SQL
"
"statements needed to synchronize the JDBC connection's state with the state
"
"of objects held in memory. This process, <emphasis>flush</emphasis>,
occurs "
"by default at the following points"
msgstr ""
-"Cada tanto, la <literal>Session</literal> ejecutará las sentencias SQL
"
-"necesarias para sincronizar el estado de la conexión JDBC con el estado de "
-"los objetos mantenidos en menoria. Este proceso, <emphasis>limpieza
(flush)</"
-"emphasis>, ocurre por defecto en los siguientes puntos"
+"Cada tanto, la <literal>Session</literal> ejecutará las
sentencias "
+"SQL necesarias para sincronizar el estado de la conexión JDBC con el
"
+"estado de los objetos mantenidos en menoria. Este proceso, "
+"<emphasis>limpieza (flush)</emphasis>, ocurre por defecto en los
siguientes "
+"puntos"
-#. Tag: para
-#: session_api.xml:795
-#, no-c-format
+#: index.docbook:795
msgid "before some query executions"
msgstr "antes de algunas ejecuciones de consulta"
-#. Tag: para
-#: session_api.xml:800
-#, no-c-format
+#: index.docbook:800
msgid "from <literal>org.hibernate.Transaction.commit()</literal>"
msgstr "desde
<literal>org.hibernate.Transaction.commit()</literal>"
-#. Tag: para
-#: session_api.xml:805
-#, no-c-format
+#: index.docbook:805
msgid "from <literal>Session.flush()</literal>"
msgstr "desde <literal>Session.flush()</literal>"
-#. Tag: para
-#: session_api.xml:811
-#, no-c-format
+#: index.docbook:811
msgid "The SQL statements are issued in the following order"
msgstr "Las sentencias SQL son liberadas en el siguiente orden"
-#. Tag: para
-#: session_api.xml:817
-#, no-c-format
+#: index.docbook:817
msgid ""
"all entity insertions, in the same order the corresponding objects were "
"saved using <literal>Session.save()</literal>"
@@ -1750,34 +1699,25 @@
"todas las inserciones de entidades, en el mismo orden que los objetos "
"correspondientes fueron salvados usando
<literal>Session.save()</literal>"
-#. Tag: para
-#: session_api.xml:823
-#, no-c-format
+#: index.docbook:823
msgid "all entity updates"
msgstr "todas las actualizaciones de entidades"
-#. Tag: para
-#: session_api.xml:828
-#, no-c-format
+#: index.docbook:828
msgid "all collection deletions"
msgstr "todas los borrados de colecciones"
-#. Tag: para
-#: session_api.xml:833
-#, no-c-format
+#: index.docbook:833
msgid "all collection element deletions, updates and insertions"
msgstr ""
-"todos los borrados, actualizaciones e inserciones de elementos de colección"
+"todos los borrados, actualizaciones e inserciones de elementos de "
+"colección"
-#. Tag: para
-#: session_api.xml:838
-#, no-c-format
+#: index.docbook:838
msgid "all collection insertions"
msgstr "todas las inserciones de colecciones"
-#. Tag: para
-#: session_api.xml:843
-#, no-c-format
+#: index.docbook:843
msgid ""
"all entity deletions, in the same order the corresponding objects were "
"deleted using <literal>Session.delete()</literal>"
@@ -1785,19 +1725,15 @@
"todos los borrados de entidades, en el mismo orden que los objetos "
"correspondientes fueron borrados usando
<literal>Session.delete()</literal>"
-#. Tag: para
-#: session_api.xml:850
-#, no-c-format
+#: index.docbook:850
msgid ""
"(An exception is that objects using <literal>native</literal> ID
generation "
"are inserted when they are saved.)"
msgstr ""
-"(Una excepción es que los objetos que usan generación de ID
<literal>native</"
-"literal> se insertan cuando son salvados.)"
+"(Una excepción es que los objetos que usan generación de ID
"
+"<literal>native</literal> se insertan cuando son salvados.)"
-#. Tag: para
-#: session_api.xml:855
-#, no-c-format
+#: index.docbook:855
msgid ""
"Except when you explicity <literal>flush()</literal>, there are
absolutely "
"no guarantees about <emphasis>when</emphasis> the
<literal>Session</literal> "
@@ -1806,15 +1742,14 @@
"(..)</literal> will never return stale data; nor will they return the wrong
"
"data."
msgstr ""
-"Excepto cuando llamas explícitamente a <literal>flush()</literal>, no
hay en "
-"absoluto garantías sobre <emphasis>cuándo</emphasis> la
<literal>Session</"
-"literal> ejecuta las llamadas JDBC. sólo sobre el
<emphasis>orden</emphasis> "
-"en que son ejecutadas. Sin embargo, Hibernate garantiza que los métodos "
-"<literal>Query.list(..)</literal> nunca devolverán datos añejos o
erróneos."
+"Excepto cuando llamas explícitamente a
<literal>flush()</literal>, no "
+"hay en absoluto garantías sobre
<emphasis>cuándo</emphasis> la "
+"<literal>Session</literal> ejecuta las llamadas JDBC. sólo
sobre el "
+"<emphasis>orden</emphasis> en que son ejecutadas. Sin embargo,
Hibernate "
+"garantiza que los métodos <literal>Query.list(..)</literal>
nunca "
+"devolverán datos añejos o erróneos."
-#. Tag: para
-#: session_api.xml:863
-#, no-c-format
+#: index.docbook:863
msgid ""
"It is possible to change the default behavior so that flush occurs less "
"frequently. The <literal>FlushMode</literal> class defines three
different "
@@ -1827,17 +1762,15 @@
msgstr ""
"Es posible cambiar el comportamiento por defecto de modo que la limpieza "
"(flush) ocurra menos frecuentemente. La clase
<literal>FlushMode</literal> "
-"tres modos diferentes: sólo en tiempo de compromiso (y sólo cuando se use la
"
-"API de <literal>Transaction</literal> de Hibernate), limpieza
automática "
-"usando la rutina explicada, o nunca limpiar a menos que se llame a "
-"<literal>flush()</literal> explícitamente. El último modo es útil para
"
-"unidades de trabajo largas, donde una <literal>Session</literal> se
mantiene "
-"abierta y desconectada por largo tiempo (ver <xref
linkend=\"transactions-"
-"optimistic-longsession\"/>)."
+"tres modos diferentes: sólo en tiempo de compromiso (y sólo
"
+"cuando se use la API de <literal>Transaction</literal> de Hibernate),
"
+"limpieza automática usando la rutina explicada, o nunca limpiar a
"
+"menos que se llame a <literal>flush()</literal>
explícitamente. El "
+"último modo es útil para unidades de trabajo largas, donde
una "
+"<literal>Session</literal> se mantiene abierta y desconectada por largo
"
+"tiempo (ver <xref
linkend=\"transactions-optimistic-longsession\"/>)."
-#. Tag: programlisting
-#: session_api.xml:873
-#, no-c-format
+#: index.docbook:873
msgid ""
"<![CDATA[sess = sf.openSession();\n"
"Transaction tx = sess.beginTransaction();\n"
@@ -1854,42 +1787,49 @@
"tx.commit(); // flush occurs\n"
"sess.close();]]>"
msgstr ""
+"<![CDATA[sess = sf.openSession();\n"
+"Transaction tx = sess.beginTransaction();\n"
+"sess.setFlushMode(FlushMode.COMMIT); // allow queries to return stale
state\n"
+"\n"
+"Cat izi = (Cat) sess.load(Cat.class, id);\n"
+"izi.setName(iznizi);\n"
+"\n"
+"// might return stale data\n"
+"sess.find(\"from Cat as cat left outer join cat.kittens
kitten\");\n"
+"\n"
+"// change to izi is not flushed!\n"
+"...\n"
+"tx.commit(); // flush occurs]]>"
-#. Tag: para
-#: session_api.xml:875
-#, no-c-format
+#: index.docbook:875
msgid ""
"During flush, an exception might occur (e.g. if a DML operation violates a "
"constraint). Since handling exceptions involves some understanding of "
"Hibernate's transactional behavior, we discuss it in <xref linkend="
"\"transactions\"/>."
msgstr ""
-"Durante la limpieza, puede ocurrir una excepción (por ejemplo, si una "
-"operación DML violase una restricción). Ya que el manejo de excepciones "
-"implica alguna comprensión del comportamiento transaccional de Hibernate, lo
"
-"discutimos en <xref linkend=\"transactions\"/>."
+"Durante la limpieza, puede ocurrir una excepción (por ejemplo, si una
"
+"operación DML violase una restricción). Ya que el manejo de
"
+"excepciones implica alguna comprensión del comportamiento "
+"transaccional de Hibernate, lo discutimos en <xref
linkend=\"transactions\"/"
+">."
-#. Tag: title
-#: session_api.xml:884
-#, no-c-format
+#: index.docbook:884
msgid "Transitive persistence"
msgstr "Persistencia transitiva"
-#. Tag: para
-#: session_api.xml:886
-#, no-c-format
+#: index.docbook:886
msgid ""
"It is quite cumbersome to save, delete, or reattach individual objects, "
"especially if you deal with a graph of associated objects. A common case is "
"a parent/child relationship. Consider the following example:"
msgstr ""
-"Es absolutamente incómodo dalvar, borrar, o reunir objetos individuales, "
-"especialmente si tratas con un grafo de objetos asociados. Un caso común es "
-"una relación padre/hijo. Considera el siguiente ejemplo:"
+"Es absolutamente incómodo dalvar, borrar, o reunir objetos "
+"individuales, especialmente si tratas con un grafo de objetos asociados. Un "
+"caso común es una relación padre/hijo. Considera el siguiente
"
+"ejemplo:"
-#. Tag: para
-#: session_api.xml:892
-#, no-c-format
+#: index.docbook:892
msgid ""
"If the children in a parent/child relationship would be value typed (e.g. a "
"collection of addresses or strings), their life cycle would depend on the "
@@ -1900,19 +1840,18 @@
"collection; Hibernate will detect this and, since value-typed objects can't
"
"have shared references, delete the child from the database."
msgstr ""
-"Si los hijos en una relación padre/hijo pudieran ser tipificados en valor "
-"(por ejemplo, una colección de direcciones o cadenas), sus ciclos de vida "
-"dependerían del padre y se requeriría ninguna otra acción para el "
-"tratamiento en \"cascada\" de cambios de estado. Cuando el padre es
salvado, "
-"los objetos hijo tipificados en valor son salvados también, cuando se borra "
-"el padre, se borran los hijos, etc. Esto funciona incluso para operaciones "
-"como el retiro de un hijo de la colección. Hibernate detectará esto y, ya "
-"que los objetos tipificados en valor no pueden tener referencias "
-"compartidas, borrará el hijo de la base de datos."
+"Si los hijos en una relación padre/hijo pudieran ser tipificados en
"
+"valor (por ejemplo, una colección de direcciones o cadenas), sus "
+"ciclos de vida dependerían del padre y se requeriría ninguna
"
+"otra acción para el tratamiento en \"cascada\" de cambios de
estado. "
+"Cuando el padre es salvado, los objetos hijo tipificados en valor son "
+"salvados también, cuando se borra el padre, se borran los hijos, etc.
"
+"Esto funciona incluso para operaciones como el retiro de un hijo de la "
+"colección. Hibernate detectará esto y, ya que los objetos
"
+"tipificados en valor no pueden tener referencias compartidas, borrará
"
+"el hijo de la base de datos."
-#. Tag: para
-#: session_api.xml:903
-#, no-c-format
+#: index.docbook:903
msgid ""
"Now consider the same scenario with parent and child objects being entities,
"
"not value-types (e.g. categories and items, or parent and child cats). "
@@ -1923,16 +1862,15 @@
"reachability</emphasis> by default."
msgstr ""
"Ahora considera el mismo escenario con los objetos padre e hijos siendo "
-"entidades, no tipos de valor (por ejemplo, categorías e ítems, o gatos padre
"
-"e hijos). Las entidades tienen su propio ciclo de vida, soportan referencias
"
-"compartidas (de modo que quitar una entidad de una colección no significa "
-"que sea borrada), y no hay por defecto ningún tratamiento en \"cascada\"
de "
-"estado de una entidad a otras entidades asociadas. Hibernate no implementa "
-"<emphasis>persistencia por alcance</emphasis>."
+"entidades, no tipos de valor (por ejemplo, categorías e
ítems, "
+"o gatos padre e hijos). Las entidades tienen su propio ciclo de vida, "
+"soportan referencias compartidas (de modo que quitar una entidad de una "
+"colección no significa que sea borrada), y no hay por defecto "
+"ningún tratamiento en \"cascada\" de estado de una entidad a
otras "
+"entidades asociadas. Hibernate no implementa <emphasis>persistencia por
"
+"alcance</emphasis>."
-#. Tag: para
-#: session_api.xml:912
-#, no-c-format
+#: index.docbook:912
msgid ""
"For each basic operation of the Hibernate session - including "
"<literal>persist(), merge(), saveOrUpdate(), delete(), lock(), refresh(),
"
@@ -1942,36 +1880,30 @@
"operation to be cascaded along an association, you must indicate that in the
"
"mapping document. For example:"
msgstr ""
-"Para cada operación básica de la sesión de Hibernate - incluyendo "
-"<literal>persist(), merge(), saveOrUpdate(), delete(), lock(), refresh(),
"
-"evict(), replicate()</literal> - hay un estilo de cascada correspondiente.
"
-"Respectivamente, los estilos de cascada se llaman <literal>create, merge,
"
-"save-update, delete, lock, refresh, evict, replicate</literal>. Si quieres
"
-"que una operación sea tratada en cascada a lo largo de una asociación, debes
"
-"indicar eso en el documento de mapeo. Por ejemplo:"
+"Para cada operación básica de la sesión de
Hibernate - "
+"incluyendo <literal>persist(), merge(), saveOrUpdate(), delete(), lock(),
"
+"refresh(), evict(), replicate()</literal> - hay un estilo de cascada "
+"correspondiente. Respectivamente, los estilos de cascada se llaman "
+"<literal>create, merge, save-update, delete, lock, refresh, evict, "
+"replicate</literal>. Si quieres que una operación sea tratada en
"
+"cascada a lo largo de una asociación, debes indicar eso en el "
+"documento de mapeo. Por ejemplo:"
-#. Tag: programlisting
-#: session_api.xml:921
-#, no-c-format
+#: index.docbook:921
msgid "<![CDATA[<one-to-one name=\"person\"
cascade=\"persist\"/>]]>"
-msgstr ""
+msgstr "<![CDATA[<one-to-one name=\"person\"
cascade=\"persist\"/>]]>"
-#. Tag: para
-#: session_api.xml:923
-#, no-c-format
+#: index.docbook:923
msgid "Cascade styles my be combined:"
msgstr "Los estilos de cascada pueden combinarse:"
-#. Tag: programlisting
-#: session_api.xml:927
-#, no-c-format
+#: index.docbook:927
msgid ""
"<![CDATA[<one-to-one name=\"person\"
cascade=\"persist,delete,lock\"/>]]>"
msgstr ""
+"<![CDATA[<one-to-one name=\"person\"
cascade=\"persist,delete,lock\"/>]]>"
-#. Tag: para
-#: session_api.xml:929
-#, no-c-format
+#: index.docbook:929
msgid ""
"You may even use <literal>cascade=\"all\"</literal> to
specify that "
"<emphasis>all</emphasis> operations should be cascaded along the
"
@@ -1980,12 +1912,11 @@
msgstr ""
"Puedes incluso usar <literal>cascade=\"all\"</literal> para
especificar que "
"<emphasis>todas</emphasis> las operaciones deben ser tratadas en
cascada a "
-"lo largo de la asociación. El por defecto
<literal>cascade=\"none\"</"
-"literal> especifica que ninguna operación será tratada en cascada."
+"lo largo de la asociación. El por defecto
<literal>cascade=\"none\"</"
+"literal> especifica que ninguna operación será tratada en
"
+"cascada."
-#. Tag: para
-#: session_api.xml:935
-#, no-c-format
+#: index.docbook:935
msgid ""
"A special cascade style, <literal>delete-orphan</literal>, applies only
to "
"one-to-many associations, and indicates that the
<literal>delete()</literal> "
@@ -1993,19 +1924,15 @@
"association."
msgstr ""
"Un estilo de cascada especial, <literal>delete-orphan</literal>, se
aplica "
-"sólo a asociaciones uno-a-muchos, e indica que la operación
<literal>delete()"
-"</literal> debe aplicarse a cualquier objeto hijo que sea quitado de la
"
-"asociación."
+"sólo a asociaciones uno-a-muchos, e indica que la operación
"
+"<literal>delete()</literal> debe aplicarse a cualquier objeto hijo que
sea "
+"quitado de la asociación."
-#. Tag: para
-#: session_api.xml:942
-#, no-c-format
+#: index.docbook:942
msgid "Recommendations:"
msgstr "Recomendaciones:"
-#. Tag: para
-#: session_api.xml:948
-#, no-c-format
+#: index.docbook:948
msgid ""
"It doesn't usually make sense to enable cascade on a
<literal><many-to-"
"one></literal> or
<literal><many-to-many></literal> association. "
@@ -2013,26 +1940,23 @@
"<literal><one-to-many></literal> associations."
msgstr ""
"Usualmente no tiene sentido habilitar el tratamiento en cascada a una "
-"asociación <literal><many-to-one></literal> o
<literal><many-to-"
-"many></literal>. El tratamiento en cascada es frecuentemente útil para
"
-"las asociaciones <literal><one-to-one></literal> y
<literal><one-to-"
-"many></literal>. associations."
+"asociación <literal><many-to-one></literal> o
<literal><many-"
+"to-many></literal>. El tratamiento en cascada es frecuentemente
ú"
+"til para las asociaciones <literal><one-to-one></literal>
y "
+"<literal><one-to-many></literal>. associations."
-#. Tag: para
-#: session_api.xml:956
-#, no-c-format
+#: index.docbook:956
msgid ""
"If the child object's lifespan is bounded by the lifespan of the parent "
"object, make it a <emphasis>life cycle object</emphasis> by specifying
"
"<literal>cascade=\"all,delete-orphan\"</literal>."
msgstr ""
-"Si la esperanza de vida de los objetos hijos está ligada a la eesperanza de "
-"vida del objeto padre, házlo un <emphasis>objeto de ciclo de
vida</emphasis> "
-"especificando
<literal>cascade=\"all,delete-orphan\"</literal>."
+"Si la esperanza de vida de los objetos hijos está ligada a la "
+"eesperanza de vida del objeto padre, házlo un <emphasis>objeto de
"
+"ciclo de vida</emphasis> especificando
<literal>cascade=\"all,delete-orphan"
+"\"</literal>."
-#. Tag: para
-#: session_api.xml:963
-#, no-c-format
+#: index.docbook:963
msgid ""
"Otherwise, you might not need cascade at all. But if you think that you will
"
"often be working with the parent and children together in the same "
@@ -2040,27 +1964,25 @@
"<literal>cascade=\"persist,merge,save-update\"</literal>."
msgstr ""
"En otro caso, puede que no necesites tratamiento en cascada en absoluto. "
-"Pero si piensas que estarás trabajando frecuentemente con padre e hijos "
-"juntos en la misma transacción, y quieres ahorrarte algo de tipeo, considera
"
-"usar
<literal>cascade=\"persist,merge,save-update\"</literal>."
+"Pero si piensas que estarás trabajando frecuentemente con padre e
"
+"hijos juntos en la misma transacción, y quieres ahorrarte algo de
"
+"tipeo, considera usar
<literal>cascade=\"persist,merge,save-update\"</"
+"literal>."
-#. Tag: para
-#: session_api.xml:971
-#, no-c-format
+#: index.docbook:971
msgid ""
"Mapping an association (either a single valued association, or a collection)
"
"with <literal>cascade=\"all\"</literal> marks the association
as a "
"<emphasis>parent/child</emphasis> style relationship where
save/update/"
"delete of the parent results in save/update/delete of the child or children."
msgstr ""
-"Mapear una asociación (ya sea una asociación monovaluada, o una colección) "
-"con <literal>cascade=\"all\"</literal> marca la asociación
como una relación "
-"del estilo <emphasis>padre/hijo</emphasis> donde save/update/delete en
el "
-"padre resulta en save/update/delete del hijo o hijos."
+"Mapear una asociación (ya sea una asociación monovaluada, o
"
+"una colección) con
<literal>cascade=\"all\"</literal> marca la "
+"asociación como una relación del estilo
<emphasis>padre/hijo</"
+"emphasis> donde save/update/delete en el padre resulta en save/update/delete
"
+"del hijo o hijos."
-#. Tag: para
-#: session_api.xml:977
-#, no-c-format
+#: index.docbook:977
msgid ""
"Futhermore, a mere reference to a child from a persistent parent will result
"
"in save/update of the child. This metaphor is incomplete, however. A child "
@@ -2070,17 +1992,16 @@
"literal>. The precise semantics of cascading operations for a parent/child
"
"relationship are as follows:"
msgstr ""
-"Además, una mera referencia a un hijo desde un padre persistente resultará "
-"en un save/update del hijo. Esta metáfora está incompleta, sin embargo. Un "
-"hijo que deje de ser referenciado por su padre <emphasis>no</emphasis>
es "
-"borrado automáticamente, excepto en el caso de una asociación
<literal><"
-"one-to-many></literal> mapeada con
<literal>cascade=\"delete-orphan\"</"
-"literal>. La semántica precisa de las operaciones en cascada para una "
-"relación padre/hijo es:"
+"Además, una mera referencia a un hijo desde un padre persistente "
+"resultará en un save/update del hijo. Esta metáfora "
+"está incompleta, sin embargo. Un hijo que deje de ser referenciado
"
+"por su padre <emphasis>no</emphasis> es borrado
automáticamente, "
+"excepto en el caso de una asociación
<literal><one-to-many></"
+"literal> mapeada con
<literal>cascade=\"delete-orphan\"</literal>. La "
+"semántica precisa de las operaciones en cascada para una "
+"relación padre/hijo es:"
-#. Tag: para
-#: session_api.xml:988
-#, no-c-format
+#: index.docbook:988
msgid ""
"If a parent is passed to <literal>persist()</literal>, all children are
"
"passed to <literal>persist()</literal>"
@@ -2088,9 +2009,7 @@
"Si un padre le es pasado a <literal>persist()</literal>, todos los
hijos le "
"son pasados a <literal>persist()</literal>"
-#. Tag: para
-#: session_api.xml:994
-#, no-c-format
+#: index.docbook:994
msgid ""
"If a parent is passed to <literal>merge()</literal>, all children are
passed "
"to <literal>merge()</literal>"
@@ -2098,9 +2017,7 @@
"Si un padre le es pasado a <literal>merge()</literal>, todos los hijos
le "
"son pasados a <literal>merge()</literal>"
-#. Tag: para
-#: session_api.xml:1000
-#, no-c-format
+#: index.docbook:1000
msgid ""
"If a parent is passed to <literal>save()</literal>,
<literal>update()</"
"literal> or <literal>saveOrUpdate()</literal>, all children are
passed to "
@@ -2110,9 +2027,7 @@
"literal> o <literal>saveOrUpdate()</literal>, todos los hijos le son
pasados "
"a <literal>saveOrUpdate()</literal>"
-#. Tag: para
-#: session_api.xml:1006
-#, no-c-format
+#: index.docbook:1006
msgid ""
"If a transient or detached child becomes referenced by a persistent parent, "
"it is passed to <literal>saveOrUpdate()</literal>"
@@ -2120,9 +2035,7 @@
"Si un hijo transitorio o separado se vuelve referenciado por un padre "
"persistente, le es pasado a <literal>saveOrUpdate()</literal>"
-#. Tag: para
-#: session_api.xml:1012
-#, no-c-format
+#: index.docbook:1012
msgid ""
"If a parent is deleted, all children are passed to
<literal>delete()</"
"literal>"
@@ -2130,9 +2043,7 @@
"Si un padre es borrado, todos los hijos le son pasados a
<literal>delete()</"
"literal>"
-#. Tag: para
-#: session_api.xml:1017
-#, no-c-format
+#: index.docbook:1017
msgid ""
"If a child is dereferenced by a persistent parent, <emphasis>nothing special
"
"happens</emphasis> - the application should explicitly delete the child if
"
@@ -2140,13 +2051,12 @@
"case the \"orphaned\" child is deleted."
msgstr ""
"Si un hijo deja de ser referenciado por un padre persistente, <emphasis>no
"
-"ocurre nada especial</emphasis> - la aplicación debe borrar explícitamente
"
-"el hijo de ser necesario - a menos que
<literal>cascade=\"delete-orphan\"</"
-"literal>, en cuyo caso el hijo \"huérfano\" es borrado."
+"ocurre nada especial</emphasis> - la aplicación debe borrar
"
+"explícitamente el hijo de ser necesario - a menos que "
+"<literal>cascade=\"delete-orphan\"</literal>, en cuyo caso el
hijo "
+"\"huérfano\" es borrado."
-#. Tag: para
-#: session_api.xml:1026
-#, no-c-format
+#: index.docbook:1026
msgid ""
"Finally, note that cascading of operations can be applied to an object graph
"
"at <emphasis>call time</emphasis> or at <emphasis>flush
time</emphasis>. All "
@@ -2162,15 +2072,11 @@
"upate</literal> and <literal>delete-orphan</literal> are
transitive for all "
"associated entities reachable during flush of the
<literal>Session</literal>."
-#. Tag: title
-#: session_api.xml:1038
-#, no-c-format
+#: index.docbook:1038
msgid "Using metadata"
msgstr "Usando metadatos"
-#. Tag: para
-#: session_api.xml:1040
-#, no-c-format
+#: index.docbook:1040
msgid ""
"Hibernate requires a very rich meta-level model of all entity and value "
"types. From time to time, this model is very useful to the application "
@@ -2180,30 +2086,28 @@
"immutable value types and, possibly, associated entities)."
msgstr ""
"Hibernate requiere de un modelo de meta-nivel muy rico de todas las "
-"entidades y tipos de valor. De vez en cuando, este modelo es muy útil para "
-"la aplicación misma. Por ejemplo, la aplicación podría usar los metadatos de
"
-"Hibernate para implementar un algoritmo \"inteligente\" de copia en
"
-"profundidad que entienda qué objetos deben ser copiados (por ejemplo, tipo "
-"de valor mutables) y cuáles no (por ejemplo, tipos de valor inmutables y, "
-"posiblemente, entidades asociadas)."
+"entidades y tipos de valor. De vez en cuando, este modelo es muy útil
"
+"para la aplicación misma. Por ejemplo, la aplicación "
+"podría usar los metadatos de Hibernate para implementar un algoritmo
"
+"\"inteligente\" de copia en profundidad que entienda qué
objetos "
+"deben ser copiados (por ejemplo, tipo de valor mutables) y cuáles no
"
+"(por ejemplo, tipos de valor inmutables y, posiblemente, entidades "
+"asociadas)."
-#. Tag: para
-#: session_api.xml:1047
-#, no-c-format
+#: index.docbook:1047
msgid ""
"Hibernate exposes metadata via the <literal>ClassMetadata</literal> and
"
"<literal>CollectionMetadata</literal> interfaces and the
<literal>Type</"
"literal> hierarchy. Instances of the metadata interfaces may be obtained "
"from the <literal>SessionFactory</literal>."
msgstr ""
-"Hibernate expone los metadatos vía las interfaces
<literal>ClassMetadata</"
-"literal> y <literal>CollectionMetadata</literal> y la jerarquía
"
-"<literal>Type</literal>. Las instancias de las interfaces de metadatos
"
-"pueden obtenerse de <literal>SessionFactory</literal>."
+"Hibernate expone los metadatos vía las interfaces "
+"<literal>ClassMetadata</literal> y
<literal>CollectionMetadata</literal> y "
+"la jerarquía <literal>Type</literal>. Las instancias de las
"
+"interfaces de metadatos pueden obtenerse de
<literal>SessionFactory</"
+"literal>."
-#. Tag: programlisting
-#: session_api.xml:1054
-#, no-c-format
+#: index.docbook:1054
msgid ""
"<![CDATA[Cat fritz = ......;\n"
"ClassMetadata catMeta = sessionfactory.getClassMetadata(Cat.class);\n"
@@ -2221,21 +2125,24 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[Cat fritz = ......;\n"
+"ClassMetadata catMeta = sessionfactory.getClassMetadata(Cat.class);\n"
+"\n"
+"Object[] propertyValues = catMeta.getPropertyValues(fritz);\n"
+"String[] propertyNames = catMeta.getPropertyNames();\n"
+"Type[] propertyTypes = catMeta.getPropertyTypes();\n"
+"\n"
+"// get a Map of all properties which are not collections or associations\n"
+"Map namedValues = new HashMap();\n"
+"for ( int i=0; i<propertyNames.length; i++ ) {\n"
+" if ( !propertyTypes[i].isEntityType() && !propertyTypes[i]."
+"isCollectionType() ) {\n"
+" namedValues.put( propertyNames[i], propertyValues[i] );\n"
+" }\n"
+"}]]>"
-#~ msgid "UPDATE"
-#~ msgstr "UPDATE"
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-#~ msgid "DELETE"
-#~ msgstr "DELETE"
-
-#~ msgid "state management"
-#~ msgstr "gestión de estado"
-
-#~ msgid "statements"
-#~ msgstr "sentencias"
-
-#~ msgid "Connection"
-#~ msgstr "Connection"
-
-#~ msgid "session.connection()"
-#~ msgstr "session.connection()"
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/toolset_guide.po
===================================================================
---
core/trunk/documentation/manual/src/main/docbook/es-ES/content/toolset_guide.po 2007-11-02
00:32:44 UTC (rev 14175)
+++
core/trunk/documentation/manual/src/main/docbook/es-ES/content/toolset_guide.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,47 +1,34 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: toolset_guide.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Toolset Guide"
-msgstr "Guía del Conjunto de Herramientas"
+msgstr "Guía del Conjunto de Herramientas"
-#. Tag: para
-#: toolset_guide.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"Roundtrip engineering with Hibernate is possible using a set of Eclipse "
"plugins, commandline tools, as well as Ant tasks."
msgstr ""
-"La ingeniería de ida y vuelta con Hibernate es posible usando un conjunto de
"
-"plugins de Eclipse, herramientas de línea de comandos, así como tareas de "
-"Ant."
+"La ingeniería de ida y vuelta con Hibernate es posible usando un "
+"conjunto de plugins de Eclipse, herramientas de línea de comandos,
"
+"así como tareas de Ant."
-#. Tag: para
-#: toolset_guide.xml:12
-#, no-c-format
+#: index.docbook:12
msgid ""
"The <emphasis>Hibernate Tools</emphasis> currently include plugins for
the "
"Eclipse IDE as well as Ant tasks for reverse engineering of existing "
"databases:"
msgstr ""
"Las <emphasis>Herramientas de Hibernate</emphasis> actualmente incluyen
"
-"plugins para la IDE de Eclipse así como tareas de Ant para la ingeniería "
-"inversa de bases de datos existentes:"
+"plugins para la IDE de Eclipse así como tareas de Ant para la "
+"ingeniería inversa de bases de datos existentes:"
-#. Tag: para
-#: toolset_guide.xml:18
-#, no-c-format
+#: index.docbook:18
msgid ""
"<emphasis>Mapping Editor:</emphasis> An editor for Hibernate XML
mapping "
"files, supporting auto-completion and syntax highlighting. It also supports "
@@ -49,13 +36,12 @@
"much more versatile than a normal XML editor."
msgstr ""
"<emphasis>Editor de Mapeo:</emphasis> Un editor de ficheros de mapeo
XML, "
-"que soporta autocompleción y resaltado de sintáxis. Soporta también "
-"autocompleción semántica de nombres de clases y nombres de campos/"
-"propiedades, haciéndolo mucho más versátil que un editor de XML normal."
+"que soporta autocompleción y resaltado de sintáxis. Soporta
"
+"también autocompleción semántica de nombres de
clases y "
+"nombres de campos/propiedades, haciéndolo mucho más "
+"versátil que un editor de XML normal."
-#. Tag: para
-#: toolset_guide.xml:23
-#, no-c-format
+#: index.docbook:23
msgid ""
"<emphasis>Console:</emphasis> The console is a new view in Eclipse. In
"
"addition to a tree overview of your console configurations, you also get an "
@@ -64,14 +50,12 @@
"the result directly in Eclipse."
msgstr ""
"<emphasis>Consola:</emphasis> La consola es una nueva vista en Eclipse.
"
-"Además de la vista de árbol de tus configuraciones de consola, tienes "
-"también una vista interactiva de tus clases persistentes y sus relaciones. "
-"La console te permite ejecutar consultas HQL contra tu base de datos y "
-"navegar el resultado directamente en Eclipse."
+"Además de la vista de árbol de tus configuraciones de
consola, "
+"tienes también una vista interactiva de tus clases persistentes y sus
"
+"relaciones. La console te permite ejecutar consultas HQL contra tu base de "
+"datos y navegar el resultado directamente en Eclipse."
-#. Tag: para
-#: toolset_guide.xml:30
-#, no-c-format
+#: index.docbook:30
msgid ""
"<emphasis>Development Wizards:</emphasis> Several wizards are provided
with "
"the Hibernate Eclipse tools; you can use a wizard to quickly generate "
@@ -82,30 +66,25 @@
msgstr ""
"<emphasis>Asistentes de Desarrollo:</emphasis> Se proveen muchos
asistentes "
"con las herramientas de Eclipse. Puedes usar un asistente para generar "
-"rápidamente ficheros de configuración de Hibernate (cfg.xml), o incluso "
-"puedes haceruna ingeniería inversa completa de un esquema de base de datos "
-"existente en ficheros de código de POJO y ficheros de mapeo de Hibernate. El
"
-"asistente de ingeniería inversa soporta plantillas personalizables."
+"rápidamente ficheros de configuración de Hibernate (cfg.xml),
"
+"o incluso puedes haceruna ingeniería inversa completa de un esquema
"
+"de base de datos existente en ficheros de código de POJO y ficheros
"
+"de mapeo de Hibernate. El asistente de ingeniería inversa soporta
"
+"plantillas personalizables."
-#. Tag: emphasis
-#: toolset_guide.xml:38
-#, no-c-format
+#: index.docbook:38
msgid "Ant Tasks:"
msgstr "Tareas de Ant:"
-#. Tag: para
-#: toolset_guide.xml:43
-#, no-c-format
+#: index.docbook:43
msgid ""
"Please refer to the <emphasis>Hibernate Tools</emphasis> package and
it's "
"documentation for more information."
msgstr ""
-"Por favor refiérete al paquete <emphasis>Herramientas de
Hibernate</"
-"emphasis> y su documentación para más información."
+"Por favor refiérete al paquete <emphasis>Herramientas de
Hibernate</"
+"emphasis> y su documentación para más
información."
-#. Tag: para
-#: toolset_guide.xml:48
-#, no-c-format
+#: index.docbook:48
msgid ""
"However, the Hibernate main package comes bundled with an integrated tool "
"(it can even be used from \"inside\" Hibernate on-the-fly): "
@@ -113,18 +92,14 @@
msgstr ""
"Sin embargo, el paquete principal de Hibernate viene incluyendo una "
"herramienta integrada (puede ser usada incluso \"dentro\" de Hibernate
on-"
-"the-fly): <emphasis>SchemaExport</emphasis> también conocido como
"
+"the-fly): <emphasis>SchemaExport</emphasis> también conocido
como "
"<literal>hbm2ddl</literal>."
-#. Tag: title
-#: toolset_guide.xml:55
-#, no-c-format
+#: index.docbook:55
msgid "Automatic schema generation"
-msgstr "Generación automática de esquemas"
+msgstr "Generación automática de esquemas"
-#. Tag: para
-#: toolset_guide.xml:57
-#, no-c-format
+#: index.docbook:57
msgid ""
"DDL may be generated from your mapping files by a Hibernate utility. The "
"generated schema includes referential integrity constraints (primary and "
@@ -133,37 +108,29 @@
msgstr ""
"Una utilidad de Hibernate puede generar DDL desde tus ficheros de mapeo. El "
"esquema generado incluye restricciones de integridad referencial (claves "
-"primarias y foráneas) para las tablas de entidades y colecciones. Las tablas
"
-"y secuencias también son creadas para los generadores de identificadores "
-"mapeados."
+"primarias y foráneas) para las tablas de entidades y colecciones. Las
"
+"tablas y secuencias también son creadas para los generadores de "
+"identificadores mapeados."
-#. Tag: para
-#: toolset_guide.xml:64
-#, no-c-format
+#: index.docbook:64
msgid ""
"You <emphasis>must</emphasis> specify a SQL
<literal>Dialect</literal> via "
"the <literal>hibernate.dialect</literal> property when using this tool,
as "
"DDL is highly vendor specific."
msgstr ""
"<emphasis>Debes</emphasis> especificar un
<literal>Dialecto</literal> SQL "
-"vía la propiedad <literal>hibernate.dialect</literal> al usar esta
"
-"herramienta, ya que el DDL es altamente específico del vendedor."
+"vía la propiedad <literal>hibernate.dialect</literal> al
usar esta "
+"herramienta, ya que el DDL es altamente específico del vendedor."
-#. Tag: para
-#: toolset_guide.xml:70
-#, no-c-format
+#: index.docbook:70
msgid "First, customize your mapping files to improve the generated schema."
msgstr "First, customize your mapping files to improve the generated schema."
-#. Tag: title
-#: toolset_guide.xml:75
-#, no-c-format
+#: index.docbook:75
msgid "Customizing the schema"
msgstr "Personalizando el esquema"
-#. Tag: para
-#: toolset_guide.xml:77
-#, no-c-format
+#: index.docbook:77
msgid ""
"Many Hibernate mapping elements define optional attributes named "
"<literal>length</literal>, <literal>precision</literal> and
<literal>scale</"
@@ -171,53 +138,45 @@
"attribute."
msgstr ""
"Muchos elementos de mapeo de Hibernate definen un atributo opcional llamado "
-"<literal>length</literal>. Con este atributo puedes establecer el
tamaño de "
-"una columna. (O, para tipos de datos numéricos/decimales, la precisión.)"
+"<literal>length</literal>. Con este atributo puedes establecer el
"
+"tamaño de una columna. (O, para tipos de datos
numéricos/"
+"decimales, la precisión.)"
-#. Tag: programlisting
-#: toolset_guide.xml:84
-#, no-c-format
+#: index.docbook:84
msgid "<![CDATA[<property name=\"zip\"
length=\"5\"/>]]>"
-msgstr ""
+msgstr "<![CDATA[<property name=\"zip\"
length=\"5\"/>]]>"
-#. Tag: programlisting
-#: toolset_guide.xml:85
-#, no-c-format
+#: index.docbook:85
msgid "<![CDATA[<property name=\"balance\"
precision=\"12\" scale=\"2\"/>]]>"
-msgstr ""
+msgstr "<![CDATA[<property name=\"balance\"
precision=\"12\" scale=\"2\"/>]]>"
-#. Tag: para
-#: toolset_guide.xml:87
-#, no-c-format
+#: index.docbook:87
msgid ""
"Some tags also accept a <literal>not-null</literal> attribute (for
"
"generating a <literal>NOT NULL</literal> constraint on table columns)
and a "
"<literal>unique</literal> attribute (for generating
<literal>UNIQUE</"
"literal> constraint on table columns)."
msgstr ""
-"Algunas etiquetas también aceptan un atributo
<literal>not-null</literal> "
-"(para generar una restricción <literal>NOT NULL</literal> en columnas
de "
-"tablas) y y un atributo <literal>unique</literal> (para generar "
+"Algunas etiquetas también aceptan un atributo
<literal>not-null</"
+"literal> (para generar una restricción <literal>NOT
NULL</literal> en "
+"columnas de tablas) y y un atributo <literal>unique</literal> (para
generar "
"restricciones <literal>UNIQUE</literal> en columnas de tablas)."
-#. Tag: programlisting
-#: toolset_guide.xml:93
-#, no-c-format
+#: index.docbook:93
msgid ""
"<![CDATA[<many-to-one name=\"bar\" column=\"barId\"
not-null=\"true\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"bar\" column=\"barId\"
not-null=\"true\"/>]]>"
-#. Tag: programlisting
-#: toolset_guide.xml:95
-#, no-c-format
+#: index.docbook:95
msgid ""
"<![CDATA[<element column=\"serialNumber\" type=\"long\"
not-null=\"true\" "
"unique=\"true\"/>]]>"
msgstr ""
+"<![CDATA[<element column=\"serialNumber\" type=\"long\"
not-null=\"true\" "
+"unique=\"true\"/>]]>"
-#. Tag: para
-#: toolset_guide.xml:97
-#, no-c-format
+#: index.docbook:97
msgid ""
"A <literal>unique-key</literal> attribute may be used to group columns
in a "
"single unique key constraint. Currently, the specified value of the "
@@ -231,18 +190,17 @@
"name the constraint in the generated DDL, only to group the columns in the "
"mapping file."
-#. Tag: programlisting
-#: toolset_guide.xml:105
-#, no-c-format
+#: index.docbook:105
msgid ""
"<![CDATA[<many-to-one name=\"org\" column=\"orgId\"
unique-key="
"\"OrgEmployeeId\"/>\n"
"<property name=\"employeeId\"
unique-key=\"OrgEmployee\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"org\" column=\"orgId\"
unique-key="
+"\"OrgEmployeeId\"/>\n"
+"<property name=\"employeeId\"
unique-key=\"OrgEmployee\"/>]]>"
-#. Tag: para
-#: toolset_guide.xml:107
-#, no-c-format
+#: index.docbook:107
msgid ""
"An <literal>index</literal> attribute specifies the name of an index
that "
"will be created using the mapped column or columns. Multiple columns may be "
@@ -252,17 +210,15 @@
"will be created using the mapped column or columns. Multiple columns may be "
"grouped into the same index, simply by specifying the same index name."
-#. Tag: programlisting
-#: toolset_guide.xml:113
-#, no-c-format
+#: index.docbook:113
msgid ""
"<![CDATA[<property name=\"lastName\"
index=\"CustName\"/>\n"
"<property name=\"firstName\"
index=\"CustName\"/>]]>"
msgstr ""
+"<![CDATA[<property name=\"lastName\"
index=\"CustName\"/>\n"
+" <property name=\"firstName\"
index=\"CustName\"/>]]>"
-#. Tag: para
-#: toolset_guide.xml:115
-#, no-c-format
+#: index.docbook:115
msgid ""
"A <literal>foreign-key</literal> attribute may be used to override the
name "
"of any generated foreign key constraint."
@@ -270,17 +226,15 @@
"A <literal>foreign-key</literal> attribute may be used to override the
name "
"of any generated foreign key constraint."
-#. Tag: programlisting
-#: toolset_guide.xml:120
-#, no-c-format
+#: index.docbook:120
msgid ""
"<![CDATA[<many-to-one name=\"bar\" column=\"barId\"
foreign-key=\"FKFooBar\"/"
">]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"bar\" column=\"barId\"
foreign-key=\"FKFooBar\"/"
+">]]>"
-#. Tag: para
-#: toolset_guide.xml:122
-#, no-c-format
+#: index.docbook:122
msgid ""
"Many mapping elements also accept a child
<literal><column></literal> "
"element. This is particularly useful for mapping multi-column types:"
@@ -288,9 +242,7 @@
"Many mapping elements also accept a child
<literal><column></literal> "
"element. This is particularly useful for mapping multi-column types:"
-#. Tag: programlisting
-#: toolset_guide.xml:127
-#, no-c-format
+#: index.docbook:127
msgid ""
"<![CDATA[<property name=\"name\"
type=\"my.customtypes.Name\"/>\n"
" <column name=\"last\" not-null=\"true\"
index=\"bar_idx\" length=\"30\"/"
@@ -300,10 +252,15 @@
" <column name=\"initial\"/>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<property name=\"name\"
type=\"my.customtypes.Name\"/>\n"
+" <column name=\"last\" not-null=\"true\"
index=\"bar_idx\" length=\"30"
+"\"/>\n"
+" <column name=\"first\" not-null=\"true\"
index=\"bar_idx\" length="
+"\"20\"/>\n"
+" <column name=\"initial\"/>\n"
+"</property>]]>"
-#. Tag: para
-#: toolset_guide.xml:129
-#, no-c-format
+#: index.docbook:129
msgid ""
"The <literal>default</literal> attribute lets you specify a default
value "
"for a column (you should assign the same value to the mapped property before
"
@@ -313,27 +270,27 @@
"for a column (you should assign the same value to the mapped property before
"
"saving a new instance of the mapped class)."
-#. Tag: programlisting
-#: toolset_guide.xml:135
-#, no-c-format
+#: index.docbook:135
msgid ""
"<![CDATA[<property name=\"credits\" type=\"integer\"
insert=\"false\">\n"
" <column name=\"credits\" default=\"10\"/>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<property name=\"credits\" type=\"integer\"
insert=\"false\">\n"
+" <column name=\"credits\"
default=\"10\"/>\n"
+" </property>]]>"
-#. Tag: programlisting
-#: toolset_guide.xml:137
-#, no-c-format
+#: index.docbook:137
msgid ""
"<![CDATA[<version name=\"version\" type=\"integer\"
insert=\"false\">\n"
" <column name=\"version\" default=\"0\"/>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<version name=\"version\" type=\"integer\"
insert=\"false\">\n"
+" <column name=\"version\"
default=\"0\"/>\n"
+" </property>]]>"
-#. Tag: para
-#: toolset_guide.xml:139
-#, no-c-format
+#: index.docbook:139
msgid ""
"The <literal>sql-type</literal> attribute allows the user to override
the "
"default mapping of a Hibernate type to SQL datatype."
@@ -341,191 +298,146 @@
"El atributo <literal>sql-type</literal> permite al usuario sobrescribir
el "
"mapeo por defecto de tipo Hibernate a tipo de datos SQL."
-#. Tag: programlisting
-#: toolset_guide.xml:144
-#, no-c-format
+#: index.docbook:144
msgid ""
"<![CDATA[<property name=\"balance\"
type=\"float\">\n"
" <column name=\"balance\"
sql-type=\"decimal(13,3)\"/>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<property name=\"balance\"
type=\"float\">\n"
+" <column name=\"balance\"
sql-type=\"decimal(13,3)"
+"\"/>\n"
+"</property>]]>"
-#. Tag: para
-#: toolset_guide.xml:146
-#, no-c-format
+#: index.docbook:146
msgid ""
"The <literal>check</literal> attribute allows you to specify a check
"
"constraint."
msgstr ""
-"El atributo <literal>check</literal> te permite especificar una
comprobación "
-"de restricción."
+"El atributo <literal>check</literal> te permite especificar una "
+"comprobación de restricción."
-#. Tag: programlisting
-#: toolset_guide.xml:150
-#, no-c-format
+#: index.docbook:150
msgid ""
"<![CDATA[<property name=\"foo\"
type=\"integer\">\n"
" <column name=\"foo\" check=\"foo > 10\"/>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<property name=\"foo\"
type=\"integer\">\n"
+" <column name=\"foo\" check=\"foo > 10\"/>\n"
+"</property>]]>"
-#. Tag: programlisting
-#: toolset_guide.xml:152
-#, no-c-format
+#: index.docbook:152
msgid ""
"<![CDATA[<class name=\"Foo\" table=\"foos\"
check=\"bar < 100.0\">\n"
" ...\n"
" <property name=\"bar\" type=\"float\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Foo\" table=\"foos\"
check=\"bar < 100.0\">\n"
+" ...\n"
+" <property name=\"bar\" type=\"float\"/>\n"
+"</class>]]>"
-#. Tag: title
-#: toolset_guide.xml:156
-#, no-c-format
+#: index.docbook:156
msgid "Summary"
msgstr "Resumen"
-#. Tag: entry
-#: toolset_guide.xml:163
-#, no-c-format
+#: index.docbook:163
msgid "Attribute"
msgstr "Atributo"
-#. Tag: entry
-#: toolset_guide.xml:164
-#, no-c-format
+#: index.docbook:164
msgid "Values"
msgstr "Valores"
-#. Tag: entry
-#: toolset_guide.xml:165
-#, no-c-format
+#: index.docbook:165
msgid "Interpretation"
-msgstr "Interpretación"
+msgstr "Interpretación"
-#. Tag: literal
-#: toolset_guide.xml:170
-#, no-c-format
+#: index.docbook:170
msgid "length"
msgstr "length"
-#. Tag: entry
-#: toolset_guide.xml:171 toolset_guide.xml:176 toolset_guide.xml:181
-#, no-c-format
+#: index.docbook:171, index.docbook:176, index.docbook:181
msgid "number"
msgstr "number"
-#. Tag: entry
-#: toolset_guide.xml:172
-#, no-c-format
+#: index.docbook:172
msgid "column length"
-msgstr "largo de columna/precisión decimal"
+msgstr "largo de columna/precisión decimal"
-#. Tag: literal
-#: toolset_guide.xml:175
-#, no-c-format
+#: index.docbook:175
msgid "precision"
msgstr "precision"
-#. Tag: entry
-#: toolset_guide.xml:177
-#, no-c-format
+#: index.docbook:177
msgid "column decimal precision"
msgstr "column decimal precision"
-#. Tag: literal
-#: toolset_guide.xml:180
-#, no-c-format
+#: index.docbook:180
msgid "scale"
msgstr "scale"
-#. Tag: entry
-#: toolset_guide.xml:182
-#, no-c-format
+#: index.docbook:182
msgid "column decimal scale"
msgstr "column decimal scale"
-#. Tag: literal
-#: toolset_guide.xml:185
-#, no-c-format
+#: index.docbook:185
msgid "not-null"
msgstr "not-null"
-#. Tag: literal
-#: toolset_guide.xml:186 toolset_guide.xml:191
-#, no-c-format
+#: index.docbook:186, index.docbook:191
msgid "true|false"
msgstr "true|false"
-#. Tag: entry
-#: toolset_guide.xml:187
-#, no-c-format
+#: index.docbook:187
msgid "specfies that the column should be non-nullable"
msgstr "especifica que la columna debe ser no nulable"
-#. Tag: literal
-#: toolset_guide.xml:190
-#, no-c-format
+#: index.docbook:190
msgid "unique"
msgstr "unique"
-#. Tag: entry
-#: toolset_guide.xml:192
-#, no-c-format
+#: index.docbook:192
msgid "specifies that the column should have a unique constraint"
-msgstr "especifica que la columna debe tener una restricción de unicidad"
+msgstr ""
+"especifica que la columna debe tener una restricción de unicidad"
-#. Tag: literal
-#: toolset_guide.xml:195
-#, no-c-format
+#: index.docbook:195
msgid "index"
msgstr "index"
-#. Tag: literal
-#: toolset_guide.xml:196
-#, no-c-format
+#: index.docbook:196
msgid "index_name"
msgstr "index_name"
-#. Tag: entry
-#: toolset_guide.xml:197
-#, no-c-format
+#: index.docbook:197
msgid "specifies the name of a (multi-column) index"
-msgstr "especifica el nombre de un índice (multicolumna)"
+msgstr "especifica el nombre de un índice (multicolumna)"
-#. Tag: literal
-#: toolset_guide.xml:200
-#, no-c-format
+#: index.docbook:200
msgid "unique-key"
msgstr "unique-key"
-#. Tag: literal
-#: toolset_guide.xml:201
-#, no-c-format
+#: index.docbook:201
msgid "unique_key_name"
msgstr "unique_key_name"
-#. Tag: entry
-#: toolset_guide.xml:202
-#, no-c-format
+#: index.docbook:202
msgid "specifies the name of a multi-column unique constraint"
-msgstr "especifica el nombre de una restricción de unicidad multicolumna"
+msgstr ""
+"especifica el nombre de una restricción de unicidad multicolumna"
-#. Tag: literal
-#: toolset_guide.xml:205
-#, no-c-format
+#: index.docbook:205
msgid "foreign-key"
msgstr "foreign-key"
-#. Tag: literal
-#: toolset_guide.xml:206
-#, no-c-format
+#: index.docbook:206
msgid "foreign_key_name"
msgstr "foreign_key_name"
-#. Tag: entry
-#: toolset_guide.xml:207
-#, fuzzy, no-c-format
+#: index.docbook:207
msgid ""
"specifies the name of the foreign key constraint generated for an "
"association, for a <literal><one-to-one></literal>,
<literal><many-"
@@ -533,70 +445,51 @@
"to-many></literal> mapping element. Note that
<literal>inverse=\"true\"</"
"literal> sides will not be considered by
<literal>SchemaExport</literal>."
msgstr ""
-"especifica el nombre de la restricción de clave foránea generada por una "
-"asociación, úsalo e <placeholder-1/>, <placeholder-2/>,
<placeholder-3/>, or "
-"<placeholder-4/> . Nota que los lados <placeholder-5/> no serán
considerados "
-"por <placeholder-6/>."
+"especifica el nombre de la restricción de clave foránea
"
+"generada por una asociación, úsalo e
<literal><one-to-"
+"one></literal>,
<literal><many-to-one></literal>, <literal><"
+"key></literal>, or
<literal><many-to-many></literal> . Nota que los "
+"lados <literal>inverse=\"true\"</literal> no serán
considerados por "
+"<literal>SchemaExport</literal>."
-#. Tag: literal
-#: toolset_guide.xml:217
-#, no-c-format
+#: index.docbook:217
msgid "sql-type"
msgstr "sql-type"
-#. Tag: literal
-#: toolset_guide.xml:218
-#, no-c-format
+#: index.docbook:218
msgid "SQL column type"
msgstr "column_type"
-#. Tag: entry
-#: toolset_guide.xml:219
-#, fuzzy, no-c-format
+#: index.docbook:219
msgid ""
"overrides the default column type (attribute of
<literal><column></"
"literal> element only)"
msgstr ""
-"sobrescribe el tipo de columna por defecto (sólo atributo del elemento "
-"<placeholder-1/>)"
+"sobrescribe el tipo de columna por defecto (sólo atributo del "
+"elemento <literal><column></literal>)"
-#. Tag: literal
-#: toolset_guide.xml:225
-#, no-c-format
+#: index.docbook:225
msgid "default"
msgstr "default"
-#. Tag: entry
-#: toolset_guide.xml:226 toolset_guide.xml:233
-#, fuzzy, no-c-format
+#: index.docbook:226, index.docbook:233
msgid "SQL expression"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"SQL expression\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"expresión SQL"
+msgstr "SQL expression"
-#. Tag: entry
-#: toolset_guide.xml:227
-#, no-c-format
+#: index.docbook:227
msgid "specify a default value for the column"
msgstr "specify a default value for the column"
-#. Tag: literal
-#: toolset_guide.xml:232
-#, no-c-format
+#: index.docbook:232
msgid "check"
msgstr "check"
-#. Tag: entry
-#: toolset_guide.xml:234
-#, no-c-format
+#: index.docbook:234
msgid "create an SQL check constraint on either column or table"
-msgstr "crea una restricción de comprobación SQL en columna o tabla"
+msgstr ""
+"crea una restricción de comprobación SQL en columna o
tabla"
-#. Tag: para
-#: toolset_guide.xml:242
-#, no-c-format
+#: index.docbook:242
msgid ""
"The <literal><comment></literal> element allows you to
specify "
"comments for the generated schema."
@@ -604,19 +497,19 @@
"El elemento <literal><comment></literal> te permite
especificar un "
"comentario para el esquema generado."
-#. Tag: programlisting
-#: toolset_guide.xml:247
-#, no-c-format
+#: index.docbook:247
msgid ""
"<![CDATA[<class name=\"Customer\"
table=\"CurCust\">\n"
" <comment>Current customers only</comment>\n"
" ...\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Customer\"
table=\"CurCust\">\n"
+" <comment>Current customers only</comment>\n"
+" ...\n"
+"</class>]]>"
-#. Tag: programlisting
-#: toolset_guide.xml:249
-#, no-c-format
+#: index.docbook:249
msgid ""
"<![CDATA[<property name=\"balance\">\n"
" <column name=\"bal\">\n"
@@ -624,212 +517,159 @@
" </column>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<property name=\"balance\">\n"
+" <column name=\"bal\">\n"
+" <comment>Balance in USD</comment>\n"
+" </column>\n"
+"</property>]]>"
-#. Tag: para
-#: toolset_guide.xml:251
-#, no-c-format
+#: index.docbook:251
msgid ""
"This results in a <literal>comment on table</literal> or
<literal>comment on "
"column</literal> statement in the generated DDL (where supported)."
msgstr ""
"Esto resulta en una sentencia <literal>comment on table</literal> o
"
-"<literal>comment on column</literal> en el DDL generado (donde esté
"
+"<literal>comment on column</literal> en el DDL generado (donde
esté "
"soportado)."
-#. Tag: title
-#: toolset_guide.xml:260
-#, no-c-format
+#: index.docbook:260
msgid "Running the tool"
msgstr "Ejecutando la herramienta"
-#. Tag: para
-#: toolset_guide.xml:262
-#, no-c-format
+#: index.docbook:262
msgid ""
"The <literal>SchemaExport</literal> tool writes a DDL script to
standard out "
"and/or executes the DDL statements."
msgstr ""
-"La herramienta <literal>SchemaExport</literal> escribe un guión DDL a
la "
-"salida estándar y/o ejecuta las sentencias DDL."
+"La herramienta <literal>SchemaExport</literal> escribe un
guión DDL a "
+"la salida estándar y/o ejecuta las sentencias DDL."
-#. Tag: para
-#: toolset_guide.xml:267
-#, no-c-format
+#: index.docbook:267
msgid ""
"<literal>java -cp
</literal><emphasis>hibernate_classpaths</emphasis> "
"<literal>org.hibernate.tool.hbm2ddl.SchemaExport</literal>
<emphasis>options "
"mapping_files</emphasis>"
msgstr ""
+"<literal>java -cp
</literal><emphasis>classpaths_de_hibernate</emphasis> "
+"<literal>org.hibernate.tool.hbm2ddl.SchemaExport</literal> "
+"<emphasis>opciones ficheros_de_mapeo</emphasis>"
-#. Tag: title
-#: toolset_guide.xml:273
-#, no-c-format
+#: index.docbook:273
msgid "<literal>SchemaExport</literal> Command Line Options"
-msgstr "Opciones de Línea de Comandos de
<literal>SchemaExport</literal>"
+msgstr ""
+"Opciones de Línea de Comandos de
<literal>SchemaExport</literal>"
-#. Tag: entry
-#: toolset_guide.xml:279 toolset_guide.xml:429 toolset_guide.xml:498
-#, no-c-format
+#: index.docbook:279, index.docbook:429, index.docbook:498
msgid "Option"
-msgstr "Opción"
+msgstr "Opción"
-#. Tag: entry
-#: toolset_guide.xml:280 toolset_guide.xml:367 toolset_guide.xml:430
-#: toolset_guide.xml:499
-#, no-c-format
+#: index.docbook:280, index.docbook:367, index.docbook:430, index.docbook:499
msgid "Description"
-msgstr "Descripción"
+msgstr "Descripción"
-#. Tag: literal
-#: toolset_guide.xml:285 toolset_guide.xml:435
-#, no-c-format
+#: index.docbook:285, index.docbook:435
msgid "--quiet"
msgstr "--quiet"
-#. Tag: entry
-#: toolset_guide.xml:286 toolset_guide.xml:436
-#, no-c-format
+#: index.docbook:286, index.docbook:436
msgid "don't output the script to stdout"
-msgstr "no enviar a salida estándar el guión"
+msgstr "no enviar a salida estándar el guión"
-#. Tag: literal
-#: toolset_guide.xml:289
-#, no-c-format
+#: index.docbook:289
msgid "--drop"
msgstr "--drop"
-#. Tag: entry
-#: toolset_guide.xml:290
-#, no-c-format
+#: index.docbook:290
msgid "only drop the tables"
-msgstr "sólo desechar las tablas"
+msgstr "sólo desechar las tablas"
-#. Tag: literal
-#: toolset_guide.xml:293
-#, no-c-format
+#: index.docbook:293
msgid "--create"
msgstr "--create"
-#. Tag: entry
-#: toolset_guide.xml:294
-#, no-c-format
+#: index.docbook:294
msgid "only create the tables"
msgstr "only create the tables"
-#. Tag: literal
-#: toolset_guide.xml:297 toolset_guide.xml:439
-#, no-c-format
+#: index.docbook:297, index.docbook:439
msgid "--text"
msgstr "--text"
-#. Tag: entry
-#: toolset_guide.xml:298
-#, no-c-format
+#: index.docbook:298
msgid "don't export to the database"
msgstr "no exportar a la base de datos"
-#. Tag: literal
-#: toolset_guide.xml:301
-#, no-c-format
+#: index.docbook:301
msgid "--output=my_schema.ddl"
msgstr "--output=my_schema.ddl"
-#. Tag: entry
-#: toolset_guide.xml:302
-#, no-c-format
+#: index.docbook:302
msgid "output the ddl script to a file"
-msgstr "enviar la salida del guión ddl a un fichero"
+msgstr "enviar la salida del guión ddl a un fichero"
-#. Tag: literal
-#: toolset_guide.xml:305 toolset_guide.xml:443 toolset_guide.xml:504
-#, no-c-format
+#: index.docbook:305, index.docbook:443, index.docbook:504
msgid "--naming=eg.MyNamingStrategy"
msgstr "--naming=eg.MyNamingStrategy"
-#. Tag: entry
-#: toolset_guide.xml:306 toolset_guide.xml:444 toolset_guide.xml:505
-#, fuzzy, no-c-format
+#: index.docbook:306, index.docbook:444, index.docbook:505
msgid "select a <literal>NamingStrategy</literal>"
-msgstr "en <literal>hibernate.properties</literal>"
+msgstr "select a <literal>NamingStrategy</literal>"
-#. Tag: literal
-#: toolset_guide.xml:309 toolset_guide.xml:451 toolset_guide.xml:512
-#, no-c-format
+#: index.docbook:309, index.docbook:451, index.docbook:512
msgid "--config=hibernate.cfg.xml"
msgstr "--config=hibernate.cfg.xml"
-#. Tag: entry
-#: toolset_guide.xml:310
-#, no-c-format
+#: index.docbook:310
msgid "read Hibernate configuration from an XML file"
-msgstr "lee la configuración de Hibernate de un fichero XML"
+msgstr "lee la configuración de Hibernate de un fichero XML"
-#. Tag: literal
-#: toolset_guide.xml:313 toolset_guide.xml:447 toolset_guide.xml:508
-#, no-c-format
+#: index.docbook:313, index.docbook:447, index.docbook:508
msgid "--properties=hibernate.properties"
msgstr "--properties=hibernate.properties"
-#. Tag: entry
-#: toolset_guide.xml:314 toolset_guide.xml:448 toolset_guide.xml:509
-#, no-c-format
+#: index.docbook:314, index.docbook:448, index.docbook:509
msgid "read database properties from a file"
msgstr "lee las propiedades de base de datos de un fichero"
-#. Tag: literal
-#: toolset_guide.xml:317
-#, no-c-format
+#: index.docbook:317
msgid "--format"
msgstr "--format"
-#. Tag: entry
-#: toolset_guide.xml:318
-#, no-c-format
+#: index.docbook:318
msgid "format the generated SQL nicely in the script"
-msgstr "formatea agradablemente el SQL generado en el guión"
+msgstr "formatea agradablemente el SQL generado en el guión"
-#. Tag: literal
-#: toolset_guide.xml:321
-#, no-c-format
+#: index.docbook:321
msgid "--delimiter=;"
msgstr "--delimiter=x"
-#. Tag: entry
-#: toolset_guide.xml:322
-#, no-c-format
+#: index.docbook:322
msgid "set an end of line delimiter for the script"
-msgstr "establece un delimitador de fin de línea para el guión"
+msgstr "establece un delimitador de fin de línea para el
guión"
-#. Tag: para
-#: toolset_guide.xml:328
-#, no-c-format
+#: index.docbook:328
msgid "You may even embed <literal>SchemaExport</literal> in your
application:"
msgstr ""
-"Puedes incluso encajar <literal>SchemaExport</literal> en tu
aplicación:"
+"Puedes incluso encajar <literal>SchemaExport</literal> en tu
aplicació"
+"n:"
-#. Tag: programlisting
-#: toolset_guide.xml:332
-#, no-c-format
+#: index.docbook:332
msgid ""
"<![CDATA[Configuration cfg = ....;\n"
"new SchemaExport(cfg).create(false, true);]]>"
msgstr ""
+"<![CDATA[Configuration cfg = ....;\n"
+"new SchemaExport(cfg).create(false, true);]]>"
-#. Tag: title
-#: toolset_guide.xml:337
-#, no-c-format
+#: index.docbook:337
msgid "Properties"
msgstr "Propiedades"
-#. Tag: para
-#: toolset_guide.xml:339
-#, no-c-format
+#: index.docbook:339
msgid "Database properties may be specified"
msgstr "Las propiedades de base de datos pueden especificarse"
-#. Tag: para
-#: toolset_guide.xml:345
-#, no-c-format
+#: index.docbook:345
msgid ""
"as system properties with
<literal>-D</literal><emphasis><property></"
"emphasis>"
@@ -837,115 +677,79 @@
"como propiedades de sistema con
<literal>-D</literal><emphasis><"
"property></emphasis>"
-#. Tag: para
-#: toolset_guide.xml:348
-#, no-c-format
+#: index.docbook:348
msgid "in <literal>hibernate.properties</literal>"
msgstr "en <literal>hibernate.properties</literal>"
-#. Tag: para
-#: toolset_guide.xml:351
-#, no-c-format
+#: index.docbook:351
msgid "in a named properties file with
<literal>--properties</literal>"
msgstr ""
"en un fichero de propiedades mencionado con
<literal>--properties</literal>"
-#. Tag: para
-#: toolset_guide.xml:355
-#, no-c-format
+#: index.docbook:355
msgid "The needed properties are:"
msgstr "Las propiedades necesarias son:"
-#. Tag: title
-#: toolset_guide.xml:360
-#, no-c-format
+#: index.docbook:360
msgid "SchemaExport Connection Properties"
-msgstr "Propiedades de Conexión de SchemaExport"
+msgstr "Propiedades de Conexión de SchemaExport"
-#. Tag: entry
-#: toolset_guide.xml:366
-#, no-c-format
+#: index.docbook:366
msgid "Property Name"
msgstr "Nombre de Propiedad"
-#. Tag: literal
-#: toolset_guide.xml:372
-#, no-c-format
+#: index.docbook:372
msgid "hibernate.connection.driver_class"
msgstr "hibernate.connection.driver_class"
-#. Tag: entry
-#: toolset_guide.xml:373
-#, no-c-format
+#: index.docbook:373
msgid "jdbc driver class"
msgstr "clase del driver jdbc"
-#. Tag: literal
-#: toolset_guide.xml:376
-#, no-c-format
+#: index.docbook:376
msgid "hibernate.connection.url"
msgstr "hibernate.connection.url"
-#. Tag: entry
-#: toolset_guide.xml:377
-#, no-c-format
+#: index.docbook:377
msgid "jdbc url"
msgstr "url de jdbc"
-#. Tag: literal
-#: toolset_guide.xml:380
-#, no-c-format
+#: index.docbook:380
msgid "hibernate.connection.username"
msgstr "hibernate.connection.username"
-#. Tag: entry
-#: toolset_guide.xml:381
-#, no-c-format
+#: index.docbook:381
msgid "database user"
msgstr "usuario de base de datos"
-#. Tag: literal
-#: toolset_guide.xml:384
-#, no-c-format
+#: index.docbook:384
msgid "hibernate.connection.password"
msgstr "hibernate.connection.password"
-#. Tag: entry
-#: toolset_guide.xml:385
-#, no-c-format
+#: index.docbook:385
msgid "user password"
-msgstr "contraseña de usuario"
+msgstr "contraseña de usuario"
-#. Tag: literal
-#: toolset_guide.xml:388
-#, no-c-format
+#: index.docbook:388
msgid "hibernate.dialect"
msgstr "hibernate.dialect"
-#. Tag: entry
-#: toolset_guide.xml:389
-#, no-c-format
+#: index.docbook:389
msgid "dialect"
msgstr "dialecto"
-#. Tag: title
-#: toolset_guide.xml:398
-#, no-c-format
+#: index.docbook:398
msgid "Using Ant"
msgstr "Usando Ant"
-#. Tag: para
-#: toolset_guide.xml:400
-#, no-c-format
+#: index.docbook:400
msgid ""
"You can call <literal>SchemaExport</literal> from your Ant build
script:"
msgstr ""
-"Puedes llamar a <literal>SchemaExport</literal> desde tu guión de
"
-"construcción de Ant:"
+"Puedes llamar a <literal>SchemaExport</literal> desde tu
guión de "
+"construcción de Ant:"
-#. Tag: programlisting
-#: toolset_guide.xml:404
-#, no-c-format
+#: index.docbook:404
msgid ""
"<![CDATA[<target name=\"schemaexport\">\n"
" <taskdef name=\"schemaexport\"\n"
@@ -965,83 +769,86 @@
" </schemaexport>\n"
"</target>]]>"
msgstr ""
+"<![CDATA[<target name=\"schemaexport\">\n"
+" <taskdef name=\"schemaexport\"\n"
+"
classname=\"org.hibernate.tool.hbm2ddl.SchemaExportTask\"\n"
+" classpathref=\"class.path\"/>\n"
+" \n"
+" <schemaexport\n"
+" properties=\"hibernate.properties\"\n"
+" quiet=\"no\"\n"
+" text=\"no\"\n"
+" drop=\"no\"\n"
+" delimiter=\";\"\n"
+" output=\"schema-export.sql\">\n"
+" <fileset dir=\"src\">\n"
+" <include name=\"**/*.hbm.xml\"/>\n"
+" </fileset>\n"
+" </schemaexport>\n"
+"</target>]]>"
-#. Tag: title
-#: toolset_guide.xml:409
-#, no-c-format
+#: index.docbook:409
msgid "Incremental schema updates"
msgstr "Actualizaciones incrementales de esquema"
-#. Tag: para
-#: toolset_guide.xml:411
-#, no-c-format
+#: index.docbook:411
msgid ""
"The <literal>SchemaUpdate</literal> tool will update an existing schema
with "
"\"incremental\" changes. Note that
<literal>SchemaUpdate</literal> depends "
"heavily upon the JDBC metadata API, so it will not work with all JDBC "
"drivers."
msgstr ""
-"La herramienta <literal>SchemaUpdate</literal> actualizará un esquema
"
+"La herramienta <literal>SchemaUpdate</literal> actualizará
un esquema "
"existente con cambios \"incrementales\". Nota que
<literal>SchemaUpdate</"
"literal> depende fuertemente de la API de metadatos de JDBC, de modo que no
"
-"funcionará con todos los drivers JDBC."
+"funcionará con todos los drivers JDBC."
-#. Tag: para
-#: toolset_guide.xml:417
-#, no-c-format
+#: index.docbook:417
msgid ""
"<literal>java -cp
</literal><emphasis>hibernate_classpaths</emphasis> "
"<literal>org.hibernate.tool.hbm2ddl.SchemaUpdate</literal>
<emphasis>options "
"mapping_files</emphasis>"
msgstr ""
+"<literal>java -cp
</literal><emphasis>classpaths_de_hibernate</emphasis> "
+"<literal>org.hibernate.tool.hbm2ddl.SchemaUpdate</literal> "
+"<emphasis>opciones ficheros_de_mapeo</emphasis>"
-#. Tag: title
-#: toolset_guide.xml:423
-#, no-c-format
+#: index.docbook:423
msgid "<literal>SchemaUpdate</literal> Command Line Options"
-msgstr "Opciones de Línea de Comandos de
<literal>SchemaUpdate</literal>"
+msgstr ""
+"Opciones de Línea de Comandos de
<literal>SchemaUpdate</literal>"
-#. Tag: entry
-#: toolset_guide.xml:440
-#, no-c-format
+#: index.docbook:440
msgid "don't export the script to the database"
msgstr "don't export the script to the database"
-#. Tag: entry
-#: toolset_guide.xml:452 toolset_guide.xml:513
-#, fuzzy, no-c-format
+#: index.docbook:452, index.docbook:513
msgid "specify a <literal>.cfg.xml</literal> file"
-msgstr "specify a <placeholder-1/> file"
+msgstr "specify a <literal>.cfg.xml</literal> file"
-#. Tag: para
-#: toolset_guide.xml:458
-#, no-c-format
+#: index.docbook:458
msgid "You may embed <literal>SchemaUpdate</literal> in your
application:"
-msgstr "Puedes encajar <literal>SchemaUpdate</literal> en tu
aplicación:"
+msgstr ""
+"Puedes encajar <literal>SchemaUpdate</literal> en tu
aplicación:"
-#. Tag: programlisting
-#: toolset_guide.xml:462
-#, no-c-format
+#: index.docbook:462
msgid ""
"<![CDATA[Configuration cfg = ....;\n"
"new SchemaUpdate(cfg).execute(false);]]>"
msgstr ""
+"<![CDATA[Configuration cfg = ....;\n"
+"new SchemaUpdate(cfg).execute(false);]]>"
-#. Tag: title
-#: toolset_guide.xml:467
-#, no-c-format
+#: index.docbook:467
msgid "Using Ant for incremental schema updates"
msgstr "Usando Ant para actualizaciones incrementales de esquema"
-#. Tag: para
-#: toolset_guide.xml:469
-#, no-c-format
+#: index.docbook:469
msgid "You can call <literal>SchemaUpdate</literal> from the Ant
script:"
-msgstr "Puedes llamar a <literal>SchemaUpdate</literal> desde el guión
de Ant:"
+msgstr ""
+"Puedes llamar a <literal>SchemaUpdate</literal> desde el
guión de Ant:"
-#. Tag: programlisting
-#: toolset_guide.xml:473
-#, no-c-format
+#: index.docbook:473
msgid ""
"<![CDATA[<target name=\"schemaupdate\">\n"
" <taskdef name=\"schemaupdate\"\n"
@@ -1057,16 +864,25 @@
" </schemaupdate>\n"
"</target>]]>"
msgstr ""
+"<![CDATA[<target name=\"schemaupdate\">\n"
+" <taskdef name=\"schemaupdate\"\n"
+"
classname=\"org.hibernate.tool.hbm2ddl.SchemaUpdateTask\"\n"
+" classpathref=\"class.path\"/>\n"
+" \n"
+" <schemaupdate\n"
+" properties=\"hibernate.properties\"\n"
+" quiet=\"no\">\n"
+" <fileset dir=\"src\">\n"
+" <include name=\"**/*.hbm.xml\"/>\n"
+" </fileset>\n"
+" </schemaupdate>\n"
+"</target>]]>"
-#. Tag: title
-#: toolset_guide.xml:478
-#, no-c-format
+#: index.docbook:478
msgid "Schema validation"
-msgstr "translator-credits"
+msgstr "Schema validation"
-#. Tag: para
-#: toolset_guide.xml:480
-#, no-c-format
+#: index.docbook:480
msgid ""
"The <literal>SchemaValidator</literal> tool will validate that the
existing "
"database schema \"matches\" your mapping documents. Note that "
@@ -1074,51 +890,48 @@
"API, so it will not work with all JDBC drivers. This tool is extremely "
"useful for testing."
msgstr ""
+"The <literal>SchemaValidator</literal> tool will validate that the
existing "
+"database schema \"matches\" your mapping documents. Note that "
+"<literal>SchemaValidator</literal> depends heavily upon the JDBC
metadata "
+"API, so it will not work with all JDBC drivers. This tool is extremely "
+"useful for testing."
-#. Tag: para
-#: toolset_guide.xml:486
-#, no-c-format
+#: index.docbook:486
msgid ""
"<literal>java -cp
</literal><emphasis>hibernate_classpaths</emphasis> "
"<literal>org.hibernate.tool.hbm2ddl.SchemaValidator</literal> "
"<emphasis>options mapping_files</emphasis>"
msgstr ""
+"<literal>java -cp
</literal><emphasis>hibernate_classpaths</emphasis> "
+"<literal>org.hibernate.tool.hbm2ddl.SchemaValidator</literal> "
+"<emphasis>options mapping_files</emphasis>"
-#. Tag: title
-#: toolset_guide.xml:492
-#, no-c-format
+#: index.docbook:492
msgid "<literal>SchemaValidator</literal> Command Line Options"
-msgstr ""
+msgstr "<literal>SchemaValidator</literal> Command Line Options"
-#. Tag: para
-#: toolset_guide.xml:519
-#, no-c-format
+#: index.docbook:519
msgid "You may embed <literal>SchemaValidator</literal> in your
application:"
-msgstr ""
+msgstr "You may embed <literal>SchemaValidator</literal> in your
application:"
-#. Tag: programlisting
-#: toolset_guide.xml:523
-#, no-c-format
+#: index.docbook:523
msgid ""
"<![CDATA[Configuration cfg = ....;\n"
"new SchemaValidator(cfg).validate();]]>"
msgstr ""
+"<![CDATA[Configuration cfg = ....;\n"
+" new SchemaValidator"
+"(cfg).validate();]]>"
-#. Tag: title
-#: toolset_guide.xml:528
-#, no-c-format
+#: index.docbook:528
msgid "Using Ant for schema validation"
-msgstr ""
+msgstr "Using Ant for schema validation"
-#. Tag: para
-#: toolset_guide.xml:530
-#, no-c-format
+#: index.docbook:530
msgid "You can call <literal>SchemaValidator</literal> from the Ant
script:"
-msgstr ""
+msgstr "You can call <literal>SchemaValidator</literal> from the Ant
script:"
-#. Tag: programlisting
-#: toolset_guide.xml:534
-#, no-c-format
+#: index.docbook:534
msgid ""
"<![CDATA[<target name=\"schemavalidate\">\n"
" <taskdef name=\"schemavalidator\"\n"
@@ -1133,48 +946,24 @@
" </schemavalidator>\n"
"</target>]]>"
msgstr ""
+"<![CDATA[<target name=\"schemavalidate\">\n"
+" <taskdef
name=\"schemavalidator\"\n"
+"
classname=\"org.hibernate.tool."
+"hbm2ddl.SchemaValidatorTask\"\n"
+"
classpathref=\"class.path\"/>\n"
+" \n"
+" <schemavalidator\n"
+" properties=\"hibernate."
+"properties\">\n"
+" <fileset
dir=\"src\">\n"
+" <include
name=\"**/*.hbm.xml"
+"\"/>\n"
+" </fileset>\n"
+" </schemavalidator>\n"
+" </target>]]>"
-#~ msgid "<one-to-one>"
-#~ msgstr "<one-to-one>"
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-#~ msgid "<many-to-one>"
-#~ msgstr "<many-to-one>"
-
-#~ msgid "<key>"
-#~ msgstr "<key>"
-
-#~ msgid "<many-to-many>"
-#~ msgstr "<many-to-many>"
-
-#~ msgid "inverse=\"true\""
-#~ msgstr "inverse=\"true\""
-
-#~ msgid "SchemaExport"
-#~ msgstr "SchemaExport"
-
-#~ msgid "<column>"
-#~ msgstr "<column>"
-
-#~ msgid "java -cp"
-#~ msgstr "java -cp"
-
-#~ msgid "hibernate_classpaths"
-#~ msgstr "classpaths_de_hibernate"
-
-#~ msgid "org.hibernate.tool.hbm2ddl.SchemaExport"
-#~ msgstr "org.hibernate.tool.hbm2ddl.SchemaExport"
-
-#~ msgid "options mapping_files"
-#~ msgstr "opciones ficheros_de_mapeo"
-
-#~ msgid "NamingStrategy"
-#~ msgstr "NamingStrategy"
-
-#~ msgid "select a <placeholder-1/>"
-#~ msgstr "select a <placeholder-1/>"
-
-#~ msgid "org.hibernate.tool.hbm2ddl.SchemaUpdate"
-#~ msgstr "org.hibernate.tool.hbm2ddl.SchemaUpdate"
-
-#~ msgid ".cfg.xml"
-#~ msgstr ".cfg.xml"
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/tutorial.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/tutorial.po 2007-11-02
00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/tutorial.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,55 +1,41 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:48+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: tutorial.xml:7
-#, no-c-format
+#: index.docbook:7
msgid "Introduction to Hibernate"
-msgstr "Introducción a Hibernate"
+msgstr "Introducción a Hibernate"
-#. Tag: title
-#: tutorial.xml:10
-#, no-c-format
+#: index.docbook:10
msgid "Preface"
msgstr "Prefacio"
-#. Tag: para
-#: tutorial.xml:12
-#, no-c-format
+#: index.docbook:12
msgid ""
"This chapter is an introductory tutorial for new users of Hibernate. We "
"start with a simple command line application using an in-memory database and
"
"develop it in easy to understand steps."
msgstr ""
-"Este capítulo es un tutorial introductorio de Hibernate. Comenzamos con una "
-"aplicación simple de línea de comandos usando un base de datos en-memoria y "
-"desarrollándola en fácil para entender los pasos."
+"Este capítulo es un tutorial introductorio de Hibernate. Comenzamos
"
+"con una aplicación simple de línea de comandos usando un base
"
+"de datos en-memoria y desarrollándola en fácil para entender
"
+"los pasos."
-#. Tag: para
-#: tutorial.xml:18
-#, no-c-format
+#: index.docbook:18
msgid ""
"This tutorial is intended for new users of Hibernate but requires Java and "
"SQL knowledge. It is based on a tutorial by Michael Gloegl, the third-party "
"libraries we name are for JDK 1.4 and 5.0. You might need others for JDK
1.3."
msgstr ""
-"Este tutorial está concebido para usuarios nuevos de Hibernate pero requiere
"
-"conocimiento en Java y SQL. Está basado en un tutorial de Michael Gloegl. "
-"Las bibliotecas de terceros que mencionamos son para JDK 1.4 y 5.0. Podrías "
-"necesitar otras para JDK 1.3."
+"Este tutorial está concebido para usuarios nuevos de Hibernate pero
"
+"requiere conocimiento en Java y SQL. Está basado en un tutorial de
"
+"Michael Gloegl. Las bibliotecas de terceros que mencionamos son para JDK 1.4
"
+"y 5.0. Podrías necesitar otras para JDK 1.3."
-#. Tag: para
-#: tutorial.xml:24
-#, no-c-format
+#: index.docbook:24
msgid ""
"The source code for the tutorial is included in the distribution in the "
"<literal>doc/reference/tutorial/</literal> directory."
@@ -57,37 +43,29 @@
"UNTRANSLATED!!! The source code for the tutorial is included in the "
"distribution in the <literal>doc/reference/tutorial/</literal>
directory."
-#. Tag: title
-#: tutorial.xml:32
-#, no-c-format
+#: index.docbook:32
msgid "Part 1 - The first Hibernate Application"
-msgstr "Parte 1 - La primera Aplicación Hibernate"
+msgstr "Parte 1 - La primera Aplicación Hibernate"
-#. Tag: para
-#: tutorial.xml:34
-#, no-c-format
+#: index.docbook:34
msgid ""
"First, we'll create a simple console-based Hibernate application. We use an
"
"Java database (HSQL DB), so we do not have to install any database server."
msgstr ""
-"Primero, crearemos una aplicación simple de Hibenate basada en consola. "
-"Usamos usamos una base de datos en-memoria (HSQL DB), de modo que no "
-"necesitamos instalar ningún servidor de base de datos."
+"Primero, crearemos una aplicación simple de Hibenate basada en "
+"consola. Usamos usamos una base de datos en-memoria (HSQL DB), de modo que "
+"no necesitamos instalar ningún servidor de base de datos."
-#. Tag: para
-#: tutorial.xml:39
-#, no-c-format
+#: index.docbook:39
msgid ""
"Let's assume we need a small database application that can store events we
"
"want to attend, and information about the hosts of these events."
msgstr ""
-"Asumamos que necesitamos una aplicación pequeña de base de datos que pueda "
-"almacenar eventos que queremos atender, e información acerca de los hostales
"
-"de estos eventos."
+"Asumamos que necesitamos una aplicación pequeña de base de
"
+"datos que pueda almacenar eventos que queremos atender, e información
"
+"acerca de los hostales de estos eventos."
-#. Tag: para
-#: tutorial.xml:44
-#, no-c-format
+#: index.docbook:44
msgid ""
"The first thing we do, is set up our development directory and put all the "
"Java libraries we need into it. Download the Hibernate distribution from the
"
@@ -97,15 +75,13 @@
"this:"
msgstr ""
"La primera cosa que hacemos, es armar nuestro directorio de desarrollo y "
-"poner en él todas las bibliotecas Java que necesitamos. Descarga la "
-"distribución de Hibernate del sitio web de Hibernate. Extrae el paquete y "
-"coloca todas las bibliotecas requeridas encontradas en
<literal>/lib</"
-"literal> dentro del directorio <literal>/lib</literal> de nuestro
nuevo "
+"poner en él todas las bibliotecas Java que necesitamos. Descarga la
"
+"distribución de Hibernate del sitio web de Hibernate. Extrae el "
+"paquete y coloca todas las bibliotecas requeridas encontradas en
<literal>/"
+"lib</literal> dentro del directorio <literal>/lib</literal> de
nuestro nuevo "
"directorio de desarrollo de trabajo. Debe asemejarse a esto:"
-#. Tag: programlisting
-#: tutorial.xml:52
-#, no-c-format
+#: index.docbook:52
msgid ""
"<![CDATA[.\n"
"+lib\n"
@@ -120,10 +96,21 @@
" dom4j.jar\n"
" log4j.jar ]]>"
msgstr ""
+"<![CDATA[.\n"
+"+lib\n"
+" antlr.jar\n"
+" cglib-full.jar\n"
+" asm.jar\n"
+" asm-attrs.jars\n"
+" commons-collections.jar\n"
+" commons-logging.jar\n"
+" ehcache.jar\n"
+" hibernate3.jar\n"
+" jta.jar\n"
+" dom4j.jar\n"
+" log4j.jar ]]>"
-#. Tag: para
-#: tutorial.xml:54
-#, no-c-format
+#: index.docbook:54
msgid ""
"This is the minimum set of required libraries (note that we also copied "
"hibernate3.jar, the main archive) for Hibernate <emphasis>at the time of
"
@@ -133,16 +120,15 @@
"information about required and optional third-party libraries. (Actually, "
"Log4j is not required but preferred by many developers.)"
msgstr ""
-"Este es el conjunto mínimo de bibliotecas requeridas para Hibernate (observa
"
-"que también hemos copiado hibernate3.jar, el fichero principal). Ver el "
-"fichero <literal>README.txt</literal> en el directorio
<literal>lib/</"
-"literal> de la distribución de Hibernate para más información sobre "
-"bibliotecas de terceros requeridas y opcionales. (Realmente, Log4J no es "
-"requerida aunque preferida por muchos desarrolladores)."
+"Este es el conjunto mínimo de bibliotecas requeridas para Hibernate
"
+"(observa que también hemos copiado hibernate3.jar, el fichero "
+"principal). Ver el fichero <literal>README.txt</literal> en el
directorio "
+"<literal>lib/</literal> de la distribución de Hibernate para
má"
+"s información sobre bibliotecas de terceros requeridas y opcionales.
"
+"(Realmente, Log4J no es requerida aunque preferida por muchos "
+"desarrolladores)."
-#. Tag: para
-#: tutorial.xml:63
-#, no-c-format
+#: index.docbook:63
msgid ""
"Next we create a class that represents the event we want to store in "
"database."
@@ -150,24 +136,18 @@
"Por siguiente, creamos una clase que represente el evento que queremos "
"almacenar en base de datos."
-#. Tag: title
-#: tutorial.xml:68
-#, no-c-format
+#: index.docbook:68
msgid "The first class"
msgstr "La primera clase"
-#. Tag: para
-#: tutorial.xml:70
-#, no-c-format
+#: index.docbook:70
msgid ""
"Our first persistent class is a simple JavaBean class with some properties:"
msgstr ""
"Nuestra primera clase persistente es un JavaBean simple con algunas "
"propiedades:"
-#. Tag: programlisting
-#: tutorial.xml:74
-#, no-c-format
+#: index.docbook:74
msgid ""
"<![CDATA[package events;\n"
"\n"
@@ -206,10 +186,42 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[import java.util.Date;\n"
+"\n"
+"public class Event {\n"
+" private Long id;\n"
+"\n"
+" private String title;\n"
+" private Date date;\n"
+"\n"
+" Event() {}\n"
+"\n"
+" public Long getId() {\n"
+" return id;\n"
+" }\n"
+"\n"
+" private void setId(Long id) {\n"
+" this.id = id;\n"
+" }\n"
+"\n"
+" public Date getDate() {\n"
+" return date;\n"
+" }\n"
+"\n"
+" public void setDate(Date date) {\n"
+" this.date = date;\n"
+" }\n"
+"\n"
+" public String getTitle() {\n"
+" return title;\n"
+" }\n"
+"\n"
+" public void setTitle(String title) {\n"
+" this.title = title;\n"
+" }\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:76
-#, no-c-format
+#: index.docbook:76
msgid ""
"You can see that this class uses standard JavaBean naming conventions for "
"property getter and setter methods, as well as private visibility for the "
@@ -218,15 +230,14 @@
"refactoring. The no-argument constructor is required to instantiate an "
"object of this class through reflection."
msgstr ""
-"Puedes ver que esta clase usa las convenciones de nombrado estándar de "
-"JavaBean para métodos getter y setter de propiedad, así como visibilidad "
-"privada para los campos. Esto es un diseño recomendado, aunque no requerido.
"
-"Hibernate también puede acceder a los campos directamente; el beneficio de "
-"los métodos de acceso es la robustez para la refactorización."
+"Puedes ver que esta clase usa las convenciones de nombrado estándar
"
+"de JavaBean para métodos getter y setter de propiedad, así
"
+"como visibilidad privada para los campos. Esto es un diseño "
+"recomendado, aunque no requerido. Hibernate también puede acceder a
"
+"los campos directamente; el beneficio de los métodos de acceso es la
"
+"robustez para la refactorización."
-#. Tag: para
-#: tutorial.xml:84
-#, no-c-format
+#: index.docbook:84
msgid ""
"The <literal>id</literal> property holds a unique identifier value for
a "
"particular event. All persistent entity classes (there are less important "
@@ -240,23 +251,23 @@
"methods, as well as (public, private, protected) fields directly. The choice
"
"is up to you and you can match it to fit your application design."
msgstr ""
-"La propiedad <literal>id</literal> tiene un valor único de
identificador "
-"para un evento en particular. Todas las clase de entidad persistentes "
-"( también hay clases dependientes menos importantes) necesitarán una "
-"propiedad identificadora similar si queremos usar el conjunto completo de "
-"funcionalidades de Hibernate. De hecho, la mayoría de las aplicaciones (esp.
"
-"aplicaciones web) necesitan distinguir objetos por identificador, de modo "
-"que debes considerar esto como un aspecto en vez de una limitación. Sin "
-"embargo, usualmente no manipulamos la identidad de un objeto, por lo tanto "
-"el método setter debe ser privado. Sólo Hibernate asignará identificadores "
-"cuando un objeto sea salvado. Puedes ver que Hibernate puede acceder a "
-"métodos de acceso públicos, privados y protegidos, tanto como directamente a
"
-"campos (públicos, privados y protegidos). La elección está en ti, y puedes "
-"ajustarla a tu diseño de aplicación."
+"La propiedad <literal>id</literal> tiene un valor único de
"
+"identificador para un evento en particular. Todas las clase de entidad "
+"persistentes ( también hay clases dependientes menos importantes)
"
+"necesitarán una propiedad identificadora similar si queremos usar el
"
+"conjunto completo de funcionalidades de Hibernate. De hecho, la
mayorí"
+"a de las aplicaciones (esp. aplicaciones web) necesitan distinguir objetos "
+"por identificador, de modo que debes considerar esto como un aspecto en vez "
+"de una limitación. Sin embargo, usualmente no manipulamos la "
+"identidad de un objeto, por lo tanto el método setter debe ser "
+"privado. Sólo Hibernate asignará identificadores cuando un
"
+"objeto sea salvado. Puedes ver que Hibernate puede acceder a métodos
"
+"de acceso públicos, privados y protegidos, tanto como directamente a
"
+"campos (públicos, privados y protegidos). La elección "
+"está en ti, y puedes ajustarla a tu diseño de
aplicació"
+"n."
-#. Tag: para
-#: tutorial.xml:96
-#, no-c-format
+#: index.docbook:96
msgid ""
"The no-argument constructor is a requirement for all persistent classes; "
"Hibernate has to create objects for you, using Java Reflection. The "
@@ -265,26 +276,23 @@
"instrumentation."
msgstr ""
"El constructor sin argumentos es un requerimiento para todas las clases "
-"persistentes. Hibernate tiene que crear objetos para ti, usando reflección "
-"Java. El constructor puede ser privado, sin embargo, la visibilidad de "
-"paquete es requerida para la generación de proxies en tiempo de ejecución y "
-"la recuperación de datos sin instrumentación del bytecode."
+"persistentes. Hibernate tiene que crear objetos para ti, usando "
+"reflección Java. El constructor puede ser privado, sin embargo, la
"
+"visibilidad de paquete es requerida para la generación de proxies en
"
+"tiempo de ejecución y la recuperación de datos sin "
+"instrumentación del bytecode."
-#. Tag: para
-#: tutorial.xml:103
-#, no-c-format
+#: index.docbook:103
msgid ""
"Place this Java source file in a directory called
<literal>src</literal> in "
"the development folder, and in its correct package. The directory should now
"
"look like this:"
msgstr ""
-"Coloca este fichero de código Java en un directorio llamado
<literal>src</"
-"literal> en la carpeta de desarrollo. El directorio ahora debe verse como
"
-"esto:"
+"Coloca este fichero de código Java en un directorio llamado "
+"<literal>src</literal> en la carpeta de desarrollo. El directorio ahora
debe "
+"verse como esto:"
-#. Tag: programlisting
-#: tutorial.xml:108
-#, no-c-format
+#: index.docbook:108
msgid ""
"<![CDATA[.\n"
"+lib\n"
@@ -293,43 +301,39 @@
" +events\n"
" Event.java]]>"
msgstr ""
+"<![CDATA[.\n"
+"+lib\n"
+" <Hibernate and third-party libraries>\n"
+"+src\n"
+" Event.java]]>"
-#. Tag: para
-#: tutorial.xml:110
-#, no-c-format
+#: index.docbook:110
msgid "In the next step, we tell Hibernate about this persistent class."
msgstr ""
-"En el próximo paso, le decimos a Hibernate sobre esta clase persistente."
+"En el próximo paso, le decimos a Hibernate sobre esta clase "
+"persistente."
-#. Tag: title
-#: tutorial.xml:117
-#, no-c-format
+#: index.docbook:117
msgid "The mapping file"
msgstr "El fichero de mapeo"
-#. Tag: para
-#: tutorial.xml:119
-#, no-c-format
+#: index.docbook:119
msgid ""
"Hibernate needs to know how to load and store objects of the persistent "
"class. This is where the Hibernate mapping file comes into play. The mapping
"
"file tells Hibernate what table in the database it has to access, and what "
"columns in that table it should use."
msgstr ""
-"Hibernate necesita saber cómo cargar y almacenar objetos de la clase "
-"persistente. Aquí es donde el fichero de mapeo de Hibernate entra en juego. "
-"El fichero de mapeo le dice a Hibernate a qué tabla en la base de datos "
-"tiene que acceder, y qué columnas en esta tabla debe usar."
+"Hibernate necesita saber cómo cargar y almacenar objetos de la clase
"
+"persistente. Aquí es donde el fichero de mapeo de Hibernate entra en
"
+"juego. El fichero de mapeo le dice a Hibernate a qué tabla en la base
"
+"de datos tiene que acceder, y qué columnas en esta tabla debe
usar."
-#. Tag: para
-#: tutorial.xml:126
-#, no-c-format
+#: index.docbook:126
msgid "The basic structure of a mapping file looks like this:"
-msgstr "La estructura básica de un fichero de mapeo se parece a esto:"
+msgstr "La estructura básica de un fichero de mapeo se parece a
esto:"
-#. Tag: programlisting
-#: tutorial.xml:130
-#, no-c-format
+#: index.docbook:130
msgid ""
"<![CDATA[<?xml version=\"1.0\"?>\n"
"<!DOCTYPE hibernate-mapping PUBLIC\n"
@@ -340,10 +344,16 @@
"[...]\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+" \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+"
\"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping>\n"
+"[...]\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: tutorial.xml:132
-#, no-c-format
+#: index.docbook:132
msgid ""
"Note that the Hibernate DTD is very sophisticated. You can use it for auto-"
"completion of XML mapping elements and attributes in your editor or IDE. You
"
@@ -355,28 +365,25 @@
"the <literal>src/</literal> directory of the Hibernate
distribution."
msgstr ""
"Observa que el DTD de Hibernate es muy sofisticado. Puedes usarlo para "
-"autocompleción de los elementos y atributos XML de mapeo en tu editor o IDE.
"
-"Debes también abrir el fichero DTD en tu editor de texto. Es la forma más "
-"fácil para tener un panorama de todos los elementos y atributos y ver los "
-"valores por defectos, así como algunos comentarios. Nota que Hibernate no "
-"cargará el fichero DTD de la web, sino que primero buscará en el classpath "
-"de la aplicación. El fichero DTD está incluído en
<literal>hibernate3.jar</"
-"literal> así como también en el directorio <literal>src/</literal>
de la "
-"distribución de Hibernate."
+"autocompleción de los elementos y atributos XML de mapeo en tu editor
"
+"o IDE. Debes también abrir el fichero DTD en tu editor de texto. Es
"
+"la forma más fácil para tener un panorama de todos los
"
+"elementos y atributos y ver los valores por defectos, así como "
+"algunos comentarios. Nota que Hibernate no cargará el fichero DTD de
"
+"la web, sino que primero buscará en el classpath de la "
+"aplicación. El fichero DTD está incluído en
"
+"<literal>hibernate3.jar</literal> así como
también en el "
+"directorio <literal>src/</literal> de la distribución de
Hibernate."
-#. Tag: para
-#: tutorial.xml:143
-#, no-c-format
+#: index.docbook:143
msgid ""
"We will omit the DTD declaration in future examples to shorten the code. It "
"is of course not optional."
msgstr ""
-"Omitiremos la declaración de DTD en futuros ejemplos para acortar el código.
"
-"Por supuesto, no es opcional."
+"Omitiremos la declaración de DTD en futuros ejemplos para acortar el
"
+"código. Por supuesto, no es opcional."
-#. Tag: para
-#: tutorial.xml:148
-#, no-c-format
+#: index.docbook:148
msgid ""
"Between the two <literal>hibernate-mapping</literal> tags, include a
"
"<literal>class</literal> element. All persistent entity classes (again,
"
@@ -385,13 +392,11 @@
msgstr ""
"Entre las dos etiquetas <literal>hibernate-mapping</literal>, incluye
un "
"elemento <literal>class</literal>. Todas las clases de entidad
persistentes "
-"(de nuevo, podría haber más adelante clases dependientes, que no sean "
-"entidades de-primera-clase) necesitan dicho mapeo a una tabla en la base de "
-"datos SQL:"
+"(de nuevo, podría haber más adelante clases dependientes, que
"
+"no sean entidades de-primera-clase) necesitan dicho mapeo a una tabla en la "
+"base de datos SQL:"
-#. Tag: programlisting
-#: tutorial.xml:155
-#, no-c-format
+#: index.docbook:155
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -401,10 +406,15 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Event\" table=\"EVENTS\">\n"
+"\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: tutorial.xml:157
-#, no-c-format
+#: index.docbook:157
msgid ""
"So far we told Hibernate how to persist and load object of class "
"<literal>Event</literal> to the table
<literal>EVENTS</literal>, each "
@@ -414,17 +424,15 @@
"Hibernate's identifier generation strategy for a surrogate primary key "
"column:"
msgstr ""
-"Hasta ahora dijimos a Hibernate cómo persistir y cargar el objeto de clase "
-"<literal>Event</literal> a la tabla
<literal>EVENTS</literal>, cada "
+"Hasta ahora dijimos a Hibernate cómo persistir y cargar el objeto de
"
+"clase <literal>Event</literal> a la tabla
<literal>EVENTS</literal>, cada "
"instancia representada por una fila en esta tabla. Ahora continuamos con un "
-"mapeo de la propiedad de identificado único a la clave primaria de la tabla.
"
-"Además, como no queremos cuidar del manejo de este identificador, "
-"configuramos la estrategia de generación de identificadores para una columna
"
-"clave primaria delegada:"
+"mapeo de la propiedad de identificado único a la clave primaria de la
"
+"tabla. Además, como no queremos cuidar del manejo de este "
+"identificador, configuramos la estrategia de generación de "
+"identificadores para una columna clave primaria delegada:"
-#. Tag: programlisting
-#: tutorial.xml:165
-#, no-c-format
+#: index.docbook:165
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -436,10 +444,17 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Event\" table=\"EVENTS\">\n"
+" <id name=\"id\" column=\"EVENT_ID\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: tutorial.xml:167
-#, no-c-format
+#: index.docbook:167
msgid ""
"The <literal>id</literal> element is the declaration of the identifer
"
"property, <literal>name=\"id\"</literal> declares the name of
the Java "
@@ -452,33 +467,31 @@
"supports database generated, globally unique, as well as application "
"assigned identifiers (or any strategy you have written an extension for)."
msgstr ""
-"El elemento <literal>id</literal> el la declaración de la propiedad
"
+"El elemento <literal>id</literal> el la declaración de la
propiedad "
"identificadora, <literal>name=\"id\"</literal> declara el
nombre de la "
-"propiedad Java. Hibernate usará los métodos getter y setter para acceder a "
-"la propiedad. El attributo de columna dice a Hibernate cuál columna de la "
-"tabla <literal>EVENTS</literal> usamos para esta clave primaria. El
elemento "
-"anidado <literal>generator</literal> especifica la estrategia de
generación "
-"de identificadores, en este caso usamos <literal>increment</literal>,
que es "
-"un método muy simple de incremento de número en-memoria útil mayormente para
"
-"testeo (y tutoriales). Hibernate también soporta identificadores generados "
-"por base de datos, globalmente únicos, así como también asignados por "
-"aplicación (o cualquier estrategia para la que hayas escrito una extensión)."
+"propiedad Java. Hibernate usará los métodos getter y setter
"
+"para acceder a la propiedad. El attributo de columna dice a Hibernate "
+"cuál columna de la tabla <literal>EVENTS</literal> usamos
para esta "
+"clave primaria. El elemento anidado <literal>generator</literal>
especifica "
+"la estrategia de generación de identificadores, en este caso usamos
"
+"<literal>increment</literal>, que es un método muy simple de
"
+"incremento de número en-memoria útil mayormente para testeo
(y "
+"tutoriales). Hibernate también soporta identificadores generados por
"
+"base de datos, globalmente únicos, así como
también "
+"asignados por aplicación (o cualquier estrategia para la que hayas
"
+"escrito una extensión)."
-#. Tag: para
-#: tutorial.xml:180
-#, no-c-format
+#: index.docbook:180
msgid ""
"Finally we include declarations for the persistent properties of the class "
"in the mapping file. By default, no properties of the class are considered "
"persistent:"
msgstr ""
-"Finalmente incluímos declaraciones para las propiedades persistentes de la "
-"clases en el fichero de mapeo. Por defecto, ninguna propiedad de la clase se
"
-"considera persistente:"
+"Finalmente incluímos declaraciones para las propiedades persistentes
"
+"de la clases en el fichero de mapeo. Por defecto, ninguna propiedad de la "
+"clase se considera persistente:"
-#. Tag: programlisting
-#: tutorial.xml:186
-#, no-c-format
+#: index.docbook:186
msgid ""
"<![CDATA[\n"
"<hibernate-mapping>\n"
@@ -493,10 +506,20 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[\n"
+"<hibernate-mapping>\n"
+"\n"
+" <class name=\"Event\" table=\"EVENTS\">\n"
+" <id name=\"id\" column=\"EVENT_ID\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" <property name=\"date\" type=\"timestamp\"
column=\"EVENT_DATE\"/>\n"
+" <property name=\"title\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: tutorial.xml:188
-#, no-c-format
+#: index.docbook:188
msgid ""
"Just as with the <literal>id</literal> element, the
<literal>name</literal> "
"attribute of the <literal>property</literal> element tells Hibernate
which "
@@ -506,11 +529,9 @@
msgstr ""
"Al igual que con el elemento <literal>id</literal>, el atributo "
"<literal>name</literal> del elemento
<literal>property</literal> dice a "
-"Hibernate cáles métodos getter y setter usar."
+"Hibernate cáles métodos getter y setter usar."
-#. Tag: para
-#: tutorial.xml:195
-#, no-c-format
+#: index.docbook:195
msgid ""
"Why does the <literal>date</literal> property mapping include the
"
"<literal>column</literal> attribute, but the
<literal>title</literal> "
@@ -519,17 +540,15 @@
"<literal>title</literal>. However, <literal>date</literal>
is a reserved "
"keyword in most database, so we better map it to a different name."
msgstr ""
-"¿Por qué el mapeo de la propiedad <literal>date</literal> incluye el
"
+"¿Por qué el mapeo de la propiedad <literal>date</literal>
incluye el "
"atributo <literal>column</literal>, pero el de la de
<literal>title</"
"literal> no? Sin el atributo <literal>column</literal> Hibernate usa
por "
"defecto el nombre de propiedad como nombre de columna. Esto funciona bien "
"para <literal>title</literal>. Sin embargo, However,
<literal>date</literal> "
-"es una palabra reservada en la mayoría de las bases de datos, así que mejor "
-"la mapeamos a un nombre diferente."
+"es una palabra reservada en la mayoría de las bases de datos, "
+"así que mejor la mapeamos a un nombre diferente."
-#. Tag: para
-#: tutorial.xml:204
-#, no-c-format
+#: index.docbook:204
msgid ""
"The next interesting thing is that the <literal>title</literal> mapping
also "
"lacks a <literal>type</literal> attribute. The types we declare and use
in "
@@ -547,25 +566,24 @@
"full date and time information by mapping the property with a "
"<literal>timestamp</literal> converter."
msgstr ""
-"La próxima cosa interesante es que el mapeo de <literal>title</literal>
"
-"carece de un atributo <literal>type</literal>. Los tipos que declaramos
y "
-"usamos en el fichero de mapeo no son, como podrías esperar, tipos de datos "
-"Java. Tampoco son tipos de base de datos SQL. Estos tipos son los llamados "
-"así <emphasis>Tipos de mapeo de Hibernate</emphasis>, convertidores que
"
-"pueden traducir de tipos Java a SQL y vice versa. De nuevo, Hibernate "
-"intentará determinar la conversión y el mapeo mismo de tipo correctos si el "
-"atributo <literal>type</literal> no estuviese presente en el mapeo. En
"
-"algunos casos esta detección automática (usando reflección en la clase Java)
"
-"puede no tener lo que esperas o necesitas. Este es el caso de la propiedad "
-"<literal>date</literal>. Hibernate no puede saber is la propiedad
mapeará a "
-"una columna <literal>date</literal>,
<literal>timestamp</literal> o "
-"<literal>time</literal>. Declaramos que queremos preservar la
información "
-"completa de fecha y hora mapeando la propiedad con un
<literal>timestamp</"
-"literal>."
+"La próxima cosa interesante es que el mapeo de
<literal>title</"
+"literal> carece de un atributo <literal>type</literal>. Los tipos
que "
+"declaramos y usamos en el fichero de mapeo no son, como podrías "
+"esperar, tipos de datos Java. Tampoco son tipos de base de datos SQL. Estos "
+"tipos son los llamados así <emphasis>Tipos de mapeo de
Hibernate</"
+"emphasis>, convertidores que pueden traducir de tipos Java a SQL y vice "
+"versa. De nuevo, Hibernate intentará determinar la conversión
"
+"y el mapeo mismo de tipo correctos si el atributo
<literal>type</literal> no "
+"estuviese presente en el mapeo. En algunos casos esta detección "
+"automática (usando reflección en la clase Java) puede no
tener "
+"lo que esperas o necesitas. Este es el caso de la propiedad
<literal>date</"
+"literal>. Hibernate no puede saber is la propiedad mapeará a una
"
+"columna <literal>date</literal>,
<literal>timestamp</literal> o "
+"<literal>time</literal>. Declaramos que queremos preservar la "
+"información completa de fecha y hora mapeando la propiedad con un
"
+"<literal>timestamp</literal>."
-#. Tag: para
-#: tutorial.xml:220
-#, no-c-format
+#: index.docbook:220
msgid ""
"This mapping file should be saved as <literal>Event.hbm.xml</literal>,
right "
"in the directory next to the <literal>Event</literal> Java class source
"
@@ -574,15 +592,14 @@
"The directory structure should now look like this:"
msgstr ""
"Este fichero de mapeo debe ser salvado como
<literal>Event.hbm.xml</"
-"literal>, justo en el directorio próximo al fichero de código fuente de la
"
-"clase Java <literal>Event</literal>. El nombrado de los ficheros de
mapeo "
-"puede ser arbitrario, sin embargo, el sufijo <literal>hbm.xml</literal>
se "
-"ha vuelto una convención el la comunidad de desarrolladores de Hibernate. La
"
-"estructura de directorio debe ahora verse como esto:"
+"literal>, justo en el directorio próximo al fichero de
código "
+"fuente de la clase Java <literal>Event</literal>. El nombrado de los
"
+"ficheros de mapeo puede ser arbitrario, sin embargo, el sufijo
<literal>hbm."
+"xml</literal> se ha vuelto una convención el la comunidad de
"
+"desarrolladores de Hibernate. La estructura de directorio debe ahora verse "
+"como esto:"
-#. Tag: programlisting
-#: tutorial.xml:228
-#, no-c-format
+#: index.docbook:228
msgid ""
"<![CDATA[.\n"
"+lib\n"
@@ -592,22 +609,22 @@
" Event.java\n"
" Event.hbm.xml]]>"
msgstr ""
+"<![CDATA[.\n"
+"+lib\n"
+" <Hibernate and third-party libraries>\n"
+"+src\n"
+" Event.java\n"
+" Event.hbm.xml]]>"
-#. Tag: para
-#: tutorial.xml:230
-#, no-c-format
+#: index.docbook:230
msgid "We continue with the main configuration of Hibernate."
-msgstr "Continuamos con la configuración principal de Hibernate."
+msgstr "Continuamos con la configuración principal de Hibernate."
-#. Tag: title
-#: tutorial.xml:237
-#, no-c-format
+#: index.docbook:237
msgid "Hibernate configuration"
-msgstr "Configuración de Hibernate"
+msgstr "Configuración de Hibernate"
-#. Tag: para
-#: tutorial.xml:239
-#, no-c-format
+#: index.docbook:239
msgid ""
"We now have a persistent class and its mapping file in place. It is time to "
"configure Hibernate. Before we do this, we will need a database. HSQL DB, a "
@@ -619,13 +636,11 @@
"Tenemos ahora una clase persistente y su fichero de mapeo en su sitio. Es "
"momento de configurar Hibernate. Antes que hagamos esto, necesitaremos una "
"base de datos. HSQL DB, un DBMS SQL en-memoria basado en Java, puede ser "
-"descargado del sitio web de HSQL DB. Realmente, de esta descarga sólo "
+"descargado del sitio web de HSQL DB. Realmente, de esta descarga sólo
"
"necesitas el <literal>hsqldb.jar</literal>. Coloca este fichero en el
"
"directorio <literal>lib/</literal> de la carpeta de desarrollo."
-#. Tag: para
-#: tutorial.xml:247
-#, no-c-format
+#: index.docbook:247
msgid ""
"Create a directory called <literal>data</literal> in the root of the
"
"development directory - this is where HSQL DB will store its data files. Now
"
@@ -636,12 +651,11 @@
"HSQL DB (press <literal>CTRL + C</literal> in the window), delete all
files "
"in the <literal>data/</literal> directory, and start HSQL DB
again."
msgstr ""
-"Crea un directorio llamado <literal>data</literal> en la raíz del
directorio "
-"de desarrollo. Allí es donde HSQL DB almacenará sus ficheros de datos."
+"Crea un directorio llamado <literal>data</literal> en la
raíz del "
+"directorio de desarrollo. Allí es donde HSQL DB almacenará
sus "
+"ficheros de datos."
-#. Tag: para
-#: tutorial.xml:257
-#, no-c-format
+#: index.docbook:257
msgid ""
"Hibernate is the layer in your application which connects to this database, "
"so it needs connection information. The connections are made through a JDBC "
@@ -652,34 +666,32 @@
"pooling settings if you want to use a production-quality third party JDBC "
"pooling software."
msgstr ""
-"Hibernate es la capa en tu aplicación que se conecta a esta base de datos, "
-"de modo que necesita información de conexión. Las conexiones se hacen a "
-"través de un pool de conexiones JDBC, que tambén tenemos que configurar. La "
-"distribución de Hibernate contiene muchas herramientas de pooling de "
-"conexiones JDBC de código abierto, pero para este tutorial usaremos el pool "
-"de conexiones prefabricado dentro de Hibernate. Observa que tienes que "
-"copiar la biblioteca requerida en tu classpath y usar diferentes "
-"configuraciones de pooling de conexiones si quieres usar un software de "
-"pooling JDBC de terceros de calidad de producción."
+"Hibernate es la capa en tu aplicación que se conecta a esta base de
"
+"datos, de modo que necesita información de conexión. Las
"
+"conexiones se hacen a través de un pool de conexiones JDBC, que "
+"tambén tenemos que configurar. La distribución de Hibernate
"
+"contiene muchas herramientas de pooling de conexiones JDBC de código
"
+"abierto, pero para este tutorial usaremos el pool de conexiones prefabricado
"
+"dentro de Hibernate. Observa que tienes que copiar la biblioteca requerida "
+"en tu classpath y usar diferentes configuraciones de pooling de conexiones "
+"si quieres usar un software de pooling JDBC de terceros de calidad de "
+"producción."
-#. Tag: para
-#: tutorial.xml:267
-#, no-c-format
+#: index.docbook:267
msgid ""
"For Hibernate's configuration, we can use a simple
<literal>hibernate."
"properties</literal> file, a slightly more sophisticated
<literal>hibernate."
"cfg.xml</literal> file, or even complete programmatic setup. Most users
"
"prefer the XML configuration file:"
msgstr ""
-"Para la configuración de Hibernate, podemos usar un fichero "
+"Para la configuración de Hibernate, podemos usar un fichero "
"<literal>hibernate.properties</literal> simple, un fichero "
-"<literal>hibernate.cfg.xml</literal> ligeramente más sofisticado, o
incluso "
-"una configuración completamente programática. La mayoría de los usuarios "
-"prefieren el fichero de configuración XML:"
+"<literal>hibernate.cfg.xml</literal> ligeramente más
sofisticado, o "
+"incluso una configuración completamente programática. La
"
+"mayoría de los usuarios prefieren el fichero de configuración
"
+"XML:"
-#. Tag: programlisting
-#: tutorial.xml:273
-#, no-c-format
+#: index.docbook:273
msgid ""
"<![CDATA[<?xml version='1.0' encoding='utf-8'?>\n"
"<!DOCTYPE hibernate-configuration PUBLIC\n"
@@ -725,10 +737,44 @@
"\n"
"</hibernate-configuration>]]>"
msgstr ""
+"<![CDATA[<?xml version='1.0' encoding='utf-8'?>\n"
+"<!DOCTYPE hibernate-configuration PUBLIC\n"
+" \"-//Hibernate/Hibernate Configuration DTD 3.0//EN\"\n"
+"
\"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
+"\">\n"
+"\n"
+"<hibernate-configuration>\n"
+"\n"
+" <session-factory>\n"
+"\n"
+" <!-- Database connection settings -->\n"
+" <property
name=\"connection.driver_class\">org.hsqldb.jdbcDriver</"
+"property>\n"
+" <property
name=\"connection.url\">jdbc:hsqldb:data/tutorial</"
+"property>\n"
+" <property
name=\"connection.username\">sa</property>\n"
+" <property
name=\"connection.password\"></property>\n"
+"\n"
+" <!-- JDBC connection pool (use the built-in) -->\n"
+" <property
name=\"connection.pool_size\">1</property>\n"
+"\n"
+" <!-- SQL dialect -->\n"
+" <property
name=\"dialect\">org.hibernate.dialect.HSQLDialect</"
+"property>\n"
+"\n"
+" <!-- Echo all executed SQL to stdout -->\n"
+" <property name=\"show_sql\">true</property>\n"
+"\n"
+" <!-- Drop and re-create the database schema on startup -->\n"
+" <property
name=\"hbm2ddl.auto\">create</property>\n"
+"\n"
+" <mapping resource=\"Event.hbm.xml\"/>\n"
+"\n"
+" </session-factory>\n"
+"\n"
+"</hibernate-configuration>]]>"
-#. Tag: para
-#: tutorial.xml:275
-#, no-c-format
+#: index.docbook:275
msgid ""
"Note that this XML configuration uses a different DTD. We configure "
"Hibernate's <literal>SessionFactory</literal> - a global factory
responsible "
@@ -736,16 +782,14 @@
"<literal><session-factory></literal> configurations,
usually in "
"several configuration files (for easier startup)."
msgstr ""
-"Observa que esta configuración XML usa un DTD diferente. Configuramos la "
-"<literal>SessionFactory</literal> de Hibernate, una fábrica global
"
+"Observa que esta configuración XML usa un DTD diferente. Configuramos
"
+"la <literal>SessionFactory</literal> de Hibernate, una
fábrica global "
"responsable de una base de datos en particular. Si tienes varias bases de "
"datos, usa varias configuraciones
<literal><session-factory></"
-"literal> , usualmente en varios ficheros de configuración (para un arranque
"
-"más fácil)."
+"literal> , usualmente en varios ficheros de configuración (para un
"
+"arranque más fácil)."
-#. Tag: para
-#: tutorial.xml:283
-#, no-c-format
+#: index.docbook:283
msgid ""
"The first four <literal>property</literal> elements contain the
necessary "
"configuration for the JDBC connection. The dialect
<literal>property</"
@@ -759,38 +803,32 @@
"classes to the configuration."
msgstr ""
"Los primeros cuatro elementos <literal>property</literal> contienen la
"
-"configuración necesaria para la conexión JDBC. El elemento de dialecto "
-"<literal>property</literal> especifica la variante de SQL en particular
que "
-"genera Hibernate. La opción <literal>hbm2ddl.auto</literal> activa la
"
-"generación automática de esquemas de base de datos, directamente en la base "
-"de datos. Esto, por supuesto, puede desactivarse (quitando la opción config)
"
-"o redirigido a un fichero con la ayuda de la tarea de Ant "
-"<literal>SchemaExport</literal>. Finalmente, agregamos el(los)
fichero(s) de "
-"mapeo para clases persistentes."
+"configuración necesaria para la conexión JDBC. El elemento de
"
+"dialecto <literal>property</literal> especifica la variante de SQL en
"
+"particular que genera Hibernate. La opción
<literal>hbm2ddl.auto</"
+"literal> activa la generación automática de esquemas de
base "
+"de datos, directamente en la base de datos. Esto, por supuesto, puede "
+"desactivarse (quitando la opción config) o redirigido a un fichero
"
+"con la ayuda de la tarea de Ant <literal>SchemaExport</literal>.
Finalmente, "
+"agregamos el(los) fichero(s) de mapeo para clases persistentes."
-#. Tag: para
-#: tutorial.xml:296
-#, no-c-format
+#: index.docbook:296
msgid ""
"Copy this file into the source directory, so it will end up in the root of "
"the classpath. Hibernate automatically looks for a file called "
"<literal>hibernate.cfg.xml</literal> in the root of the classpath, on
"
"startup."
msgstr ""
-"Copia este fichero dentro del directorio de código fuente, de modo que "
-"termine ubicado en la raiíz del classpath. Hibernate busca automáticamente "
-"un fichero llamado <literal>hibernate.cfg.xml</literal> en la raíz del
"
-"classpath al arrancar."
+"Copia este fichero dentro del directorio de código fuente, de modo
"
+"que termine ubicado en la raiíz del classpath. Hibernate busca "
+"automáticamente un fichero llamado
<literal>hibernate.cfg.xml</"
+"literal> en la raíz del classpath al arrancar."
-#. Tag: title
-#: tutorial.xml:305
-#, no-c-format
+#: index.docbook:305
msgid "Building with Ant"
msgstr "Construyendo con Ant"
-#. Tag: para
-#: tutorial.xml:307
-#, no-c-format
+#: index.docbook:307
msgid ""
"We'll now build the tutorial with Ant. You will need to have Ant installed -
"
"get it from the <ulink
url=\"http://ant.apache.org/bindownload.cgi\">Ant "
@@ -800,23 +838,20 @@
"buildfile. It will be called <literal>build.xml</literal> and placed
"
"directly in the development directory."
msgstr ""
-"Construiremos ahora el tutorial con Ant. Necesitarás tener Ant instalado. "
-"Obténlo de <ulink
url=\"http://ant.apache.org/bindownload.cgi\">Página de "
-"descarga de Ant</ulink>. No se cubrirá aquí cómo instalar Ant. Por favor
"
-"refiérete al <ulink
url=\"http://ant.apache.org/manual/index.html\"> Manual "
-"de Ant</ulink>. Después que hayas instalado Ant, podemos comenzar a crear el
"
-"buildfile. Será llamado <literal>build.xml</literal> y colocado
directamente "
-"en el directorio de desarrollo."
+"Construiremos ahora el tutorial con Ant. Necesitarás tener Ant "
+"instalado. Obténlo de <ulink
url=\"http://ant.apache.org/bindownload."
+"cgi\">Página de descarga de Ant</ulink>. No se
cubrirá "
+"aquí cómo instalar Ant. Por favor refiérete al
<ulink "
+"url=\"http://ant.apache.org/manual/index.html\"> Manual de
Ant</ulink>. "
+"Después que hayas instalado Ant, podemos comenzar a crear el "
+"buildfile. Será llamado <literal>build.xml</literal> y
colocado "
+"directamente en el directorio de desarrollo."
-#. Tag: para
-#: tutorial.xml:316
-#, no-c-format
+#: index.docbook:316
msgid "A basic build file looks like this:"
msgstr "Reparar Ant"
-#. Tag: programlisting
-#: tutorial.xml:320
-#, no-c-format
+#: index.docbook:320
msgid ""
"<![CDATA[<project name=\"hibernate-tutorial\"
default=\"compile\">\n"
"\n"
@@ -851,26 +886,22 @@
"\n"
"</project>]]>"
msgstr ""
+"Observa que la distribución de Ant está por defecto rota
(como "
+"se describe en el FAQ de Ant) y tiene que ser reparado por ti, por ejemplo, "
+"si quisieras usar JUnit desde dentro de tu fichero de construcción.
"
+"Para hacer que funcione la tarea de JUnit (no lo necesitaremos en este "
+"tutorial), copia junit.jar a <literal>ANT_HOME/lib</literal> o quita el
"
+"trozo de plugin <literal>ANT_HOME/lib/ant-junit.jar</literal>."
-#. Tag: para
-#: tutorial.xml:322
-#, no-c-format
+#: index.docbook:322
msgid ""
"This will tell Ant to add all files in the lib directory ending with "
"<literal>.jar</literal> to the classpath used for compilation. It will
also "
"copy all non-Java source files to the target directory, e.g. configuration "
"and Hibernate mapping files. If you now run Ant, you should get this output:"
-msgstr ""
-"Observa que la distribución de Ant está por defecto rota (como se describe "
-"en el FAQ de Ant) y tiene que ser reparado por ti, por ejemplo, si quisieras
"
-"usar JUnit desde dentro de tu fichero de construcción. Para hacer que "
-"funcione la tarea de JUnit (no lo necesitaremos en este tutorial), copia "
-"junit.jar a <literal>ANT_HOME/lib</literal> o quita el trozo de plugin
"
-"<literal>ANT_HOME/lib/ant-junit.jar</literal>."
+msgstr "Un fichero de construcción básico se ve como
esto:"
-#. Tag: programlisting
-#: tutorial.xml:329
-#, no-c-format
+#: index.docbook:329
msgid ""
"<![CDATA[C:\\hibernateTutorial\\>ant\n"
"Buildfile: build.xml\n"
@@ -884,16 +915,50 @@
"BUILD SUCCESSFUL\n"
"Total time: 1 second ]]>"
msgstr ""
+"<![CDATA[<project name=\"hibernate-tutorial\"
default=\"compile\">\n"
+"\n"
+" <property name=\"sourcedir\"
value=\"${basedir}/src\"/>\n"
+" <property name=\"targetdir\"
value=\"${basedir}/bin\"/>\n"
+" <property name=\"librarydir\"
value=\"${basedir}/lib\"/>\n"
+"\n"
+" <path id=\"libraries\">\n"
+" <fileset dir=\"${librarydir}\">\n"
+" <include name=\"*.jar\"/>\n"
+" </fileset>\n"
+" </path>\n"
+"\n"
+" <target name=\"clean\">\n"
+" <delete dir=\"${targetdir}\"/>\n"
+" <mkdir dir=\"${targetdir}\"/>\n"
+" </target>\n"
+"\n"
+" <target name=\"compile\" depends=\"clean,
copy-resources\">\n"
+" <javac srcdir=\"${sourcedir}\"\n"
+" destdir=\"${targetdir}\"\n"
+" classpathref=\"libraries\"/>\n"
+" </target>\n"
+"\n"
+" <target name=\"copy-resources\">\n"
+" <copy todir=\"${targetdir}\">\n"
+" <fileset dir=\"${sourcedir}\">\n"
+" <exclude name=\"**/*.java\"/>\n"
+" </fileset>\n"
+" </copy>\n"
+" </target>\n"
+"\n"
+"</project>]]>"
-#. Tag: title
-#: tutorial.xml:334
-#, no-c-format
+#: index.docbook:334
msgid "Startup and helpers"
-msgstr "Un fichero de construcción básico se ve como esto:"
+msgstr ""
+"Esto dirá a Ant que agregue todos los ficheros en el directorio lib
"
+"que terminen con <literal>.jar</literal> al classpath usado para la
"
+"compilación. También copiará todos los ficheros
que no "
+"sean código Java al directorio objetivo, por ejemplo, ficheros de
"
+"configuración y mapeos de Hibernate. Si ahora corres Ant, debes "
+"obtener esta salida:"
-#. Tag: para
-#: tutorial.xml:336
-#, no-c-format
+#: index.docbook:336
msgid ""
"It's time to load and store some <literal>Event</literal> objects,
but first "
"we have to complete the setup with some infrastructure code. We have to "
@@ -904,24 +969,26 @@
"single-threaded unit of work, the <literal>SessionFactory</literal> is
a "
"thread-safe global object, instantiated once."
msgstr ""
-"Esto dirá a Ant que agregue todos los ficheros en el directorio lib que "
-"terminen con <literal>.jar</literal> al classpath usado para la
compilación. "
-"También copiará todos los ficheros que no sean código Java al directorio "
-"objetivo, por ejemplo, ficheros de configuración y mapeos de Hibernate. Si "
-"ahora corres Ant, debes obtener esta salida:"
+"<![CDATA[C:\\hibernateTutorial\\>ant\n"
+"Buildfile: build.xml\n"
+"\n"
+"copy-resources:\n"
+" [copy] Copying 2 files to C:\\hibernateTutorial\\bin\n"
+"\n"
+"compile:\n"
+" [javac] Compiling 1 source file to C:\\hibernateTutorial\\bin\n"
+"\n"
+"BUILD SUCCESSFUL\n"
+"Total time: 1 second ]]>"
-#. Tag: para
-#: tutorial.xml:346
-#, no-c-format
+#: index.docbook:346
msgid ""
"We'll create a <literal>HibernateUtil</literal> helper class which
takes "
"care of startup and makes accessing a <literal>SessionFactory</literal>
"
"convenient. Let's have a look at the implementation:"
msgstr "Arranque y ayudantes"
-#. Tag: programlisting
-#: tutorial.xml:352
-#, no-c-format
+#: index.docbook:352
msgid ""
"<![CDATA[package util;\n"
"\n"
@@ -951,10 +1018,18 @@
"\n"
"}]]>"
msgstr ""
+"Es momento de cargar y almacenar algunos objetos
<literal>Event</literal>, "
+"pero primero tenemos que completar la configuración de algún
"
+"código de infraestructura. Tenemos que arrancar Hibernate. Este "
+"arranque incluye construir un objeto <literal>SessionFactory</literal>
"
+"global y almacenarlo en algún sitio de fácil acceso en el
"
+"código de aplicación. Una
<literal>SessionFactory</literal> "
+"puede abrir nuevas <literal>Session</literal>'s. Una
<literal>Session</"
+"literal> representa un unidad de trabajo mono-hebra. La "
+"<literal>SessionFactory</literal> es un objeto global seguro entre
hebras, "
+"instanciado una sola vez."
-#. Tag: para
-#: tutorial.xml:354
-#, no-c-format
+#: index.docbook:354
msgid ""
"This class does not only produce the global
<literal>SessionFactory</"
"literal> in its static initializer (called once by the JVM when the class is
"
@@ -962,19 +1037,14 @@
"as well lookup the <literal>SessionFactory</literal> from JNDI in an
"
"application server."
msgstr ""
-"Es momento de cargar y almacenar algunos objetos
<literal>Event</literal>, "
-"pero primero tenemos que completar la configuración de algún código de "
-"infraestructura. Tenemos que arrancar Hibernate. Este arranque incluye "
-"construir un objeto <literal>SessionFactory</literal> global y
almacenarlo "
-"en algún sitio de fácil acceso en el código de aplicación. Una "
-"<literal>SessionFactory</literal> puede abrir nuevas
<literal>Session</"
-"literal>'s. Una <literal>Session</literal> representa un unidad
de trabajo "
-"mono-hebra. La <literal>SessionFactory</literal> es un objeto global
seguro "
-"entre hebras, instanciado una sola vez."
+"Crearemos una clase de ayuda <literal>HibernateUtil</literal> que cuide
del "
+"arranque y haga conveniente el manejo de <literal>Session</literal>. El
"
+"así llamado patrón <emphasis>Sesión de Hebra
Local "
+"(ThreadLocal Session)</emphasis> es útil aquí;
mantenemos la "
+"unidad de trabajo actual asociada a la hebra actual. Echemos una mirada a la
"
+"implementación:"
-#. Tag: para
-#: tutorial.xml:361
-#, no-c-format
+#: index.docbook:361
msgid ""
"If you give the <literal>SessionFactory</literal> a name in your
"
"configuration file, Hibernate will in fact try to bind it to JNDI after it "
@@ -983,31 +1053,62 @@
"<literal>HibernateService</literal> to JNDI. These advanced options are
"
"discussed in the Hibernate reference documentation."
msgstr ""
-"Crearemos una clase de ayuda <literal>HibernateUtil</literal> que cuide
del "
-"arranque y haga conveniente el manejo de <literal>Session</literal>. El
así "
-"llamado patrón <emphasis>Sesión de Hebra Local (ThreadLocal
Session)</"
-"emphasis> es útil aquí; mantenemos la unidad de trabajo actual asociada a la
"
-"hebra actual. Echemos una mirada a la implementación:"
+"<![CDATA[import org.hibernate.*;\n"
+"import org.hibernate.cfg.*;\n"
+"\n"
+"public class HibernateUtil {\n"
+"\n"
+" public static final SessionFactory sessionFactory;\n"
+"\n"
+" static {\n"
+" try {\n"
+" // Create the SessionFactory from hibernate.cfg.xml\n"
+" sessionFactory = new Configuration().configure()."
+"buildSessionFactory();\n"
+" } catch (Throwable ex) {\n"
+" // Make sure you log the exception, as it might be swallowed\n"
+" System.err.println(\"Initial SessionFactory creation
failed.\" + "
+"ex);\n"
+" throw new ExceptionInInitializerError(ex);\n"
+" }\n"
+" }\n"
+"\n"
+" public static final ThreadLocal session = new ThreadLocal();\n"
+"\n"
+" public static Session currentSession() throws HibernateException {\n"
+" Session s = (Session) session.get();\n"
+" // Open a new Session, if this thread has none yet\n"
+" if (s == null) {\n"
+" s = sessionFactory.openSession();\n"
+" // Store it in the ThreadLocal variable\n"
+" session.set(s);\n"
+" }\n"
+" return s;\n"
+" }\n"
+"\n"
+" public static void closeSession() throws HibernateException {\n"
+" Session s = (Session) session.get();\n"
+" if (s != null)\n"
+" s.close();\n"
+" session.set(null);\n"
+" }\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:370
-#, no-c-format
+#: index.docbook:370
msgid ""
"Place <literal>HibernateUtil.java</literal> in the development source
"
"directory, in a package next to <literal>events</literal>:"
msgstr ""
-"Esta clase no ólo produce la <literal>SessionFactory</literal> global
en su "
-"inicializador static (llamado sólo una vez por la JVM al cargar la clase), "
-"sino que también tiene una variable <literal>ThreadLocal</literal> para
"
-"tener la <literal>Session</literal> para la hebra actual. No importa
cuándo "
-"llames a <literal>HibernateUtil.currentSession()</literal>, siempre
"
-"devolverá la misma unidad de trabajo de Hibernate en la misma hebra. Una "
-"llamada a <literal>HibernateUtil.closeSession()</literal> termina la
unidad "
-"de trabajo actualmente asociada a la hebra."
+"Esta clase no ólo produce la
<literal>SessionFactory</literal> global "
+"en su inicializador static (llamado sólo una vez por la JVM al cargar
"
+"la clase), sino que también tiene una variable
<literal>ThreadLocal</"
+"literal> para tener la <literal>Session</literal> para la hebra
actual. No "
+"importa cuándo llames a
<literal>HibernateUtil.currentSession()</"
+"literal>, siempre devolverá la misma unidad de trabajo de Hibernate
"
+"en la misma hebra. Una llamada a
<literal>HibernateUtil.closeSession()</"
+"literal> termina la unidad de trabajo actualmente asociada a la hebra."
-#. Tag: programlisting
-#: tutorial.xml:375
-#, no-c-format
+#: index.docbook:375
msgid ""
"<![CDATA[.\n"
"+lib\n"
@@ -1022,10 +1123,19 @@
"+data\n"
"build.xml]]>"
msgstr ""
+"Asegúrate de entender el concepto Java de una variable local a una
"
+"hebra antes de usar esta ayuda. Una clase
<literal>HibernateUtil</literal> "
+"más potente puede encontrarse en
<literal>CaveatEmptor</literal>, "
+"http://caveatemptor.hibernate.org/, así como en el libro \"Java
"
+"Persistence with Hibernate\". Observa que esta clase no es necesaria si
"
+"despliegas Hibernate en un servidor de aplicaciones J2EE: una "
+"<literal>Session</literal> será automáticamente
ligada a la "
+"transacción JTA actual, y puedes buscar la
<literal>SessionFactory</"
+"literal> a través de JNDI. Si usas JBoss AS, Hibernate puede ser
"
+"desplegado como un servicio de sistema manejado y automáticamente
"
+"ligará la <literal>SessionFactory</literal> a un nombre
JNDI."
-#. Tag: para
-#: tutorial.xml:377
-#, no-c-format
+#: index.docbook:377
msgid ""
"This should again compile without problems. We finally need to configure a "
"logging system - Hibernate uses commons logging and leaves you the choice "
@@ -1037,56 +1147,49 @@
"verbose output. By default, only Hibernate startup message are shown on "
"stdout."
msgstr ""
-"Asegúrate de entender el concepto Java de una variable local a una hebra "
-"antes de usar esta ayuda. Una clase <literal>HibernateUtil</literal>
más "
-"potente puede encontrarse en <literal>CaveatEmptor</literal>,
http://"
-"caveatemptor.hibernate.org/, así como en el libro \"Java Persistence with
"
-"Hibernate\". Observa que esta clase no es necesaria si despliegas Hibernate
"
-"en un servidor de aplicaciones J2EE: una <literal>Session</literal>
será "
-"automáticamente ligada a la transacción JTA actual, y puedes buscar la "
-"<literal>SessionFactory</literal> a través de JNDI. Si usas JBoss AS,
"
-"Hibernate puede ser desplegado como un servicio de sistema manejado y "
-"automáticamente ligará la <literal>SessionFactory</literal> a un nombre
JNDI."
+"Coloca <literal>HibernateUtil.java</literal> en el directorio de
fuentes de "
+"desarrollo, junto a <literal>Event.java</literal>:"
-#. Tag: para
-#: tutorial.xml:387
-#, no-c-format
+#: index.docbook:387
msgid ""
"The tutorial infrastructure is complete - and we are ready to do some real "
"work with Hibernate."
msgstr ""
-"Coloca <literal>HibernateUtil.java</literal> en el directorio de
fuentes de "
-"desarrollo, junto a <literal>Event.java</literal>:"
+"<![CDATA[.\n"
+"+lib\n"
+" <Hibernate and third-party libraries>\n"
+"+src\n"
+" Event.java\n"
+" Event.hbm.xml\n"
+" HibernateUtil.java\n"
+" hibernate.cfg.xml\n"
+"+data\n"
+"build.xml]]>"
-#. Tag: title
-#: tutorial.xml:395
-#, no-c-format
+#: index.docbook:395
msgid "Loading and storing objects"
msgstr ""
-"Esto también debe compilar sin problemas. Finalmente necesitamos configurar "
-"un sistema de logging (registro). Hibernate usa commons logging y te deja la
"
-"elección entre Log4J y logging de JDK 1.4. La mayoría de los desarrolladores
"
-"prefieren Log4J: copia <literal>log4j.properties</literal> de la
"
-"distribución de Hibernate (está en el directorio
<literal>etc/</literal>) a "
-"tu directorio <literal>src</literal>, junto a
<literal>hibernate.cfg.xml</"
-"literal>. Echa una mirada a la configuración de ejemplo y cambia los ajustes
"
-"si te gusta tener una salida más verborrágica. Por defecto, sólo se muestra "
+"Esto también debe compilar sin problemas. Finalmente necesitamos "
+"configurar un sistema de logging (registro). Hibernate usa commons logging y
"
+"te deja la elección entre Log4J y logging de JDK 1.4. La
mayorí"
+"a de los desarrolladores prefieren Log4J: copia
<literal>log4j.properties</"
+"literal> de la distribución de Hibernate (está en el
"
+"directorio <literal>etc/</literal>) a tu directorio
<literal>src</literal>, "
+"junto a <literal>hibernate.cfg.xml</literal>. Echa una mirada a la
"
+"configuración de ejemplo y cambia los ajustes si te gusta tener una
"
+"salida más verborrágica. Por defecto, sólo se
muestra "
"el mensaje de arranque de Hibernate en la salida."
-#. Tag: para
-#: tutorial.xml:397
-#, no-c-format
+#: index.docbook:397
msgid ""
"Finally, we can use Hibernate to load and store objects. We write an "
"<literal>EventManager</literal> class with a
<literal>main()</literal> "
"method:"
msgstr ""
-"La infraestructura del tutorial está completa, y estamos listos para hacer "
-"algún trabajo real con Hibernate."
+"La infraestructura del tutorial está completa, y estamos listos para
"
+"hacer algún trabajo real con Hibernate."
-#. Tag: programlisting
-#: tutorial.xml:402
-#, no-c-format
+#: index.docbook:402
msgid ""
"<![CDATA[package events;\n"
"import org.hibernate.Session;\n"
@@ -1124,21 +1227,20 @@
" }\n"
"\n"
"}]]>"
-msgstr ""
+msgstr "Cargando y almacenando objetos"
-#. Tag: para
-#: tutorial.xml:404
-#, no-c-format
+#: index.docbook:404
msgid ""
"We create a new <literal>Event</literal> object, and hand it over to
"
"Hibernate. Hibernate now takes care of the SQL and executes
<literal>INSERT</"
"literal>s on the database. Let's have a look at the
<literal>Session</"
"literal> and <literal>Transaction</literal>-handling code before we
run this."
-msgstr "Cargando y almacenando objetos"
+msgstr ""
+"Finalmente, podemos usar Hibernate para cargar y almacenar objetos. "
+"Escribimos una clase <literal>EventManager</literal> con un
método "
+"<literal>main()</literal>:"
-#. Tag: para
-#: tutorial.xml:411
-#, no-c-format
+#: index.docbook:411
msgid ""
"A <literal>Session</literal> is a single unit of work. For now
we'll keep "
"things simple and assume a one-to-one granularity between a Hibernate "
@@ -1147,13 +1249,26 @@
"it could also run with JTA) we use the <literal>Transaction</literal>
API "
"that is available on the Hibernate <literal>Session</literal>."
msgstr ""
-"Finalmente, podemos usar Hibernate para cargar y almacenar objetos. "
-"Escribimos una clase <literal>EventManager</literal> con un método
"
-"<literal>main()</literal>:"
+"<![CDATA[import org.hibernate.Transaction;\n"
+"import org.hibernate.Session;\n"
+"\n"
+"import java.util.Date;\n"
+"\n"
+"public class EventManager {\n"
+"\n"
+" public static void main(String[] args) {\n"
+" EventManager mgr = new EventManager();\n"
+"\n"
+" if (args[0].equals(\"store\")) {\n"
+" mgr.createAndStoreEvent(\"My Event\", new Date());\n"
+" }\n"
+"\n"
+" HibernateUtil.sessionFactory.close();\n"
+" }\n"
+"\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:419
-#, no-c-format
+#: index.docbook:419
msgid ""
"What does <literal>sessionFactory.getCurrentSession()</literal> do?
First, "
"you can call it as many times and anywhere you like, once you get hold of "
@@ -1166,12 +1281,10 @@
"this is not the full picture, you also have to consider scope, when a unit "
"of work begins and when it ends."
msgstr ""
-"Leemos algunos argumentos de la línea de comandos, y si el primer argumento "
-"es \"store\", creamos y almacenamos un nuevo Event:"
+"Leemos algunos argumentos de la línea de comandos, y si el primer
"
+"argumento es \"store\", creamos y almacenamos un nuevo Event:"
-#. Tag: para
-#: tutorial.xml:430
-#, no-c-format
+#: index.docbook:430
msgid ""
"A <literal>Session</literal> begins when it is first needed, when the
first "
"call to <literal>getCurrentSession()</literal> is made. It is then
bound by "
@@ -1185,14 +1298,21 @@
"demarcation code can be separated from data access code, we'll do this later
"
"in this tutorial)."
msgstr ""
-"Creamos un nuevo objeto <literal>Event</literal>, y se lo damos a
Hibernate. "
-"Hibernate cuida ahora del SQL y ejecuta <literal>INSERT</literal>s en
la "
-"base de datos. Echemos una mirada al código de manejo de
<literal>Session</"
-"literal> y <literal>Transaction</literal> antes de ejecutar
esto."
+"<![CDATA[private void createAndStoreEvent(String title, Date theDate) {\n"
+" Session session = HibernateUtil.currentSession();\n"
+" Transaction tx = session.beginTransaction();\n"
+"\n"
+" Event theEvent = new Event();\n"
+" theEvent.setTitle(title);\n"
+" theEvent.setDate(theDate);\n"
+"\n"
+" session.save(theEvent);\n"
+"\n"
+" tx.commit();\n"
+" HibernateUtil.closeSession();\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:441
-#, no-c-format
+#: index.docbook:441
msgid ""
"Related to the unit of work scope, should the Hibernate
<literal>Session</"
"literal> be used to execute one or several database operations? The above
"
@@ -1205,53 +1325,53 @@
"trivial) examples, consider <emphasis>session-per-operation</emphasis>
an "
"anti-pattern. A real (web) application is shown later in this tutorial."
msgstr ""
-"Una <literal>Session</literal> es una sola unidad de trabajo. Podría
"
-"sorprenderte que tengamos una API adicional,
<literal>Transaction</literal>. "
-"Esto implica que una unidad de trabajo puede ser \"más larga\" que una
sola "
-"transacción de base de datos; imagina una unidad de trabajo que se abarca "
-"varios ciclos petición/respuesta HTTP (por ejemplo, un diálogo asistente) en
"
-"una aplicación web. Separar las transacciones de base de datos de \"las
"
-"unidades de trabajo de la aplicación desde el punto de vista del usuario\"
"
-"es uno de los conceptos básicos de diseño de Hibernate. Llamamos una unidad "
-"de trabajo larga <emphasis>Transacción de Aplicación</emphasis>,
usualmente "
-"encapsulando varias transacciones de base de datos más cortas. Por ahora "
-"mantendremos las cosas simples y asumiremos una granularidad uno-a-uno entre
"
-"una <literal>Session</literal> y una
<literal>Transaction</literal>."
+"Creamos un nuevo objeto <literal>Event</literal>, y se lo damos a
Hibernate. "
+"Hibernate cuida ahora del SQL y ejecuta <literal>INSERT</literal>s en
la "
+"base de datos. Echemos una mirada al código de manejo de "
+"<literal>Session</literal> y <literal>Transaction</literal>
antes de "
+"ejecutar esto."
-#. Tag: para
-#: tutorial.xml:452
-#, no-c-format
+#: index.docbook:452
msgid ""
"Have a look at <xref linkend=\"transactions\"/> for more
information about "
"transaction handling and demarcation. We also skipped any error handling and
"
"rollback in the previous example."
msgstr ""
-"¿Qué es lo que hacen <literal>Transaction.begin()</literal> y
<literal>commit"
-"()</literal>? ¿Dónde está el rollback en caso que algo vaya mal? La API de
"
-"<literal>Transaction</literal> de Hibernate es opcional realmente, pero
la "
-"usamos por conveniencia y portabilidad. Si manejases la transacción de base "
-"de datos por ti mismo (por ejemplo, llamando a
<literal>session.connection."
-"commit()</literal>), ligarías el código a un entorno de despliegue "
-"particular, en este JDBC directo no manejado. Estableciendo la fábrica de "
-"<literal>Transaction</literal> en tu configuración de Hibernate puedes
"
-"desplegar tu capa de persistencia en cualquier sitio. Echa una mirada al "
-"<xref linkend=\"transactions\"/> para más información sobre manejo
y "
-"demarcación de transacciones. Hemos saltado también cualquier manejo de "
-"excepciones y rollback en este ejemplo."
+"Una <literal>Session</literal> es una sola unidad de trabajo.
Podría "
+"sorprenderte que tengamos una API adicional,
<literal>Transaction</literal>. "
+"Esto implica que una unidad de trabajo puede ser \"más larga\"
que "
+"una sola transacción de base de datos; imagina una unidad de trabajo
"
+"que se abarca varios ciclos petición/respuesta HTTP (por ejemplo, un
"
+"diálogo asistente) en una aplicación web. Separar las "
+"transacciones de base de datos de \"las unidades de trabajo de la "
+"aplicación desde el punto de vista del usuario\" es uno de los
"
+"conceptos básicos de diseño de Hibernate. Llamamos una unidad
"
+"de trabajo larga <emphasis>Transacción de
Aplicación</"
+"emphasis>, usualmente encapsulando varias transacciones de base de datos "
+"más cortas. Por ahora mantendremos las cosas simples y asumiremos una
"
+"granularidad uno-a-uno entre una <literal>Session</literal> y una
"
+"<literal>Transaction</literal>."
-#. Tag: para
-#: tutorial.xml:458
-#, no-c-format
+#: index.docbook:458
msgid ""
"To run this first routine we have to add a callable target to the Ant build "
"file:"
msgstr ""
-"Para ejecutar la primera rutina tenemos que agregar un objetivo llamable al "
-"fichero de construcción de Ant:"
+"¿Qué es lo que hacen <literal>Transaction.begin()</literal>
y "
+"<literal>commit()</literal>? ¿Dónde está el
rollback en caso "
+"que algo vaya mal? La API de <literal>Transaction</literal> de
Hibernate es "
+"opcional realmente, pero la usamos por conveniencia y portabilidad. Si "
+"manejases la transacción de base de datos por ti mismo (por ejemplo,
"
+"llamando a <literal>session.connection.commit()</literal>),
ligarías "
+"el código a un entorno de despliegue particular, en este JDBC directo
"
+"no manejado. Estableciendo la fábrica de
<literal>Transaction</"
+"literal> en tu configuración de Hibernate puedes desplegar tu capa de
"
+"persistencia en cualquier sitio. Echa una mirada al <xref linkend="
+"\"transactions\"/> para más información sobre
manejo y "
+"demarcación de transacciones. Hemos saltado también cualquier
"
+"manejo de excepciones y rollback en este ejemplo."
-#. Tag: programlisting
-#: tutorial.xml:462
-#, no-c-format
+#: index.docbook:462
msgid ""
"<![CDATA[<target name=\"run\"
depends=\"compile\">\n"
" <java fork=\"true\" classname=\"events.EventManager\"
classpathref="
@@ -1261,70 +1381,65 @@
" </java>\n"
"</target>]]>"
msgstr ""
+"Para ejecutar la primera rutina tenemos que agregar un objetivo llamable al "
+"fichero de construcción de Ant:"
-#. Tag: para
-#: tutorial.xml:464
-#, no-c-format
+#: index.docbook:464
msgid ""
"The value of the <literal>action</literal> argument is set on the
command "
"line when calling the target:"
msgstr ""
-"El valor del argumento <literal>action</literal> es establecido por
línea de "
-"comandos al llamar al objetivo:"
+"<![CDATA[<target name=\"run\"
depends=\"compile\">\n"
+" <java fork=\"true\" classname=\"EventManager\"
classpathref=\"libraries"
+"\">\n"
+" <classpath path=\"${targetdir}\"/>\n"
+" <arg value=\"${action}\"/>\n"
+" </java>\n"
+"</target>]]>"
-#. Tag: programlisting
-#: tutorial.xml:469
-#, no-c-format
+#: index.docbook:469
msgid "<![CDATA[C:\\hibernateTutorial\\>ant run -Daction=store]]>"
msgstr ""
+"El valor del argumento <literal>action</literal> es establecido por
lí"
+"nea de comandos al llamar al objetivo:"
-#. Tag: para
-#: tutorial.xml:471
-#, no-c-format
+#: index.docbook:471
msgid ""
"You should see, after compilation, Hibernate starting up and, depending on "
"your configuration, lots of log output. At the end you will find the "
"following line:"
-msgstr ""
-"Debes ver, después de la compilación, a Hibernate arrancando y, dependiendo "
-"de tu configuración mucha salida de registro (log). Al final encontrarás la "
-"siguiente línea:"
+msgstr "<![CDATA[C:\\hibernateTutorial\\>ant run -Daction=store]]>"
-#. Tag: programlisting
-#: tutorial.xml:476
-#, no-c-format
+#: index.docbook:476
msgid ""
"<![CDATA[[java] Hibernate: insert into EVENTS (EVENT_DATE, title, EVENT_ID)
"
"values (?, ?, ?)]]>"
msgstr ""
+"Debes ver, después de la compilación, a Hibernate arrancando
"
+"y, dependiendo de tu configuración mucha salida de registro (log). Al
"
+"final encontrarás la siguiente línea:"
-#. Tag: para
-#: tutorial.xml:478
-#, no-c-format
+#: index.docbook:478
msgid ""
"This is the <literal>INSERT</literal> executed by Hibernate, the
question "
"marks represent JDBC bind parameters. To see the values bound as arguments, "
"or to reduce the verbosity of the log, check your
<literal>log4j.properties</"
"literal>."
msgstr ""
-"Esta es la <literal>INSERT</literal> ejecutada por Hibernate, los
signos de "
-"preguntas representan parámetros de ligado JDBC. Para ver los valores "
-"ligados como argumentos, o para reducir la verborragia del registro, chequea
"
-"tu <literal>log4j.properties</literal>."
+"<![CDATA[[java] Hibernate: insert into EVENTS (EVENT_DATE, title, EVENT_ID)
"
+"values (?, ?, ?)]]>"
-#. Tag: para
-#: tutorial.xml:484
-#, no-c-format
+#: index.docbook:484
msgid ""
"Now we'd like to list stored events as well, so we add an option to the main
"
"method:"
msgstr ""
-"Ahora quisiéramos listar acontecimientos almacenados también, así que "
-"agregamos una opción al método principal:"
+"Esta es la <literal>INSERT</literal> ejecutada por Hibernate, los
signos de "
+"preguntas representan parámetros de ligado JDBC. Para ver los valores
"
+"ligados como argumentos, o para reducir la verborragia del registro, chequea
"
+"tu <literal>log4j.properties</literal>."
-#. Tag: programlisting
-#: tutorial.xml:488
-#, no-c-format
+#: index.docbook:488
msgid ""
"<![CDATA[if (args[0].equals(\"store\")) {\n"
" mgr.createAndStoreEvent(\"My Event\", new Date());\n"
@@ -1338,16 +1453,25 @@
" }\n"
"}]]>"
msgstr ""
+"Ahora quisiéramos listar acontecimientos almacenados también,
"
+"así que agregamos una opción al método
principal:"
-#. Tag: para
-#: tutorial.xml:490
-#, no-c-format
+#: index.docbook:490
msgid "We also add a new <literal>listEvents() method</literal>:"
-msgstr "Agregamos también un nuevo método
<literal>listEvents()</literal>:"
+msgstr ""
+"<![CDATA[if (args[0].equals(\"store\")) {\n"
+" mgr.createAndStoreEvent(\"My Event\", new Date());\n"
+"}\n"
+"else if (args[0].equals(\"list\")) {\n"
+" List events = mgr.listEvents();\n"
+" for (int i = 0; i < events.size(); i++) {\n"
+" Event theEvent = (Event) events.get(i);\n"
+" System.out.println(\"Event: \" + theEvent.getTitle() +\n"
+" \" Time: \" + theEvent.getDate());\n"
+" }\n"
+"}]]>"
-#. Tag: programlisting
-#: tutorial.xml:494
-#, no-c-format
+#: index.docbook:494
msgid ""
"<![CDATA[private List listEvents() {\n"
"\n"
@@ -1363,10 +1487,10 @@
" return result;\n"
"}]]>"
msgstr ""
+"Agregamos también un nuevo método
<literal>listEvents()</"
+"literal>:"
-#. Tag: para
-#: tutorial.xml:496
-#, no-c-format
+#: index.docbook:496
msgid ""
"What we do here is use an HQL (Hibernate Query Language) query to load all "
"existing <literal>Event</literal> objects from the database. Hibernate
will "
@@ -1374,34 +1498,36 @@
"<literal>Event</literal> objects with the data. You can create more
complex "
"queries with HQL, of course."
msgstr ""
-"Lo que hacemos aquí es usar una consulta HQL (Lenguaje de Consulta de "
-"Hibernate o Hibernate Query Language) para cargar todos los objetos "
-"<literal>Event</literal> existentes de la base de datos. Hibernate
generará "
-"el SQL apropiado, lo enviará a la base de datosy poblará los objetos "
-"<literal>Event</literal> con datos. Puedes, por supuesto, crear
consultas "
-"más complejas con HQL."
+"<![CDATA[private List listEvents() {\n"
+" Session session = HibernateUtil.currentSession();\n"
+" Transaction tx = session.beginTransaction();\n"
+"\n"
+" List result = session.createQuery(\"from Event\").list();\n"
+"\n"
+" tx.commit();\n"
+" session.close();\n"
+"\n"
+" return result;\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:503
-#, no-c-format
+#: index.docbook:503
msgid "Now, to execute and test all of this, follow these steps:"
-msgstr "Now, to execute and test all of this, follow these steps:"
+msgstr ""
+"Lo que hacemos aquí es usar una consulta HQL (Lenguaje de Consulta de
"
+"Hibernate o Hibernate Query Language) para cargar todos los objetos "
+"<literal>Event</literal> existentes de la base de datos. Hibernate
"
+"generará el SQL apropiado, lo enviará a la base de datosy
"
+"poblará los objetos <literal>Event</literal> con datos.
Puedes, por "
+"supuesto, crear consultas más complejas con HQL."
-#. Tag: para
-#: tutorial.xml:509
-#, no-c-format
+#: index.docbook:509
msgid ""
"Run <literal>ant run -Daction=store</literal> to store something into
the "
"database and, of course, to generate the database schema before through "
"hbm2ddl."
-msgstr ""
-"Run <literal>ant run -Daction=store</literal> to store something into
the "
-"database and, of course, to generate the database schema before through "
-"hbm2ddl."
+msgstr "Now, to execute and test all of this, follow these steps:"
-#. Tag: para
-#: tutorial.xml:515
-#, no-c-format
+#: index.docbook:515
msgid ""
"Now disable hbm2ddl by commenting out the property in your "
"<literal>hibernate.cfg.xml</literal> file. Usually you only leave it
turned "
@@ -1411,6 +1537,16 @@
"from the schema, then re-create all tables, when the SessionFactory is build"
"\"."
msgstr ""
+"Run <literal>ant run -Daction=store</literal> to store something into
the "
+"database and, of course, to generate the database schema before through "
+"hbm2ddl."
+
+#: index.docbook:525
+msgid ""
+"If you now call Ant with <literal>-Daction=list</literal>, you should
see "
+"the events you have stored so far. You can of course also call the "
+"<literal>store</literal> action a few times more."
+msgstr ""
"Now disable hbm2ddl by commenting out the property in your "
"<literal>hibernate.cfg.xml</literal> file. Usually you only leave it
turned "
"on in continous unit testing, but another run of hbm2ddl would "
@@ -1419,22 +1555,8 @@
"from the schema, then re-create all tables, when the SessionFactory is build"
"\"."
-#. Tag: para
-#: tutorial.xml:525
-#, no-c-format
+#: index.docbook:531
msgid ""
-"If you now call Ant with <literal>-Daction=list</literal>, you should
see "
-"the events you have stored so far. You can of course also call the "
-"<literal>store</literal> action a few times more."
-msgstr ""
-"If you now call Ant with <literal>-Daction=list</literal>, you should
see "
-"the events you have stored so far. You can of course also call the "
-"<literal>store</literal> action a few times more."
-
-#. Tag: para
-#: tutorial.xml:531
-#, no-c-format
-msgid ""
"Note: Most new Hibernate users fail at this point and we see questions about
"
"<emphasis>Table not found</emphasis> error messages regularly. However,
if "
"you follow the steps outlined above you will not have this problem, as "
@@ -1442,6 +1564,13 @@
"application restarts will use this schema. If you change the mapping and/or "
"database schema, you have to re-enable hbm2ddl once again."
msgstr ""
+"If you now call Ant with <literal>-Daction=list</literal>, you should
see "
+"the events you have stored so far. You can of course also call the "
+"<literal>store</literal> action a few times more."
+
+#: index.docbook:544
+msgid "Part 2 - Mapping associations"
+msgstr ""
"Note: Most new Hibernate users fail at this point and we see questions about
"
"<emphasis>Table not found</emphasis> error messages regularly. However,
if "
"you follow the steps outlined above you will not have this problem, as "
@@ -1449,40 +1578,26 @@
"application restarts will use this schema. If you change the mapping and/or "
"database schema, you have to re-enable hbm2ddl once again."
-#. Tag: title
-#: tutorial.xml:544
-#, no-c-format
-msgid "Part 2 - Mapping associations"
-msgstr "Part 2 - Mapeando asociaciones"
-
-#. Tag: para
-#: tutorial.xml:546
-#, no-c-format
+#: index.docbook:546
msgid ""
"We mapped a persistent entity class to a table. Let's build on this and add
"
"some class associations. First we'll add people to our application, and "
"store a list of events they participate in."
+msgstr "Part 2 - Mapeando asociaciones"
+
+#: index.docbook:552
+msgid "Mapping the Person class"
msgstr ""
"Hemos mapeado un clase de entidad persistente a una tabla. Construyamos "
"sobre esto y agreguemos algunas asociaciones de clase. Primero agregaremos "
-"personas a nuestra aplicación, y almacenaremos una lista de eventos en las "
-"que participan."
+"personas a nuestra aplicación, y almacenaremos una lista de eventos
"
+"en las que participan."
-#. Tag: title
-#: tutorial.xml:552
-#, no-c-format
-msgid "Mapping the Person class"
+#: index.docbook:554
+msgid "The first cut of the <literal>Person</literal> class is
simple:"
msgstr "Mapeando la clase Person"
-#. Tag: para
-#: tutorial.xml:554
-#, no-c-format
-msgid "The first cut of the <literal>Person</literal> class is
simple:"
-msgstr "El primer corte de la clase <literal>Person</literal> es
simple:"
-
-#. Tag: programlisting
-#: tutorial.xml:558
-#, no-c-format
+#: index.docbook:558
msgid ""
"<![CDATA[package events;\n"
"\n"
@@ -1498,19 +1613,27 @@
" // Accessor methods for all properties, private setter for
'id'\n"
"\n"
"}]]>"
-msgstr ""
+msgstr "El primer corte de la clase <literal>Person</literal> es
simple:"
-#. Tag: para
-#: tutorial.xml:560
-#, no-c-format
+#: index.docbook:560
msgid ""
"Create a new mapping file called <literal>Person.hbm.xml</literal>
(don't "
"forget the DTD reference at the top):"
-msgstr "Crea un fichero de mapeo llamado
<literal>Person.hbm.xml</literal>:"
+msgstr ""
+"<![CDATA[public class Person {\n"
+"\n"
+" private Long id;\n"
+" private int age;\n"
+" private String firstname;\n"
+" private String lastname;\n"
+"\n"
+" Person() {}\n"
+"\n"
+" // Accessor methods for all properties, private setter for
'id'\n"
+"\n"
+"}]]>"
-#. Tag: programlisting
-#: tutorial.xml:565
-#, no-c-format
+#: index.docbook:565
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -1524,45 +1647,51 @@
" </class>\n"
"\n"
"</hibernate-mapping>]]>"
-msgstr ""
+msgstr "Crea un fichero de mapeo llamado
<literal>Person.hbm.xml</literal>:"
-#. Tag: para
-#: tutorial.xml:567
-#, no-c-format
+#: index.docbook:567
msgid "Finally, add the new mapping to Hibernate's configuration:"
-msgstr "Finalmente, agrega el nuevo mapeo a la configuración de Hibernate:"
+msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Person\" table=\"PERSON\">\n"
+" <id name=\"id\" column=\"PERSON_ID\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" <property name=\"age\"/>\n"
+" <property name=\"firstname\"/>\n"
+" <property name=\"lastname\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: programlisting
-#: tutorial.xml:571
-#, no-c-format
+#: index.docbook:571
msgid ""
"<![CDATA[<mapping resource=\"events/Event.hbm.xml\"/>\n"
"<mapping resource=\"events/Person.hbm.xml\"/>]]>"
msgstr ""
+"Finalmente, agrega el nuevo mapeo a la configuración de
Hibernate:"
-#. Tag: para
-#: tutorial.xml:573
-#, no-c-format
+#: index.docbook:573
msgid ""
"We'll now create an association between these two entities. Obviously, "
"persons can participate in events, and events have participants. The design "
"questions we have to deal with are: directionality, multiplicity, and "
"collection behavior."
msgstr ""
-"Crearemos ahora una asociación entre estas dos entidades. Obviamente, las "
-"personas pueden participar en eventos, y los eventos tienen participantes. "
-"Las cuestiones de diseño con que tenemos que tratar son: direccionalidad, "
-"multiplicidad y comportamiento de colección."
+"<![CDATA[ <mapping resource=\"Event.hbm.xml\"/>\n"
+" <mapping resource=\"Person.hbm.xml\"/>\n"
+"]]>"
-#. Tag: title
-#: tutorial.xml:583
-#, no-c-format
+#: index.docbook:583
msgid "A unidirectional Set-based association"
-msgstr "Una asociación unidireccional basada en Set"
+msgstr ""
+"Crearemos ahora una asociación entre estas dos entidades. Obviamente,
"
+"las personas pueden participar en eventos, y los eventos tienen "
+"participantes. Las cuestiones de diseño con que tenemos que tratar
"
+"son: direccionalidad, multiplicidad y comportamiento de
colección."
-#. Tag: para
-#: tutorial.xml:585
-#, no-c-format
+#: index.docbook:585
msgid ""
"We'll add a collection of events to the <literal>Person</literal>
class. "
"That way we can easily navigate to the events for a particular person, "
@@ -1570,29 +1699,22 @@
"</literal>. We use a Java collection, a <literal>Set</literal>,
because the "
"collection will not contain duplicate elements and the ordering is not "
"relevant for us."
-msgstr ""
-"Agregaremos una colección de eventos a la clase
<literal>Person</literal>. "
-"De esta forma podemos navegar facilmente a los eventos de una persona en "
-"particular, sin ejecutar una consulta explícita, llamando a
<literal>aPerson."
-"getEvents()</literal>. Usamos una colección Java, un
<literal>Set</literal>, "
-"porque la colección no contendrá elementos duplicados y el ordenamiento no "
-"nos es relevante."
+msgstr "Una asociación unidireccional basada en Set"
-#. Tag: para
-#: tutorial.xml:592
-#, no-c-format
+#: index.docbook:592
msgid ""
"We need a unidirectional, many-valued associations, implemented with a "
"<literal>Set</literal>. Let's write the code for this in the Java
classes "
"and then map it:"
msgstr ""
-"Hasta ahora hemos diseñado asociaciones unidireccionales multivaluadas, "
-"implementadas con un <literal>Set</literal>. Escribamos el código para
esto "
-"en las clases Java y luego lo mapeemos:"
+"Agregaremos una colección de eventos a la clase
<literal>Person</"
+"literal>. De esta forma podemos navegar facilmente a los eventos de una "
+"persona en particular, sin ejecutar una consulta explícita, llamando
"
+"a <literal>aPerson.getEvents()</literal>. Usamos una
colección Java, "
+"un <literal>Set</literal>, porque la colección no
contendrá "
+"elementos duplicados y el ordenamiento no nos es relevante."
-#. Tag: programlisting
-#: tutorial.xml:597
-#, no-c-format
+#: index.docbook:597
msgid ""
"<![CDATA[public class Person {\n"
"\n"
@@ -1607,10 +1729,11 @@
" }\n"
"}]]>"
msgstr ""
+"Hasta ahora hemos diseñado asociaciones unidireccionales "
+"multivaluadas, implementadas con un <literal>Set</literal>. Escribamos
el "
+"código para esto en las clases Java y luego lo mapeemos:"
-#. Tag: para
-#: tutorial.xml:599
-#, no-c-format
+#: index.docbook:599
msgid ""
"Before we map this association, think about the other side. Clearly, we "
"could just keep this unidirectional. Or, we could create another collection "
@@ -1623,18 +1746,20 @@
"a <emphasis>many-to-many</emphasis> association. Hence, we use
Hibernate's "
"many-to-many mapping:"
msgstr ""
-"Antes que mapeemos esta asociación, piensa sobre el otro lado. Claramente, "
-"podemos mantener esto solamente unidireccional. O podemos crear otra "
-"colección en el <literal>Event</literal>, si queremos ser capaces de
"
-"navegarlos bidireccionalmente; por ejemplo,
<literal>anEvent.getParticipants"
-"()</literal>. Esta es una elección de diseño que recae en ti, pero lo que
"
-"está claro de esta discusión es la multiplicidad de la asociación:
\"multi\" "
-"valuada a ambos lados, llamamos a esto una asociación
<emphasis>muchos-a-"
-"muchos</emphasis>. Por lo tanto, usamos un mapeo many-to-many de
Hibernate:"
+"<![CDATA[public class Person {\n"
+"\n"
+" private Set events = new HashSet();\n"
+"\n"
+" public Set getEvents() {\n"
+" return events;\n"
+" }\n"
+"\n"
+" public void setEvents(Set events) {\n"
+" this.events = events;\n"
+" }\n"
+"}]]>"
-#. Tag: programlisting
-#: tutorial.xml:610
-#, no-c-format
+#: index.docbook:610
msgid ""
"<![CDATA[<class name=\"events.Person\"
table=\"PERSON\">\n"
" <id name=\"id\" column=\"PERSON_ID\">\n"
@@ -1651,10 +1776,17 @@
"\n"
"</class>]]>"
msgstr ""
+"Antes que mapeemos esta asociación, piensa sobre el otro lado. "
+"Claramente, podemos mantener esto solamente unidireccional. O podemos crear "
+"otra colección en el <literal>Event</literal>, si queremos
ser "
+"capaces de navegarlos bidireccionalmente; por ejemplo,
<literal>anEvent."
+"getParticipants()</literal>. Esta es una elección de
diseño "
+"que recae en ti, pero lo que está claro de esta discusión es
"
+"la multiplicidad de la asociación: \"multi\" valuada a ambos
lados, "
+"llamamos a esto una asociación
<emphasis>muchos-a-muchos</emphasis>. "
+"Por lo tanto, usamos un mapeo many-to-many de Hibernate:"
-#. Tag: para
-#: tutorial.xml:612
-#, no-c-format
+#: index.docbook:612
msgid ""
"Hibernate supports all kinds of collection mappings, a
<literal><set></"
"literal> being most common. For a many-to-many association (or
<emphasis>n:"
@@ -1669,28 +1801,39 @@
"collection (correct: the class on the other side of the collection of "
"references)."
msgstr ""
-"Hibernate soporta todo tipo de mapeos de colección, siendo el más común un "
-"<literal><set></literal>. Para una asociación
muchos-a-muchos (o "
-"relación de entidad <emphasis>n:m</emphasis>), se necesita una tabla de
"
-"asociación. Cada fila en esta tabla representa un enlace entre una persona y
"
-"un evento. Esta tabla se configura con el atributo
<literal>table</literal> "
-"del elemento <literal>set</literal>. El nombre de la columna
identificadora "
-"en la asociación, para el lado de la persona, se define con el elemento "
+"<![CDATA[<class name=\"Person\"
table=\"PERSON\">\n"
+" <id name=\"id\" column=\"PERSON_ID\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" <property name=\"age\"/>\n"
+" <property name=\"firstname\"/>\n"
+" <property name=\"lastname\"/>\n"
+"\n"
+" <set name=\"events\" table=\"PERSON_EVENT\">\n"
+" <key column=\"PERSON_ID\"/>\n"
+" <many-to-many column=\"EVENT_ID\"
class=\"Event\"/>\n"
+" </set>\n"
+"\n"
+"</class>]]>"
+
+#: index.docbook:624
+msgid "The database schema for this mapping is therefore:"
+msgstr ""
+"Hibernate soporta todo tipo de mapeos de colección, siendo el "
+"más común un
<literal><set></literal>. Para una "
+"asociación muchos-a-muchos (o relación de entidad
<emphasis>n:"
+"m</emphasis>), se necesita una tabla de asociación. Cada fila en
esta "
+"tabla representa un enlace entre una persona y un evento. Esta tabla se "
+"configura con el atributo <literal>table</literal> del elemento "
+"<literal>set</literal>. El nombre de la columna identificadora en la
"
+"asociación, para el lado de la persona, se define con el elemento
"
"<literal><key></literal>. El nombre de columna para el
lado del evento "
"se define con el atributo <literal>column</literal> del
<literal><many-to-"
-"many></literal>. También tienes que decirle a Hibernate la clase de
los "
-"objetos en tu colección (correcto: la clase del otro lado de la colección de
"
-"referencias)."
+"many></literal>. También tienes que decirle a Hibernate la
clase "
+"de los objetos en tu colección (correcto: la clase del otro lado de
"
+"la colección de referencias)."
-#. Tag: para
-#: tutorial.xml:624
-#, no-c-format
-msgid "The database schema for this mapping is therefore:"
-msgstr "El esquema de base de datos para este mapeo es, por lo tanto:"
-
-#. Tag: programlisting
-#: tutorial.xml:628
-#, no-c-format
+#: index.docbook:628
msgid ""
"<![CDATA[\n"
" _____________ __________________\n"
@@ -1705,27 +1848,32 @@
" | LASTNAME |\n"
" |_____________|\n"
" ]]>"
-msgstr ""
+msgstr "El esquema de base de datos para este mapeo es, por lo tanto:"
-#. Tag: title
-#: tutorial.xml:633
-#, no-c-format
+#: index.docbook:633
msgid "Working the association"
-msgstr "Trabajando la asociación"
+msgstr ""
+"<![CDATA[\n"
+" _____________ __________________\n"
+" | | | | _____________\n"
+" | EVENTS | | PERSON_EVENT | | |\n"
+" |_____________| |__________________| | PERSON |\n"
+" | | | | |_____________|\n"
+" | *EVENT_ID | <--> | *EVENT_ID | | |\n"
+" | EVENT_DATE | | *PERSON_ID | <--> | *PERSON_ID |\n"
+" | TITLE | |__________________| | AGE |\n"
+" |_____________| | FIRSTNAME |\n"
+" | LASTNAME |\n"
+" |_____________|\n"
+" ]]>"
-#. Tag: para
-#: tutorial.xml:635
-#, no-c-format
+#: index.docbook:635
msgid ""
"Let's bring some people and events together in a new method in "
"<literal>EventManager</literal>:"
-msgstr ""
-"Traigamos alguna gente y eventos juntos en un nuevo método en "
-"<literal>EventManager</literal>:"
+msgstr "Trabajando la asociación"
-#. Tag: programlisting
-#: tutorial.xml:639
-#, no-c-format
+#: index.docbook:639
msgid ""
"<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
"\n"
@@ -1741,10 +1889,10 @@
" session.getTransaction().commit();\n"
"}]]>"
msgstr ""
+"Traigamos alguna gente y eventos juntos en un nuevo método en "
+"<literal>EventManager</literal>:"
-#. Tag: para
-#: tutorial.xml:641
-#, no-c-format
+#: index.docbook:641
msgid ""
"After loading a <literal>Person</literal> and an
<literal>Event</literal>, "
"simply modify the collection using the normal collection methods. As you can
"
@@ -1763,24 +1911,20 @@
"<literal>thread</literal> configuration option for the "
"<literal>CurrentSessionContext</literal> class."
msgstr ""
-"Después de cargar una <literal>Person</literal> y un
<literal>Event</"
-"literal>, simplemente modifica la colección usando sus métodos normales. "
-"Como puedes ver, no hay una llamada explícita a
<literal>update()</literal> "
-"o <literal>save()</literal>. Hibernate detecta automáticamente que la
"
-"colección ha sido modificada y necesita ser salvada. Esto es llamado "
-"<emphasis>chequeo sucio automótico (automatic dirty
checking)</emphasis>, y "
-"también puedes intentarlo modificando el nombre de la propiedad de fecha de "
-"cualquiera de tus objetos. Mientras estén en estado
<emphasis>persistente</"
-"emphasis>, esto es, ligados a una <literal>Session</literal> de
Hibernate "
-"particular (es decir, justo han sido cargados o almacenados en una unidad de
"
-"trabajo), Hibernate monitoriza cualquier cambio y ejecuta SQL en estilo "
-"escribe-por-detrás. El proceso de sincronización del estado de memoria con "
-"la base de datos, usualmente sólo al final de una unidad de trabajo, es "
-"llamado <emphasis>limpieza (flushing)</emphasis>."
+"<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
+" Session session = HibernateUtil.currentSession();\n"
+" Transaction tx = session.beginTransaction();\n"
+"\n"
+" Person aPerson = (Person) session.load(Person.class, personId);\n"
+" Event anEvent = (Event) session.load(Event.class, eventId);\n"
+"\n"
+" aPerson.getEvents().add(anEvent);\n"
+"\n"
+" tx.commit();\n"
+" HibernateUtil.closeSession();\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:656
-#, no-c-format
+#: index.docbook:656
msgid ""
"You might of course load person and event in different units of work. Or you
"
"modify an object outside of a <literal>Session</literal>, when it is
not in "
@@ -1788,15 +1932,23 @@
"<emphasis>detached</emphasis>). You can even modify a collection when
it is "
"detached:"
msgstr ""
-"Podrías, por supuesto, cargar persona y evento en unidades de trabajo "
-"diferentes. O modificas un objeto fuera de una
<literal>Session</literal>, "
-"cuando no está en estado persistente (si antes era persistente llamamos a "
-"este estado <emphasis>separado (detached) </emphasis>). En código (no
muy "
-"realista), esto se vería como sigue:"
+"Después de cargar una <literal>Person</literal> y un
<literal>Event</"
+"literal>, simplemente modifica la colección usando sus
métodos "
+"normales. Como puedes ver, no hay una llamada explícita a "
+"<literal>update()</literal> o <literal>save()</literal>.
Hibernate detecta "
+"automáticamente que la colección ha sido modificada y
necesita "
+"ser salvada. Esto es llamado <emphasis>chequeo sucio automótico
"
+"(automatic dirty checking)</emphasis>, y también puedes intentarlo
"
+"modificando el nombre de la propiedad de fecha de cualquiera de tus objetos.
"
+"Mientras estén en estado <emphasis>persistente</emphasis>,
esto es, "
+"ligados a una <literal>Session</literal> de Hibernate particular (es
decir, "
+"justo han sido cargados o almacenados en una unidad de trabajo), Hibernate "
+"monitoriza cualquier cambio y ejecuta SQL en estilo
escribe-por-detrá"
+"s. El proceso de sincronización del estado de memoria con la base de
"
+"datos, usualmente sólo al final de una unidad de trabajo, es llamado
"
+"<emphasis>limpieza (flushing)</emphasis>."
-#. Tag: programlisting
-#: tutorial.xml:663
-#, no-c-format
+#: index.docbook:663
msgid ""
"<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
"\n"
@@ -1831,10 +1983,13 @@
" session2.getTransaction().commit();\n"
"}]]>"
msgstr ""
+"Podrías, por supuesto, cargar persona y evento en unidades de trabajo
"
+"diferentes. O modificas un objeto fuera de una
<literal>Session</literal>, "
+"cuando no está en estado persistente (si antes era persistente "
+"llamamos a este estado <emphasis>separado (detached) </emphasis>). En
"
+"código (no muy realista), esto se vería como sigue:"
-#. Tag: para
-#: tutorial.xml:665
-#, no-c-format
+#: index.docbook:665
msgid ""
"The call to <literal>update</literal> makes a detached object
persistent "
"again, you could say it binds it to a new unit of work, so any modifications
"
@@ -1842,14 +1997,30 @@
"any modifications (additions/deletions) you made to a collection of that "
"entity object."
msgstr ""
-"La llamada a <literal>update</literal> hace a un objeto persistente de
"
-"nuevo, podrías decir que la liga a una nueva unidad de trabajo, de modo que "
-"cualquier modificación que le hagas mientras esté separado puede ser salvada
"
-"a base de datos."
+"<![CDATA[ private void addPersonToEvent(Long personId, Long eventId)
{\n"
+"\n"
+" Session session = HibernateUtil.currentSession();\n"
+" Transaction tx = session.beginTransaction();\n"
+"\n"
+" Person aPerson = (Person) session.load(Person.class, personId);\n"
+" Event anEvent = (Event) session.load(Event.class, eventId);\n"
+"\n"
+" tx.commit();\n"
+" HibernateUtil.closeSession();\n"
+"\n"
+" aPerson.getEvents().add(anEvent); // aPerson is detached\n"
+"\n"
+" Session session2 = HibernateUtil.currentSession();\n"
+" Transaction tx2 = session.beginTransaction();\n"
+"\n"
+" session2.update(aPerson); // Reattachment of aPerson\n"
+"\n"
+" tx2.commit();\n"
+" HibernateUtil.closeSession();\n"
+" }\n"
+"]]>"
-#. Tag: para
-#: tutorial.xml:672
-#, no-c-format
+#: index.docbook:672
msgid ""
"Well, this is not much use in our current situation, but it's an important
"
"concept you can design into your own application. For now, complete this "
@@ -1859,16 +2030,12 @@
"(you might have to modify some of the previous methods to return that "
"identifier):"
msgstr ""
-"Bueno, esto no es muy usado en nuestra situación actual, pero es un concepto
"
-"importante que puedes diseñar en tu propia aplicación. Por ahora, completa "
-"este ejercicio agregando una nueva acción al método main de "
-"<literal>EventManager</literal> y llámala desde la línea de comandos.
Si "
-"necesitas los identificadores de una persona o evento, el método "
-"<literal>save()</literal> los devuelve."
+"La llamada a <literal>update</literal> hace a un objeto persistente de
"
+"nuevo, podrías decir que la liga a una nueva unidad de trabajo, de
"
+"modo que cualquier modificación que le hagas mientras esté
"
+"separado puede ser salvada a base de datos."
-#. Tag: programlisting
-#: tutorial.xml:680
-#, no-c-format
+#: index.docbook:680
msgid ""
"<![CDATA[else if (args[0].equals(\"addpersontoevent\")) {\n"
" Long eventId = mgr.createAndStoreEvent(\"My Event\", new
Date());\n"
@@ -1878,10 +2045,14 @@
"eventId);\n"
"}]]>"
msgstr ""
+"Bueno, esto no es muy usado en nuestra situación actual, pero es un
"
+"concepto importante que puedes diseñar en tu propia
aplicació"
+"n. Por ahora, completa este ejercicio agregando una nueva acción al
"
+"método main de <literal>EventManager</literal> y
llámala desde "
+"la línea de comandos. Si necesitas los identificadores de una persona
"
+"o evento, el método <literal>save()</literal> los
devuelve."
-#. Tag: para
-#: tutorial.xml:682
-#, no-c-format
+#: index.docbook:682
msgid ""
"This was an example of an association between two equally important classes,
"
"two entities. As mentioned earlier, there are other classes and types in a "
@@ -1896,56 +2067,48 @@
"considered value types), but you can also write dependent classes yourself, "
"<literal>Address</literal> or
<literal>MonetaryAmount</literal>, for example."
msgstr ""
-"Esto fue un ejemplo de una asociación entre dos clases igualmente "
+"Esto fue un ejemplo de una asociación entre dos clases igualmente
"
"importantes, dos entidades. Como se ha mencionado anteriormente, hay otras "
-"clases y tipos en un modelo típico, usualmente \"menos importantes\".
"
-"Algunos ya los habrás visto, como un <literal>int</literal> o un
"
+"clases y tipos en un modelo típico, usualmente \"menos
importantes\". "
+"Algunos ya los habrás visto, como un <literal>int</literal>
o un "
"<literal>String</literal>. Llamamos a estas clases
<emphasis>tipos de valor "
"(value types)</emphasis>, y sus instancias
<emphasis>dependen</emphasis> de "
"una entidad en particular. Las instancias de estos tipos no tienen su propia
"
"identidad, ni son compartidas entre entidades (dos personas no referencian "
"el mismo objeto <literal>firstname</literal>, incluso si tuvieran el
mismo "
-"primer nombre). Por supuesto, los tipos de valor no sólo pueden encontrarse "
-"en el JDK (de hecho, en una aplicación Hibernate todas las clases del JDK "
-"son consideradas tipos de valor), sino que además puedes escribir por ti "
-"mismo clases dependientes, por ejemplo, <literal>Address</literal> o
"
-"<literal>MonetaryAmount</literal>."
+"primer nombre). Por supuesto, los tipos de valor no sólo pueden "
+"encontrarse en el JDK (de hecho, en una aplicación Hibernate todas
"
+"las clases del JDK son consideradas tipos de valor), sino que además
"
+"puedes escribir por ti mismo clases dependientes, por ejemplo, "
+"<literal>Address</literal> o
<literal>MonetaryAmount</literal>."
-#. Tag: para
-#: tutorial.xml:695
-#, no-c-format
+#: index.docbook:695
msgid ""
"You can also design a collection of value types. This is conceptually very "
"different from a collection of references to other entities, but looks "
"almost the same in Java."
msgstr ""
-"También puedes diseñar una colección de tipos de valor. Esto es "
-"conceptualmente muy diferente de una colección de referencias a otras "
-"entidades, pero se ve casi lo mismo en Java."
+"También puedes diseñar una colección de tipos de
valor. "
+"Esto es conceptualmente muy diferente de una colección de referencias
"
+"a otras entidades, pero se ve casi lo mismo en Java."
-#. Tag: title
-#: tutorial.xml:703
-#, no-c-format
+#: index.docbook:703
msgid "Collection of values"
-msgstr "Colección de valores"
+msgstr "Colección de valores"
-#. Tag: para
-#: tutorial.xml:705
-#, no-c-format
+#: index.docbook:705
msgid ""
"We add a collection of value typed objects to the
<literal>Person</literal> "
"entity. We want to store email addresses, so the type we use is "
"<literal>String</literal>, and the collection is again a
<literal>Set</"
"literal>:"
msgstr ""
-"Agregamos una colección de objetos tipificados en valor a la entidad "
+"Agregamos una colección de objetos tipificados en valor a la entidad
"
"<literal>Person</literal>. Queremos almacenar direcciones de email, de
modo "
-"que el tipo que usamos es <literal>String</literal>, y la colección es
"
-"nuevamente un <literal>Set</literal>:"
+"que el tipo que usamos es <literal>String</literal>, y la
colección "
+"es nuevamente un <literal>Set</literal>:"
-#. Tag: programlisting
-#: tutorial.xml:710
-#, no-c-format
+#: index.docbook:710
msgid ""
"<![CDATA[private Set emailAddresses = new HashSet();\n"
"\n"
@@ -1957,26 +2120,33 @@
" this.emailAddresses = emailAddresses;\n"
"}]]>"
msgstr ""
+"<![CDATA[private Set emailAddresses = new HashSet();\n"
+"\n"
+"public Set getEmailAddresses() {\n"
+" return emailAddresses;\n"
+"}\n"
+"\n"
+"public void setEmailAddresses(Set emailAddresses) {\n"
+" this.emailAddresses = emailAddresses;\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:712
-#, no-c-format
+#: index.docbook:712
msgid "The mapping of this <literal>Set</literal>:"
msgstr "El mapeo de este <literal>Set</literal>:"
-#. Tag: programlisting
-#: tutorial.xml:716
-#, no-c-format
+#: index.docbook:716
msgid ""
"<![CDATA[<set name=\"emailAddresses\"
table=\"PERSON_EMAIL_ADDR\">\n"
" <key column=\"PERSON_ID\"/>\n"
" <element type=\"string\"
column=\"EMAIL_ADDR\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"emailAddresses\"
table=\"PERSON_EMAIL_ADDR\">\n"
+" <key column=\"PERSON_ID\"/>\n"
+" <element type=\"string\"
column=\"EMAIL_ADDR\"/>\n"
+"</set>]]>"
-#. Tag: para
-#: tutorial.xml:718
-#, no-c-format
+#: index.docbook:718
msgid ""
"The difference compared with the earlier mapping is the
<literal>element</"
"literal> part, which tells Hibernate that the collection does not contain
"
@@ -1990,26 +2160,22 @@
"<literal>String</literal> values will actually be stored."
msgstr ""
"La diferencia comparada con el mapeo anterior es la parte
<literal>element</"
-"literal>, que le dice a Hibernate que la colección no contiene referencias a
"
-"otra entidad, sino una colección de elementos de tipo
<literal>String</"
-"literal> (el nombre en minúsculas te dice que es un tipo/conversor de mapeo
"
-"de Hibernate). Una vez más, el atributo <literal>table</literal> del
"
-"elemento <literal>set</literal> determina el nombre de la tabla para la
"
-"colección. El elemento <literal>key</literal> define el nombre de la
columna "
-"clave foránea en la tabla de colección. El atributo
<literal>column</"
-"literal> en el elemento <literal>element</literal> define el nombre
de "
-"columna donde realmente serán almacenados los valores
<literal>String</"
-"literal>."
+"literal>, que le dice a Hibernate que la colección no contiene
"
+"referencias a otra entidad, sino una colección de elementos de tipo
"
+"<literal>String</literal> (el nombre en minúsculas te dice
que es un "
+"tipo/conversor de mapeo de Hibernate). Una vez más, el atributo "
+"<literal>table</literal> del elemento
<literal>set</literal> determina el "
+"nombre de la tabla para la colección. El elemento
<literal>key</"
+"literal> define el nombre de la columna clave foránea en la tabla de
"
+"colección. El atributo <literal>column</literal> en el
elemento "
+"<literal>element</literal> define el nombre de columna donde realmente
"
+"serán almacenados los valores
<literal>String</literal>."
-#. Tag: para
-#: tutorial.xml:728
-#, no-c-format
+#: index.docbook:728
msgid "Have a look at the updated schema:"
msgstr "Echa una mirada al esquema actualizado:"
-#. Tag: programlisting
-#: tutorial.xml:732
-#, no-c-format
+#: index.docbook:732
msgid ""
"<![CDATA[\n"
" _____________ __________________\n"
@@ -2032,34 +2198,64 @@
" |_____________|\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+" _____________ __________________\n"
+" | | | | _____________\n"
+" | EVENTS | | PERSON_EVENT | | | "
+"___________________\n"
+" |_____________| |__________________| | PERSON | "
+"| |\n"
+" | | | | |_____________| | "
+"PERSON_EMAIL_ADDR |\n"
+" | *EVENT_ID | <--> | *EVENT_ID | | | |"
+"___________________|\n"
+" | EVENT_DATE | | *PERSON_ID | <--> | *PERSON_ID | <--> |
"
+"*PERSON_ID |\n"
+" | TITLE | |__________________| | AGE | | "
+"*EMAIL_ADDR |\n"
+" |_____________| | FIRSTNAME | |"
+"___________________|\n"
+" | LASTNAME |\n"
+" |_____________|\n"
+" ]]>"
-#. Tag: para
-#: tutorial.xml:734
-#, no-c-format
+#: index.docbook:734
msgid ""
"You can see that the primary key of the collection table is in fact a "
"composite key, using both columns. This also implies that there can't be
"
"duplicate email addresses per person, which is exactly the semantics we need
"
"for a set in Java."
msgstr ""
-"Puedes ver que la clave primaria de la tabla de colección es de hecho una "
-"clave compuesta, usando ambas columnas. Esto implica también que no pueden "
-"haber direcciones de email duplicadas por persona, que es exactamente la "
-"semántica que necesitamos para un conjunto en Java."
+"Puedes ver que la clave primaria de la tabla de colección es de hecho
"
+"una clave compuesta, usando ambas columnas. Esto implica también que
"
+"no pueden haber direcciones de email duplicadas por persona, que es "
+"exactamente la semántica que necesitamos para un conjunto en
Java."
-#. Tag: para
-#: tutorial.xml:740
-#, no-c-format
+#: index.docbook:740
msgid ""
"You can now try and add elements to this collection, just like we did before
"
"by linking persons and events. It's the same code in Java:"
msgstr ""
-"Puedes ahora intentar y agregar elementos a esta colección, al igual que "
-"hicimos antes enlazando personas y eventos. Es el mismo código en Java."
+"<![CDATA[private void addEmailToPerson(Long personId, String emailAddress)
"
+"{\n"
+" \n"
+" Session session =
HibernateUtil."
+"getSessionFactory().getCurrentSession();\n"
+" session.beginTransaction();\n"
+" \n"
+" Person aPerson = (Person) "
+"session.load(Person.class, personId);\n"
+" \n"
+" // The getEmailAddresses() "
+"might trigger a lazy load of the collection\n"
+" aPerson.getEmailAddresses().add"
+"(emailAddress);\n"
+" \n"
+" session.getTransaction().commit"
+"();\n"
+"}]]>"
-#. Tag: programlisting
-#: tutorial.xml:745
-#, no-c-format
+#: index.docbook:745
msgid ""
"<![CDATA[private void addEmailToPerson(Long personId, String emailAddress)
"
"{\n"
@@ -2076,10 +2272,11 @@
" session.getTransaction().commit();\n"
"}]]>"
msgstr ""
+"Puedes ahora intentar y agregar elementos a esta colección, al igual
"
+"que hicimos antes enlazando personas y eventos. Es el mismo código en
"
+"Java."
-#. Tag: para
-#: tutorial.xml:747
-#, no-c-format
+#: index.docbook:747
msgid ""
"This time we didnt' use a <emphasis>fetch</emphasis> query to
initialize the "
"collection. Hence, the call to its getter method will trigger an additional "
@@ -2091,15 +2288,11 @@
"select to initialize it, so we can add an element to it. Monitor the SQL log
"
"and try to optimize this with an eager fetch."
-#. Tag: title
-#: tutorial.xml:757
-#, no-c-format
+#: index.docbook:757
msgid "Bi-directional associations"
msgstr "Asociaciones bidireccionales"
-#. Tag: para
-#: tutorial.xml:759
-#, no-c-format
+#: index.docbook:759
msgid ""
"Next we are going to map a bi-directional association - making the "
"association between person and event work from both sides in Java. Of "
@@ -2108,27 +2301,24 @@
"programming language, so it doesn't need anything like a navigation "
"direction - data can be viewed and retrieved in any possible way."
msgstr ""
-"A continuacion vamos a mapear una asociación bidireccional, haciendo que la "
-"asociación entre persona y evento funcione desde ambos lados en Java. Por "
-"supuesto, el esquema de base de datos no cambia; todavía necesitamos "
-"multiplicidad muchos-a-muchos. Una base de datos relacional es más flexible "
-"que un lenguaje de programación de red, así que no necesita nada parecido a "
-"una dirección de navegación; los datos pueden ser vistos y recuperados en "
-"cualquier forma posible."
+"A continuacion vamos a mapear una asociación bidireccional, haciendo
"
+"que la asociación entre persona y evento funcione desde ambos lados
"
+"en Java. Por supuesto, el esquema de base de datos no cambia; todavía
"
+"necesitamos multiplicidad muchos-a-muchos. Una base de datos relacional es "
+"más flexible que un lenguaje de programación de red, "
+"así que no necesita nada parecido a una dirección de "
+"navegación; los datos pueden ser vistos y recuperados en cualquier
"
+"forma posible."
-#. Tag: para
-#: tutorial.xml:767
-#, no-c-format
+#: index.docbook:767
msgid ""
"First, add a collection of participants to the <literal>Event</literal>
"
"Event class:"
msgstr ""
-"Primero agrega una colección de participantes a la clase de eventos "
+"Primero agrega una colección de participantes a la clase de eventos
"
"<literal>Event</literal>:"
-#. Tag: programlisting
-#: tutorial.xml:771
-#, no-c-format
+#: index.docbook:771
msgid ""
"<![CDATA[private Set participants = new HashSet();\n"
"\n"
@@ -2140,20 +2330,25 @@
" this.participants = participants;\n"
"}]]>"
msgstr ""
+"<![CDATA[private Set participants = new HashSet();\n"
+"\n"
+"public Set getParticipants() {\n"
+" return participants;\n"
+"}\n"
+"\n"
+"public void setParticipants(Set participants) {\n"
+" this.participants = participants;\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:773
-#, no-c-format
+#: index.docbook:773
msgid ""
"Now map this side of the association too, in
<literal>Event.hbm.xml</"
"literal>."
msgstr ""
-"Ahora mapea este lado de la asociación también, en
<literal>Event.hbm.xml</"
-"literal>."
+"Ahora mapea este lado de la asociación también, en "
+"<literal>Event.hbm.xml</literal>."
-#. Tag: programlisting
-#: tutorial.xml:777
-#, no-c-format
+#: index.docbook:777
msgid ""
"<![CDATA[<set name=\"participants\"
table=\"PERSON_EVENT\" inverse=\"true"
"\">\n"
@@ -2161,10 +2356,13 @@
" <many-to-many column=\"PERSON_ID\"
class=\"events.Person\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"participants\"
table=\"PERSON_EVENT\" inverse=\"true"
+"\">\n"
+" <key column=\"EVENT_ID\"/>\n"
+" <many-to-many column=\"PERSON_ID\"
class=\"Person\"/>\n"
+"</set>]]>"
-#. Tag: para
-#: tutorial.xml:779
-#, no-c-format
+#: index.docbook:779
msgid ""
"As you see, these are normal <literal>set</literal> mappings in both
mapping "
"documents. Notice that the column names in <literal>key</literal> and
"
@@ -2176,13 +2374,11 @@
"Como ves, estos son mapeos normales de <literal>set</literal> en ambos
"
"documentos de mapeo. Nota que los nombres de columnas en
<literal>key</"
"literal> y <literal>many-to-many</literal> fueron permutados en
ambos "
-"documentos de mapeo. Aquí la adición más importante es el atributo "
-"<literal>inverse=\"true\"</literal> en el elemento
<literal>set</literal> "
-"del mapeo de colección de <literal>Event</literal>."
+"documentos de mapeo. Aquí la adición más
importante es "
+"el atributo <literal>inverse=\"true\"</literal> en el
elemento <literal>set</"
+"literal> del mapeo de colección de
<literal>Event</literal>."
-#. Tag: para
-#: tutorial.xml:787
-#, no-c-format
+#: index.docbook:787
msgid ""
"What this means is that Hibernate should take the other side - the "
"<literal>Person</literal> class - when it needs to find out information
"
@@ -2190,19 +2386,16 @@
"you see how the bi-directional link between our two entities is created ."
msgstr ""
"Lo que esto significa es que Hibernate debe tomar el otro lado - la clase "
-"<literal>Person</literal> - cuando necesite descubrir información sobre
el "
-"enlace entre las dos. Esto será mucho más fácil de entender una vez que veas
"
-"cómo se crea el enlace bidireccional entre nuestras dos entidades."
+"<literal>Person</literal> - cuando necesite descubrir
información "
+"sobre el enlace entre las dos. Esto será mucho más
fá"
+"cil de entender una vez que veas cómo se crea el enlace bidireccional
"
+"entre nuestras dos entidades."
-#. Tag: title
-#: tutorial.xml:796
-#, no-c-format
+#: index.docbook:796
msgid "Working bi-directional links"
msgstr "Trabajando enlaces bidireccionales"
-#. Tag: para
-#: tutorial.xml:798
-#, no-c-format
+#: index.docbook:798
msgid ""
"First, keep in mind that Hibernate does not affect normal Java semantics. "
"How did we create a link between a <literal>Person</literal> and an
"
@@ -2214,31 +2407,27 @@
"<literal>Event</literal>. This \"setting the link on both
sides\" is "
"absolutely necessary and you should never forget doing it."
msgstr ""
-"Primero, ten en mente que Hhibernate no afecta la semántica normal de Java. "
-"¿Cómo hemos creado un enlace entre una <literal>Person</literal> y un
"
-"<literal>Event</literal> en el ejemplo unidireccional? Hemos agregado
una "
-"instancia de <literal>Event</literal> a la colección de referencias de
"
-"eventos de una instancia de <literal>Person</literal>. De modo que,
"
-"obviamente, si queremos que este enlace funcione bidireccionalmente, tenemos
"
-"que hacer lo mismo del otro lado, agregando una referencia a "
-"<literal>Person</literal> a la colección en un
<literal>Event</literal>. "
-"Este \"establecer el enlace a ambos lados\" es absolutamente necesario y
"
-"nunca debes olvidar hacerlo."
+"Primero, ten en mente que Hhibernate no afecta la semántica normal de
"
+"Java. ¿Cómo hemos creado un enlace entre una
<literal>Person</"
+"literal> y un <literal>Event</literal> en el ejemplo unidireccional?
Hemos "
+"agregado una instancia de <literal>Event</literal> a la
colección de "
+"referencias de eventos de una instancia de <literal>Person</literal>.
De "
+"modo que, obviamente, si queremos que este enlace funcione "
+"bidireccionalmente, tenemos que hacer lo mismo del otro lado, agregando una "
+"referencia a <literal>Person</literal> a la colección en un
"
+"<literal>Event</literal>. Este \"establecer el enlace a ambos
lados\" es "
+"absolutamente necesario y nunca debes olvidar hacerlo."
-#. Tag: para
-#: tutorial.xml:808
-#, no-c-format
+#: index.docbook:808
msgid ""
"Many developers program defensive and create link management methods to "
"correctly set both sides, e.g. in <literal>Person</literal>:"
msgstr ""
-"Muchos desarrolladores programan a la defensiva y crean métodos de manejo de
"
-"un enlace para establecer correctamente ambos lados, por ejemplo en "
-"<literal>Person</literal>:"
+"Muchos desarrolladores programan a la defensiva y crean métodos de
"
+"manejo de un enlace para establecer correctamente ambos lados, por ejemplo "
+"en <literal>Person</literal>:"
-#. Tag: programlisting
-#: tutorial.xml:813
-#, no-c-format
+#: index.docbook:813
msgid ""
"<![CDATA[protected Set getEvents() {\n"
" return events;\n"
@@ -2258,10 +2447,25 @@
" event.getParticipants().remove(this);\n"
"}]]>"
msgstr ""
+"<![CDATA[protected Set getEvents() {\n"
+" return events;\n"
+"}\n"
+"\n"
+"protected void setEvents(Set events) {\n"
+" this.events = events;\n"
+"}\n"
+"\n"
+"public void addToEvent(Event event) {\n"
+" this.getEvents().add(event);\n"
+" event.getParticipants().add(this);\n"
+"}\n"
+"\n"
+"public void removeFromEvent(Event event) {\n"
+" this.getEvents().remove(event);\n"
+" event.getParticipants().remove(this);\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:815
-#, no-c-format
+#: index.docbook:815
msgid ""
"Notice that the get and set methods for the collection are now protected - "
"this allows classes in the same package and subclasses to still access the "
@@ -2269,15 +2473,13 @@
"directly (well, almost). You should probably do the same with the collection
"
"on the other side."
msgstr ""
-"Nota que los métodos get y set para esta colección son ahora protegidos. "
-"Esto le permite a clases en el mismo paquete y a subclases acceder aún a los
"
-"métodos, pero previene a cualquier otro de ensuciarse con la colección "
-"directamente (bueno, casi). Probablemente debas hacer lo mismo con la "
-"colección al otro lado."
+"Nota que los métodos get y set para esta colección son ahora
"
+"protegidos. Esto le permite a clases en el mismo paquete y a subclases "
+"acceder aún a los métodos, pero previene a cualquier otro de
"
+"ensuciarse con la colección directamente (bueno, casi). Probablemente
"
+"debas hacer lo mismo con la colección al otro lado."
-#. Tag: para
-#: tutorial.xml:822
-#, no-c-format
+#: index.docbook:822
msgid ""
"What about the <literal>inverse</literal> mapping attribute? For you,
and "
"for Java, a bi-directional link is simply a matter of setting the references
"
@@ -2294,38 +2496,32 @@
"association it has to be the many-side, in many-to-many association you can "
"pick either side, there is no difference."
msgstr ""
-"Y ¿qué del atributo de mapeo <literal>inverse</literal>? Para ti, y
para "
-"Java, un enlace bidireccional es simplemente cuestión de establecer "
-"correctamente las referencias a ambos lados. Hibernate, sin embargo, no "
-"tiene suficiente información para arreglar correctamente sentencias "
-"<literal>INSERT</literal> y <literal>UPDATE</literal> de
SQL (para evitar "
-"violación de restricciones), y necesita alguna ayuda para manejar "
-"asociaciones bidireccionales apropiadamente. El hacer un lado de la "
-"asociación <literal>inverse</literal> le dice a Hibernate que
basicamente lo "
-"ignore, que lo considere un <emphasis>espejo</emphasis> del otro lado.
Esto "
-"es todo lo necesario para que Hibernate resuelva todas las incidencias al "
-"transformar un modelo de navegación direccional a un esquema SQL de base de "
-"datos. Las reglas que tienes que recordar son directas: Todas las "
-"asociaciones bidireccionales necesitan uno de los lados como "
-"<literal>inverse</literal>. En una asociación uno-a-muchos debe ser el
lado-"
-"de-muchos. En una asociación muchos-a-muchos, puedes tomar cualquier lado, "
-"no hay diferencia."
+"Y ¿qué del atributo de mapeo <literal>inverse</literal>?
Para ti, y "
+"para Java, un enlace bidireccional es simplemente cuestión de "
+"establecer correctamente las referencias a ambos lados. Hibernate, sin "
+"embargo, no tiene suficiente información para arreglar correctamente
"
+"sentencias <literal>INSERT</literal> y
<literal>UPDATE</literal> de SQL "
+"(para evitar violación de restricciones), y necesita alguna ayuda
"
+"para manejar asociaciones bidireccionales apropiadamente. El hacer un lado "
+"de la asociación <literal>inverse</literal> le dice a
Hibernate que "
+"basicamente lo ignore, que lo considere un <emphasis>espejo</emphasis>
del "
+"otro lado. Esto es todo lo necesario para que Hibernate resuelva todas las "
+"incidencias al transformar un modelo de navegación direccional a un
"
+"esquema SQL de base de datos. Las reglas que tienes que recordar son "
+"directas: Todas las asociaciones bidireccionales necesitan uno de los lados "
+"como <literal>inverse</literal>. En una asociación
uno-a-muchos debe "
+"ser el lado-de-muchos. En una asociación muchos-a-muchos, puedes "
+"tomar cualquier lado, no hay diferencia."
-#. Tag: para
-#: tutorial.xml:837
-#, no-c-format
+#: index.docbook:837
msgid "Let's turn this into a small web application."
msgstr "Let's turn this into a small web application."
-#. Tag: title
-#: tutorial.xml:844
-#, no-c-format
+#: index.docbook:844
msgid "Part 3 - The EventManager web application"
msgstr "Part 3 - The EventManager web application"
-#. Tag: para
-#: tutorial.xml:846
-#, no-c-format
+#: index.docbook:846
msgid ""
"A Hibernate web application uses <literal>Session</literal> and "
"<literal>Transaction</literal> almost like a standalone application.
"
@@ -2339,15 +2535,11 @@
"<literal>EventManagerServlet</literal>. This servlet can list all
events "
"stored in the database, and it provides an HTML form to enter new events."
-#. Tag: title
-#: tutorial.xml:854
-#, no-c-format
+#: index.docbook:854
msgid "Writing the basic servlet"
msgstr "Writing the basic servlet"
-#. Tag: para
-#: tutorial.xml:856
-#, no-c-format
+#: index.docbook:856
msgid ""
"Create a new class in your source directory, in the
<literal>events</"
"literal> package:"
@@ -2355,9 +2547,7 @@
"Create a new class in your source directory, in the
<literal>events</"
"literal> package:"
-#. Tag: programlisting
-#: tutorial.xml:861
-#, no-c-format
+#: index.docbook:861
msgid ""
"<![CDATA[package events;\n"
"\n"
@@ -2368,10 +2558,17 @@
" // Servlet code\n"
"}]]>"
msgstr ""
+"<![CDATA[package events;\n"
+" \n"
+" // Imports\n"
+" \n"
+" public class "
+"EventManagerServlet extends HttpServlet {\n"
+" \n"
+" // Servlet code\n"
+" }]]>"
-#. Tag: para
-#: tutorial.xml:863
-#, no-c-format
+#: index.docbook:863
msgid ""
"The servlet handles HTTP <literal>GET</literal> requests only, hence,
the "
"method we implement is <literal>doGet()</literal>:"
@@ -2379,9 +2576,7 @@
"The servlet handles HTTP <literal>GET</literal> requests only, hence,
the "
"method we implement is <literal>doGet()</literal>:"
-#. Tag: programlisting
-#: tutorial.xml:868
-#, no-c-format
+#: index.docbook:868
msgid ""
"<![CDATA[protected void doGet(HttpServletRequest request,\n"
" HttpServletResponse response)\n"
@@ -2408,10 +2603,43 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[protected void doGet(HttpServletRequest request,\n"
+" HttpServletResponse "
+"response)\n"
+" throws ServletException, "
+"IOException {\n"
+" \n"
+" SimpleDateFormat "
+"dateFormatter = new SimpleDateFormat(\"dd.MM.yyyy\");\n"
+" \n"
+" try {\n"
+" // Begin unit of work\n"
+" HibernateUtil."
+"getSessionFactory()\n"
+" .getCurrentSession()."
+"beginTransaction();\n"
+" \n"
+" // Process request and "
+"render page...\n"
+" \n"
+" // End unit of work\n"
+" HibernateUtil."
+"getSessionFactory()\n"
+" .getCurrentSession()."
+"getTransaction().commit();\n"
+" \n"
+" } catch (Exception ex)
{\n"
+" HibernateUtil."
+"getSessionFactory()\n"
+" .getCurrentSession()."
+"getTransaction().rollback();\n"
+" throw new
ServletException"
+"(ex);\n"
+" }\n"
+" \n"
+" }]]>"
-#. Tag: para
-#: tutorial.xml:870
-#, fuzzy, no-c-format
+#: index.docbook:870
msgid ""
"The pattern we are applying here is called
<emphasis>session-per-request</"
"emphasis>. When a request hits the servlet, a new Hibernate "
@@ -2429,9 +2657,7 @@
"occur inside a transaction, no matter if data is read or written (we don't
"
"use the auto-commit mode in applications)."
-#. Tag: para
-#: tutorial.xml:879
-#, no-c-format
+#: index.docbook:879
msgid ""
"Do <emphasis>not</emphasis> use a new Hibernate
<literal>Session</literal> "
"for every database operation. Use one Hibernate
<literal>Session</literal> "
@@ -2443,9 +2669,7 @@
"that is scoped to the whole request. Use
<literal>getCurrentSession()</"
"literal>, so that it is automatically bound to the current Java thread."
-#. Tag: para
-#: tutorial.xml:886
-#, no-c-format
+#: index.docbook:886
msgid ""
"Next, the possible actions of the request are processed and the response "
"HTML is rendered. We'll get to that part soon."
@@ -2453,9 +2677,7 @@
"Next, the possible actions of the request are processed and the response "
"HTML is rendered. We'll get to that part soon."
-#. Tag: para
-#: tutorial.xml:891
-#, fuzzy, no-c-format
+#: index.docbook:891
msgid ""
"Finally, the unit of work ends when processing and rendering is complete. If
"
"any problem occured during processing or rendering, an exception will be "
@@ -2475,23 +2697,17 @@
"called <emphasis>Open Session in View</emphasis>—you'll
need it as "
"soon as you consider rendering your view in JSP, not in a servlet."
-#. Tag: title
-#: tutorial.xml:905
-#, no-c-format
+#: index.docbook:905
msgid "Processing and rendering"
msgstr "Processing and rendering"
-#. Tag: para
-#: tutorial.xml:907
-#, no-c-format
+#: index.docbook:907
msgid ""
"Let's implement the processing of the request and rendering of the page."
msgstr ""
"Let's implement the processing of the request and rendering of the page."
-#. Tag: programlisting
-#: tutorial.xml:911
-#, no-c-format
+#: index.docbook:911
msgid ""
"<![CDATA[// Write HTML header\n"
"PrintWriter out = response.getWriter();\n"
@@ -2520,10 +2736,48 @@
"out.flush();\n"
"out.close();]]>"
msgstr ""
+"<![CDATA[// Write HTML header\n"
+" PrintWriter out = response."
+"getWriter();\n"
+" out.println"
+"(\"<html><head><title>Event
Manager</title></head><body>\");\n"
+" \n"
+" // Handle "
+"actions\n"
+" if (
\"store\"."
+"equals(request.getParameter(\"action\")) ) {\n"
+" \n"
+" String "
+"eventTitle = request.getParameter(\"eventTitle\");\n"
+" String eventDate
"
+"= request.getParameter(\"eventDate\");\n"
+" \n"
+" if (
\"\".equals"
+"(eventTitle) || \"\".equals(eventDate) ) {\n"
+" out.println"
+"(\"<b><i>Please enter event title and
date.</i></b>\");\n"
+" } else {\n"
+"
createAndStoreEvent"
+"(eventTitle, dateFormatter.parse(eventDate));\n"
+" out.println"
+"(\"<b><i>Added event.</i></b>\");\n"
+" }\n"
+" }\n"
+" \n"
+" // Print page\n"
+" printEventForm"
+"(out);\n"
+" listEvents(out, "
+"dateFormatter);\n"
+" \n"
+" // Write HTML "
+"footer\n"
+"
out.println(\"</"
+"body></html>\");\n"
+" out.flush();\n"
+" out.close();]]>"
-#. Tag: para
-#: tutorial.xml:913
-#, fuzzy, no-c-format
+#: index.docbook:913
msgid ""
"Granted, this coding style with a mix of Java and HTML would not scale in a "
"more complex application—keep in mind that we are only illustrating
"
@@ -2539,9 +2793,7 @@
"all events in the database are printed. The first method is trivial and only
"
"outputs HTML:"
-#. Tag: programlisting
-#: tutorial.xml:922
-#, no-c-format
+#: index.docbook:922
msgid ""
"<![CDATA[private void printEventForm(PrintWriter out) {\n"
" out.println(\"<h2>Add new event:</h2>\");\n"
@@ -2553,10 +2805,23 @@
" out.println(\"</form>\");\n"
"}]]>"
msgstr ""
+"<![CDATA[private void printEventForm(PrintWriter out) {\n"
+" out."
+"println(\"<h2>Add new event:</h2>\");\n"
+" out."
+"println(\"<form>\");\n"
+"
out."
+"println(\"Title: <input name='eventTitle'
length='50'/><br/>\");\n"
+"
out."
+"println(\"Date (e.g. 24.12.2009): <input name='eventDate'
length='10'/><br/>"
+"\");\n"
+"
out."
+"println(\"<input type='submit' name='action'
value='store'/>\");\n"
+"
out."
+"println(\"</form>\");\n"
+" }]]>"
-#. Tag: para
-#: tutorial.xml:924
-#, no-c-format
+#: index.docbook:924
msgid ""
"The <literal>listEvents()</literal> method uses the Hibernate "
"<literal>Session</literal> bound to the current thread to execute a
query:"
@@ -2564,9 +2829,7 @@
"The <literal>listEvents()</literal> method uses the Hibernate "
"<literal>Session</literal> bound to the current thread to execute a
query:"
-#. Tag: programlisting
-#: tutorial.xml:930
-#, no-c-format
+#: index.docbook:930
msgid ""
"<![CDATA[private void listEvents(PrintWriter out, SimpleDateFormat "
"dateFormatter) {\n"
@@ -2593,10 +2856,46 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[private void listEvents(PrintWriter out, SimpleDateFormat "
+"dateFormatter) {\n"
+"
\n"
+"
List "
+"result = HibernateUtil.getSessionFactory()\n"
+"
."
+"getCurrentSession().createCriteria(Event.class).list();\n"
+" if
"
+"(result.size() > 0) {\n"
+" out."
+"println(\"<h2>Events in database:</h2>\");\n"
+" out."
+"println(\"<table border='1'>\");\n"
+"
out."
+"println(\"<tr>\");\n"
+"
out."
+"println(\"<th>Event title</th>\");\n"
+"
out."
+"println(\"<th>Event date</th>\");\n"
+"
out."
+"println(\"</tr>\");\n"
+" for "
+"(Iterator it = result.iterator(); it.hasNext();) {\n"
+" Event
"
+"event = (Event) it.next();\n"
+" out."
+"println(\"<tr>\");\n"
+"
out."
+"println(\"<td>\" + event.getTitle() +
\"</td>\");\n"
+"
out."
+"println(\"<td>\" + dateFormatter.format(event.getDate()) +
\"</td>\");\n"
+"
out."
+"println(\"</tr>\");\n"
+" }\n"
+" out."
+"println(\"</table>\");\n"
+" }\n"
+" }]]>"
-#. Tag: para
-#: tutorial.xml:932
-#, no-c-format
+#: index.docbook:932
msgid ""
"Finally, the <literal>store</literal> action is dispatched to the
"
"<literal>createAndStoreEvent()</literal> method, which also uses the
"
@@ -2606,9 +2905,7 @@
"<literal>createAndStoreEvent()</literal> method, which also uses the
"
"<literal>Session</literal> of the current thread:"
-#. Tag: programlisting
-#: tutorial.xml:938
-#, no-c-format
+#: index.docbook:938
msgid ""
"<![CDATA[protected void createAndStoreEvent(String title, Date theDate)
{\n"
" Event theEvent = new Event();\n"
@@ -2619,10 +2916,22 @@
" .getCurrentSession().save(theEvent);\n"
"}]]>"
msgstr ""
+"<![CDATA[protected void createAndStoreEvent(String title, Date theDate)
{\n"
+"
Event "
+"theEvent = new Event();\n"
+"
theEvent."
+"setTitle(title);\n"
+"
theEvent."
+"setDate(theDate);\n"
+"
\n"
+"
HibernateUtil."
+"getSessionFactory()\n"
+"
."
+"getCurrentSession().save(theEvent);\n"
+"
}]]"
+">"
-#. Tag: para
-#: tutorial.xml:940
-#, no-c-format
+#: index.docbook:940
msgid ""
"That's it, the servlet is complete. A request to the servlet will be "
"processed in a single <literal>Session</literal> and
<literal>Transaction</"
@@ -2642,15 +2951,11 @@
"more sophisticated design and move the data access code into data access "
"objects (the DAO pattern). See the Hibernate Wiki for more examples."
-#. Tag: title
-#: tutorial.xml:954
-#, no-c-format
+#: index.docbook:954
msgid "Deploying and testing"
msgstr "Deploying and testing"
-#. Tag: para
-#: tutorial.xml:956
-#, no-c-format
+#: index.docbook:956
msgid ""
"To deploy this application you have to create a web archive, a WAR. Add the "
"following Ant target to your <literal>build.xml</literal>:"
@@ -2658,9 +2963,7 @@
"To deploy this application you have to create a web archive, a WAR. Add the "
"following Ant target to your <literal>build.xml</literal>:"
-#. Tag: programlisting
-#: tutorial.xml:961
-#, no-c-format
+#: index.docbook:961
msgid ""
"<![CDATA[<target name=\"war\"
depends=\"compile\">\n"
" <war destfile=\"hibernate-tutorial.war\"
webxml=\"web.xml\">\n"
@@ -2672,10 +2975,22 @@
" </war>\n"
"</target>]]>"
msgstr ""
+"<![CDATA[<target name=\"war\"
depends=\"compile\">\n"
+" <war
"
+"destfile=\"hibernate-tutorial.war\"
webxml=\"web.xml\">\n"
+"
<lib "
+"dir=\"${librarydir}\">\n"
+"
<exclude "
+"name=\"jsdk*.jar\"/>\n"
+"
</"
+"lib>\n"
+" \n"
+" <classes
"
+"dir=\"${targetdir}\"/>\n"
+"
</war>\n"
+"
</target>]]>"
-#. Tag: para
-#: tutorial.xml:963
-#, no-c-format
+#: index.docbook:963
msgid ""
"This target creates a file called
<literal>hibernate-tutorial.war</literal> "
"in your project directory. It packages all libraries and the
<literal>web."
@@ -2687,9 +3002,7 @@
"xml</literal> descriptor, which is expected in the base directory of your
"
"project:"
-#. Tag: programlisting
-#: tutorial.xml:969
-#, no-c-format
+#: index.docbook:969
msgid ""
"<![CDATA[<?xml version=\"1.0\"
encoding=\"UTF-8\"?>\n"
"<web-app version=\"2.4\"\n"
@@ -2709,10 +3022,35 @@
" </servlet-mapping>\n"
"</web-app>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"
encoding=\"UTF-8\"?>\n"
+" <web-app version="
+"\"2.4\"\n"
+" xmlns="
+"\"http://java.sun.com/xml/ns/j2ee\"\n"
+" xmlns:xsi="
+"\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+" xsi:"
+"schemaLocation=\"http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/"
+"j2ee/web-app_2_4.xsd\">\n"
+" \n"
+"
<servlet>\n"
+"
<servlet-"
+"name>Event Manager</servlet-name>\n"
+"
<servlet-"
+"class>events.EventManagerServlet</servlet-class>\n"
+"
</servlet>\n"
+" \n"
+" <servlet-"
+"mapping>\n"
+"
<servlet-"
+"name>Event Manager</servlet-name>\n"
+"
<url-"
+"pattern>/eventmanager</url-pattern>\n"
+"
</servlet-"
+"mapping>\n"
+"
</web-app>]]>"
-#. Tag: para
-#: tutorial.xml:971
-#, no-c-format
+#: index.docbook:971
msgid ""
"Before you compile and deploy the web application, note that an additional "
"library is required: <literal>jsdk.jar</literal>. This is the Java
servlet "
@@ -2726,9 +3064,7 @@
"website and copy it to your library directory. However, it will be only used
"
"for compliation and excluded from the WAR package."
-#. Tag: para
-#: tutorial.xml:979
-#, no-c-format
+#: index.docbook:979
msgid ""
"To build and deploy call <literal>ant war</literal> in your project
"
"directory and copy the <literal>hibernate-tutorial.war</literal> file
into "
@@ -2742,9 +3078,7 @@
"installed, download it and follow the installation instructions. You don't
"
"have to change any Tomcat configuration to deploy this application though."
-#. Tag: para
-#: tutorial.xml:987
-#, no-c-format
+#: index.docbook:987
msgid ""
"Once deployed and Tomcat is running, access the application at "
"<literal>http://localhost:8080/hibernate-tutorial/eventmanager</literal>.
"
@@ -2760,25 +3094,19 @@
"<literal>HibernateUtil</literal> is called) and to get the detailed
output "
"if any exceptions occurs."
-#. Tag: title
-#: tutorial.xml:1000
-#, no-c-format
+#: index.docbook:1000
msgid "Summary"
msgstr "Summary"
-#. Tag: para
-#: tutorial.xml:1002
-#, no-c-format
+#: index.docbook:1002
msgid ""
"This tutorial covered the basics of writing a simple standalone Hibernate "
"application and a small web application."
msgstr ""
-"Este tutorial cubrió los fundamentos de escribir una simple aplicación "
-"independiente de Hibernate."
+"Este tutorial cubrió los fundamentos de escribir una simple "
+"aplicación independiente de Hibernate."
-#. Tag: para
-#: tutorial.xml:1007
-#, no-c-format
+#: index.docbook:1007
msgid ""
"If you already feel confident with Hibernate, continue browsing through the "
"reference documentation table of contents for topics you find interesting - "
@@ -2787,19 +3115,23 @@
"(<xref linkend=\"objectstate\"/>) and the query features (<xref
linkend="
"\"objectstate-querying\"/>)."
msgstr ""
-"Si ya te sientes confidente con Hibernate, continúa navegando a través de la
"
-"tabla de contenidos de la documentación de referencia para los temas que "
-"encuentres interesantes. Los más consultados son procesamiento transaccional
"
-"(<xref linkend=\"transactions\"/>), rendimiento de recuperación
(<xref "
-"linkend=\"performance\"/>), o el uso de la API (<xref
linkend=\"objectstate"
-"\"/>) y las funcionalidades de consulta (<xref
linkend=\"objectstate-querying"
-"\"/>)."
+"Si ya te sientes confidente con Hibernate, continúa navegando a "
+"través de la tabla de contenidos de la documentación de
"
+"referencia para los temas que encuentres interesantes. Los más "
+"consultados son procesamiento transaccional (<xref
linkend=\"transactions\"/"
+">), rendimiento de recuperación (<xref
linkend=\"performance\"/>), o "
+"el uso de la API (<xref linkend=\"objectstate\"/>) y las
funcionalidades de "
+"consulta (<xref linkend=\"objectstate-querying\"/>)."
-#. Tag: para
-#: tutorial.xml:1015
-#, no-c-format
+#: index.docbook:1015
msgid ""
"Don't forget to check the Hibernate website for more (specialized)
tutorials."
msgstr ""
-"No olvides chequear el sitio web de Hibernate por más (especializados) "
-"tutoriales."
+"No olvides chequear el sitio web de Hibernate por más "
+"(especializados) tutoriales."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/xml.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/xml.po 2007-11-02
00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/xml.po 2007-11-02
04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To:
http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:48+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: xml.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "XML Mapping"
msgstr "Mapeo XML"
-#. Tag: emphasis
-#: xml.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"Note that this is an experimental feature in Hibernate 3.0 and is under "
"extremely active development."
@@ -26,15 +17,11 @@
"Nota que esta es una funcionalidad experimental en Hibernate 3.0 y está bajo
"
"un desarrollo extremadamente activo."
-#. Tag: title
-#: xml.xml:13
-#, no-c-format
+#: index.docbook:13
msgid "Working with XML data"
msgstr "Trabajando con datos XML"
-#. Tag: para
-#: xml.xml:15
-#, no-c-format
+#: index.docbook:15
msgid ""
"Hibernate lets you work with persistent XML data in much the same way you "
"work with persistent POJOs. A parsed XML tree can be thought of as just "
@@ -46,9 +33,7 @@
"puede ser pensado como sólo otra forma de representar los datos relacionales
"
"a nivel de objetos, en vez de POJOs."
-#. Tag: para
-#: xml.xml:22
-#, no-c-format
+#: index.docbook:22
msgid ""
"Hibernate supports dom4j as API for manipulating XML trees. You can write "
"queries that retrieve dom4j trees from the database and have any "
@@ -66,9 +51,7 @@
"Hibernate: <literal>persist(), saveOrUpdate(), merge(), delete(),
replicate()"
"</literal> (la fusión no está aún soportada)."
-#. Tag: para
-#: xml.xml:32
-#, no-c-format
+#: index.docbook:32
msgid ""
"This feature has many applications including data import/export, "
"externalization of entity data via JMS or SOAP and XSLT-based reporting."
@@ -77,9 +60,7 @@
"exportación de datos, externalización de datos de entidad vía JMS o SOAP y "
"reportes basados en XSLT."
-#. Tag: para
-#: xml.xml:37
-#, no-c-format
+#: index.docbook:37
msgid ""
"A single mapping may be used to simultaneously map properties of a class and
"
"nodes of an XML document to the database, or, if there is no class to map, "
@@ -89,21 +70,15 @@
"una clase y los nodos de un documento XML a la base de datos, o, si no hay "
"ninguna clase a mapear, puede ser usado para mapear sólo el XML."
-#. Tag: title
-#: xml.xml:44
-#, no-c-format
+#: index.docbook:44
msgid "Specifying XML and class mapping together"
msgstr "Especificando los mapeos de XML y de clase juntos"
-#. Tag: para
-#: xml.xml:46
-#, no-c-format
+#: index.docbook:46
msgid "Here is an example of mapping a POJO and XML simultaneously:"
msgstr "He aquí un ejemplo de mapear un POJO y XML simultáneamente:"
-#. Tag: programlisting
-#: xml.xml:50
-#, no-c-format
+#: index.docbook:50
msgid ""
"<![CDATA[<class name=\"Account\" \n"
" table=\"ACCOUNTS\" \n"
@@ -126,22 +101,36 @@
" \n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Account\" \n"
+" table=\"ACCOUNTS\" \n"
+" node=\"account\">\n"
+" \n"
+" <id name=\"accountId\" \n"
+" column=\"ACCOUNT_ID\" \n"
+" node=\"@id\"/>\n"
+" \n"
+" <many-to-one name=\"customer\" \n"
+" column=\"CUSTOMER_ID\" \n"
+" node=\"customer/@id\" \n"
+" embed-xml=\"false\"/>\n"
+" \n"
+" <property name=\"balance\" \n"
+" column=\"BALANCE\" \n"
+" node=\"balance\"/>\n"
+" \n"
+" ...\n"
+" \n"
+"</class>]]>"
-#. Tag: title
-#: xml.xml:54
-#, no-c-format
+#: index.docbook:54
msgid "Specifying only an XML mapping"
msgstr "Especificando sólo un mapeo XML"
-#. Tag: para
-#: xml.xml:56
-#, no-c-format
+#: index.docbook:56
msgid "Here is an example where there is no POJO class:"
msgstr "He aquí un ejemplo donde no hay ninguna clase POJO:"
-#. Tag: programlisting
-#: xml.xml:60
-#, no-c-format
+#: index.docbook:60
msgid ""
"<![CDATA[<class entity-name=\"Account\" \n"
" table=\"ACCOUNTS\" \n"
@@ -167,10 +156,31 @@
" \n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class entity-name=\"Account\" \n"
+" table=\"ACCOUNTS\" \n"
+" node=\"account\">\n"
+" \n"
+" <id name=\"id\" \n"
+" column=\"ACCOUNT_ID\" \n"
+" node=\"@id\" \n"
+" type=\"string\"/>\n"
+" \n"
+" <many-to-one name=\"customerId\" \n"
+" column=\"CUSTOMER_ID\" \n"
+" node=\"customer/@id\" \n"
+" embed-xml=\"false\" \n"
+" entity-name=\"Customer\"/>\n"
+" \n"
+" <property name=\"balance\" \n"
+" column=\"BALANCE\" \n"
+" node=\"balance\" \n"
+" type=\"big_decimal\"/>\n"
+" \n"
+" ...\n"
+" \n"
+"</class>]]>"
-#. Tag: para
-#: xml.xml:62
-#, no-c-format
+#: index.docbook:62
msgid ""
"This mapping allows you to access the data as a dom4j tree, or as a graph of
"
"property name/value pairs (java <literal>Map</literal>s). The property
names "
@@ -181,15 +191,11 @@
"Los nombres de propiedades son construcciones puramente lógicas a las que se
"
"puede hacer referencia en consultas HQL."
-#. Tag: title
-#: xml.xml:73
-#, no-c-format
+#: index.docbook:73
msgid "XML mapping metadata"
msgstr "Mapeo de metadatos XML"
-#. Tag: para
-#: xml.xml:75
-#, no-c-format
+#: index.docbook:75
msgid ""
"Many Hibernate mapping elements accept the <literal>node</literal>
"
"attribute. This let's you specify the name of an XML attribute or element
"
@@ -201,28 +207,20 @@
"que contenga los datos de la propiedad o entidad. El formato del atributo "
"<literal>node</literal> debe ser uno de los siguientes:"
-#. Tag: para
-#: xml.xml:84
-#, no-c-format
+#: index.docbook:84
msgid "<literal>\"element-name\"</literal> - map to the named
XML element"
msgstr "<literal>\"element-name\"</literal> - mapea al
elemento XML mencionado"
-#. Tag: para
-#: xml.xml:87
-#, no-c-format
+#: index.docbook:87
msgid "<literal>\"@attribute-name\"</literal> - map to the
named XML attribute"
msgstr ""
"<literal>\"@attribute-name\"</literal> - mapea al atributo
XML mencionado"
-#. Tag: para
-#: xml.xml:90
-#, no-c-format
+#: index.docbook:90
msgid "<literal>\".\"</literal> - map to the parent
element"
msgstr "<literal>\".\"</literal> - mapea al elemento
padre"
-#. Tag: para
-#: xml.xml:93
-#, no-c-format
+#: index.docbook:93
msgid ""
"<literal>\"element-name/@attribute-name\"</literal> - map to
the named "
"attribute of the named element"
@@ -230,9 +228,7 @@
"<literal>\"element-name/@attribute-name\"</literal> - mapea
al atributo "
"mencionado del elemento mencionado"
-#. Tag: para
-#: xml.xml:100
-#, no-c-format
+#: index.docbook:100
msgid ""
"For collections and single valued associations, there is an additional "
"<literal>embed-xml</literal> attribute. If
<literal>embed-xml=\"true\"</"
@@ -251,9 +247,7 @@
"el XML para asociaciones de punto único y para las colecciones simplemente "
"no aparecerá en absoluto."
-#. Tag: para
-#: xml.xml:110
-#, no-c-format
+#: index.docbook:110
msgid ""
"You should be careful not to leave
<literal>embed-xml=\"true\"</literal> for "
"too many associations, since XML does not deal well with circularity!"
@@ -261,9 +255,7 @@
"¡Debes ser cuidadoso de no dejar
<literal>embed-xml=\"true\"</literal> para "
"demasiadas asociaciones, ya que XML no trata bien la circularidad!"
-#. Tag: programlisting
-#: xml.xml:115
-#, no-c-format
+#: index.docbook:115
msgid ""
"<![CDATA[<class name=\"Customer\" \n"
" table=\"CUSTOMER\" \n"
@@ -300,10 +292,42 @@
" \n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Customer\" \n"
+" table=\"CUSTOMER\" \n"
+" node=\"customer\">\n"
+" \n"
+" <id name=\"id\" \n"
+" column=\"CUST_ID\" \n"
+" node=\"@id\"/>\n"
+" \n"
+" <map name=\"accounts\" \n"
+" node=\".\" \n"
+" embed-xml=\"true\">\n"
+" <key column=\"CUSTOMER_ID\" \n"
+" not-null=\"true\"/>\n"
+" <map-key column=\"SHORT_DESC\" \n"
+" node=\"@short-desc\" \n"
+" type=\"string\"/>\n"
+" <one-to-many entity-name=\"Account\"\n"
+" embed-xml=\"false\" \n"
+" node=\"account\"/>\n"
+" </map>\n"
+" \n"
+" <component name=\"name\" \n"
+" node=\"name\">\n"
+" <property name=\"firstName\" \n"
+" node=\"first-name\"/>\n"
+" <property name=\"initial\" \n"
+" node=\"initial\"/>\n"
+" <property name=\"lastName\" \n"
+" node=\"last-name\"/>\n"
+" </component>\n"
+" \n"
+" ...\n"
+" \n"
+"</class>]]>"
-#. Tag: para
-#: xml.xml:117
-#, no-c-format
+#: index.docbook:117
msgid ""
"in this case, we have decided to embed the collection of account ids, but "
"not the actual account data. The following HQL query:"
@@ -311,23 +335,19 @@
"en este caso, hemos decidido embeber la colección de ids de cuenta, pero no "
"los datos reales de cuenta. La siguiente consulta HQL:"
-#. Tag: programlisting
-#: xml.xml:122
-#, no-c-format
+#: index.docbook:122
msgid ""
"<![CDATA[from Customer c left join fetch c.accounts where c.lastName like
:"
"lastName]]>"
msgstr ""
+"<![CDATA[from Customer c left join fetch c.accounts where c.lastName like
:"
+"lastName]]>"
-#. Tag: para
-#: xml.xml:124
-#, no-c-format
+#: index.docbook:124
msgid "Would return datasets such as this:"
msgstr "devolvería conjuntos de datos como estos:"
-#. Tag: programlisting
-#: xml.xml:128
-#, no-c-format
+#: index.docbook:128
msgid ""
"<![CDATA[<customer id=\"123456789\">\n"
" <account
short-desc=\"Savings\">987632567</account>\n"
@@ -340,10 +360,18 @@
" ...\n"
"</customer>]]>"
msgstr ""
+"<![CDATA[<customer id=\"123456789\">\n"
+" <account
short-desc=\"Savings\">987632567</account>\n"
+" <account short-desc=\"Credit
Card\">985612323</account>\n"
+" <name>\n"
+" <first-name>Gavin</first-name>\n"
+" <initial>A</initial>\n"
+" <last-name>King</last-name>\n"
+" </name>\n"
+" ...\n"
+"</customer>]]>"
-#. Tag: para
-#: xml.xml:130
-#, no-c-format
+#: index.docbook:130
msgid ""
"If you set <literal>embed-xml=\"true\"</literal> on the
<literal><one-to-"
"many></literal> mapping, the data might look more like this:"
@@ -351,9 +379,7 @@
"Si estableces <literal>embed-xml=\"true\"</literal> en el
mapeo <literal><"
"one-to-many></literal>, los datos podrían verse así:"
-#. Tag: programlisting
-#: xml.xml:135
-#, no-c-format
+#: index.docbook:135
msgid ""
"<![CDATA[<customer id=\"123456789\">\n"
" <account id=\"987632567\"
short-desc=\"Savings\">\n"
@@ -372,16 +398,28 @@
" ...\n"
"</customer>]]>"
msgstr ""
+"<![CDATA[<customer id=\"123456789\">\n"
+" <account id=\"987632567\"
short-desc=\"Savings\">\n"
+" <customer id=\"123456789\"/>\n"
+" <balance>100.29</balance>\n"
+" </account>\n"
+" <account id=\"985612323\" short-desc=\"Credit
Card\">\n"
+" <customer id=\"123456789\"/>\n"
+" <balance>-2370.34</balance>\n"
+" </account>\n"
+" <name>\n"
+" <first-name>Gavin</first-name>\n"
+" <initial>A</initial>\n"
+" <last-name>King</last-name>\n"
+" </name>\n"
+" ...\n"
+"</customer>]]>"
-#. Tag: title
-#: xml.xml:141
-#, no-c-format
+#: index.docbook:141
msgid "Manipulating XML data"
msgstr "Manipulando datos XML"
-#. Tag: para
-#: xml.xml:143
-#, no-c-format
+#: index.docbook:143
msgid ""
"Let's rearead and update XML documents in the application. We do this by
"
"obtaining a dom4j session:"
@@ -389,9 +427,7 @@
"Vamos a releer y actualizar documentos XML en la aplicación. Hacemos esto "
"obteniendo una sesión dom4j:"
-#. Tag: programlisting
-#: xml.xml:148
-#, no-c-format
+#: index.docbook:148
msgid ""
"<![CDATA[Document doc = ....;\n"
" \n"
@@ -412,10 +448,26 @@
"tx.commit();\n"
"session.close();]]>"
msgstr ""
+"<![CDATA[Document doc = ....;\n"
+" \n"
+"Session session = factory.openSession();\n"
+"Session dom4jSession = session.getSession(EntityMode.DOM4J);\n"
+"Transaction tx = session.beginTransaction();\n"
+"\n"
+"List results = dom4jSession\n"
+" .createQuery(\"from Customer c left join fetch c.accounts where c."
+"lastName like :lastName\")\n"
+" .list();\n"
+"for ( int i=0; i<results.size(); i++ ) {\n"
+" //add the customer data to the XML document\n"
+" Element customer = (Element) results.get(i);\n"
+" doc.add(customer);\n"
+"}\n"
+"\n"
+"tx.commit();\n"
+"session.close();]]>"
-#. Tag: programlisting
-#: xml.xml:150
-#, no-c-format
+#: index.docbook:150
msgid ""
"<![CDATA[Session session = factory.openSession();\n"
"Session dom4jSession = session.getSession(EntityMode.DOM4J);\n"
@@ -434,10 +486,24 @@
"tx.commit();\n"
"session.close();]]>"
msgstr ""
+"<![CDATA[Session session = factory.openSession();\n"
+"Session dom4jSession = session.getSession(EntityMode.DOM4J);\n"
+"Transaction tx = session.beginTransaction();\n"
+"\n"
+"Element cust = (Element) dom4jSession.get(\"Customer\",
customerId);\n"
+"for ( int i=0; i<results.size(); i++ ) {\n"
+" Element customer = (Element) results.get(i);\n"
+" //change the customer name in the XML and database\n"
+" Element name = customer.element(\"name\");\n"
+" name.element(\"first-name\").setText(firstName);\n"
+" name.element(\"initial\").setText(initial);\n"
+" name.element(\"last-name\").setText(lastName);\n"
+"}\n"
+"\n"
+"tx.commit();\n"
+"session.close();]]>"
-#. Tag: para
-#: xml.xml:152
-#, no-c-format
+#: index.docbook:152
msgid ""
"It is extremely useful to combine this feature with Hibernate's "
"<literal>replicate()</literal> operation to implement XML-based data
import/"
@@ -446,3 +512,9 @@
"Es extremadamente útil combinar esta funcionalidad con la operación "
"<literal>replicate()</literal> de Hibernate para implementar la
importación/"
"exportación de datos basada en XML."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"