[hibernate-commits] Hibernate SVN: r18720 - in core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES: content and 1 other directory.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Mon Feb 8 01:01:30 EST 2010


Author: stliu
Date: 2010-02-08 01:01:28 -0500 (Mon, 08 Feb 2010)
New Revision: 18720

Added:
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Author_Group.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Book_Info.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Feedback.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Hibernate_Core_Reference_Guide.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Revision_History.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/Preface.po
Removed:
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Hibernate_Reference.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/author_group.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/bibliography.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/preface.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/quickstart.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/legal_notice.po
Modified:
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/architecture.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/association_mapping.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/basic_mapping.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/batch.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/best_practices.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/collection_mapping.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/component_mapping.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/configuration.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/events.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/example_mappings.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/example_parentchild.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/example_weblog.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/filters.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/inheritance_mapping.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/performance.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/persistent_classes.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/portability.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/query_criteria.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/query_hql.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/query_sql.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/session_api.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/toolset_guide.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/transactions.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/tutorial.po
   core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/xml.po
Log:
HHH-4729 Import work done by Red Hat translation team

Copied: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Author_Group.po (from rev 18713, core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/author_group.po)
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Author_Group.po	                        (rev 0)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Author_Group.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -0,0 +1,30 @@
+# translation of Author_Group.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+msgid ""
+msgstr ""
+"Project-Id-Version: Author_Group\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-12-03T00:15:25\n"
+"PO-Revision-Date: 2009-10-08 08:55+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#~ msgid ""
+#~ "<firstname>Red Hat Documentation Group</firstname> <surname></surname>"
+#~ msgstr ""
+#~ "<firstname>Grupo de documentación de Red Hat</firstname> <surname></"
+#~ "surname>"

Added: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Book_Info.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Book_Info.po	                        (rev 0)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Book_Info.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -0,0 +1,45 @@
+# translation of Book_Info.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+msgid ""
+msgstr ""
+"Project-Id-Version: Book_Info\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-12-11T05:07:38\n"
+"PO-Revision-Date: 2010-01-07 10:56+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. Tag: title
+#, no-c-format
+msgid "Hibernate Core Reference Guide"
+msgstr "Manual de referencia de Hibernate Core"
+
+#. Tag: subtitle
+#, no-c-format
+msgid ""
+"by Gavin King, Christian Bauer, Max Rydahl Andersen, Emmanuel Bernard, and "
+"Steve Ebersole and thanks to James Cobb (Graphic Design) and Cheyenne Weaver "
+"(Graphic Design)"
+msgstr ""
+"por Gavin King, Christian Bauer, Max Rydahl Andersen, Emmanuel Bernard y Steve Ebersole. Gracias a James Cobb (diseño gráfico) y Cheyenne Weaver "
+"(diseño gráfico)"
+
+#. Tag: para
+#, no-c-format
+msgid "The JBoss Hibernate Core 3.3.2.GA Reference Guide"
+msgstr "Manual de referencia de JBoss Hibernate Core 3.3.2.GA "
+

Added: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Feedback.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Feedback.po	                        (rev 0)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Feedback.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -0,0 +1,51 @@
+# translation of Feedback.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+msgid ""
+msgstr ""
+"Project-Id-Version: Feedback\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-12-03T00:15:25\n"
+"PO-Revision-Date: 2009-11-12 08:53+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. Tag: title
+#, no-c-format
+msgid "Feedback"
+msgstr "Observaciones"
+
+#. Tag: para
+#, no-c-format
+msgid ""
+"If you spot a typo in this guide, or if you have thought of a way to make "
+"this manual better, we would love to hear from you! Submit a report in "
+"<ulink url=\"http://jira.jboss.com/jira/browse/JBPAPP\">JIRA</ulink> against "
+"the Product: JBoss Enterprise Application Platform, Version: "
+"<replaceable>&lt;version&gt;</replaceable>, Component: <emphasis>Doc</"
+"emphasis>. If you have a suggestion for improving the documentation, try to "
+"be as specific as possible. If you have found an error, include the section "
+"number and some of the surrounding text so we can find it easily."
+msgstr ""
+"Si encuentra algun error de ortografía en este manual o si se le ocurre una "
+"manera de mejorarlo, ¡nos encantaría escuchar sus sugerencias! Llene un "
+"reporte en <ulink url=\"http://jira.jboss.com/jira/browse/JBPAPP\">JIRA</"
+"ulink> frente al producto: JBoss Enterprise Application Platform, Version: "
+"<replaceable>&lt;version&gt;</replaceable>, Component: <emphasis>Doc</"
+"emphasis>. Si tiene alguna sugerencia para mejorar la documentación, trate "
+"de ser lo más especifico posible. Si encuentra algún error, incluya el "
+"número de la sección y algo del contexto de manera que lo podamos encontrar "
+"fácilmente."

Copied: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Hibernate_Core_Reference_Guide.po (from rev 18713, core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Hibernate_Reference.po)
===================================================================

Deleted: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Hibernate_Reference.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Hibernate_Reference.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Hibernate_Reference.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,32 +0,0 @@
-#, fuzzy
-msgid ""
-msgstr ""
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-23 18:41+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-
-#. Tag: title
-#: Hibernate_Reference.xml:35
-#, no-c-format
-msgid "HIBERNATE - Relational Persistence for Idiomatic Java"
-msgstr "HIBERNATE - Persistencia Relacional para Java Idiom&#x00e1;tico"
-
-#. Tag: subtitle
-#: Hibernate_Reference.xml:36
-#, no-c-format
-msgid "Hibernate Reference Documentation"
-msgstr "Documentaci&#x00f3;n de Referencia de Hibernate"
-
-#. Tag: holder
-#: Hibernate_Reference.xml:51
-#, no-c-format
-msgid "&copyrightHolder;"
-msgstr "&copyrightHolder;"
-
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

Added: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Revision_History.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Revision_History.po	                        (rev 0)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/Revision_History.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -0,0 +1,35 @@
+# translation of Revision_History.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+msgid ""
+msgstr ""
+"Project-Id-Version: Revision_History\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2009-12-11T05:07:38\n"
+"PO-Revision-Date: 2010-01-07 10:57+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. Tag: title
+#, no-c-format
+msgid "Revision History"
+msgstr "Historial de revisiones"
+
+#. Tag: member
+#, no-c-format
+msgid "Merged with EAP5 and translations added"
+msgstr "Combinado con EAP5 y traducciones agregadas"
+

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

Copied: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/Preface.po (from rev 18713, core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/preface.po)
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/Preface.po	                        (rev 0)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/Preface.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -0,0 +1,221 @@
+# translation of Preface.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of preface.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+msgid ""
+msgstr ""
+"Project-Id-Version: Preface\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2010-01-08T04:07:17\n"
+"PO-Revision-Date: 2010-01-07 10:45+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+
+#. Tag: title
+#, no-c-format
+msgid "Preface"
+msgstr "Prefacio"
+
+#. Tag: para
+#, no-c-format
+msgid ""
+"Working with object-oriented software and a relational database can be "
+"cumbersome and time consuming in today's enterprise environments. Hibernate "
+"is an object/relational mapping tool for Java environments. The term object/"
+"relational mapping (ORM) refers to the technique of mapping a data "
+"representation from an object model to a relational data model with a SQL-"
+"based schema."
+msgstr ""
+"El trabajar con software orientado a objetos y con una base de datos "
+"relacional puede llegar a ser engorroso y puede llegar a tomar bastante "
+"tiempo en los entornos empresariales de hoy en día. Hibernate es una "
+"herramienta de mapeo objeto/relacional para entornos Java. El término mapeo "
+"objeto/relacional (ORM) se refiere a la técnica de mapear una representación "
+"de datos desde un modelo de objeto a un modelo de datos relacionales con un "
+"esquema basado en SQL."
+
+#. Tag: para
+#, no-c-format
+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. It can also significantly reduce development "
+"time otherwise spent with manual data handling in SQL and JDBC."
+msgstr ""
+"Hibernate no sólamente se ocupa del mapeo desde las clases Java a las tablas "
+"de las bases de datos (y desde los tipos de datos de Java a los tipos de "
+"datos de SQL), sino que también facilita la consulta y recuperación de "
+"datos. Esto puede reducir de manera importante el tiempo de desarrollo que "
+"se tomaría con el manejo de datos de forma manual en SQL y JDBC."
+
+#. Tag: para
+#, no-c-format
+msgid ""
+"Hibernate's goal is to relieve the developer from 95 percent of common data "
+"persistence related programming tasks. Hibernate may not be the best "
+"solution for data-centric applications that only use stored-procedures to "
+"implement the business logic in the database, it is most useful with object-"
+"oriented domain models and business logic in the Java-based middle-tier. "
+"However, Hibernate can certainly help you to remove or encapsulate vendor-"
+"specific SQL code and will help with the common task of result set "
+"translation from a tabular representation to a graph of objects."
+msgstr ""
+"La meta de Hibernate es aliviar el trabajo del desarrollador en 95% de la "
+"persistencia de datos comunes relacionados con tareas de programación. Es "
+"posible que Hibernate no sea la mejor solución para aquellas aplicaciones "
+"centralizadas en datos que sólamente utilizan los procedimientos almacenados "
+"para implementar la lógica empresarial en la base de datos, Hibernate es "
+"mucho más útil con modelos de dominio orientados a objetos y con lógica "
+"empresarial middle-tier con base en Java. Sin embargo, Hibernate ciertamente "
+"le puede ayudar a eliminar o a encapsular código SQL específico del vendedor "
+"y le ayudará con la tarea común de traducción del grupo de resultados desde "
+"una representación tabular a un grafo de objetos."
+
+#. Tag: para
+#, no-c-format
+msgid ""
+"If you are new to Hibernate and Object/Relational Mapping or even Java, "
+"please follow these steps:"
+msgstr ""
+"Si usted es nuevo en el tema de Hibernate y del Mapeo Objeto/Relacional o "
+"inclusive en Java por favor siga los siguientes pasos:"
+
+#. Tag: para
+#, no-c-format
+msgid ""
+"Read <xref linkend=\"tutorial\" /> for a tutorial with step-by-step "
+"instructions. The source code for the tutorial is included in the "
+"distribution in the <literal>doc/reference/tutorial/</literal> directory."
+msgstr ""
+"Consulte el <xref linkend=\"tutorial\"/>, el cual es un tutorial con "
+"instrucciones paso por paso. El código fuente para el tutorial se encuentra "
+"incluido en la distribución en el directorio <literal>doc/reference/tutorial/"
+"</literal>. "
+
+#. Tag: para
+#, no-c-format
+msgid ""
+"Read <xref linkend=\"architecture\" /> to understand the environments where "
+"Hibernate can be used."
+msgstr ""
+"Consulte el <xref linkend=\"architecture\" /> para comprender los entornos "
+"en donde se puede utilizar Hibernate."
+
+#. Tag: para
+#, no-c-format
+msgid ""
+"View the <literal>eg/</literal> directory in the Hibernate distribution. It "
+"contains a simple standalone application. Copy your JDBC driver to the "
+"<literal>lib/</literal> directory and edit <literal>etc/hibernate."
+"properties</literal>, specifying correct values for your database. From a "
+"command prompt in the distribution directory, type <literal>ant eg</literal> "
+"(using Ant), or under Windows, type <literal>build eg</literal>."
+msgstr ""
+"Déle un vistazo al directorio <literal>eg/</literal> en la distribución de "
+"Hibernate. Este comprende una aplicación autónoma simple. Copie su "
+"compilador JDBC al directorio <literal>lib/</literal> y edite <literal>etc/"
+"hibernate.properties</literal>, especificando los valores correctos para su "
+"base de datos. Desde un intérprete de comandos en el directorio de la "
+"distribución, escriba <literal>ant eg</literal> (utilizando Ant), o bajo "
+"Windows, escriba <literal>build eg</literal>."
+
+#. Tag: para
+#, no-c-format
+msgid ""
+"Use this reference documentation as your primary source of information. "
+"Consider reading <emphasis>Java Persistence with Hibernate</emphasis> "
+"(http://www.manning.com/bauer2) if you need more help with application "
+"design, or if you prefer a step-by-step tutorial. Also visit http://"
+"caveatemptor.hibernate.org and download the example application for Java "
+"Persistence with Hibernate."
+msgstr ""
+"Utilice esta documentación de referencia como su fuente principal de "
+"información. Considere el leer <emphasis>Java Persistence with Hibernate</"
+"emphasis> (http://www.manning.com/bauer2) si necesita más ayuda con el "
+"diseño de la aplicación o si prefiere un tutorial paso por paso. También "
+"visite http://caveatemptor.hibernate.org y descargue la aplicación  "
+"deejemplo para la persistencia de Java con Hibernate."
+
+#. Tag: para
+#, no-c-format
+msgid "FAQs are answered on the Hibernate website."
+msgstr ""
+"En el sitio web de Hibernate encontrará las respuestas a las preguntas más "
+"frecuentes."
+
+#. Tag: para
+#, no-c-format
+msgid ""
+"Third party demos, examples, and tutorials are linked on the Hibernate "
+"website."
+msgstr ""
+"En el sitio web de Hibernate encontrará un enlace a la demostraciones de "
+"terceros, ejemplos y tutoriales."
+
+#. Tag: para
+#, no-c-format
+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 área de la comunidad en el sitio web de Hibernate es un buen recurso para "
+"encontrar patrones de diseño y varias soluciones de integración (Tomcat, "
+"JBoss AS, Struts, EJB, etc)."
+
+#. Tag: para
+#, no-c-format
+msgid ""
+"If you have questions, use the user forum linked on the Hibernate website. "
+"We also provide a JIRA issue tracking system for bug reports and feature "
+"requests. If you are interested in the development of Hibernate, join the "
+"developer mailing list. If you are interested in translating this "
+"documentation into your language, contact us on the developer mailing list."
+msgstr ""
+"Si tiene alguna pregunta, diríjase al sitio web de Hibernate en donde "
+"encontrará un enlace al foro de usuarios. También proporcionamos un sistema "
+"de localización para reportes de errores JIRA y solicitud de funciones. Si "
+"está interesado en el desarrollo de Hibernate, únase a la lista de correo de "
+"los desarrolladores. Si le interesa traducir esta documentación a su propio "
+"idioma, contáctenos en la lista de correo de los desarrolladores."
+
+#. Tag: para
+#, no-c-format
+msgid ""
+"Commercial development support, production support, and training for "
+"Hibernate is available through JBoss Inc. (see http://www.hibernate.org/"
+"SupportTraining/). Hibernate is a Professional Open Source project and a "
+"critical component of the JBoss Enterprise Middleware System (JEMS) suite of "
+"products."
+msgstr ""
+"JBoss Inc. proporciona soporte para desarrollo comercial, soporte para "
+"producción y entrenamiento (vea http://www.hibernate.org/SupportTraining/). "
+"Hibernate es un proyecto de Código Abierto Profesional y es un componente "
+"crítico de la suite de productos de JBoss Enterprise Middleware System "
+"(JEMS)."
+
+#. Tag: title
+#, no-c-format
+msgid "Feedback"
+msgstr ""
+
+#. Tag: para
+#, no-c-format
+msgid ""
+"Use <ulink url=\"http://opensource.atlassian.com/projects/hibernate"
+"\">Hibernate JIRA</ulink> to report errors or request enhacements to this "
+"documentation."
+msgstr ""

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

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/association_mapping.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/association_mapping.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/association_mapping.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,27 +1,40 @@
-#, fuzzy
+# translation of association_mapping.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: association_mapping\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-10 21:02+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2009-12-03T00:15:25\n"
+"PO-Revision-Date: 2009-11-09 12:44+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: association_mapping.xml:30
 #, no-c-format
 msgid "Association Mappings"
-msgstr "Mapeos de Asociaci&#x00f3;n"
+msgstr "Mapeos de asociación"
 
 #. Tag: title
-#: association_mapping.xml:33
 #, no-c-format
 msgid "Introduction"
-msgstr "Introducci&#x00f3;n"
+msgstr "Introducción"
 
 #. Tag: para
-#: association_mapping.xml:35
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Association mappings are often the most difficult thing to implement "
 "correctly. In this section we examine some canonical cases one by one, "
@@ -29,684 +42,173 @@
 "use <literal>Person</literal> and <literal>Address</literal> in all the "
 "examples."
 msgstr ""
-"Los mapeos de asociaci&#x00f3;n son frecuentemente las cosas mas dif&#x00ed;"
-"ciles de hacer correctamente. En esta secci&#x00f3;n iremos a trav&#x00e9;s "
-"de los casos can&#x00f3;nicos uno a uno, comenzando con los mapeos "
-"unidireccionales, y considerando luego los casos bidireccionales. Usaremos "
-"<literal>Person</literal> y <literal>Address</literal> en todos los ejemplos."
+"Los mapeos de asociación son frecuentemente lo más difícil de implementar "
+"correctamente. En esta sección revisaremos algunos casos canónicos uno por "
+"uno, comenzando con los mapeos unidireccionales y luego considerando los "
+"casos bidireccionales. Vamos a utilizar <literal>Person</literal> y "
+"<literal>Address</literal> en todos los ejemplos."
 
 #. Tag: para
-#: association_mapping.xml:43
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Associations will be classified by multiplicity and whether or not they map "
 "to an intervening join table."
 msgstr ""
-"Clasificaremos las asociaciones por cuanto mapeen o no a una tabla de "
-"uni&#x00f3;n interviniente, y por su multiplicidad."
+"Vamos a clasificar las asociaciones en cuanto su multiplicidad y a si mapean "
+"o no a una tabla de unión interviniente."
 
 #. Tag: para
-#: association_mapping.xml:48
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Nullable foreign keys are not considered to be good practice in traditional "
 "data modelling, so our examples do not use nullable foreign keys. This is "
 "not a requirement of Hibernate, and the mappings will work if you drop the "
 "nullability constraints."
 msgstr ""
-"Las claves for&#x00e1;neas que aceptan valores nulos (en adelante, "
-"nullables) no son consideradas una buena pr&#x00e1;ctica en el modelado "
-"tradicional de datos, as&#x00ed; que todos nuestros ejemplos usan claves "
-"for&#x00e1;neas no nullables. Esto no es un requerimiento de Hibernate, y "
-"todos los mapeos funcionar&#x00e1;n si quitas las restricciones de "
+"Las claves foráneas que aceptan valores nulos no se consideran como una "
+"buena práctica en el modelado tradicional de datos, así que todos nuestros "
+"ejemplos utilizan claves foráneas no nulas. Esto no es un requisito de "
+"Hibernate y todos los mapeos funcionarán si quita las restricciones de "
 "nulabilidad."
 
 #. Tag: title
-#: association_mapping.xml:58
 #, no-c-format
 msgid "Unidirectional associations"
 msgstr "Asociaciones Unidireccionales"
 
 #. Tag: title
-#: association_mapping.xml:61 association_mapping.xml:132
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Many-to-one"
-msgstr "muchos a uno"
+msgstr "Many-to-one"
 
 #. Tag: para
-#: association_mapping.xml:63
 #, no-c-format
 msgid ""
 "A <emphasis>unidirectional many-to-one association</emphasis> is the most "
 "common kind of unidirectional association."
 msgstr ""
-"Una <emphasis>asociaci&#x00f3;n unidireccional muchos-a-uno</emphasis> es el "
-"tipo m&#x00e1;s com&#x00fa;n de asociaciones unidireccionales."
+"Una <emphasis>asociación unidireccional muchos-a-uno</emphasis> es el tipo "
+"de asociación unidireccional más común."
 
-#. Tag: programlisting
-#: association_mapping.xml:68
-#, no-c-format
-msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <many-to-one name=\"address\" \n"
-"        column=\"addressId\"\n"
-"        not-null=\"true\"/>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"    <id name=\"id\" column=\"addressId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"</class>]]>"
-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:69 association_mapping.xml:185
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"create table Person ( personId bigint not null primary key, addressId bigint "
-"not null )\n"
-"create table Address ( addressId bigint not null primary key )\n"
-"        ]]>"
-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:74 association_mapping.xml:145
-#: association_mapping.xml:210
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "One-to-one"
-msgstr "uno a uno"
+msgstr "Uno-a-uno"
 
 #. Tag: para
-#: association_mapping.xml:76
 #, no-c-format
 msgid ""
 "A <emphasis>unidirectional one-to-one association on a foreign key</"
 "emphasis> is almost identical. The only difference is the column unique "
 "constraint."
 msgstr ""
-"Una <emphasis>asociaci&#x00f3;n unidireccional uno-a-uno en una clave "
-"primaria</emphasis> es casi id&#x00e9;ntica. La &#x00fa;nica diferencia es "
-"la restricci&#x00f3;n de unicidad de la columna."
+"Una <emphasis>asociación unidireccional uno-a-uno en una clave foránea</"
+"emphasis> es casi idéntica. La única diferencia es la restricción de "
+"unicidad de la columna."
 
-#. Tag: programlisting
-#: association_mapping.xml:81
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <many-to-one name=\"address\" \n"
-"        column=\"addressId\" \n"
-"        unique=\"true\"\n"
-"        not-null=\"true\"/>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"    <id name=\"id\" column=\"addressId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"</class>]]>"
-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:82 association_mapping.xml:218
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"create table Person ( personId bigint not null primary key, addressId bigint "
-"not null unique )\n"
-"create table Address ( addressId bigint not null primary key )\n"
-"        ]]>"
-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:84
-#, fuzzy, no-c-format
-msgid ""
 "A <emphasis>unidirectional one-to-one association on a primary key</"
 "emphasis> usually uses a special id generator In this example, however, we "
 "have reversed the direction of the association:"
 msgstr ""
-"Usualmente, una <emphasis>asociaci&#x00f3;n unidireccional uno-a-uno en una "
-"clave primaria</emphasis> usa un generador de id especial. (Observa que "
-"hemos invertido el sentido de la asociaci&#x00f3;n en este ejemplo)."
+"Usualmente, una <emphasis>asociación unidireccional uno-a-uno en una clave "
+"principal</emphasis> utiliza un generador de id especial. Sin embargo, hemos "
+"invertido la dirección de la asociación:"
 
-#. Tag: programlisting
-#: association_mapping.xml:90
-#, no-c-format
-msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"foreign\">\n"
-"            <param name=\"property\">person</param>\n"
-"        </generator>\n"
-"    </id>\n"
-"    <one-to-one name=\"person\" constrained=\"true\"/>\n"
-"</class>]]>"
-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:91 association_mapping.xml:226
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"create table Person ( personId bigint not null primary key )\n"
-"create table Address ( personId bigint not null primary key )\n"
-"        ]]>"
-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:96 association_mapping.xml:118
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "One-to-many"
-msgstr "uno a muchos"
+msgstr "Uno-a-muchos"
 
 #. Tag: para
-#: association_mapping.xml:98
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A <emphasis>unidirectional one-to-many association on a foreign key</"
 "emphasis> is an unusual case, and is not recommended."
 msgstr ""
-"Una <emphasis>asociaci&#x00f3;n unidireccional uno-a-muchos en una clave "
-"for&#x00e1;nea</emphasis> es un caso muy inusual, y realmente no est&#x00e1; "
-"recomendada."
+"Una <emphasis>asociación unidireccional uno-a-muchos en una clave foránea</"
+"emphasis> es un caso muy inusual y no se recomienda."
 
-#. Tag: programlisting
-#: association_mapping.xml:103
-#, no-c-format
-msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <set name=\"addresses\">\n"
-"        <key column=\"personId\" \n"
-"            not-null=\"true\"/>\n"
-"        <one-to-many class=\"Address\"/>\n"
-"    </set>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"    <id name=\"id\" column=\"addressId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"</class>]]>"
-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:104
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"create table Person ( personId bigint not null primary key )\n"
-"create table Address ( addressId bigint not null primary key, personId "
-"bigint not null )\n"
-"        ]]>"
-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:106
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "You should instead use a join table for this kind of association."
 msgstr ""
-"Creemos que es mejor usar una tabla de uni&#x00f3;n para este tipo de "
-"asociaci&#x00f3;n."
+"En lugar debe utilizar una tabla de unión para esta clase de asociación."
 
 #. Tag: title
-#: association_mapping.xml:115
 #, no-c-format
 msgid "Unidirectional associations with join tables"
-msgstr "Asociaciones unidireccionales con tablas de uni&#x00f3;n"
+msgstr "Asociaciones unidireccionales con tablas de unión"
 
 #. Tag: para
-#: association_mapping.xml:120
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A <emphasis>unidirectional one-to-many association on a join table</"
 "emphasis> is the preferred option. Specifying <literal>unique=\"true\"</"
 "literal>, changes the multiplicity from many-to-many to one-to-many."
 msgstr ""
-"Una <emphasis>asociaci&#x00f3;n unidireccional uno-a-muchos en una tabla de "
-"uni&#x00f3;n</emphasis> es m&#x00e1;s preferible. Observa que especificando "
-"<literal>unique=\"true\"</literal>, hemos cambiado la multiplicidad de "
-"muchos-a-muchos a uno-a-muchos."
+"Se prefiere una <emphasis>asociación unidireccional uno-a-muchos en una "
+"tabla de unión</emphasis> . El especificar <literal>unique=\"true\"</"
+"literal>, cambia la multiplicidad de muchos-a-muchos a uno-a-muchos."
 
-#. Tag: programlisting
-#: association_mapping.xml:126
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <set name=\"addresses\" table=\"PersonAddress\">\n"
-"        <key column=\"personId\"/>\n"
-"        <many-to-many column=\"addressId\"\n"
-"            unique=\"true\"\n"
-"            class=\"Address\"/>\n"
-"    </set>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"    <id name=\"id\" column=\"addressId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"</class>]]>"
-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:127
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"create table Person ( personId bigint not null primary key )\n"
-"create table PersonAddress ( personId not null, addressId bigint not null "
-"primary key )\n"
-"create table Address ( addressId bigint not null primary key )\n"
-"        ]]>"
-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:134
-#, fuzzy, no-c-format
-msgid ""
 "A <emphasis>unidirectional many-to-one association on a join table</"
 "emphasis> is common when the association is optional. For example:"
 msgstr ""
-"Una <emphasis>asociaci&#x00f3;n unidireccional muchos-a-uno en una tabla de "
-"uni&#x00f3;n</emphasis> es bastante com&#x00fa;n cuando la asociaci&#x00f3;n "
-"es opcional."
+"Una <emphasis>asociación unidireccional muchos-a-uno en una tabla de unión</"
+"emphasis> es común cuando la asociación es opcional. Por ejemplo:"
 
-#. Tag: programlisting
-#: association_mapping.xml:139
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <join table=\"PersonAddress\" \n"
-"        optional=\"true\">\n"
-"        <key column=\"personId\" unique=\"true\"/>\n"
-"        <many-to-one name=\"address\"\n"
-"            column=\"addressId\" \n"
-"            not-null=\"true\"/>\n"
-"    </join>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"    <id name=\"id\" column=\"addressId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"</class>]]>"
-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:140
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"create table Person ( personId bigint not null primary key )\n"
-"create table PersonAddress ( personId bigint not null primary key, addressId "
-"bigint not null )\n"
-"create table Address ( addressId bigint not null primary key )\n"
-"        ]]>"
-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:147
-#, fuzzy, no-c-format
-msgid ""
 "A <emphasis>unidirectional one-to-one association on a join table</emphasis> "
 "is possible, but extremely unusual."
 msgstr ""
-"Una <emphasis>asociaci&#x00f3;n unidireccional uno-a-uno en una tabla de "
-"uni&#x00f3;n</emphasis> es inusual en extremo, pero posible."
+"Una <emphasis>asociación unidireccional uno-a-uno en una tabla de unión</"
+"emphasis> es extremadamente inusual, pero es posible. "
 
-#. Tag: programlisting
-#: association_mapping.xml:152
-#, no-c-format
-msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <join table=\"PersonAddress\" \n"
-"        optional=\"true\">\n"
-"        <key column=\"personId\" \n"
-"            unique=\"true\"/>\n"
-"        <many-to-one name=\"address\"\n"
-"            column=\"addressId\" \n"
-"            not-null=\"true\"\n"
-"            unique=\"true\"/>\n"
-"    </join>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"    <id name=\"id\" column=\"addressId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"</class>]]>"
-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:153 association_mapping.xml:258
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"create table Person ( personId bigint not null primary key )\n"
-"create table PersonAddress ( personId bigint not null primary key, addressId "
-"bigint not null unique )\n"
-"create table Address ( addressId bigint not null primary key )\n"
-"        ]]>"
-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:158 association_mapping.xml:263
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Many-to-many"
-msgstr "muchos a muchos"
+msgstr "Muchos-a-muchos"
 
 #. Tag: para
-#: association_mapping.xml:160
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Finally, here is an example of a <emphasis>unidirectional many-to-many "
 "association</emphasis>."
 msgstr ""
-"Finalmente, tenemos una <emphasis>asociaci&#x00f3;n unidireccional muchos-a-"
-"muchos</emphasis>"
+"Finalmente, este es un ejemplo de una <emphasis>asociación unidireccional "
+"muchos-a-muchos</emphasis>."
 
-#. Tag: programlisting
-#: association_mapping.xml:164
-#, no-c-format
-msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <set name=\"addresses\" table=\"PersonAddress\">\n"
-"        <key column=\"personId\"/>\n"
-"        <many-to-many column=\"addressId\"\n"
-"            class=\"Address\"/>\n"
-"    </set>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"    <id name=\"id\" column=\"addressId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"</class>]]>"
-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:165 association_mapping.xml:271
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"create table Person ( personId bigint not null primary key )\n"
-"create table PersonAddress ( personId bigint not null, addressId bigint not "
-"null, primary key (personId, addressId) )\n"
-"create table Address ( addressId bigint not null primary key )\n"
-"        ]]>"
-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:172
 #, no-c-format
 msgid "Bidirectional associations"
-msgstr "Asociaciones Bidireccionales"
+msgstr "Asociaciones bidireccionales"
 
 #. Tag: title
-#: association_mapping.xml:175 association_mapping.xml:236
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "one-to-many / many-to-one"
-msgstr "uno a muchos / muchos a uno"
+msgstr "uno-a-muchos / muchos-a-uno"
 
 #. Tag: para
-#: association_mapping.xml:177
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A <emphasis>bidirectional many-to-one association</emphasis> is the most "
 "common kind of association. The following example illustrates the standard "
 "parent/child relationship."
 msgstr ""
-"Una <emphasis>asociaci&#x00f3;n bidireccional muchos-a-uno</emphasis> es el "
-"tipo m&#x00e1;s com&#x00fa;n de asociaci&#x00f3;n. (Esta es la relaci&#x00f3;"
-"n est&#x00e1;ndar padre/hijo.)"
+"Una <emphasis>asociación bidireccional muchos-a-uno</emphasis> es el tipo de "
+"asociación más común. El siguiente ejemplo ilustra la relación estándar "
+"padre/hijo."
 
-#. Tag: programlisting
-#: association_mapping.xml:183
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <many-to-one name=\"address\" \n"
-"        column=\"addressId\"\n"
-"        not-null=\"true\"/>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"    <id name=\"id\" column=\"addressId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <set name=\"people\" inverse=\"true\">\n"
-"        <key column=\"addressId\"/>\n"
-"        <one-to-many class=\"Person\"/>\n"
-"    </set>\n"
-"</class>]]>"
-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:187
-#, fuzzy, no-c-format
-msgid ""
 "If you use a <literal>List</literal>, or other indexed collection, set the "
 "<literal>key</literal> column of the foreign key to <literal>not null</"
 "literal>. Hibernate will manage the association from the collections side to "
@@ -714,62 +216,16 @@
 "by setting <literal>update=\"false\"</literal> and <literal>insert=\"false"
 "\"</literal>:"
 msgstr ""
-"UNTRANSLATED! If you use a <literal>List</literal> (or other indexed "
-"collection) you need to set the <literal>key</literal> column of the foreign "
-"key to <literal>not null</literal>, and let Hibernate manage the association "
-"from the collections side to maintain the index of each element (making the "
-"other side virtually inverse by setting <literal>update=\"false\"</literal> "
-"and <literal>insert=\"false\"</literal>):"
+"Si utiliza un <literal>List</literal>, u otra colección con índice, "
+"configure la columna <literal>key</literal> de la clave foránea como "
+"<literal>not null</literal>. Hibernate administrará la asociación del lado "
+"de las colecciones para mantener el índice de cada elemento, haciendo del "
+"otro lado virtualmente inverso al establecer <literal>update=\"false\"</"
+"literal> y <literal>insert=\"false\"</literal>:"
 
-#. Tag: programlisting
-#: association_mapping.xml:195
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"   <id name=\"id\"/>\n"
-"   ...\n"
-"   <many-to-one name=\"address\"\n"
-"      column=\"addressId\"\n"
-"      not-null=\"true\"\n"
-"      insert=\"false\"\n"
-"      update=\"false\"/>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"   <id name=\"id\"/>\n"
-"   ...\n"
-"   <list name=\"people\">\n"
-"      <key column=\"addressId\" not-null=\"true\"/>\n"
-"      <list-index column=\"peopleIdx\"/>\n"
-"      <one-to-many class=\"Person\"/>\n"
-"   </list>\n"
-"</class>]]>"
-msgstr ""
-"<![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:197
-#, fuzzy, no-c-format
-msgid ""
 "If the underlying foreign key column is <literal>NOT NULL</literal>, it is "
 "important that you define <literal>not-null=\"true\"</literal> on the "
 "<literal>&lt;key&gt;</literal> element of the collection mapping. Do not "
@@ -777,356 +233,79 @@
 "<literal>&lt;column&gt;</literal> element, but on the <literal>&lt;key&gt;</"
 "literal> element."
 msgstr ""
-"UNTRANSLATED! It is important that you define <literal>not-null=\"true\"</"
-"literal> on the <literal>&lt;key&gt;</literal> element of the collection "
-"mapping if the underlying foreign key column is <literal>NOT NULL</literal>. "
-"Don't only declare <literal>not-null=\"true\"</literal> on a possible nested "
-"<literal>&lt;column&gt;</literal> element, but on the <literal>&lt;key&gt;</"
-"literal> element."
+"Es importante que defina <literal>not-null=\"true\"</literal> en el elemento "
+"<literal>&lt;key&gt;</literal> del mapeo de la colección si la columna de la "
+"clave foránea es <literal>NOT NULL</literal>. No declare sólamente "
+"<literal>not-null=\"true\"</literal> en un elemento <literal>&lt;column&gt;</"
+"literal> posiblemente anidado sino en el elemento <literal>&lt;key&gt;</"
+"literal>. "
 
 #. Tag: para
-#: association_mapping.xml:212
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A <emphasis>bidirectional one-to-one association on a foreign key</emphasis> "
 "is common:"
 msgstr ""
-"Una <emphasis>asociaci&#x00f3;n bidireccional uno-a-uno en una clave "
-"for&#x00e1;nea</emphasis> es bastante com&#x00fa;n."
+"Una <emphasis>asociación bidireccional uno-a-uno en una clave foránea</"
+"emphasis> es común:"
 
-#. Tag: programlisting
-#: association_mapping.xml:217
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <many-to-one name=\"address\" \n"
-"        column=\"addressId\" \n"
-"        unique=\"true\"\n"
-"        not-null=\"true\"/>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"    <id name=\"id\" column=\"addressId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"   <one-to-one name=\"person\" \n"
-"        property-ref=\"address\"/>\n"
-"</class>]]>"
-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:220
-#, fuzzy, no-c-format
-msgid ""
 "A <emphasis>bidirectional one-to-one association on a primary key</emphasis> "
 "uses the special id generator:"
 msgstr ""
-"Una <emphasis>asociaci&#x00f3;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> utiliza el generador de id especial:"
 
-#. Tag: programlisting
-#: association_mapping.xml:225
-#, no-c-format
-msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <one-to-one name=\"address\"/>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"foreign\">\n"
-"            <param name=\"property\">person</param>\n"
-"        </generator>\n"
-"    </id>\n"
-"    <one-to-one name=\"person\" \n"
-"        constrained=\"true\"/>\n"
-"</class>]]>"
-msgstr ""
-"<![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:233
 #, no-c-format
 msgid "Bidirectional associations with join tables"
-msgstr "Asociaciones bidireccionales con tablas de uni&#x00f3;n"
+msgstr "Asociaciones bidireccionales con tablas de unión"
 
 #. Tag: para
-#: association_mapping.xml:238
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The following is an example of a <emphasis>bidirectional one-to-many "
 "association on a join table</emphasis>. The <literal>inverse=\"true\"</"
 "literal> can go on either end of the association, on the collection, or on "
 "the join."
 msgstr ""
-"Una <emphasis>asociaci&#x00f3;n bidireccional uno-a-muchos en una tabla de "
-"uni&#x00f3;n</emphasis>. Observa que el <literal>inverse=\"true\"</literal> "
-"puede ir a cualquier lado de la asociaci&#x00f3;n, en la colecci&#x00f3;n, o "
-"en la uni&#x00f3;n."
+"El siguiente es un ejemplo de una <emphasis>asociación bidireccional uno-a-"
+"muchos en una tabla de unión</emphasis>. El <literal>inverse=\"true\"</"
+"literal> puede ir en cualquier lado de la asociación, en la colección, o en "
+"la unión."
 
-#. Tag: programlisting
-#: association_mapping.xml:244
-#, no-c-format
-msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <set name=\"addresses\" \n"
-"        table=\"PersonAddress\">\n"
-"        <key column=\"personId\"/>\n"
-"        <many-to-many column=\"addressId\"\n"
-"            unique=\"true\"\n"
-"            class=\"Address\"/>\n"
-"    </set>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"    <id name=\"id\" column=\"addressId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <join table=\"PersonAddress\" \n"
-"        inverse=\"true\" \n"
-"        optional=\"true\">\n"
-"        <key column=\"addressId\"/>\n"
-"        <many-to-one name=\"person\"\n"
-"            column=\"personId\"\n"
-"            not-null=\"true\"/>\n"
-"    </join>\n"
-"</class>]]>"
-msgstr ""
-"<![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:245
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"create table Person ( personId bigint not null primary key )\n"
-"create table PersonAddress ( personId bigint not null, addressId bigint not "
-"null primary key )\n"
-"create table Address ( addressId bigint not null primary key )\n"
-"        ]]>"
-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: title
-#: association_mapping.xml:250
 #, no-c-format
 msgid "one to one"
 msgstr "uno a uno"
 
 #. Tag: para
-#: association_mapping.xml:252
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A <emphasis>bidirectional one-to-one association on a join table</emphasis> "
 "is possible, but extremely unusual."
 msgstr ""
-"Una <emphasis>asociaci&#x00f3;n bidireccional uno-a-uno en una tabla de "
-"uni&#x00f3;n</emphasis> es inusual en extremo, pero posible."
+"Una <emphasis>asociación bidireccional uno-a-uno en una tabla de unión</"
+"emphasis> es extremadamente inusual, pero es posible. "
 
-#. Tag: programlisting
-#: association_mapping.xml:257
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <join table=\"PersonAddress\" \n"
-"        optional=\"true\">\n"
-"        <key column=\"personId\" \n"
-"            unique=\"true\"/>\n"
-"        <many-to-one name=\"address\"\n"
-"            column=\"addressId\" \n"
-"            not-null=\"true\"\n"
-"            unique=\"true\"/>\n"
-"    </join>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"    <id name=\"id\" column=\"addressId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <join table=\"PersonAddress\" \n"
-"        optional=\"true\"\n"
-"        inverse=\"true\">\n"
-"        <key column=\"addressId\" \n"
-"            unique=\"true\"/>\n"
-"        <many-to-one name=\"person\"\n"
-"            column=\"personId\" \n"
-"            not-null=\"true\"\n"
-"            unique=\"true\"/>\n"
-"    </join>\n"
-"</class>]]>"
-msgstr ""
-"<![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:265
-#, fuzzy, no-c-format
-msgid ""
 "Here is an example of a <emphasis>bidirectional many-to-many association</"
 "emphasis>."
 msgstr ""
-"Finalmente, tenemos una <emphasis>asociaci&#x00f3;n bidireccional muchos-a-"
+"Este es un ejemplo de una <emphasis>asociación bidireccional muchos-a-"
 "muchos</emphasis>."
 
-#. Tag: programlisting
-#: association_mapping.xml:269
-#, no-c-format
-msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"id\" column=\"personId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <set name=\"addresses\" table=\"PersonAddress\">\n"
-"        <key column=\"personId\"/>\n"
-"        <many-to-many column=\"addressId\"\n"
-"            class=\"Address\"/>\n"
-"    </set>\n"
-"</class>\n"
-"\n"
-"<class name=\"Address\">\n"
-"    <id name=\"id\" column=\"addressId\">\n"
-"        <generator class=\"native\"/>\n"
-"    </id>\n"
-"    <set name=\"people\" inverse=\"true\" table=\"PersonAddress\">\n"
-"        <key column=\"addressId\"/>\n"
-"        <many-to-many column=\"personId\"\n"
-"            class=\"Person\"/>\n"
-"    </set>\n"
-"</class>]]>"
-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:278
 #, no-c-format
 msgid "More complex association mappings"
-msgstr "UNTRANSLATED! More complex association mappings"
+msgstr "Mapeos de asociación más complejos"
 
 #. Tag: para
-#: association_mapping.xml:280
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "More complex association joins are <emphasis>extremely</emphasis> rare. "
 "Hibernate handles more complex situations by using SQL fragments embedded in "
@@ -1135,73 +314,25 @@
 "<literal>effectiveEndDate</literal> and <literal>effectiveStartDate</"
 "literal>columns, it would be 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:"
+"Uniones de asociación más complejas son <emphasis>extremadamente</emphasis> "
+"raras. Hibernate maneja situaciones más complejas utilizando fragmentos SQL "
+"incluidos en el documento de mapeo. Por ejemplo, si una tabla con datos "
+"históricos de información de cuenta define las columnas "
+"<literal>accountNumber</literal>, <literal>effectiveEndDate</literal> y "
+"<literal>effectiveStartDate</literal>, se mapearían así:"
 
-#. Tag: programlisting
-#: association_mapping.xml:289
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<properties name=\"currentAccountKey\">\n"
-"    <property name=\"accountNumber\" type=\"string\" not-null=\"true\"/>\n"
-"    <property name=\"currentAccount\" type=\"boolean\">\n"
-"        <formula>case when effectiveEndDate is null then 1 else 0 end</"
-"formula>\n"
-"    </property>\n"
-"</properties>\n"
-"<property name=\"effectiveEndDate\" type=\"date\"/>\n"
-"<property name=\"effectiveStateDate\" type=\"date\" not-null=\"true\"/>]]>"
-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:291
-#, fuzzy, no-c-format
-msgid ""
 "You can then map an association to the <emphasis>current</emphasis> "
 "instance, the one with null <literal>effectiveEndDate</literal>, by using:"
 msgstr ""
-"Then we can map an association to the <emphasis>current</emphasis> instance "
-"(the one with null <literal>effectiveEndDate</literal>) using:"
+"Entonces puede mapear una asociación a la instancia <emphasis>actual</"
+"emphasis>, la que tiene <literal>effectiveEndDate</literal> nulo, utilizando:"
 
-#. Tag: programlisting
-#: association_mapping.xml:296
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<many-to-one name=\"currentAccountInfo\" \n"
-"        property-ref=\"currentAccountKey\"\n"
-"        class=\"AccountInfo\">\n"
-"    <column name=\"accountNumber\"/>\n"
-"    <formula>'1'</formula>\n"
-"</many-to-one>]]>"
-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:298
-#, fuzzy, no-c-format
-msgid ""
 "In a more complex example, imagine that the association between "
 "<literal>Employee</literal> and <literal>Organization</literal> is "
 "maintained in an <literal>Employment</literal> table full of historical "
@@ -1209,55 +340,806 @@
 "emphasis> employer, the one with the most recent <literal>startDate</"
 "literal>, could be mapped in the following 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:"
+"En un ejemplo más complejo, imagínese que la asociación entre "
+"<literal>Employee</literal> y <literal>Organization</literal> se mantienen "
+"en una tabla <literal>Employment</literal> llena de datos históricos de "
+"empleo. Entonces se puede mapear una asociación al empleador <emphasis>más "
+"reciente</emphasis> del empleado, el que tiene la <literal>startDate</"
+"literal> más reciente, de esta manera:"
 
-#. Tag: programlisting
-#: association_mapping.xml:306
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<join>\n"
-"    <key column=\"employeeId\"/>\n"
-"    <subselect>\n"
-"        select employeeId, orgId \n"
-"        from Employments \n"
-"        group by orgId \n"
-"        having startDate = max(startDate)\n"
-"    </subselect>\n"
-"    <many-to-one name=\"mostRecentEmployer\" \n"
-"            class=\"Organization\" \n"
-"            column=\"orgId\"/>\n"
-"</join>]]>"
-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:308
-#, fuzzy, no-c-format
-msgid ""
 "This functionality allows a degree of creativity and flexibility, but it is "
 "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."
+"Esta funcionalidad le permite cierto grado de creatividad y flexibilidad, "
+"pero usualmente es más práctico manejar esta clase de casos utilizando HQL o "
+"una petición de criterio."
 
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <many-to-one name=\"address\" \n"
+#~ "        column=\"addressId\"\n"
+#~ "        not-null=\"true\"/>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"addressId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "</class>]]>"
+#~ 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>]]>"
 
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid ""
+#~ "<![CDATA[\n"
+#~ "create table Person ( personId bigint not null primary key, addressId "
+#~ "bigint not null )\n"
+#~ "create table Address ( addressId bigint not null primary key )\n"
+#~ "        ]]>"
+#~ 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"
+#~ "        ]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <many-to-one name=\"address\" \n"
+#~ "        column=\"addressId\" \n"
+#~ "        unique=\"true\"\n"
+#~ "        not-null=\"true\"/>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"addressId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "</class>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[\n"
+#~ "create table Person ( personId bigint not null primary key, addressId "
+#~ "bigint not null unique )\n"
+#~ "create table Address ( addressId bigint not null primary key )\n"
+#~ "        ]]>"
+#~ 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"
+#~ "        ]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"foreign\">\n"
+#~ "            <param name=\"property\">person</param>\n"
+#~ "        </generator>\n"
+#~ "    </id>\n"
+#~ "    <one-to-one name=\"person\" constrained=\"true\"/>\n"
+#~ "</class>]]>"
+#~ 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>]]>"
+
+#~ 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"
+#~ "        ]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <set name=\"addresses\">\n"
+#~ "        <key column=\"personId\" \n"
+#~ "            not-null=\"true\"/>\n"
+#~ "        <one-to-many class=\"Address\"/>\n"
+#~ "    </set>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"addressId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "</class>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[\n"
+#~ "create table Person ( personId bigint not null primary key )\n"
+#~ "create table Address ( addressId bigint not null primary key, personId "
+#~ "bigint not null )\n"
+#~ "        ]]>"
+#~ 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"
+#~ "        ]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <set name=\"addresses\" table=\"PersonAddress\">\n"
+#~ "        <key column=\"personId\"/>\n"
+#~ "        <many-to-many column=\"addressId\"\n"
+#~ "            unique=\"true\"\n"
+#~ "            class=\"Address\"/>\n"
+#~ "    </set>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"addressId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "</class>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[\n"
+#~ "create table Person ( personId bigint not null primary key )\n"
+#~ "create table PersonAddress ( personId not null, addressId bigint not null "
+#~ "primary key )\n"
+#~ "create table Address ( addressId bigint not null primary key )\n"
+#~ "        ]]>"
+#~ 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"
+#~ "        ]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <join table=\"PersonAddress\" \n"
+#~ "        optional=\"true\">\n"
+#~ "        <key column=\"personId\" unique=\"true\"/>\n"
+#~ "        <many-to-one name=\"address\"\n"
+#~ "            column=\"addressId\" \n"
+#~ "            not-null=\"true\"/>\n"
+#~ "    </join>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"addressId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "</class>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[\n"
+#~ "create table Person ( personId bigint not null primary key )\n"
+#~ "create table PersonAddress ( personId bigint not null primary key, "
+#~ "addressId bigint not null )\n"
+#~ "create table Address ( addressId bigint not null primary key )\n"
+#~ "        ]]>"
+#~ 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"
+#~ "        ]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <join table=\"PersonAddress\" \n"
+#~ "        optional=\"true\">\n"
+#~ "        <key column=\"personId\" \n"
+#~ "            unique=\"true\"/>\n"
+#~ "        <many-to-one name=\"address\"\n"
+#~ "            column=\"addressId\" \n"
+#~ "            not-null=\"true\"\n"
+#~ "            unique=\"true\"/>\n"
+#~ "    </join>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"addressId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "</class>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[\n"
+#~ "create table Person ( personId bigint not null primary key )\n"
+#~ "create table PersonAddress ( personId bigint not null primary key, "
+#~ "addressId bigint not null unique )\n"
+#~ "create table Address ( addressId bigint not null primary key )\n"
+#~ "        ]]>"
+#~ 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"
+#~ "        ]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <set name=\"addresses\" table=\"PersonAddress\">\n"
+#~ "        <key column=\"personId\"/>\n"
+#~ "        <many-to-many column=\"addressId\"\n"
+#~ "            class=\"Address\"/>\n"
+#~ "    </set>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"addressId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "</class>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[\n"
+#~ "create table Person ( personId bigint not null primary key )\n"
+#~ "create table PersonAddress ( personId bigint not null, addressId bigint "
+#~ "not null, primary key (personId, addressId) )\n"
+#~ "create table Address ( addressId bigint not null primary key )\n"
+#~ "        ]]>"
+#~ 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"
+#~ "        ]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <many-to-one name=\"address\" \n"
+#~ "        column=\"addressId\"\n"
+#~ "        not-null=\"true\"/>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"addressId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <set name=\"people\" inverse=\"true\">\n"
+#~ "        <key column=\"addressId\"/>\n"
+#~ "        <one-to-many class=\"Person\"/>\n"
+#~ "    </set>\n"
+#~ "</class>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "   <id name=\"id\"/>\n"
+#~ "   ...\n"
+#~ "   <many-to-one name=\"address\"\n"
+#~ "      column=\"addressId\"\n"
+#~ "      not-null=\"true\"\n"
+#~ "      insert=\"false\"\n"
+#~ "      update=\"false\"/>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "   <id name=\"id\"/>\n"
+#~ "   ...\n"
+#~ "   <list name=\"people\">\n"
+#~ "      <key column=\"addressId\" not-null=\"true\"/>\n"
+#~ "      <list-index column=\"peopleIdx\"/>\n"
+#~ "      <one-to-many class=\"Person\"/>\n"
+#~ "   </list>\n"
+#~ "</class>]]>"
+#~ msgstr ""
+#~ "<![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>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <many-to-one name=\"address\" \n"
+#~ "        column=\"addressId\" \n"
+#~ "        unique=\"true\"\n"
+#~ "        not-null=\"true\"/>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"addressId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "   <one-to-one name=\"person\" \n"
+#~ "        property-ref=\"address\"/>\n"
+#~ "</class>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <one-to-one name=\"address\"/>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"foreign\">\n"
+#~ "            <param name=\"property\">person</param>\n"
+#~ "        </generator>\n"
+#~ "    </id>\n"
+#~ "    <one-to-one name=\"person\" \n"
+#~ "        constrained=\"true\"/>\n"
+#~ "</class>]]>"
+#~ msgstr ""
+#~ "<![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>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <set name=\"addresses\" \n"
+#~ "        table=\"PersonAddress\">\n"
+#~ "        <key column=\"personId\"/>\n"
+#~ "        <many-to-many column=\"addressId\"\n"
+#~ "            unique=\"true\"\n"
+#~ "            class=\"Address\"/>\n"
+#~ "    </set>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"addressId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <join table=\"PersonAddress\" \n"
+#~ "        inverse=\"true\" \n"
+#~ "        optional=\"true\">\n"
+#~ "        <key column=\"addressId\"/>\n"
+#~ "        <many-to-one name=\"person\"\n"
+#~ "            column=\"personId\"\n"
+#~ "            not-null=\"true\"/>\n"
+#~ "    </join>\n"
+#~ "</class>]]>"
+#~ msgstr ""
+#~ "<![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>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[\n"
+#~ "create table Person ( personId bigint not null primary key )\n"
+#~ "create table PersonAddress ( personId bigint not null, addressId bigint "
+#~ "not null primary key )\n"
+#~ "create table Address ( addressId bigint not null primary key )\n"
+#~ "        ]]>"
+#~ 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"
+#~ "        ]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <join table=\"PersonAddress\" \n"
+#~ "        optional=\"true\">\n"
+#~ "        <key column=\"personId\" \n"
+#~ "            unique=\"true\"/>\n"
+#~ "        <many-to-one name=\"address\"\n"
+#~ "            column=\"addressId\" \n"
+#~ "            not-null=\"true\"\n"
+#~ "            unique=\"true\"/>\n"
+#~ "    </join>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"addressId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <join table=\"PersonAddress\" \n"
+#~ "        optional=\"true\"\n"
+#~ "        inverse=\"true\">\n"
+#~ "        <key column=\"addressId\" \n"
+#~ "            unique=\"true\"/>\n"
+#~ "        <many-to-one name=\"person\"\n"
+#~ "            column=\"personId\" \n"
+#~ "            not-null=\"true\"\n"
+#~ "            unique=\"true\"/>\n"
+#~ "    </join>\n"
+#~ "</class>]]>"
+#~ msgstr ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <join table=\"PersonAddress\" \n"
+#~ "        optional=\"true\">\n"
+#~ "        <key column=\"personId\" \n"
+#~ "            unique=\"true\"/>\n"
+#~ "        <many-to-one name=\"address\"\n"
+#~ "            column=\"addressId\" \n"
+#~ "            not-null=\"true\"\n"
+#~ "            unique=\"true\"/>\n"
+#~ "    </join>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"addressId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <join table=\"PersonAddress\" \n"
+#~ "        optional=\"true\"\n"
+#~ "        inverse=\"true\">\n"
+#~ "        <key column=\"addressId\" \n"
+#~ "            unique=\"true\"/>\n"
+#~ "        <many-to-one name=\"person\"\n"
+#~ "            column=\"personId\" \n"
+#~ "            not-null=\"true\"\n"
+#~ "            unique=\"true\"/>\n"
+#~ "    </join>\n"
+#~ "</class>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"Person\">\n"
+#~ "    <id name=\"id\" column=\"personId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <set name=\"addresses\" table=\"PersonAddress\">\n"
+#~ "        <key column=\"personId\"/>\n"
+#~ "        <many-to-many column=\"addressId\"\n"
+#~ "            class=\"Address\"/>\n"
+#~ "    </set>\n"
+#~ "</class>\n"
+#~ "\n"
+#~ "<class name=\"Address\">\n"
+#~ "    <id name=\"id\" column=\"addressId\">\n"
+#~ "        <generator class=\"native\"/>\n"
+#~ "    </id>\n"
+#~ "    <set name=\"people\" inverse=\"true\" table=\"PersonAddress\">\n"
+#~ "        <key column=\"addressId\"/>\n"
+#~ "        <many-to-many column=\"personId\"\n"
+#~ "            class=\"Person\"/>\n"
+#~ "    </set>\n"
+#~ "</class>]]>"
+#~ 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"
+#~ "    <set name=\"people\" inverse=\"true\" table=\"PersonAddress\">\n"
+#~ "        <key column=\"addressId\"/>\n"
+#~ "        <many-to-many column=\"personId\"\n"
+#~ "            class=\"Person\"/>\n"
+#~ "    </set>\n"
+#~ "</class>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<properties name=\"currentAccountKey\">\n"
+#~ "    <property name=\"accountNumber\" type=\"string\" not-null=\"true\"/>\n"
+#~ "    <property name=\"currentAccount\" type=\"boolean\">\n"
+#~ "        <formula>case when effectiveEndDate is null then 1 else 0 end</"
+#~ "formula>\n"
+#~ "    </property>\n"
+#~ "</properties>\n"
+#~ "<property name=\"effectiveEndDate\" type=\"date\"/>\n"
+#~ "<property name=\"effectiveStateDate\" type=\"date\" not-null=\"true\"/>]]>"
+#~ 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\"/>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<many-to-one name=\"currentAccountInfo\" \n"
+#~ "        property-ref=\"currentAccountKey\"\n"
+#~ "        class=\"AccountInfo\">\n"
+#~ "    <column name=\"accountNumber\"/>\n"
+#~ "    <formula>'1'</formula>\n"
+#~ "</many-to-one>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<join>\n"
+#~ "    <key column=\"employeeId\"/>\n"
+#~ "    <subselect>\n"
+#~ "        select employeeId, orgId \n"
+#~ "        from Employments \n"
+#~ "        group by orgId \n"
+#~ "        having startDate = max(startDate)\n"
+#~ "    </subselect>\n"
+#~ "    <many-to-one name=\"mostRecentEmployer\" \n"
+#~ "            class=\"Organization\" \n"
+#~ "            column=\"orgId\"/>\n"
+#~ "</join>]]>"
+#~ 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>]]>"

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/basic_mapping.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/basic_mapping.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/basic_mapping.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,217 +1,91 @@
-#, fuzzy
+# translation of basic_mapping.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: basic_mapping\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-10 21:02+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-01-08T04:07:18\n"
+"PO-Revision-Date: 2010-01-05 17:34+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: basic_mapping.xml:29
 #, no-c-format
 msgid "Basic O/R Mapping"
-msgstr "Mapeo O/R B&#x00e1;sico"
+msgstr "Mapeo O/R Básico"
 
 #. Tag: title
-#: basic_mapping.xml:32
 #, no-c-format
 msgid "Mapping declaration"
-msgstr "Declaraci&#x00f3;n de mapeo"
+msgstr "Declaración de mapeo"
 
 #. Tag: para
-#: basic_mapping.xml:34
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Object/relational mappings are usually defined in an XML document. The "
 "mapping document is designed to be readable and hand-editable. The mapping "
 "language is Java-centric, meaning that mappings are constructed around "
 "persistent class declarations and not table declarations."
 msgstr ""
-"Los mapeos objeto/relacional se definen usualmente en un documento XML. El "
-"documento de mapeo est&#x00e1; dise&#x00f1;ado para ser le&#x00ed;ble y "
-"editable a mano. El lenguaje de mapeo es Java-c&#x00e9;ntrico, o sea que los "
-"mapeos se construyen alrededor de declaraciones de clases persistentes, no "
-"declaraciones de tablas."
+"Los mapeos objeto/relacional usualmente se definen en un documento XML. El "
+"documento de mapeo está diseñado para que se pueda leer y editar a mano. El "
+"lenguaje de mapeo está centrado en Java, lo que significa que los mapeos se "
+"construyen alrededor de declaraciones de clases persistentes y no alrededor "
+"de declaraciones de tablas."
 
 #. Tag: para
-#: basic_mapping.xml:41
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Please note that even though many Hibernate users choose to write the XML by "
 "hand, a number of tools exist to generate the mapping document. These "
 "include XDoclet, Middlegen and AndroMDA."
 msgstr ""
-"Observa que, incluso aunque muchos usuarios de Hibernate eligen escribir el "
-"XML a mano, existe una cantidad de herramientas para generar el documento de "
-"mapeo, incluyendo XDoclet, Middlegen y AndroMDA."
+"Observe que, incluso aunque muchos de los usuarios de Hibernate eligen "
+"escribir el XML a mano, existe un número de herramientas para generar el "
+"documento de mapeo, incluyendo XDoclet, Middlegen y AndroMDA. "
 
 #. Tag: para
-#: basic_mapping.xml:47
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Here is an example mapping:"
-msgstr "Comencemos por un mapeo de ejemplo:"
+msgstr "Este es un ejemplo de mapeo:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:51
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<?xml version=\"1.0\"?>\n"
-"<!DOCTYPE hibernate-mapping PUBLIC\n"
-"      \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-"          \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-"\n"
-"<hibernate-mapping package=\"eg\">\n"
-"\n"
-"        <class name=\"Cat\"\n"
-"            table=\"cats\"\n"
-"            discriminator-value=\"C\">\n"
-"\n"
-"                <id name=\"id\">\n"
-"                        <generator class=\"native\"/>\n"
-"                </id>\n"
-"\n"
-"                <discriminator column=\"subclass\"\n"
-"                     type=\"character\"/>\n"
-"\n"
-"                <property name=\"weight\"/>\n"
-"\n"
-"                <property name=\"birthdate\"\n"
-"                    type=\"date\"\n"
-"                    not-null=\"true\"\n"
-"                    update=\"false\"/>\n"
-"\n"
-"                <property name=\"color\"\n"
-"                    type=\"eg.types.ColorUserType\"\n"
-"                    not-null=\"true\"\n"
-"                    update=\"false\"/>\n"
-"\n"
-"                <property name=\"sex\"\n"
-"                    not-null=\"true\"\n"
-"                    update=\"false\"/>\n"
-"\n"
-"                <property name=\"litterId\"\n"
-"                    column=\"litterId\"\n"
-"                    update=\"false\"/>\n"
-"\n"
-"                <many-to-one name=\"mother\"\n"
-"                    column=\"mother_id\"\n"
-"                    update=\"false\"/>\n"
-"\n"
-"                <set name=\"kittens\"\n"
-"                    inverse=\"true\"\n"
-"                    order-by=\"litter_id\">\n"
-"                        <key column=\"mother_id\"/>\n"
-"                        <one-to-many class=\"Cat\"/>\n"
-"                </set>\n"
-"\n"
-"                <subclass name=\"DomesticCat\"\n"
-"                    discriminator-value=\"D\">\n"
-"\n"
-"                        <property name=\"name\"\n"
-"                            type=\"string\"/>\n"
-"\n"
-"                </subclass>\n"
-"\n"
-"        </class>\n"
-"\n"
-"        <class name=\"Dog\">\n"
-"                <!-- mapping for Dog could go here -->\n"
-"        </class>\n"
-"\n"
-"</hibernate-mapping>]]>"
-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:53
-#, fuzzy, no-c-format
-msgid ""
 "We will now discuss the content of the mapping document. We will only "
 "describe, however, the document elements and attributes that are used by "
 "Hibernate at runtime. The mapping document also contains some extra optional "
 "attributes and elements that affect the database schemas exported by the "
 "schema export tool (for example, the <literal> not-null</literal> attribute)."
 msgstr ""
-"Discutiremos ahora el contenido del documento de mapeo. Describiremos "
-"s&#x00f3;lo los elementos y atributos que son usados por Hibernate en tiempo "
-"de ejecuci&#x00f3;n. El documento de mapeo contiene adem&#x00e1;s algunos "
-"atributos y elementos extra opcionales que afectan los esquemas de base de "
-"datos exportados por la herramienta de exportaci&#x00f3;n de esquemas. (Por "
-"ejemplo, el atributo <literal>not-null</literal>.)"
+"Ahora vamos a discutir el contenido del documento de mapeo. Sólamente "
+"describiremos los elementos y atributos del documento que Hibernate utiliza "
+"en tiempo de ejecución. El documento de mapeo también comprende algunos "
+"atributos y elementos extra opcionales que afectan los esquemas de la 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:64
 #, no-c-format
 msgid "Doctype"
 msgstr "Doctype"
 
 #. Tag: para
-#: basic_mapping.xml:66
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "All XML mappings should declare the doctype shown. The actual DTD can be "
 "found at the URL above, in the directory <literal>hibernate-x.x.x/src/org/"
@@ -220,23 +94,21 @@
 "lookups of the DTD using an Internet connection, check the DTD declaration "
 "against the contents of your classpath."
 msgstr ""
-"Todos los mapeos XML deben declarar el doctype mostrado. El DTD actual puede "
-"ser encontrado en el URL mencionado arriba, en el directorio "
-"<literal>hibernate-x.x.x/src/org/hibernate</literal>, o en "
-"<literal>hibernate3.jar</literal>. Hibernate siempre buscar&#x00e1; el DTD "
-"primero en el classpath. Si experimentas b&#x00fa;squedas del DTD usando una "
-"conexi&#x00f3;n de Internet, chequea tu declaraci&#x00f3;n de DTD contra la "
-"contenida en el classpath."
+"Todos los mapeos XML deben declarar el tipo de documento que se muestra. El "
+"DTD en sí se puede encontrar en la URL mencionada anteriormente, 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 la ruta de clase. Si el DTD realiza búsquedas utilizando una conexión de "
+"Internet, verifique que su declaración DTD frente al contenido de su ruta de "
+"clase."
 
 #. Tag: title
-#: basic_mapping.xml:76
 #, no-c-format
 msgid "EntityResolver"
-msgstr "UNTRANSLATED! EntityResolver"
+msgstr "EntityResolver"
 
 #. Tag: para
-#: basic_mapping.xml:77
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate will first attempt to resolve DTDs in its classpath. It does this "
 "is by registering a custom <literal>org.xml.sax.EntityResolver</literal> "
@@ -244,30 +116,28 @@
 "custom <literal>EntityResolver</literal> recognizes two different systemId "
 "namespaces:"
 msgstr ""
-"As mentioned previously, Hibernate will first attempt to resolve DTDs in its "
-"classpath. The manner in which it does this is by registering a custom "
-"<literal>org.xml.sax.EntityResolver</literal> implementation with the "
-"SAXReader it uses to read in the xml files. This custom "
-"<literal>EntityResolver</literal> recognizes two different systemId "
-"namespaces."
+"Hibernate tratará primero de resolver los DTDs en su ruta de clase. La "
+"manera en que lo hace es registrando una implementación <literal>org.xml.sax."
+"EntityResolver</literal> personalizada con el SAXReader que utiliza para "
+"leer los archivos xml. Este <literal>EntityResolver</literal> personalizado "
+"reconoce dos diferentes espacios de nombre del identificador del sistema."
 
 #. Tag: para
-#: basic_mapping.xml:85
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "a <literal>hibernate namespace</literal> is recognized whenever the resolver "
 "encounters a systemId starting with <literal>http://hibernate.sourceforge."
 "net/</literal>. The resolver attempts to resolve these entities via the "
 "classloader which loaded the Hibernate classes."
 msgstr ""
-"a <literal>hibernate namespace</literal> is recognized whenever the resolver "
-"encounteres a systemId starting with <literal>http://hibernate.sourceforge."
-"net/</literal>; the resolver attempts to resolve these entities via the "
-"classlaoder which loaded the Hibernate classes."
+"un <literal>hibernate namespace</literal> se reconoce cuando el resolvedor "
+"se encuentra con un identificador de sistema que inicia por <literal>http://"
+"hibernate.sourceforge.net/</literal>. El resolvedor intenta resolver estas "
+"entidades por medio del cargador de clases, el cual cargó las clases de "
+"Hibernate."
 
 #. Tag: para
-#: basic_mapping.xml:94
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "a <literal>user namespace</literal> is recognized whenever the resolver "
 "encounters a systemId using a <literal>classpath://</literal> URL protocol. "
@@ -275,80 +145,36 @@
 "thread context classloader and (2) the classloader which loaded the "
 "Hibernate classes."
 msgstr ""
-"a <literal>user namespace</literal> is recognized whenever the resolver "
-"encounteres a systemId using a <literal>classpath://</literal> URL protocol; "
-"the resolver will attempt to resolve these entities via (1) the current "
-"thread context classloader and (2) the classloader which loaded the "
-"Hibernate classes."
+"un <literal>user namespace</literal> se reconoce cuando el resolvedor se "
+"encuentra con un identificador del sistema utilizando un protocolo URL "
+"<literal>classpath://</literal>. El resolvedor intentará resolver estas "
+"entidades por medio de (1) el cargador de clase del contexto del hilo actual "
+"y (2) el cargador de clase, el cual cargó las clases de Hibernate."
 
 #. Tag: para
-#: basic_mapping.xml:103
-#, fuzzy, no-c-format
-msgid "The following is an example of utilizing user namespacing:"
-msgstr "An example of utilizing user namespacing:"
-
-#. Tag: programlisting
-#: basic_mapping.xml:106
 #, no-c-format
-msgid ""
-"<![CDATA[<?xml version=\"1.0\"?>\n"
-"<!DOCTYPE hibernate-mapping PUBLIC\n"
-"        \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-"        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\" [\n"
-"    <!ENTITY types SYSTEM \"classpath://your/domain/types.xml\">\n"
-"]>\n"
-"\n"
-"<hibernate-mapping package=\"your.domain\">\n"
-"    <class name=\"MyEntity\">\n"
-"        <id name=\"id\" type=\"my-custom-id-type\">\n"
-"            ...\n"
-"        </id>\n"
-"    <class>\n"
-"    &types;\n"
-"</hibernate-mapping>]]>"
+msgid "The following is an example of utilizing user namespacing:"
 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>]]>"
+"Este es un ejemplo de la utilización de los espacios de nombre del usuario: "
 
 #. Tag: para
-#: basic_mapping.xml:107
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "Where <literal>types.xml</literal> is a resource in the <literal>your."
-"domain</literal> package and contains a custom <link linkend=\"mapping-types-"
-"custom\">typedef</link>."
+"domain</literal> package and contains a custom typedef (see <xref linkend="
+"\"mapping-types-custom\" />)."
 msgstr ""
-"Where <literal>types.xml</literal> is a resource in the <literal>your."
-"domain</literal> package and contains a custom <link linkend=\"mapping-types-"
-"custom\">typedef</link>."
+"En donde <literal>types.xml</literal> es un recurso en el paquete "
+"<literal>your.domain</literal> y comprende un <xref linkend=\"mapping-types-"
+"custom\" /> personalizado."
 
 #. Tag: title
-#: basic_mapping.xml:115
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Hibernate-mapping"
-msgstr "hibernate-mapping"
+msgstr "Mapeo de Hibernate "
 
 #. Tag: para
-#: basic_mapping.xml:117
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This element has several optional attributes. The <literal>schema</literal> "
 "and <literal>catalog</literal> attributes specify that tables referred to in "
@@ -361,131 +187,97 @@
 "literal> attribute allows you to use unqualified class names in the query "
 "language."
 msgstr ""
-"Este elemento tiene muchos atributos opcionales. Los atributos "
+"Este elemento tiene varios 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&#x00e1;"
-"logo mencionado(s). De especificarse, los nombres de tablas ser&#x00e1;n "
-"cualificados por el nombre de esquema y cat&#x00e1;logo dados. De omitirse, "
-"los nombres de tablas no ser&#x00e1;n cualificados. El atributo "
-"<literal>default-cascade</literal> especifica qu&#x00e9; estilo de cascada "
-"debe asumirse para las propiedades y colecciones que no especifican un "
-"atributo <literal>cascade</literal>. El atributo <literal>auto-import</"
-"literal> nos permite usar nombres de clase sin cualificar en el lenguaje de "
-"consulta, por defecto."
+"tablas a las que se refiere en este mapeo pertenecen al esquema y/o catálogo "
+"mencionado(s). De especificarse, los nombres de tablas serán calificados por "
+"el nombre del esquema y del catálogo dados. De omitirse, los nombres de las "
+"tablas no serán calificados. El atributo <literal>default-cascade</literal> "
+"especifica qué estilo de cascada se debe asumir para las propiedades y "
+"colecciones que no especifican un atributo <literal>cascade</literal>. Por "
+"defecto, el atributo <literal>auto-import</literal> nos permite utilizar "
+"nombres de clase sin calificar en el lenguaje de consulta."
 
-#. Tag: programlisting
-#: basic_mapping.xml:138
-#, no-c-format
-msgid ""
-"<![CDATA[<hibernate-mapping\n"
-"         schema=\"schemaName\"\n"
-"         catalog=\"catalogName\"\n"
-"         default-cascade=\"cascade_style\"\n"
-"         default-access=\"field|property|ClassName\"\n"
-"         default-lazy=\"true|false\"\n"
-"         auto-import=\"true|false\"\n"
-"         package=\"package.name\"\n"
-" />]]>"
-msgstr ""
-"<![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:141
-#, fuzzy, no-c-format
+#, no-c-format
 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."
+"datos. "
 
 #. Tag: para
-#: basic_mapping.xml:146
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "<literal>catalog</literal> (optional): the name of a database catalog."
 msgstr ""
-"<literal>catalog</literal> (opcional): El nombre de un cat&#x00e1;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:151
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>default-cascade</literal> (optional - defaults to <literal>none</"
 "literal>): a default cascade style."
 msgstr ""
-"<literal>default-cascade</literal> (opcional - por defecto a <literal>none</"
-"literal>): Un estilo de cascada por defecto."
+"<literal>default-cascade</literal> (opcional - por defecto es <literal>none</"
+"literal>): Un estilo de cascada por defecto. "
 
 #. Tag: para
-#: basic_mapping.xml:157
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>default-access</literal> (optional - defaults to <literal>property</"
 "literal>): the strategy Hibernate should use for accessing all properties. "
 "It can be a custom implementation of <literal>PropertyAccessor</literal>."
 msgstr ""
-"<literal>default-access</literal> (opcional - por defecto a "
-"<literal>property</literal>): La estrategia que Hibernate debe usar para "
-"acceder a todas las propiedades. Puede ser una implementaci&#x00f3;n "
-"personalizada de <literal>PropertyAccessor</literal>."
+"<literal>default-access</literal> (opcional - por defecto es "
+"<literal>property</literal>): La estrategia que Hibernate debe utilizar para "
+"acceder a todas las propiedades. Puede ser una implementación personalizada "
+"de <literal>PropertyAccessor</literal>."
 
 #. Tag: para
-#: basic_mapping.xml:164
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>default-lazy</literal> (optional - defaults to <literal>true</"
 "literal>): the default value for unspecified <literal>lazy</literal> "
 "attributes of class and collection mappings."
 msgstr ""
-"<literal>default-lazy</literal> (opcional - por defecto a <literal>true</"
+"<literal>default-lazy</literal> (opcional - por defecto es <literal>true</"
 "literal>): El valor por defecto para los atributos <literal>lazy</literal> "
-"de mapeos de clase y colleci&#x00f3;n no especificados."
+"no especificados de mapeos de clase y de colección."
 
 #. Tag: para
-#: basic_mapping.xml:171
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>auto-import</literal> (optional - defaults to <literal>true</"
 "literal>): specifies whether we can use unqualified class names of classes "
 "in this mapping in the query language."
 msgstr ""
-"<literal>auto-import</literal> (opcional - por defecto a <literal>true</"
-"literal>): Especifica si podemos usar nombres de clases no cualificados (de "
-"clases en este mapeo) en el lenguaje de consulta."
+"<literal>auto-import</literal> (opcional - por defecto es <literal>true</"
+"literal>): Especifica si podemos utilizar nombres de clases no calificados "
+"de clases en este mapeo en el lenguaje de consulta."
 
 #. Tag: para
-#: basic_mapping.xml:178
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>package</literal> (optional): specifies a package prefix to use for "
 "unqualified class names in the mapping document."
 msgstr ""
-"<literal>package</literal> (opcional): Especifica un prefijo de paquete a "
-"asumir para los nombres no cualificados de clase en el documento de mapeo."
+"<literal>package</literal> (opcional): Especifica un prefijo de paquete que "
+"se debe utilizar para los nombres de clase no calificados en el documento de "
+"mapeo."
 
 #. Tag: para
-#: basic_mapping.xml:186
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you have two persistent classes with the same unqualified name, you "
 "should set <literal>auto-import=\"false\"</literal>. An exception will "
 "result 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&#x00e1; una excepci&#x00f3;n si intentas asignar dos clases al mismo "
-"nombre \"importado\"."
+"Si tiene dos clases persistentes con el mismo nombre (sin calificar), debe "
+"establecer <literal>auto-import=\"false\"</literal>. Se presentará una "
+"excepción si usted intenta asignar dos clases al mismo nombre \"importado\"."
 
 #. Tag: para
-#: basic_mapping.xml:192
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>hibernate-mapping</literal> element allows you to nest several "
 "persistent <literal>&lt;class&gt;</literal> mappings, as shown above. It is, "
@@ -495,193 +287,126 @@
 "literal>, <literal>Dog.hbm.xml</literal>, or if using inheritance, "
 "<literal>Animal.hbm.xml</literal>."
 msgstr ""
-"Observa que el elemento <literal>hibernate-mapping</literal> te permite "
-"anidar muchos mapeos <literal>&lt;class&gt;</literal> persistentes, como se "
-"muestra arriba. Sin embargo, es una buena pr&#x00e1;ctica (y se espera de "
-"algunas herramientas) mapear s&#x00f3;lo a una sola clase persistente (o a "
-"una sola jerarqu&#x00ed;a de clases) en un fichero de mapeo y nombrarlo "
-"despu&#x00e9;s de la superclase persistente; por ejemplo, <literal>Cat.hbm."
-"xml</literal>, <literal>Dog.hbm.xml</literal>, o, si se usa herencia, "
-"<literal>Animal.hbm.xml</literal>."
+"El elemento <literal>hibernate-mapping</literal> le permite anidar varios "
+"mapeos <literal>&lt;class&gt;</literal> persistentes, como se mostró "
+"anteriormente. Sin embargo, es una buena práctica (y algunas herramientas "
+"esperan) que mapee sólamente una clase persistente, o a una sóla jerarquía "
+"de clases, en un archivo de mapeo y nombrarlo como la superclase "
+"persistente. Por ejemplo, <literal>Cat.hbm.xml</literal>, <literal>Dog.hbm."
+"xml</literal>, o si utiliza herencia, <literal>Animal.hbm.xml</literal>."
 
 #. Tag: title
-#: basic_mapping.xml:205
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Class"
-msgstr "subclass"
+msgstr "Clase"
 
 #. Tag: para
-#: basic_mapping.xml:207
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can declare a persistent class using the <literal>class</literal> "
 "element. For example:"
 msgstr ""
-"Puedes declarar una clase persistente usando el elemento <literal>class</"
-"literal>:"
+"Puede declarar una clase persistente utilizando el elemento <literal>class</"
+"literal>. Por ejemplo:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:235
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class\n"
-"        name=\"ClassName\"\n"
-"        table=\"tableName\"\n"
-"        discriminator-value=\"discriminator_value\"\n"
-"        mutable=\"true|false\"\n"
-"        schema=\"owner\"\n"
-"        catalog=\"catalog\"\n"
-"        proxy=\"ProxyInterface\"\n"
-"        dynamic-update=\"true|false\"\n"
-"        dynamic-insert=\"true|false\"\n"
-"        select-before-update=\"true|false\"\n"
-"        polymorphism=\"implicit|explicit\"\n"
-"        where=\"arbitrary sql where condition\"\n"
-"        persister=\"PersisterClass\"\n"
-"        batch-size=\"N\"\n"
-"        optimistic-lock=\"none|version|dirty|all\"\n"
-"        lazy=\"true|false\"\n"
-"        entity-name=\"EntityName\"\n"
-"        check=\"arbitrary sql check condition\"\n"
-"        rowid=\"rowid\"\n"
-"        subselect=\"SQL expression\"\n"
-"        abstract=\"true|false\"\n"
-"        node=\"element-name\"\n"
-"/>]]>"
-msgstr ""
-"<![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:238
-#, fuzzy, no-c-format
-msgid ""
 "<literal>name</literal> (optional): the fully qualified Java class name of "
 "the persistent class or interface. If this attribute is missing, it is "
 "assumed that the mapping is for a non-POJO entity."
 msgstr ""
-"<literal>name</literal> (opcional): El nombre completamente cualificado de "
-"la clase Java persistente (o interface). Si este atributo es omitido, se "
-"asume que el mapeo es para una entidad non-POJO."
+"<literal>name</literal> (opcional): El nombre completamente calificado de la "
+"clase Java persistente (o interfaz). Si se omite este atributo, se asume que "
+"el mapeo es para una entidad que no es POJO."
 
 #. Tag: para
-#: basic_mapping.xml:245
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>table</literal> (optional - defaults to the unqualified class "
 "name): the name of its database table."
 msgstr ""
-"<literal>table</literal> (opcional - por defecto al nombre no cualificado de "
-"la clase): El nombre de su tabla en base de datos."
+"<literal>table</literal> (opcional - por defecto es el nombre de la clase no "
+"calificado): El nombre de su tabla en la base de datos."
 
 #. Tag: para
-#: basic_mapping.xml:251
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>discriminator-value</literal> (optional - defaults to the class "
 "name): a value that distinguishes individual subclasses that is used for "
 "polymorphic behavior. Acceptable values include <literal>null</literal> and "
 "<literal>not null</literal>."
 msgstr ""
-"<literal>discriminator-value</literal> (opcional - por defecto al nombre de "
-"la clase): Un valor que distingue subclases individuales, usado para el "
-"comportamiento polim&#x00f3;rfico. Los valores aceptables incluyen "
-"<literal>null</literal> y <literal>not null</literal>."
+"<literal>discriminator-value</literal> (opcional - predeterminado al nombre "
+"de la clase): Un valor que distingue subclases individuales, usado para el "
+"comportamiento polimórfico. Los valores aceptables incluyen <literal>null</"
+"literal> y <literal>not null</literal>. "
 
 #. Tag: para
-#: basic_mapping.xml:258
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>mutable</literal> (optional - defaults to <literal>true</literal>): "
 "specifies that instances of the class are (not) mutable."
 msgstr ""
-"<literal>mutable</literal> (opcional, por defecto a <literal>true</"
-"literal>): Especifica que las instancias de la clase (no) son mutables."
+"<literal>mutable</literal> (opcional, por defecto es <literal>true</"
+"literal>): Especifica que las instancias de la clase (no) son mutables. "
 
 #. Tag: para
-#: basic_mapping.xml:264 basic_mapping.xml:2231
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>schema</literal> (optional): overrides the schema name specified by "
 "the root <literal>&lt;hibernate-mapping&gt;</literal> element."
 msgstr ""
-"<literal>schema</literal> (opcional): Sobreescribe el nombre de esquema "
-"especificado por el elemento ra&#x00ed;z <literal>&lt;hibernate-mapping&gt;</"
-"literal>."
+"<literal>schema</literal> (opcional): Sobrescribe el nombre del esquema "
+"especificado por el elemento raíz <literal>&lt;hibernate-mapping&gt;</"
+"literal>. "
 
 #. Tag: para
-#: basic_mapping.xml:270 basic_mapping.xml:2237
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>catalog</literal> (optional): overrides the catalog name specified "
 "by the root <literal>&lt;hibernate-mapping&gt;</literal> element."
 msgstr ""
-"<literal>catalog</literal> (opcional): Sobreescribe el nombre de cat&#x00e1;"
-"logo especificado por el elemento ra&#x00ed;z <literal>&lt;hibernate-"
-"mapping&gt;</literal>."
+"<literal>catalog</literal> (opcional): Sobrescribe el nombre del catálogo "
+"especificado por el elemento raíz <literal>&lt;hibernate-mapping&gt;</"
+"literal>. "
 
 #. Tag: para
-#: basic_mapping.xml:276
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>proxy</literal> (optional): specifies an interface to use for lazy "
 "initializing proxies. You can specify the name of the class itself."
 msgstr ""
-"<literal>proxy</literal> (opcional): Especifica una interface a usar para "
-"proxies de inicializaci&#x00f3;n perezosa. Puedes especificar el nombre "
-"mismo de la clase."
+"<literal>proxy</literal> (opcional): Especifica una interfaz a utilizar para "
+"los proxies de inicialización perezosa. Puede especificar el nombre mismo de "
+"la clase. "
 
 #. Tag: para
-#: basic_mapping.xml:282
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>dynamic-update</literal> (optional - defaults to <literal>false</"
 "literal>): specifies that <literal>UPDATE</literal> SQL should be generated "
 "at runtime and can contain only those columns whose values have changed."
 msgstr ""
-"<literal>dynamic-update</literal> (opcional, por defecto a <literal>false</"
+"<literal>dynamic-update</literal> (opcional, por defecto es <literal>false</"
 "literal>): Especifica que el SQL <literal>UPDATE</literal> debe ser generado "
-"en tiempo de ejecuci&#x00f3;n y contener solamente aquellas columnas cuyo "
-"valor haya cambiado."
+"en tiempo de ejecución y puede contener sólamente aquellas columnas cuyos "
+"valores hayan cambiado. "
 
 #. Tag: para
-#: basic_mapping.xml:289
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>dynamic-insert</literal> (optional - defaults to <literal>false</"
 "literal>): specifies that <literal>INSERT</literal> SQL should be generated "
 "at runtime and contain only the columns whose values are not null."
 msgstr ""
-"<literal>dynamic-insert</literal> (opcional, por defecto a <literal>false</"
+"<literal>dynamic-insert</literal> (opcional, por defecto es <literal>false</"
 "literal>): Especifica que el SQL <literal>INSERT</literal> debe ser generado "
-"en tiempo de ejecuci&#x00f3;n y contener solamente aquellas columnas cuyo "
-"valores no son nulos."
+"en tiempo de ejecución y debe contener sólamente aquellas columnas cuyos "
+"valores no son nulos. "
 
 #. Tag: para
-#: basic_mapping.xml:296
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>select-before-update</literal> (optional - defaults to "
 "<literal>false</literal>): specifies that Hibernate should <emphasis>never</"
@@ -691,115 +416,106 @@
 "Hibernate perform an extra SQL <literal>SELECT</literal> to determine if an "
 "<literal>UPDATE</literal> is actually required."
 msgstr ""
-"<literal>select-before-update</literal> (opcional, por defecto a "
+"<literal>select-before-update</literal> (opcional, por defecto es "
 "<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&#x00f3;lo cuando un objeto transitorio ha sido asociado "
-"con una sesi&#x00f3;n nueva usando <literal>update()</literal>), esto "
-"significa que Hibernate realizar&#x00e1; una SQL <literal>SELECT</literal> "
-"extra para determinar si un <literal>UPDATE</literal> es realmente requerido."
+"emphasis> debe realizar un <literal>UPDATE</literal> SQL a menos de que se "
+"tenga certeza de que realmente se haya modificado un objeto. Sólo cuando un "
+"objeto transitorio ha sido asociado con una sesión nueva utilizando "
+"<literal>update()</literal>), Hibernate realizará una SQL <literal>SELECT</"
+"literal> extra para determinar si realmente se necesita un <literal>UPDATE</"
+"literal>."
 
 #. Tag: para
-#: basic_mapping.xml:306
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>polymorphism</literal> (optional - defaults to <literal>implicit</"
 "literal>): determines whether implicit or explicit query polymorphism is "
 "used."
 msgstr ""
-"<literal>polymorphism</literal> (opcional, por defecto a <literal>implicit</"
-"literal>): Determina si se usa polimorfismo de consulta impl&#x00ed;cito o "
-"expl&#x00ed;cito."
+"<literal>polymorphism</literal> (opcional, por defecto es <literal>implicit</"
+"literal>): Determina si se utiliza polimorfismo de consulta implícito o "
+"explícito. "
 
 #. Tag: para
-#: basic_mapping.xml:312
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>where</literal> (optional): specifies an arbitrary SQL "
 "<literal>WHERE</literal> condition to be used when retrieving objects of "
 "this class."
 msgstr ""
-"<literal>where</literal> (opcional) especifica una condici&#x00f3;n SQL "
-"<literal>WHERE</literal> arbitraria paraa ser usada al recuperar objetos de "
-"esta clase."
+"<literal>where</literal> (opcional) especifica una condición SQL "
+"<literal>WHERE</literal> arbitraria para utilizarla en la recuperación de "
+"objetos de esta clase. "
 
 #. Tag: para
-#: basic_mapping.xml:318
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>persister</literal> (optional): specifies a custom "
 "<literal>ClassPersister</literal>."
 msgstr ""
 "<literal>persister</literal> (opcional): Especifica un "
-"<literal>ClassPersister</literal> personalizado."
+"<literal>ClassPersister</literal> personalizado. "
 
 #. Tag: para
-#: basic_mapping.xml:323
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>batch-size</literal> (optional - defaults to <literal>1</literal>): "
 "specifies 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&#x00f1;o de lote\" para traer instancias de esta clase "
-"por identificador."
+"<literal>batch-size</literal> (opcional, por defecto es <literal>1</"
+"literal>) especifica un \"tamaño de lote\" para buscar instancias de esta "
+"clase por identificador."
 
 #. Tag: para
-#: basic_mapping.xml:329
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>optimistic-lock</literal> (optional - defaults to <literal>version</"
 "literal>): determines the optimistic locking strategy."
 msgstr ""
-"<literal>optimistic-lock</literal> (opcional, por defecto a "
-"<literal>version</literal>): Determina la estrategia optimista de bloqueo."
+"<literal>optimistic-lock</literal> (opcional, por defecto es "
+"<literal>version</literal>): Determina la estrategia optimista de bloqueo. "
 
 #. Tag: para
-#: basic_mapping.xml:335
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>lazy</literal> (optional): lazy fetching can be disabled by setting "
 "<literal>lazy=\"false\"</literal>."
 msgstr ""
-"<literal>lazy</literal> (opcional): La recuperaci&#x00f3;n perezosa puede "
-"ser deshabilitada por completo estableciendo <literal>lazy=\"false\"</"
-"literal>."
+"<literal>lazy</literal> (opcional): La recuperación perezosa se puede "
+"deshabilitar por completo al establecer <literal>lazy=\"false\"</literal>."
 
 #. Tag: para
-#: basic_mapping.xml:341
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>entity-name</literal> (optional - defaults to the class name): "
 "Hibernate3 allows a class to be mapped multiple times, potentially to "
 "different tables. It also allows entity mappings that are represented by "
 "Maps or XML at the Java level. In these cases, you should provide an "
 "explicit arbitrary name for the entity. See <xref linkend=\"persistent-"
-"classes-dynamicmodels\"/> and <xref linkend=\"xml\"/> for more information."
+"classes-dynamicmodels\" /> and <xref linkend=\"xml\" /> for more information."
 msgstr ""
-"<literal>entity-name</literal> (opcional): Hibernate3 permite que una clase "
-"sea mapeada varias veces (potencialmente a tablas diferentes), y permite que "
-"los mapeos de entidad sean representados por Maps o XML al nivel de Java. En "
-"estos casos, debes proveer un nombre expl&#x00ed;cito arbitrario para la "
-"entidad. Para m&#x00e1;s informaci&#x00f3;n, mira <xref linkend=\"persistent-"
-"classes-dynamicmodels\"/> y <xref linkend=\"xml\"/>."
+"<literal>entity-name</literal> (opcional - por defecto es el nombre de la "
+"clase): Hibernate3 permite mapear una clase varias veces, potencialmente a "
+"tablas diferentes. También permite que los mapeos de entidad sean "
+"representados por Maps o XML al nivel de Java. En estos casos, debe "
+"proporcionar un nombre explícito arbitrario para la entidad. Para obtener "
+"más información consulte <xref linkend=\"persistent-classes-dynamicmodels\" /"
+"> y <xref linkend=\"xml\" />."
 
 #. Tag: para
-#: basic_mapping.xml:351
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>check</literal> (optional): an SQL expression used to generate a "
 "multi-row <emphasis>check</emphasis> constraint for automatic schema "
 "generation."
 msgstr ""
-"<literal>check</literal> (opcional): Una expresi&#x00f3;n SQL usada para "
-"generar una restricci&#x00f3;n <emphasis>check</emphasis> multi-fila para la "
-"generaci&#x00f3;n autom&#x00e1;tica de esquema."
+"<literal>check</literal> (opcional): Una expresión SQL utilizada para "
+"generar una restricción <emphasis>check</emphasis> multi-filas para la "
+"generación automática de esquemas."
 
 #. Tag: para
-#: basic_mapping.xml:357
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>rowid</literal> (optional): Hibernate can use ROWIDs on databases. "
 "On Oracle, for example, Hibernate can use the <literal>rowid</literal> extra "
@@ -807,39 +523,36 @@
 "literal>. A ROWID is an implementation detail and represents the physical "
 "location of a stored tuple."
 msgstr ""
-"<literal>rowid</literal> (opcional): Hibernate puede usar los llamados "
-"ROWIDs en las bases de datos que los soporten. Por ejemplo, en Oracle, "
-"Hibernate puede usar la columna extra <literal>rowid</literal> para "
-"actualizaciones r&#x00e1;pidas si estableces esta opci&#x00f3;n a "
-"<literal>rowid</literal>. Un ROWID es un detalle de implementaci&#x00f3;n y "
-"representa la posici&#x00f3;n f&#x00ed;sica de la tupla almacenada."
+"<literal>rowid</literal> (opcional): Hibernate puede utilizar los llamados "
+"ROWIDs en las bases de datos. Por ejemplo, en Oracle, Hibernate puede "
+"utilizar la columna extra <literal>rowid</literal> para actualizaciones "
+"rápidas si usted establece esta opción como <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:364
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>subselect</literal> (optional): maps an immutable and read-only "
 "entity to a database subselect. This is useful if you want to have a view "
 "instead of a base table. See below for more information."
 msgstr ""
 "<literal>subselect</literal> (opcional): Mapea una entidad inmutable y de "
-"s&#x00f3;lo lectura a una subselect de base de datos. Es &#x00fa;til si "
-"quieres tener una vista en vez de una tabla base, pero no tienes vistas. "
-"Mira debajo para m&#x00e1;s informaci&#x00f3;n."
+"sólo lectura a una subselección de base de datos. Es útil si quiere tener "
+"una vista en vez de una tabla base. Vea a continuación para obtener más "
+"información."
 
 #. Tag: para
-#: basic_mapping.xml:371
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>abstract</literal> (optional): is used to mark abstract "
 "superclasses in <literal>&lt;union-subclass&gt;</literal> hierarchies."
 msgstr ""
-"<literal>abstract</literal> (opcional): Usado para marcar superclases "
-"abstractas en jerarqu&#x00ed;as <literal>&lt;union-subclass&gt;</literal>."
+"<literal>abstract</literal> (opcional): Utilizado para marcar superclases "
+"abstractas en las jerarquías <literal>&lt;union-subclass&gt;</literal>."
 
 #. Tag: para
-#: basic_mapping.xml:379
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is acceptable for the named persistent class to be an interface. You can "
 "declare implementing classes of that interface using the <literal>&lt;"
@@ -848,27 +561,25 @@
 "<literal>e.g.Foo$Bar</literal>."
 msgstr ""
 "Es perfectamente aceptable que la clase persistente mencionada sea una "
-"interface. Entonces declarar&#x00ed;as clases que implementan esa interface "
-"usando el elemento <literal>&lt;subclass&gt;</literal>. Puedes persistir "
-"cualquier clase interna <emphasis>est&#x00e1;tica</emphasis>. Debes "
-"especificar el nombre de la clase usando la forma est&#x00e1;ndar. Por "
-"ejemplo, <literal>eg.Foo$Bar</literal>."
+"interfaz. Puede declarar clases que implementan esa interfaz utilizando el "
+"elemento <literal>&lt;subclass&gt;</literal>. Puede persistir cualquier "
+"clase interna <emphasis>estática</emphasis>. Debe especificar el nombre de "
+"la clase utilizando la forma estándar, por ejemplo, <literal>e.g.Foo$Bar</"
+"literal>."
 
 #. Tag: para
-#: basic_mapping.xml:386
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Immutable classes, <literal>mutable=\"false\"</literal>, cannot 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&#x00f3;n. Esto permite a Hibernate "
-"hacer ciertas optimizaciones menores de rendimiento."
+"actualizadas o borradas por la aplicación. Esto le permite a Hibernate "
+"realizar ciertas optimizaciones menores de rendimiento. "
 
 #. Tag: para
-#: basic_mapping.xml:391
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The optional <literal>proxy</literal> attribute enables lazy initialization "
 "of persistent instances of the class. Hibernate will initially return CGLIB "
@@ -876,16 +587,14 @@
 "when a method of the proxy is invoked. See \"Initializing collections and "
 "proxies\" below."
 msgstr ""
-"El atributo opcional <literal>proxy</literal> habilita la "
-"inicializaci&#x00f3;n postergada de instancias persistentes de la clase. "
-"Hibernate inicialmente retornar&#x00e1; proxies CGLIB que implementan la "
-"interface mencionada. El objeto persistente real ser&#x00e1; cargado cuando "
-"se invoque un m&#x00e9;todo del proxy. Mira \"Proxies para "
-"Inicializaci&#x00f3;n Postergada\" debajo."
+"El atributo opcional <literal>proxy</literal> activa la inicialización "
+"perezosa de instancias persistentes de la clase. Hibernate inicialmente "
+"retornará proxies CGLIB que implementan la interfaz mencionada. El objeto "
+"persistente real será cargado cuando se invoque un método del proxy. Vea "
+"\"Inicialización de colecciones y proxies\" a continuación."
 
 #. Tag: para
-#: basic_mapping.xml:398
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Implicit</emphasis> polymorphism means that instances of the class "
 "will be returned by a query that names any superclass or implemented "
@@ -901,26 +610,24 @@
 "table This allows a \"lightweight\" class that contains a subset of the "
 "table columns."
 msgstr ""
-"Por polimorfismo <emphasis>impl&#x00ed;cito</emphasis> se entiende que las "
-"instancias de la clase ser&#x00e1;n devueltas por una consulta que mencione "
-"cualquier superclase, o interface implementada, o la clase misma; y que las "
-"instancias de cualquier subclase de la clase ser&#x00e1;n devueltas por una "
-"clase que mencione a la clase en s&#x00ed;. Por polimorfismo "
-"<emphasis>expl&#x00ed;cito</emphasis> se entiende que instancias de la clase "
-"ser&#x00e1;n devueltas s&#x00f3;lo por consultas que mencionen expl&#x00ed;"
-"citamente la clase; y que las consultas que mencionen la clase "
-"devolver&#x00e1;n s&#x00f3;lo instancias de subclases mapeadas dentro de "
-"esta declaraci&#x00f3;n <literal>&lt;class&gt;</literal> como una "
-"<literal>&lt;subclass&gt;</literal> o <literal>&lt;joined-subclass&gt;</"
-"literal>. Para la mayor&#x00ed;a de los prop&#x00f3;sitos el defecto, "
-"<literal>polymorphism=\"implicit\"</literal>, resulta apropiado. El "
-"polimorfismo expl&#x00ed;cito es &#x00fa;til cuando dos clases diferentes "
-"est&#x00e1;n mapeadas a la misma tabla (esto permite tener una clase "
-"\"liviana\" que contenga un subconjunto de columnas de la tabla)."
+"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 interfaz implementada, o la clase misma; y que las "
+"instancias de cualquier subclase de la clase serán retornadas por una "
+"petición que nombra a la clase misma. Por polimorfismo <emphasis>explícito</"
+"emphasis> se entiende que las instancias de la clase serán devueltas sólo "
+"por consultas que mencionen explícitamente la clase. Las consultas que "
+"mencionen la clase retornarán sólo instancias de subclases mapeadas dentro "
+"de esta declaración <literal>&lt;class&gt;</literal> como una <literal>&lt;"
+"subclass&gt;</literal> o <literal>&lt;joined-subclass&gt;</literal>. Para la "
+"mayoría de los propósitos el valor por defecto, <literal>polymorphism="
+"\"implicit\"</literal>, resulta apropiado. El polimorfismo explícito es útil "
+"cuando dos clases diferentes se encuentran 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:410
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>persister</literal> attribute lets you customize the "
 "persistence strategy used for the class. You can, for example, specify your "
@@ -931,19 +638,18 @@
 "files or LDAP. See <literal>org.hibernate.test.CustomPersister</literal> for "
 "a simple example of \"persistence\" to a <literal>Hashtable</literal>."
 msgstr ""
-"El atributo <literal>persister</literal> te permite personalizar la "
-"estrategia de persistencia para la clase. Puedes, por ejemplo, especificar "
-"tu propia subclase de <literal>org.hibernate.persister.EntityPersister</"
-"literal> o incluso puedes proveer una implementaci&#x00f3;n completamente "
-"nueva de la interface <literal>org.hibernate.persister.ClassPersister</"
-"literal> que implemente la persistencia por medio, por ejemplo, de llamadas "
-"a procedimientos almacenados, serializaci&#x00f3;n a ficheros planos o LDAP. "
-"Para un ejemplo simple (de persistencia a una <literal>Hashtable</literal>) "
-"mira <literal>org.hibernate.test.CustomPersister</literal>."
+"El atributo <literal>persister</literal> le permite personalizar la "
+"estrategia de persistencia para la clase. Por ejemplo, puede especificar su "
+"propia subclase de <literal>org.hibernate.persister.EntityPersister</"
+"literal>, o incluso puede proporcionar una implementación completamente "
+"nueva de la interfaz <literal>org.hibernate.persister.ClassPersister</"
+"literal> que implemente, por ejemplo, la persistencia por medio de llamadas "
+"a procedimientos almacenados, serialización a archivos planos o LDAP. Para "
+"ver un ejemplo simple (de \"persistencia\" a una <literal>Hashtable</"
+"literal>) consulte <literal>org.hibernate.test.CustomPersister</literal>. "
 
 #. Tag: para
-#: basic_mapping.xml:421
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>dynamic-update</literal> and <literal>dynamic-insert</literal> "
 "settings are not inherited by subclasses, so they can also be specified on "
@@ -951,86 +657,76 @@
 "literal> elements. Although these settings can increase performance in some "
 "cases, they can actually decrease performance in others."
 msgstr ""
-"Observa que los valores de <literal>dynamic-update</literal> y "
-"<literal>dynamic-insert</literal> no son heredados por las subclases y por "
-"lo tanto deben especificarse en los elementos <literal>&lt;subclass&gt;</"
-"literal> o <literal>&lt;joined-subclass&gt;</literal>. Estos ajustes pueden "
-"incrementar el rendimiento en algunos casos, pero podr&#x00ed;an mermarlo en "
-"otros. Ten juicio en su uso."
+"Los valores de <literal>dynamic-update</literal> y <literal>dynamic-insert</"
+"literal> no son heredados por las subclases y por lo tanto deben "
+"especificarse en los elementos <literal>&lt;subclass&gt;</literal> o "
+"<literal>&lt;joined-subclass&gt;</literal>. Aunque en algunos casos, estos "
+"ajustes pueden incrementar el rendimiento, de hecho en otros casos, podrían "
+"disminuirlo."
 
 #. Tag: para
-#: basic_mapping.xml:429
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Use of <literal>select-before-update</literal> will usually decrease "
 "performance. It is 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&#x00e1; el rendimiento. Es muy &#x00fa;til prevenir que se llame "
-"innecesariamente a un disparador de actualizaci&#x00f3;n de base de datos al "
-"volver a unir un grafo de instancias separadas a una <literal>Session</"
-"literal>."
+"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 la base de datos al volver a unir un gráfico de instancias "
+"separadas a una <literal>Session</literal>."
 
 #. Tag: para
-#: basic_mapping.xml:435
 #, no-c-format
 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&#x00e1;s opci&#x00f3;n "
-"de estrategias de bloqueo optimistas:"
+"Si activa <literal>dynamic-update</literal>, usted tendrá la opción de "
+"estrategias de bloqueo optimistas:"
 
 #. Tag: para
-#: basic_mapping.xml:441
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "<literal>version</literal>: check the version/timestamp columns"
 msgstr ""
-"<literal>version</literal> chequea las columnas de versi&#x00f3;n/timestamp"
+"<literal>version</literal>: chequea las columnas de versión/sello de fecha"
 
 #. Tag: para
-#: basic_mapping.xml:446
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "<literal>all</literal>: check all columns"
-msgstr "<literal>all</literal> chequea todas las columnas"
+msgstr "<literal>all</literal>: chequea todas las columnas"
 
 #. Tag: para
-#: basic_mapping.xml:451
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>dirty</literal>: check the changed columns, allowing some "
 "concurrent updates"
 msgstr ""
-"<literal>dirty</literal> chequea las columnas modificadas, permitiendo "
+"<literal>dirty</literal>: chequea las columnas modificadas permitiendo "
 "algunas actualizaciones concurrentes"
 
 #. Tag: para
-#: basic_mapping.xml:456
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "<literal>none</literal>: do not use optimistic locking"
-msgstr "<literal>none</literal> no usa bloqueo optimista"
+msgstr "<literal>none</literal>: no utilice bloqueo optimista"
 
 #. Tag: para
-#: basic_mapping.xml:461
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is <emphasis>strongly</emphasis> recommended that you use version/"
 "timestamp columns for optimistic locking with Hibernate. This strategy "
 "optimizes performance and correctly handles modifications made to detached "
 "instances (i.e. when <literal>Session.merge()</literal> is used)."
 msgstr ""
-"Recomendamos <emphasis>muy</emphasis> fuertemente que uses columnas de "
-"versi&#x00f3;n/timestamp para bloqueo optimista con Hibernate. Esta es la "
-"estrategia &#x00f3;ptima con respecto al rendimiento y es la &#x00fa;nica "
-"estrategia que maneja correctamente las modificaciones hechas a las "
-"instancias separadas. (por ejemplo, cuando se usa <literal>Session.merge()</"
-"literal>)."
+"Le recomendamos <emphasis>mucho</emphasis> que utilice columnas de versión/"
+"sello de fecha para el bloqueo optimista con Hibernate. Esta estrategia "
+"optimiza el rendimiento y maneja correctamente las modificaciones realizadas "
+"a las instancias separadas, (por ejemplo, cuando se utiliza <literal>Session."
+"merge()</literal>)."
 
 #. Tag: para
-#: basic_mapping.xml:468
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "There is no difference between a view and a base table for a Hibernate "
 "mapping. This is transparent at the database level, although some DBMS do "
@@ -1040,66 +736,33 @@
 "given SQL subselect expression:"
 msgstr ""
 "Para un mapeo de Hibernate, no hay diferencia entre una vista y una tabla "
-"base. Como se supone esto es transparente a nivel de base de datos (observa "
-"que algunos DBMS no soportan correctamente las vistas, especialmente con las "
-"actualizaciones). A veces quieres usar una vista, pero no puedes crear una "
-"en la base de datos (por ejemplo, con un esquema heredado). En este caso, "
-"puedes mapear una entidad inmutable de s&#x00f3;lo lectura a una "
-"expresi&#x00f3;n de subconsulta SQL dada."
+"base. Esto es transparente a nivel de base de datos, aunque algunos DBMS no "
+"soportan correctamente las vistas, especialmente con las actualizaciones. A "
+"veces usted quiere utilizar una vista, pero no puede crear una en la base de "
+"datos (por ejemplo, con un esquema heredado). En este caso, usted puede "
+"mapear una entidad inmutable de sólo lectura a una expresión de subconsulta "
+"SQL dada."
 
-#. Tag: programlisting
-#: basic_mapping.xml:476
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"Summary\">\n"
-"    <subselect>\n"
-"        select item.name, max(bid.amount), count(*)\n"
-"        from item\n"
-"        join bid on bid.item_id = item.id\n"
-"        group by item.name\n"
-"    </subselect>\n"
-"    <synchronize table=\"item\"/>\n"
-"    <synchronize table=\"bid\"/>\n"
-"    <id name=\"name\"/>\n"
-"    ...\n"
-"</class>]]>"
-msgstr ""
-"<![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:478
-#, fuzzy, no-c-format
-msgid ""
 "Declare the tables to synchronize this entity with, ensuring that auto-flush "
 "happens correctly and that queries against the derived entity do not return "
 "stale data. The <literal>&lt;subselect&gt;</literal> is available both as an "
 "attribute and a nested mapping element."
 msgstr ""
-"Declara las tablas con las que sincronizar esta entidad, asegurando que el "
-"auto-flush ocurre correctamente, y que las consultas contra la entidad "
-"derivada no devuelven datos desactualizados. El <literal>&lt;subselect&gt;</"
-"literal> est&#x00e1; disponible tanto como un atributo o como un elemento "
-"anidado de mapeo."
+"Declara las tablas con las cuales se debe sincronizar esta entidad, "
+"asegurándose de que el auto-vaciado ocurra correctamente y que las consultas "
+"frente a la entidad derivada no devuelvan datos desactualizados. El "
+"<literal>&lt;subselect&gt;</literal> se encuentra disponible tanto como un "
+"atributo y como un elemento anidado de mapeo."
 
 #. Tag: title
-#: basic_mapping.xml:488
 #, no-c-format
-msgid "<title>id</title>"
-msgstr "<title>id</title>"
+msgid "id"
+msgstr "id"
 
 #. Tag: para
-#: basic_mapping.xml:490
 #, no-c-format
 msgid ""
 "Mapped classes <emphasis>must</emphasis> declare the primary key column of "
@@ -1108,94 +771,62 @@
 "literal> element defines the mapping from that property to the primary key "
 "column."
 msgstr ""
-"Las clases mapeadas <emphasis>deben</emphasis> declarar la columna de clave "
-"primaria de la tabla de la base de datos. En la mayor&#x00ed;a de los casos "
-"tendr&#x00e1; tambi&#x00e9;n una propiedad estilo Javabeans que tenga el "
-"identificador &#x00fa;nico de una instancia. El elemento <literal>&lt;id&gt;"
-"</literal> define el mapeo de esa propiedad a la columna de clave primaria."
+"Las clases mapeadas <emphasis>tienen</emphasis> que declarar la columna de "
+"clave primaria de la tabla de la base de datos. La mayoría de las clases "
+"también tendrán una propiedad de estilo Javabeans que tenga el identificador "
+"único de una instancia. El elemento <literal>&lt;id&gt;</literal> define el "
+"mapeo de esa propiedad a la columna de clave primaria."
 
-#. Tag: programlisting
-#: basic_mapping.xml:505
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<id\n"
-"        name=\"propertyName\"\n"
-"        type=\"typename\"\n"
-"        column=\"column_name\"\n"
-"        unsaved-value=\"null|any|none|undefined|id_value\"\n"
-"        access=\"field|property|ClassName\">\n"
-"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-"\n"
-"        <generator class=\"generatorClass\"/>\n"
-"</id>]]>"
-msgstr ""
-"<![CDATA[<id\n"
-"        name=\"propertyName\"\n"
-"        type=\"typename\"\n"
-"        column=\"column_name\"\n"
-"        unsaved-value=\"null|any|none|undefined|id_value\"\n"
-"        access=\"field|property|ClassName\"\n"
-"        node=\"element-name|@attribute-name|element/@attribute|.\">\n"
-"\n"
-"        <generator class=\"generatorClass\"/>\n"
-"</id>]]>"
-
-#. Tag: para
-#: basic_mapping.xml:508
-#, fuzzy, no-c-format
-msgid ""
 "<literal>name</literal> (optional): the name of the identifier property."
 msgstr ""
 "<literal>name</literal> (opcional): El nombre de la propiedad del "
-"indentificador."
+"identificador. s"
 
 #. Tag: para
-#: basic_mapping.xml:513 basic_mapping.xml:1351
 #, no-c-format
 msgid ""
 "<literal>type</literal> (optional): a name that indicates the Hibernate type."
 msgstr ""
-"<literal>type</literal> (opcional): un nombre que indica el nobre Hibernate."
+"<literal>type</literal> (opcional): un nombre que indica el tipo de "
+"Hibernate."
 
 #. Tag: para
-#: basic_mapping.xml:518
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>column</literal> (optional - defaults to the property name): the "
 "name of the primary key column."
 msgstr ""
-"<literal>column</literal> (opcional - por defecto al nombre de la "
-"propiedad): El nombre de la columna de clave primaria."
+"<literal>column</literal> (opcional - por defecto es el nombre de la "
+"propiedad): El nombre de la columna de la clave principal."
 
 #. Tag: para
-#: basic_mapping.xml:524
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>unsaved-value</literal> (optional - defaults to a \"sensible\" "
 "value): an identifier property value that indicates an instance is newly "
 "instantiated (unsaved), distinguishing it from detached instances that were "
 "saved or loaded in a previous session."
 msgstr ""
-"<literal>unsaved-value</literal> (opcional - por defecto al valor \"sensible"
-"\"): Una valor de la propiedad identificadora que indica que una instancia "
-"est&#x00e1; reci&#x00e9;n instanciada (sin salvar), distingui&#x00e9;ndola "
-"de instancias separadas que fueran salvadas o cargadas en una sesi&#x00f3;n "
-"previa."
+"<literal>unsaved-value</literal> (opcional - por defecto es un valor "
+"\"sensible\"): Un valor de la propiedad identificadora que indica que una "
+"instancia está recién instanciada (sin guardar), distinguiéndola de las "
+"instancias separadas que fueron guardadas o cargadas en una sesión previa."
 
 #. Tag: para
-#: basic_mapping.xml:532
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>access</literal> (optional - defaults to <literal>property</"
 "literal>): the strategy Hibernate should use for accessing the property "
 "value."
 msgstr ""
-"<literal>access</literal> (opcional - por defecto a <literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la "
-"propiedad."
+"<literal>access</literal> (opcional - por defecto es <literal>property</"
+"literal>): La estrategia que Hibernate debe utilizar para acceder al valor "
+"de la propiedad. "
 
 #. Tag: para
-#: basic_mapping.xml:540
 #, no-c-format
 msgid ""
 "If the <literal>name</literal> attribute is missing, it is assumed that the "
@@ -1205,36 +836,31 @@
 "tiene propiedad identificadora."
 
 #. Tag: para
-#: basic_mapping.xml:545
 #, no-c-format
 msgid ""
 "The <literal>unsaved-value</literal> attribute is almost never needed in "
 "Hibernate3."
 msgstr ""
-"El atributo <literal>unsaved-value</literal> es importante! Si la propiedad "
-"identificadora de tu clase no tiene por defecto el valor por defecto normal "
-"de Java (null o cero), entonces debes especificar el valor por defecto real."
+"El atributo <literal>unsaved-value</literal> casi nunca se necesita en "
+"Hibernate3."
 
 #. Tag: para
-#: basic_mapping.xml:549
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "There is an alternative <literal>&lt;composite-id&gt;</literal> declaration "
 "that allows access to legacy data with composite keys. Its use is strongly "
 "discouraged for anything else."
 msgstr ""
-"Hay una declaraci&#x00f3;n <literal>&lt;composite-id&gt;</literal> "
-"alternativa para permitir acceso a datos heredados con claves compuestas. "
-"Desalentamos fuertemente su uso para cualquier otra cosa."
+"Hay una declaración <literal>&lt;composite-id&gt;</literal> opcional para "
+"permitir acceso a los datos heredados con claves compuestas. Le disuadimos "
+"seriamente de su utilización para cualquier otra cosa."
 
 #. Tag: title
-#: basic_mapping.xml:555
 #, no-c-format
 msgid "Generator"
-msgstr "Generator"
+msgstr "Generador"
 
 #. Tag: para
-#: basic_mapping.xml:557
 #, no-c-format
 msgid ""
 "The optional <literal>&lt;generator&gt;</literal> child element names a Java "
@@ -1244,53 +870,33 @@
 "literal> element."
 msgstr ""
 "El elemento hijo opcional <literal>&lt;generator&gt;</literal> nombra una "
-"clase Java usada en generar identificadores &#x00fa;nicos para instancias de "
-"la clase persistente. De requerirse alg&#x00fa;n par&#x00e1;metro para "
-"configurar o inicializar la instancia del generador, se pasa usando el "
-"elemento <literal>&lt;param&gt;</literal>."
+"clase Java utilizada para 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 utilizando el elemento "
+"<literal>&lt;param&gt;</literal>."
 
-#. Tag: programlisting
-#: basic_mapping.xml:564
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
-"        <generator class=\"org.hibernate.id.TableHiLoGenerator\">\n"
-"                <param name=\"table\">uid_table</param>\n"
-"                <param name=\"column\">next_hi_value_column</param>\n"
-"        </generator>\n"
-"</id>]]>"
-msgstr ""
-"<![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:566
-#, fuzzy, no-c-format
-msgid ""
 "All generators implement the interface <literal>org.hibernate.id."
 "IdentifierGenerator</literal>. This is a very simple interface. Some "
 "applications can choose to provide their own specialized implementations, "
 "however, Hibernate provides a range of built-in implementations. The "
 "shortcut names for the built-in generators are as follows:"
 msgstr ""
-"Todos los generadores implementan la interface <literal>org.hibernate.id."
-"IdentifierGenerator</literal>. Esta es una interface muy simple; algunas "
-"aplicaciones pueden escoger proveer sus propias implementaciones "
+"Todos los generadores implementan la interfaz <literal>org.hibernate.id."
+"IdentifierGenerator</literal>. Esta es una interfaz muy simple. Algunas "
+"aplicaciones pueden decidir brindar sus propias implementaciones "
 "especializadas. Sin embargo, Hibernate provee un rango de implementaciones "
-"prefabricadas. Hay nombres alias de atajo para los generadores prefabricados:"
+"ya incorporadas. Los nombres de atajo para los generadores incorporados son "
+"los siguientes:"
 
-#. Tag: literal
-#: basic_mapping.xml:574
+#. Tag: term
 #, no-c-format
-msgid "increment"
-msgstr "increment"
+msgid "<literal>increment</literal>"
+msgstr "<literal>increment</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:576
 #, no-c-format
 msgid ""
 "generates identifiers of type <literal>long</literal>, <literal>short</"
@@ -1299,18 +905,16 @@
 "cluster.</emphasis>"
 msgstr ""
 "genera indentificadores de tipo <literal>long</literal>, <literal>short</"
-"literal> o <literal>int</literal> que s&#x00f3;lo son &#x00fa;nicos cuando "
-"ning&#x00fa;n otro proceso est&#x00e1; insertando datos en la misma tabla. "
-"<emphasis>No usar en un cluster.</emphasis>"
+"literal> o <literal>int</literal> que sólamente son únicos cuando ningún "
+"otro proceso está insertando datos en la misma tabla. <emphasis>No lo "
+"utilice en un clúster.</emphasis>"
 
-#. Tag: literal
-#: basic_mapping.xml:585
+#. Tag: term
 #, no-c-format
-msgid "identity"
-msgstr "identity"
+msgid "<literal>identity</literal>"
+msgstr "<literal>identity</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:587
 #, no-c-format
 msgid ""
 "supports identity columns in DB2, MySQL, MS SQL Server, Sybase and "
@@ -1321,14 +925,12 @@
 "HypersonicSQL. El identificador devuelto es de tipo <literal>long</literal>, "
 "<literal>short</literal> o <literal>int</literal>."
 
-#. Tag: literal
-#: basic_mapping.xml:595
+#. Tag: term
 #, no-c-format
-msgid "sequence"
-msgstr "sequence"
+msgid "<literal>sequence</literal>"
+msgstr "<literal>sequence</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:597
 #, no-c-format
 msgid ""
 "uses a sequence in DB2, PostgreSQL, Oracle, SAP DB, McKoi or a generator in "
@@ -1339,14 +941,12 @@
 "en Interbase. El identificador devuelto es de tipo <literal>long</literal>, "
 "<literal>short</literal> o <literal>int</literal>."
 
-#. Tag: literal
-#: basic_mapping.xml:605
+#. Tag: term
 #, no-c-format
-msgid "hilo"
-msgstr "hilo"
+msgid "<literal>hilo</literal>"
+msgstr "<literal>hilo</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:607
 #, no-c-format
 msgid ""
 "uses a hi/lo algorithm to efficiently generate identifiers of type "
@@ -1356,71 +956,63 @@
 "hi/lo algorithm generates identifiers that are unique only for a particular "
 "database."
 msgstr ""
-"usa un algoritmo alto/bajo para generar eficientemente identificadores de "
-"tipo <literal>long</literal>, <literal>short</literal> o <literal>int</"
+"utiliza un algoritmo alto/bajo para generar eficientemente identificadores "
+"de tipo <literal>long</literal>, <literal>short</literal> o <literal>int</"
 "literal>, dada una tabla y columna como fuente de valores altos (por defecto "
 "<literal>hibernate_unique_key</literal> y <literal>next_hi</literal> "
 "respectivamente). El algoritmo alto/bajo genera identificadores que son "
-"&#x00fa;nicos s&#x00f3;lo para una base de datos particular."
+"únicos sólamente para una base de datos particular."
 
-#. Tag: literal
-#: basic_mapping.xml:617
+#. Tag: term
 #, no-c-format
-msgid "seqhilo"
-msgstr "seqhilo"
+msgid "<literal>seqhilo</literal>"
+msgstr "<literal>seqhilo</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:619
 #, no-c-format
 msgid ""
 "uses a hi/lo algorithm to efficiently generate identifiers of type "
 "<literal>long</literal>, <literal>short</literal> or <literal>int</literal>, "
 "given a named database sequence."
 msgstr ""
-"usa un algoritmo alto/bajo para generar eficientemente identificadores de "
-"tipo <literal>long</literal>, <literal>short</literal> o <literal>int</"
+"utiliza un algoritmo alto/bajo para generar eficientemente identificadores "
+"de tipo <literal>long</literal>, <literal>short</literal> o <literal>int</"
 "literal>, dada una secuencia de base de datos."
 
-#. Tag: literal
-#: basic_mapping.xml:627
+#. Tag: term
 #, no-c-format
-msgid "uuid"
-msgstr "uuid"
+msgid "<literal>uuid</literal>"
+msgstr "<literal>uuid</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:629
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "uses a 128-bit UUID algorithm to generate identifiers of type string that "
 "are unique within a network (the IP address is used). The UUID is encoded as "
 "a string of 32 hexadecimal digits in length."
 msgstr ""
-"usa un algoritmo UUID de 128 bits para generar identificadore de tipo "
-"cadena, &#x00fa;nicos en una ref (se usa la direcc&#x00f3;n IP). El UUID se "
-"codifica como una cadena hexadecimal de 32 d&#x00ed;gitos de largo."
+"utiliza un algoritmo UUID de 128 bits para generar identificadores de tipo "
+"cadena, únicos dentro de una red (se utiliza la direccón IP). El UUID se "
+"codifica como una cadena hexadecimal de 32 dígitos de largo."
 
-#. Tag: literal
-#: basic_mapping.xml:637
+#. Tag: term
 #, no-c-format
-msgid "guid"
-msgstr "guid"
+msgid "<literal>guid</literal>"
+msgstr "<literal>guid</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:639
 #, no-c-format
 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."
+"utiliza una cadena GUID generada por base de datos en MS SQL Server y MySQL."
 
-#. Tag: literal
-#: basic_mapping.xml:645
+#. Tag: term
 #, no-c-format
-msgid "native"
-msgstr "native"
+msgid "<literal>native</literal>"
+msgstr "<literal>native</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:647
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "selects <literal>identity</literal>, <literal>sequence</literal> or "
 "<literal>hilo</literal> depending upon the capabilities of the underlying "
@@ -1428,70 +1020,62 @@
 msgstr ""
 "selecciona <literal>identity</literal>, <literal>sequence</literal> o "
 "<literal>hilo</literal> dependiendo de las capacidades de la base de datos "
-"subyacente."
+"subyacente. "
 
-#. Tag: literal
-#: basic_mapping.xml:655
+#. Tag: term
 #, no-c-format
-msgid "assigned"
-msgstr "assigned"
+msgid "<literal>assigned</literal>"
+msgstr "<literal>assigned</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:657
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "lets the application assign an identifier to the object before <literal>save"
 "()</literal> is called. This is the default strategy if no <literal>&lt;"
 "generator&gt;</literal> element is specified."
 msgstr ""
-"deja a la aplicaci&#x00f3;n asignar un identificador al objeto antes de que "
-"se llame a <literal>save()</literal>. Esta es la estrategia por defecto si "
-"no se especifica un elemento <literal>&lt;generator&gt;</literal>."
+"deja a la aplicación asignar un identificador al objeto antes de que se "
+"llame a <literal>save()</literal>. Esta es la estrategia por defecto si no "
+"se especifica un elemento <literal>&lt;generator&gt;</literal>. "
 
-#. Tag: literal
-#: basic_mapping.xml:665
+#. Tag: term
 #, no-c-format
-msgid "select"
-msgstr "select"
+msgid "<literal>select</literal>"
+msgstr "<literal>select</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:667
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "retrieves a primary key, assigned by a database trigger, by selecting the "
 "row by some unique key and retrieving the primary key value."
 msgstr ""
-"recupera una clave primaria asignada por un disparador de base de datos "
-"seleccionando la fila por alguna clave &#x00fa;nica y recuperando el valor "
-"de la clave primaria."
+"recupera una clave principal asignada por un disparador de base de datos "
+"seleccionando la fila por alguna clave única y recuperando el valor de la "
+"clave principal."
 
-#. Tag: literal
-#: basic_mapping.xml:674
+#. Tag: term
 #, no-c-format
-msgid "foreign"
-msgstr "foreign"
+msgid "<literal>foreign</literal>"
+msgstr "<literal>foreign</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:676
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "uses the identifier of another associated object. It is usually used in "
 "conjunction with a <literal>&lt;one-to-one&gt;</literal> primary key "
 "association."
 msgstr ""
-"usa el identificador de otro objeto asociado. Generalmente usado en "
-"conjunc&#x00f3;n a una asociac&#x00f3;n de clave primaria <literal>&lt;uno-a-"
-"uno&gt;</literal>"
+"utiliza el identificador de otro objeto asociado. Generalmente se usa en "
+"conjunto cón a una asociación de clave principal <literal>&lt;one-to-one&gt;"
+"</literal>."
 
-#. Tag: literal
-#: basic_mapping.xml:683
+#. Tag: term
 #, no-c-format
-msgid "sequence-identity"
-msgstr "UNTRANSLATED! sequence-identity"
+msgid "<literal>sequence-identity</literal>"
+msgstr "<literal>sequence-identity</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:685
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "a specialized sequence generation strategy that utilizes a database sequence "
 "for the actual value generation, but combines this with JDBC3 "
@@ -1500,22 +1084,22 @@
 "drivers targeted for JDK 1.4. Comments on these insert statements are "
 "disabled due to a bug in the Oracle drivers."
 msgstr ""
-"a specialized sequence generation strategy which utilizes a database "
-"sequence for the actual value generation, but combines this with JDBC3 "
-"getGeneratedKeys to actually return the generated identifier value as part "
-"of the insert statement execution. This strategy is only known to be "
-"supported on Oracle 10g drivers targetted for JDK 1.4. Note comments on "
-"these insert statements are disabled due to a bug in the Oracle drivers."
+"una estrategia de generación de secuencias especilizadas que utiliza una "
+"secuencia de base de datos para el valor real de la generación, pero combina "
+"esto junto con JDBC3 getGeneratedKeys para devolver el valor del "
+"identificador generado como parte de la ejecución de la declaración de "
+"inserción. Esta estrategia está soportada sólamente en los controladores 10g "
+"de Oracle destinados para JDK1.4. Los comentarios en estas declaraciones de "
+"inserción están desactivados debido a un error en los controladores de "
+"Oracle."
 
 #. Tag: title
-#: basic_mapping.xml:702
 #, no-c-format
 msgid "Hi/lo algorithm"
 msgstr "Algoritmo alto/bajo"
 
 #. Tag: para
-#: basic_mapping.xml:703
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>hilo</literal> and <literal>seqhilo</literal> generators "
 "provide two alternate implementations of the hi/lo algorithm. The first "
@@ -1523,97 +1107,53 @@
 "available \"hi\" value. Where supported, the second uses an Oracle-style "
 "sequence."
 msgstr ""
-"Los generadores <literal>hilo</literal> y <literal>seqhilo</literal> proveen "
-"dos implementaciones alternativas del algoritmo alto/bajo, un enfoque "
-"favorito en generaci&#x00f3;n de identificadores. La primera "
-"implementaci&#x00f3;n requiere de una tabla \"especial\" de base de datos "
-"para tener el siguiente valor \"alto\" disponible. La segunda usa una "
-"secuencia del estilo de Oracle (donde se soporte)."
+"Los generadores <literal>hilo</literal> y <literal>seqhilo</literal> brindan "
+"dos implementaciones opcionales del algoritmo alto/bajo. La primera "
+"implementación necesita de una tabla \"especial\" de base de datos para "
+"tener el siguiente valor \"alto\" disponible. La segunda utiliza una "
+"secuencia del estilo de Oracle, donde se encuentre soportada."
 
-#. Tag: programlisting
-#: basic_mapping.xml:710
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
-"        <generator class=\"hilo\">\n"
-"                <param name=\"table\">hi_value</param>\n"
-"                <param name=\"column\">next_value</param>\n"
-"                <param name=\"max_lo\">100</param>\n"
-"        </generator>\n"
-"</id>]]>"
-msgstr ""
-"<![CDATA[<id name=\"id\" type=\"long\" column=\"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:712
-#, no-c-format
-msgid ""
-"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
-"        <generator class=\"seqhilo\">\n"
-"                <param name=\"sequence\">hi_value</param>\n"
-"                <param name=\"max_lo\">100</param>\n"
-"        </generator>\n"
-"</id>]]>"
-msgstr ""
-"<![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:714
-#, fuzzy, no-c-format
-msgid ""
 "Unfortunately, you cannot use <literal>hilo</literal> when supplying your "
 "own <literal>Connection</literal> to Hibernate. When Hibernate uses an "
 "application server datasource to obtain connections enlisted with JTA, you "
 "must configure the <literal>hibernate.transaction.manager_lookup_class</"
 "literal>."
 msgstr ""
-"Desafortunadamente, no puedes usar <literal>hilo</literal> cuando le proveas "
-"tu propia <literal>Connection</literal> a Hibernate. Cuando Hibernate "
-"est&#x00e1; usando un datasource del servidor de aplicaciones para obtener "
-"conexiones alistadas con JTA, debes configurar correctamente el "
+"Desafortunadamente, no puede utilizar <literal>hilo</literal> cuando le "
+"provea su propia <literal>Connection</literal> a Hibernate. Cuando Hibernate "
+"está utilizando una fuente de datos del servidor de aplicaciones para "
+"obtener conexiones alistadas con JTA, usted tiene que configurar el "
 "<literal>hibernate.transaction.manager_lookup_class</literal>."
 
 #. Tag: title
-#: basic_mapping.xml:723
 #, no-c-format
 msgid "UUID algorithm"
 msgstr "Algoritmo UUID"
 
 #. Tag: para
-#: basic_mapping.xml:724
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The UUID contains: IP address, startup time of the JVM that is accurate to a "
 "quarter second, system time and a counter value that is unique within the "
 "JVM. It is not possible to obtain a MAC address or memory address from Java "
 "code, so this is the best option without using JNI."
 msgstr ""
-"El UUID contiene: la direcci&#x00f3;n IP, el instante de arranque de la JVM "
-"(con una precisi&#x00f3;n de un cuarto de segundo), el tiempo de sistema y "
-"un valor de contador (&#x00fa;nico en la JVM). No es posible obtener una "
-"direcci&#x00f3;n MAC o una direcci&#x00f3;n de memoria desde c&#x00f3;digo "
-"Java, as&#x00ed; que esto es lo mejor que podemos hacer sin usar JNI."
+"El UUID contiene: la dirección IP, el tiempo de iniciación de la MVJ, con "
+"una precisión de un cuarto de segundo, el tiempo de sistema y un valor de "
+"contador (único en la MVJ). No es posible obtener una dirección MAC o una "
+"dirección de memoria desde el código Java, así que esto es la mejor opción "
+"sin tener que utilizar JNI."
 
 #. Tag: title
-#: basic_mapping.xml:733
 #, no-c-format
 msgid "Identity columns and sequences"
 msgstr "Columnas de identidad y secuencias"
 
 #. Tag: para
-#: basic_mapping.xml:734
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "For databases that support identity columns (DB2, MySQL, Sybase, MS SQL), "
 "you can use <literal>identity</literal> key generation. For databases that "
@@ -1622,65 +1162,32 @@
 "strategies require two SQL queries to insert a new object. For example:"
 msgstr ""
 "Para las bases de datos que soportan columnas de identidad (DB2, MySQL, "
-"Sybase, MS SQL), puedes usar generaci&#x00f3;n de claves <literal>identity</"
-"literal>. Para las bases de datos que soportan secuencias (DB2, Oracle, "
-"PostgreSQL, Interbase, McKoi, SAP DB) puedes usar la generaci&#x00f3;n de "
-"claves del estilo <literal>sequence</literal>. Ambas estrategias requieren "
-"dos consultas SQL para insertar un nuevo objeto."
+"Sybase, MS SQL), puede utilizar generación de claves <literal>identity</"
+"literal>. Para las bases de datos que soportan las secuencias (DB2, Oracle, "
+"PostgreSQL, Interbase, McKoi, SAP DB) puede utilizar la generación de claves "
+"del estilo <literal>sequence</literal>. Ambas estrategias requieren dos "
+"consultas SQL para insertar un nuevo objeto. Por ejemplo:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:742
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
-"        <generator class=\"sequence\">\n"
-"                <param name=\"sequence\">person_id_sequence</param>\n"
-"        </generator>\n"
-"</id>]]>"
-msgstr ""
-"<![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:744
-#, no-c-format
-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:746
-#, fuzzy, no-c-format
-msgid ""
 "For cross-platform development, the <literal>native</literal> strategy will, "
 "depending on the capabilities of the underlying database, choose from the "
 "<literal>identity</literal>, <literal>sequence</literal> and <literal>hilo</"
 "literal> strategies."
 msgstr ""
-"Para desarrollos multiplataforma, la estrategia <literal>native</literal> "
-"eiligir&#x00e1; de entre las estrategias <literal>identity</literal>, "
-"<literal>sequence</literal> y <literal>hilo</literal>, dependiendo de las "
-"capacidades de la base de datos subyacentes."
+"Para desarrollos a través de plataformas, la estrategia <literal>native</"
+"literal> eligirá entre las estrategias <literal>identity</literal>, "
+"<literal>sequence</literal> e <literal>hilo</literal>, dependiendo de las "
+"capacidades de la base de datos subyacente."
 
 #. Tag: title
-#: basic_mapping.xml:754
 #, no-c-format
 msgid "Assigned identifiers"
 msgstr "Identificadores asignados"
 
 #. Tag: para
-#: basic_mapping.xml:755
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you want the application to assign identifiers, as opposed to having "
 "Hibernate generate them, you can use the <literal>assigned</literal> "
@@ -1690,17 +1197,16 @@
 "behavior if you do not specify a <literal>&lt;generator&gt;</literal> "
 "element."
 msgstr ""
-"Si quieres que la aplicaci&#x00f3;n asigne los identificadores (en "
-"contraposici&#x00f3;n a que los genere Hibernate), puedes usar el generador "
-"<literal>assigned</literal>. Este generador especial usar&#x00e1; el valor "
-"identificador ya asignado a la propiedad identificadora del objeto. Este "
-"generador se usa cuandola clave primaria es una clave natural en vez de una "
-"clave sustituta. Este es el comportamiento por defecto si no especificas un "
+"Si quiere que la aplicación asigne los identificadores, en contraposición a "
+"que los genere Hibernate, puede utilizar el generador <literal>assigned</"
+"literal>. Este generador especial utilizará el valor identificador ya "
+"asignado a la propiedad identificadora del objeto. Este generador se utiliza "
+"cuando la clave principal es una clave natural en vez de una clave "
+"sustituta. Este es el comportamiento por defecto si no especifica un "
 "elemento <literal>&lt;generator&gt;</literal>."
 
 #. Tag: para
-#: basic_mapping.xml:764
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>assigned</literal> generator makes Hibernate use "
 "<literal>unsaved-value=\"undefined\"</literal>. This forces Hibernate to go "
@@ -1708,65 +1214,45 @@
 "there is a version or timestamp property, or you define <literal>Interceptor."
 "isUnsaved()</literal>."
 msgstr ""
-"Elegir el generador <literal>assigned</literal> hace que Hibernate use "
-"<literal>unsaved-value=\"undefined\"</literal>, forzando a Hibernate a ir a "
-"la base de datos para determinar si una instancia es transitoria o separada, "
-"a menos que haya una propiedad de versi&#x00f3;n o timestamp, o que tu "
-"definas <literal>Interceptor.isUnsaved()</literal>."
+"El generador <literal>assigned</literal> hace que Hibernate utilice "
+"<literal>unsaved-value=\"undefined\"</literal>. Esto fuerza a Hibernate a ir "
+"a la base de datos para determinar si una instancia es transitoria o "
+"separada, a menos de que haya una propiedad de versión o sello de fecha, o "
+"que usted defina <literal>Interceptor.isUnsaved()</literal>."
 
 #. Tag: title
-#: basic_mapping.xml:774
 #, no-c-format
 msgid "Primary keys assigned by triggers"
 msgstr "Claves primarias asignadas por disparadores"
 
 #. Tag: para
-#: basic_mapping.xml:775
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate does not generate DDL with triggers. It is for legacy schemas only."
 msgstr ""
-"Para esquemas heredados solamente (Hibernate no genera DDL con disparadores)."
+"Hibernate no genera DDL con disparadores. Es para los esquemas heredados "
+"sólamente."
 
-#. Tag: programlisting
-#: basic_mapping.xml:779
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
-"        <generator class=\"select\">\n"
-"                <param name=\"key\">socialSecurityNumber</param>\n"
-"        </generator>\n"
-"</id>]]>"
-msgstr ""
-"<![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:781
-#, fuzzy, no-c-format
-msgid ""
 "In the above example, there is a unique valued property named "
 "<literal>socialSecurityNumber</literal>. It is 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 &#x00e1;nica llamada "
-"<literal>socialSecurityNumber</literal> definida por la clase, como una "
-"clave natural, y una clave sustituta llamada <literal>person_id</literal> "
-"cuyo valor es generado por un disparador."
+"En el ejemplo anterior, hay una propiedad única llamada "
+"<literal>socialSecurityNumber</literal>, Esta está 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:793
 #, no-c-format
 msgid "Enhanced identifier generators"
-msgstr "Enhanced identifier generators"
+msgstr "Generadores mejorados del identificador"
 
 #. Tag: para
-#: basic_mapping.xml:795
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Starting with release 3.2.3, there are 2 new generators which represent a re-"
 "thinking of 2 different aspects of identifier generation. The first aspect "
@@ -1776,17 +1262,18 @@
 "the named generators described above, starting in 3.3.x. However, they are "
 "included in the current releases and can be referenced by FQN."
 msgstr ""
-"Starting with release 3.2.3, there are 2 new generators which represent a re-"
-"thinking of 2 different aspects of identifier generation. The first aspect "
-"is database portability; the second is optimization (not having to query the "
-"database for every request for a new identifier value). These two new "
-"generators are intended to take the place of some of the named generators "
-"described above (starting in 3.3.x); however, they are included in the "
-"current releases and can be referenced by FQN."
+"Desde el lanzamiento 3.2.3, hay 2 nuevos generadores, los cuales representan "
+"una nueva reflexión sobre dos aspectos diferentes de la generación del "
+"identificador. El primer aspecto es qúe tan portátil es la base de datos; el "
+"segudno es la optimización. La optimización significa que no tiene que "
+"preguntarle a la base de datos por toda petición de un nuevo valor "
+"identificador. Estos dos nuevos generadores tienen el propósito de tomar el "
+"lugar de algunos de los generadores nombrados que describimos anteriormente, "
+"empezando por 3.3.x. Sin embargo, están incluídos en los lanzamientos "
+"actuales y puede ser referenciados por FQN."
 
 #. Tag: para
-#: basic_mapping.xml:803
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The first of these new generators is <literal>org.hibernate.id.enhanced."
 "SequenceStyleGenerator</literal> which is intended, firstly, as a "
@@ -1805,99 +1292,96 @@
 "with its table-based generators. This generator has a number of "
 "configuration parameters:"
 msgstr ""
-"The first of these new generators is <literal>org.hibernate.id.enhanced."
-"SequenceStyleGenerator</literal> which is intended firstly as a replacement "
-"for the <literal>sequence</literal> generator and secondly as a better "
-"portability generator than <literal>native</literal> (because "
-"<literal>native</literal> (generally) chooses between <literal>identity</"
-"literal> and <literal>sequence</literal> which have largely different "
-"semantics which can cause subtle isssues in applications eyeing "
-"portability). <literal>org.hibernate.id.enhanced.SequenceStyleGenerator</"
-"literal> however achieves portability in a different manner. It chooses "
-"between using a table or a sequence in the database to store its "
-"incrementing values depending on the capabilities of the dialect being used. "
-"The difference between this and <literal>native</literal> is that table-"
-"based and sequence-based storage have the same exact semantic (in fact "
-"sequences are exactly what Hibernate tries to emmulate with its table-based "
-"generators). This generator has a number of configuration parameters:"
+"El primero de estos nuevos generadores es <literal>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</literal>, el cual tiene el propósito, primero, de "
+"ser el reemplazo para el generador <literal>sequence</literal> y segundo, de "
+"ser un generador de portabilidad mejor que <literal>native</literal>. Esto "
+"se debe a que <literal>native</literal> generalmente escoge entre "
+"<literal>identity</literal> y <literal>sequence</literal>, los cuales tienen "
+"una gran diferencia semántica que puede crear problemas sutiles en las "
+"aplicaciones mirando la portabilidad. Sin embargo, <literal>org.hibernate.id."
+"enhanced.SequenceStyleGenerator</literal>, logra la portabilidad de una "
+"manera diferente. Escoge entre una tabla o una secuencia en la base de datos "
+"para almacenar sus valores en subida, dependiendo de las capacidades del "
+"dialecto que se está utilizando. La diferencia enter esto y <literal>native</"
+"literal> es que el almacenamiento basado en tablas y secuencias tienen la "
+"misma semántica. De hecho, las secuencias son exactamente lo que Hibernate "
+"trata de emular con sus generadores basados en tablas. Este generador tiene "
+"un número de parámetros de configuración:"
 
 #. Tag: para
-#: basic_mapping.xml:817
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>sequence_name</literal> (optional, defaults to "
 "<literal>hibernate_sequence</literal>): the name of the sequence or table to "
 "be used."
 msgstr ""
-"<literal>sequence_name</literal> (optional, defaults to "
-"<literal>hibernate_sequence</literal>): The name of the sequence (or table) "
-"to be used."
+"<literal>sequence_name</literal> (opcional, por defecto es "
+"<literal>hibernate_sequence</literal>): el nombre de la secuencia o la tabla "
+"a utilizar."
 
 #. Tag: para
-#: basic_mapping.xml:823
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>initial_value</literal> (optional, defaults to <literal>1</"
 "literal>): the initial value to be retrieved from the sequence/table. In "
 "sequence creation terms, this is analogous to the clause typically named "
 "\"STARTS WITH\"."
 msgstr ""
-"<literal>initial_value</literal> (optional, defaults to <literal>1</"
-"literal>): The initial value to be retrieved from the sequence/table. In "
-"sequence creation terms, this is analogous to the clause typical named "
-"\"STARTS WITH\"."
+"<literal>initial_value</literal> (opcional, por defecto es <literal>1</"
+"literal>): el valor inicial a recuperarse de la secuencia/tabla. En términos "
+"de creación de secuencias, esto es análogo a la cláusula que usualmente se "
+"llama \"STARTS WITH\"."
 
 #. Tag: para
-#: basic_mapping.xml:830
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>increment_size</literal> (optional - defaults to <literal>1</"
 "literal>): the value by which subsequent calls to the sequence/table should "
 "differ. In sequence creation terms, this is analogous to the clause "
 "typically named \"INCREMENT BY\"."
 msgstr ""
-"<literal>increment_size</literal> (optional, defaults to <literal>1</"
-"literal>): The value by which subsequent calls to the sequence/table should "
-"differ. In sequence creation terms, this is analogous to the clause typical "
-"named \"INCREMENT BY\"."
+"<literal>increment_size</literal> (opcional - por defecto es <literal>1</"
+"literal>): el valor por el cual las llamadas subsecuentes a la secuencia/"
+"tabla deben diferir. En términos de creación de secuencias, esto es análogo "
+"a la cláusula que usualmente se llama \"INCREMENT BY\"."
 
 #. Tag: para
-#: basic_mapping.xml:837
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>force_table_use</literal> (optional - defaults to <literal>false</"
 "literal>): should we force the use of a table as the backing structure even "
 "though the dialect might support sequence?"
 msgstr ""
-"<literal>force_table_use</literal> (optional, defaults to <literal>false</"
-"literal>): Should we force the use of a table as the backing structure even "
-"though the dialect might support sequence?"
+"<literal>force_table_use</literal> (opcional - por defecto es "
+"<literal>false</literal>): ¿debemos forzar el uso de una tabla como la "
+"estructura de respaldo aunque puede que el dialecto soporte la secuencia?"
 
 #. Tag: para
-#: basic_mapping.xml:844
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>value_column</literal> (optional - defaults to <literal>next_val</"
 "literal>): only relevant for table structures, it is the name of the column "
 "on the table which is used to hold the value."
 msgstr ""
-"<literal>value_column</literal> (optional, defaults to <literal>next_val</"
-"literal>): Only relevant for table structures! The name of the column on the "
-"table which is used to hold the value."
+"<literal>value_column</literal> (opcional - por defecto es "
+"<literal>next_val</literal>): solo es relevante para estructuras de tablas, "
+"es el nombre de la columna en la tabla, la cual se usa para mantener el "
+"valor."
 
 #. Tag: para
-#: basic_mapping.xml:851
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>optimizer</literal> (optional - defaults to <literal>none</"
-"literal>): See"
+"literal>): See <xref linkend=\"mapping-declaration-id-enhanced-optimizers\" /"
+">"
 msgstr ""
-"<literal>optimizer</literal> (optional, defaults to <literal>none</"
-"literal>): See"
+"<literal>optimizer</literal> (opcional - por defecto es <literal>none</"
+"literal>): Consulte <xref linkend=\"mapping-declaration-id-enhanced-"
+"optimizers\" />"
 
 #. Tag: para
-#: basic_mapping.xml:858
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The second of these new generators is <literal>org.hibernate.id.enhanced."
 "TableGenerator</literal>, which is intended, firstly, as a replacement for "
@@ -1910,147 +1394,138 @@
 "multiple distinctly keyed rows. This generator has a number of configuration "
 "parameters:"
 msgstr ""
-"The second of these new generators is <literal>org.hibernate.id.enhanced."
-"TableGenerator</literal> which is intended firstly as a replacement for the "
-"<literal>table</literal> generator (although it actually functions much more "
-"like <literal>org.hibernate.id.MultipleHiLoPerTableGenerator</literal>) and "
-"secondly as a re-implementation of <literal>org.hibernate.id."
-"MultipleHiLoPerTableGenerator</literal> utilizing the notion of pluggable "
-"optimiziers. Essentially this generator defines a table capable of holding a "
-"number of different increment values simultaneously by using multiple "
-"distinctly keyed rows. This generator has a number of configuration "
-"parameters:"
+"El segundo de estos nuevos generadores es <literal>org.hibernate.id.enhanced."
+"TableGenerator</literal>, el cual tiene el propósito, primero, de reemplazar "
+"el generador <literal>table</literal>, auqnue de hecho funciona como "
+"<literal>org.hibernate.id.MultipleHiLoPerTableGenerator</literal>, y "
+"segundo, como una re-implementación de <literal>org.hibernate.id."
+"MultipleHiLoPerTableGenerator</literal> que utiliza la noción de los "
+"optimizadores enchufables. Esencialmente, este generador define una tabla "
+"capaz de mantener un número de valores de incremento diferentes de manera "
+"simultánea usando múltiples filas tecleadas claramente. Este generador tiene "
+"un número de parámetros de configuración:"
 
 #. Tag: para
-#: basic_mapping.xml:868
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>table_name</literal> (optional - defaults to "
 "<literal>hibernate_sequences</literal>): the name of the table to be used."
 msgstr ""
-"<literal>table_name</literal> (optional, defaults to "
-"<literal>hibernate_sequences</literal>): The name of the table to be used."
+"<literal>table_name</literal> (opcional - por defecto es "
+"<literal>hibernate_sequences</literal>): el nombre de la tabla a utilizar."
 
 #. Tag: para
-#: basic_mapping.xml:874
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>value_column_name</literal> (optional - defaults to "
 "<literal>next_val</literal>): the name of the column on the table that is "
 "used to hold the value."
 msgstr ""
-"<literal>value_column_name</literal> (optional, defaults to "
-"<literal>next_val</literal>): The name of the column on the table which is "
-"used to hold the value."
+"<literal>value_column_name</literal> (opcional - por defecto es "
+"<literal>next_val</literal>): el nombre de la columna en la tabla que se "
+"utiliza para mantener el valor."
 
 #. Tag: para
-#: basic_mapping.xml:880
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>segment_column_name</literal> (optional - defaults to "
 "<literal>sequence_name</literal>): the name of the column on the table that "
 "is used to hold the \"segment key\". This is the value which identifies "
 "which increment value to use."
 msgstr ""
-"<literal>segment_column_name</literal> (optional, defaults to "
-"<literal>sequence_name</literal>): The name of the column on the table which "
-"is used to hold the \"segement key\". This is the value which distinctly "
-"identifies which increment value to use."
+"<literal>segment_column_name</literal> (opcional - por defecto es "
+"<literal>sequence_name</literal>): el nombre de la columna en la tabla que "
+"se utiliza para mantener la \"llave segmento\". Este es el valor que "
+"identifica que valor de incremento utilizar."
 
 #. Tag: para
-#: basic_mapping.xml:887
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>segment_value</literal> (optional - defaults to <literal>default</"
 "literal>): The \"segment key\" value for the segment from which we want to "
 "pull increment values for this generator."
 msgstr ""
-"<literal>segment_value</literal> (optional, defaults to <literal>default</"
-"literal>): The \"segment key\" value for the segment from which we want to "
-"pull increment values for this generator."
+"<literal>segment_value</literal> (opcional - por defecto es "
+"<literal>default</literal>): El valor \"llave segmento\" para el segmento "
+"desde el cual queremos sacar los valores de incremento para este generador."
 
 #. Tag: para
-#: basic_mapping.xml:894
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>segment_value_length</literal> (optional - defaults to "
 "<literal>255</literal>): Used for schema generation; the column size to "
 "create this segment key column."
 msgstr ""
-"<literal>segment_value_length</literal> (optional, defaults to <literal>255</"
-"literal>): Used for schema generation; the column size to create this "
-"segment key column."
+"<literal>segment_value_length</literal> (opcional - por defecto es "
+"<literal>255</literal>): Se utiliza para la generación de esquemas; el "
+"tamaño de la columna a crear esta columna de llave de segmento."
 
 #. Tag: para
-#: basic_mapping.xml:900
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>initial_value</literal> (optional - defaults to <literal>1</"
 "literal>): The initial value to be retrieved from the table."
 msgstr ""
-"<literal>initial_value</literal> (optional, defaults to <literal>1</"
-"literal>): The initial value to be retrieved from the table."
+"<literal>initial_value</literal> (opcional - por defecto es <literal>1</"
+"literal>): El valor inicial a recuperar de la tabla."
 
 #. Tag: para
-#: basic_mapping.xml:906
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>increment_size</literal> (optional - defaults to <literal>1</"
 "literal>): The value by which subsequent calls to the table should differ."
 msgstr ""
-"<literal>increment_size</literal> (optional, defaults to <literal>1</"
-"literal>): The value by which subsequent calls to the table should differ."
+"<literal>increment_size</literal> (opcional - por defecto es <literal>1</"
+"literal>): El valor por el cual deben diferir las llamadas subsecuentes a la "
+"tabla."
 
 #. Tag: para
-#: basic_mapping.xml:912
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>optimizer</literal> (optional - defaults to <literal></literal>): "
-"See"
+"See <xref linkend=\"mapping-declaration-id-enhanced-optimizers\" />"
 msgstr ""
-"<literal>optimizer</literal> (optional, defaults to <literal></literal>): See"
+"<literal>optimizer</literal> (opcional - por defecto es <literal></"
+"literal>): Consulte <xref linkend=\"mapping-declaration-id-enhanced-"
+"optimizers\" />"
 
 #. Tag: title
-#: basic_mapping.xml:922
 #, no-c-format
 msgid "Identifier generator optimization"
-msgstr "Identifier generator optimization"
+msgstr "Optimización del generador del identificador"
 
 #. Tag: para
-#: basic_mapping.xml:923
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "For identifier generators that store values in the database, it is "
 "inefficient for them to hit the database on each and every call to generate "
 "a new identifier value. Instead, you can group a bunch of them in memory and "
 "only hit the database when you have exhausted your in-memory value group. "
 "This is the role of the pluggable optimizers. Currently only the two "
-"enhanced generators (<xref linkend=\"mapping-declaration-id-enhanced\"/> "
+"enhanced generators (<xref linkend=\"mapping-declaration-id-enhanced\" /> "
 "support this operation."
 msgstr ""
-"For identifier generators which store values in the database, it is "
-"inefficient for them to hit the database on each and every call to generate "
-"a new identifier value. Instead, you'd ideally want to group a bunch of them "
-"in memory and only hit the database when you have exhausted your in-memory "
-"value group. This is the role of the pluggable optimizers. Currently only "
-"the two enhanced generators (<xref linkend=\"mapping-declaration-id-enhanced"
-"\"/> support this notion."
+"Para los generadores del identificador que almacenan valores en la base de "
+"datos, es ineficiente el acceder a la base de datos en toda llamada para "
+"generar un nuevo valor identificador. En lugar, puede agrupar una serie de "
+"ellos en la memoria y solo acceder a la base de datos cuando haya acabado su "
+"grupo de valores en memoria. Este es el papel de los optimizadores "
+"enchufables. Actualmente solo los dos generadores mejorados (<xref linkend="
+"\"mapping-declaration-id-enhanced\" />) soportan esta operación."
 
 #. Tag: para
-#: basic_mapping.xml:931
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>none</literal> (generally this is the default if no optimizer was "
 "specified): this will not perform any optimizations and hit the database for "
 "each and every request."
 msgstr ""
-"<literal>none</literal> (generally this is the default if no optimizer was "
-"specified): This says to not perform any optimizations, and hit the database "
-"each and every request."
+"<literal>none</literal> (generalmente este el es valor predeterminado si no "
+"se especifica un optimizador): esto no realizará ninguna optimización y "
+"accederá a la base de datos para toda petición."
 
 #. Tag: para
-#: basic_mapping.xml:937
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>hilo</literal>: applies a hi/lo algorithm around the database "
 "retrieved values. The values from the database for this optimizer are "
@@ -2059,16 +1534,15 @@
 "<literal>increment_size</literal> is multiplied by that value in memory to "
 "define a group \"hi value\"."
 msgstr ""
-"<literal>hilo</literal>: applies a hi/lo algorithm around the database "
-"retrieved values. The values from the database for this optimizer are "
-"expected to be sequential. The values retrieved from the database structure "
-"for this optimizer indicates the \"group number\"; the "
-"<literal>increment_size</literal> is multiplied by that value in memory to "
-"define a group \"hi value\"."
+"<literal>hilo</literal>: aplica un algoritmo hi/lo a los valores recuperados "
+"de la base de datos. Se espera que los valores de la base de datos para este "
+"optimizador sean secuenciales. Los valores recuperados de la estructura de "
+"la base de datos para este optimizador indican el \"número del grupo\". El "
+"<literal>increment_size</literal> se multiplica por ese valor en la memoria "
+"para definir un grupo \"hi value\"."
 
 #. Tag: para
-#: basic_mapping.xml:946
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>pooled</literal>: as with the case of <literal>hilo</literal>, this "
 "optimizer attempts to minimize the number of hits to the database. Here, "
@@ -2077,96 +1551,47 @@
 "memory grouping algorithm. Here, <literal>increment_size</literal> refers to "
 "the values coming from the database."
 msgstr ""
-"<literal>pooled</literal>: like was discussed for <literal>hilo</literal>, "
-"this optimizers attempts to minimize the number of hits to the database. "
-"Here, however, we simply store the starting value for the \"next group\" "
-"into the database structure rather than a sequential value in combination "
-"with an in-memory grouping algorithm. <literal>increment_size</literal> here "
-"refers to the values coming from the database."
+"<literal>pooled</literal>: como en el caso de <literal>hilo</literal>, este "
+"optimizador trata de minimizar el número de hits a la base de datos. Sin "
+"embargo, aquí simplemente almacenamos el valor inicial para el \"siguiente "
+"grupo\" en la estructura de la base de datos en lugar de un valor secuencial "
+"en combinación con un algoritmo de agrupamiento en-memoria. Aquí, "
+"<literal>increment_size</literal> ser refiere a los valores que provienen de "
+"la base de datos."
 
 #. Tag: title
-#: basic_mapping.xml:959
 #, no-c-format
 msgid "composite-id"
 msgstr "composite-id"
 
-#. Tag: programlisting
-#: basic_mapping.xml:961
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<composite-id\n"
-"        name=\"propertyName\"\n"
-"        class=\"ClassName\"\n"
-"        mapped=\"true|false\"\n"
-"        access=\"field|property|ClassName\">\n"
-"        node=\"element-name|.\"\n"
-"\n"
-"        <key-property name=\"propertyName\" type=\"typename\" column="
-"\"column_name\"/>\n"
-"        <key-many-to-one name=\"propertyName class=\"ClassName\" column="
-"\"column_name\"/>\n"
-"        ......\n"
-"</composite-id>]]>"
-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:963
-#, fuzzy, no-c-format
-msgid ""
 "A table with a composite key can be mapped with multiple properties of the "
 "class as identifier properties. The <literal>&lt;composite-id&gt;</literal> "
 "element accepts <literal>&lt;key-property&gt;</literal> property mappings "
 "and <literal>&lt;key-many-to-one&gt;</literal> mappings as child elements."
 msgstr ""
-"Para una tabla con clave compuesta, puedes mapear m&#x00fa;ltiples "
-"propiedades de la clase como propiedades identificadoras. El elemento "
-"<literal>&lt;composite-id&gt;</literal> acepta los mapeos de propiedad "
-"<literal>&lt;key-property&gt;</literal> y los mapeos <literal>&lt;key-many-"
-"to-one&gt;</literal> como elementos hijo."
+"Una tabla con clave compuesta se puede mapear con múltiples propiedades de "
+"la clase como propiedades identificadoras. El elemento <literal>&lt;"
+"composite-id&gt;</literal> acepta los mapeos de propiedad <literal>&lt;key-"
+"property&gt;</literal> y los mapeos <literal>&lt;key-many-to-one&gt;</"
+"literal> como elementos hijos."
 
-#. Tag: programlisting
-#: basic_mapping.xml:970
+#. Tag: para
 #, no-c-format
 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:972
-#, fuzzy, no-c-format
-msgid ""
 "The persistent class <emphasis>must</emphasis> override <literal>equals()</"
 "literal> and <literal>hashCode()</literal> to implement composite identifier "
 "equality. It must also implement <literal>Serializable</literal>."
 msgstr ""
-"Tu clase persistente <emphasis>debe</emphasis> sobreescribir <literal>equals"
-"()</literal> y <literal>hashCode()</literal> para implementar igualdad de "
-"identificador compuesto. Debe tambi&#x00e9;n implementar "
+"La clase persistente <emphasis>tiene</emphasis> que sobrescribir "
+"<literal>equals()</literal> y <literal>hashCode()</literal> para implementar "
+"la igualdad del identificador compuesto. También tiene que implementar "
 "<literal>Serializable</literal>."
 
 #. Tag: para
-#: basic_mapping.xml:978
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Unfortunately, this approach means that a persistent object is its own "
 "identifier. There is no convenient \"handle\" other than the object itself. "
@@ -2176,18 +1601,15 @@
 "<emphasis>embedded</emphasis> composite identifier, and discourage it for "
 "serious applications."
 msgstr ""
-"Desafortunadamente, este enfoque de identificadores compuestos significa que "
-"un objeto persistente es su propio identificador. No existe otra \"asa\" "
-"conveniente m&#x00e1;s que el objeto mismo. Debes instanciar una instancia "
-"de la clase misma y poblar sus propiedades identificadoras antes que puedas "
-"<literal>load()</literal> el estado persistente asociado a una clave "
-"compuesta. Describiremos un enfoque mucho m&#x00e1;s conveniente donde el "
-"identificador compuesto est&#x00e1; implementado como una clase separada en "
-"<xref linkend=\"components-compositeid\"/>. Los atributos descriptos debajo "
-"solamente se aplican a este enfoque alternativo:"
+"Desafortunadamente, este enfoque significa que un objeto persistente es su "
+"propio identificador. No existe otra \"asa\" conveniente más que el objeto "
+"mismo. Debe instanciar una instancia de la clase persistente y poblar sus "
+"propiedades identificadoras antes de que pueda <literal>load()</literal> el "
+"estado persistente asociado a una clave compuesta. Este enfoque lo "
+"denominamos un identificador compuesto <emphasis>incluído</emphasis> y no lo "
+"recomendamos para aplicaciones serias."
 
 #. Tag: para
-#: basic_mapping.xml:987
 #, no-c-format
 msgid ""
 "A second approach is what we call a <emphasis>mapped</emphasis> composite "
@@ -2195,29 +1617,15 @@
 "composite-id&gt;</literal> element are duplicated on both the persistent "
 "class and a separate identifier class."
 msgstr ""
-"A second approach is what we call a <emphasis>mapped</emphasis> composite "
-"identifier, where the identifier properties named inside the <literal>&lt;"
-"composite-id&gt;</literal> element are duplicated on both the persistent "
-"class and a separate identifier class."
+"Un segundo enfoque es lo que denominamos un identificador compuesto "
+"<emphasis>mapeado</emphasis>, en donde las propiedades del identificador "
+"nombradas dentro del elemento <literal>&lt;composite-id&gt;</literal> son "
+"duplicadas tanto en la clase persistente como en la clase identificadora "
+"separada."
 
-#. Tag: programlisting
-#: basic_mapping.xml:993
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<composite-id class=\"MedicareId\" mapped=\"true\">\n"
-"        <key-property name=\"medicareNumber\"/>\n"
-"        <key-property name=\"dependent\"/>\n"
-"</composite-id>]]>"
-msgstr ""
-"<![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:995
-#, fuzzy, no-c-format
-msgid ""
 "In this example, both the composite identifier class, <literal>MedicareId</"
 "literal>, and the entity class itself have properties named "
 "<literal>medicareNumber</literal> and <literal>dependent</literal>. The "
@@ -2225,115 +1633,106 @@
 "<literal>hashCode()</literal> and implement <literal>Serializable</literal>. "
 "The main disadvantage of this approach is code duplication."
 msgstr ""
-"In this example, both the composite identifier class, <literal>MedicareId</"
-"literal>, and the entity class itself have properties named "
-"<literal>medicareNumber</literal> and <literal>dependent</literal>. The "
-"identifier class must override <literal>equals()</literal> and "
-"<literal>hashCode()</literal> and implement. <literal>Serializable</"
-"literal>. The disadvantage of this approach is quite obvious&mdash;code "
-"duplication."
+"En este ejemplo, tanto la clase identificadora compuesta "
+"<literal>MedicareId</literal> como la clase de entidad misma tienen "
+"propiedades denominadas <literal>medicareNumber</literal> y "
+"<literal>dependent</literal>. La clase identificadora tiene que sobrescribir "
+"<literal>equals()</literal> y <literal>hashCode()</literal> e implementar "
+"<literal>Serializable</literal>. La desventaja principal de este enfoque es "
+"la duplicación de código."
 
 #. Tag: para
-#: basic_mapping.xml:1004
 #, no-c-format
 msgid ""
 "The following attributes are used to specify a mapped composite identifier:"
 msgstr ""
-"The following attributes are used to specify a mapped composite identifier:"
+"Los siguientes atributos se utilizan para especificar un identificador "
+"compuesto mapeado:"
 
 #. Tag: para
-#: basic_mapping.xml:1010
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>mapped</literal> (optional - defaults to <literal>false</literal>): "
 "indicates that a mapped composite identifier is used, and that the contained "
 "property mappings refer to both the entity class and the composite "
 "identifier class."
 msgstr ""
-"<literal>mapped</literal> (optional, defaults to <literal>false</literal>): "
-"indicates that a mapped composite identifier is used, and that the contained "
-"property mappings refer to both the entity class and the composite "
-"identifier class."
+"<literal>mapped</literal> (opcional, por defecto es <literal>false</"
+"literal>): indica que se utiliza un identificador compuesto mapeado y que "
+"los mapeos de propiedad contenidos se refieren tanto a la clase de entidad "
+"como a la clase identificadora compuesta. "
 
 #. Tag: para
-#: basic_mapping.xml:1018
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>class</literal> (optional - but required for a mapped composite "
 "identifier): the class used as a composite identifier."
 msgstr ""
-"<literal>class</literal> (optional, but required for a mapped composite "
-"identifier): The class used as a composite identifier."
+"<literal>class</literal> (opcional, pero requerida por un identificador "
+"compuesto mapeado): La clase se utiliza como un identificador compuesto. "
 
 #. Tag: para
-#: basic_mapping.xml:1025
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "We will describe a third, even more convenient approach, where the composite "
 "identifier is implemented as a component class in <xref linkend=\"components-"
-"compositeid\"/>. The attributes described below apply only to this "
+"compositeid\" />. The attributes described below apply only to this "
 "alternative approach:"
 msgstr ""
-"We will describe a third, even more convenient approach where the composite "
-"identifier is implemented as a component class in <xref linkend=\"components-"
-"compositeid\"/>. The attributes described below apply only to this "
-"alternative approach:"
+"Vamos a decribir un tercer enfoque, aún más práctico, en donde se implementa "
+"el identificador compuesto como una clase componente en <xref linkend="
+"\"components-compositeid\"/>. Los atributos descritos a continuación "
+"sólamente aplican a este enfoque alternativo:"
 
 #. Tag: para
-#: basic_mapping.xml:1033
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>name</literal> (optional - required for this approach): a property "
 "of component type that holds the composite identifier. Please see chapter 9 "
 "for more information."
 msgstr ""
-"<literal>name</literal> (opcional): Una propiedad de tipo componente que "
-"tiene el identificador compuesto (ver siguiente secci&#x00f3;n)."
+"<literal>name</literal> (opcional, se necesita para este enfoque): Una "
+"propiedad de tipo componente que tiene el identificador compuesto. Consulte "
+"el capítulo 9 para obtener mayor información. "
 
 #. Tag: para
-#: basic_mapping.xml:1039 basic_mapping.xml:1260 basic_mapping.xml:1372
-#: basic_mapping.xml:1561 basic_mapping.xml:1735 basic_mapping.xml:1905
-#: basic_mapping.xml:2484
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>access</literal> (optional - defaults to <literal>property</"
 "literal>): the strategy Hibernate uses for accessing the property value."
 msgstr ""
-"<literal>access</literal> (opcional - por defecto a <literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la "
+"<literal>access</literal> (opcional - por defecto es <literal>property</"
+"literal>): La estrategia que Hibernate utiliza para acceder al valor de la "
 "propiedad."
 
 #. Tag: para
-#: basic_mapping.xml:1045
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>class</literal> (optional - defaults to the property type "
 "determined by reflection): the component class used as a composite "
 "identifier. Please see the next section for more information."
 msgstr ""
-"<literal>class</literal> (opcional - por defecto al tipo de la propiedad "
-"determinado por reflecci&#x00f3;n): La clase del componente usado como "
-"identificador compuesto (ver siguiente secci&#x00f3;n)."
+"<literal>class</literal> (opcional - por defecto es el tipo de propiedad "
+"determinado por la reflección): la clase componente utilizada como un "
+"identificador compuesto. Vea la siguiente sección para obtener mayor "
+"información."
 
 #. Tag: para
-#: basic_mapping.xml:1052
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The third approach, an <emphasis>identifier component</emphasis>, is "
 "recommended for almost all applications."
 msgstr ""
-"This third approach, an <emphasis>identifier component</emphasis> is the one "
-"we recommend for almost all applications."
+"Este tercer enfoque, un <emphasis>componente identificador</emphasis> es el "
+"que recomendamos para casi todas las aplicaciones. "
 
 #. Tag: title
-#: basic_mapping.xml:1060
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Discriminator"
-msgstr "discriminator"
+msgstr "Discriminador"
 
 #. Tag: para
-#: basic_mapping.xml:1062
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>&lt;discriminator&gt;</literal> element is required for "
 "polymorphic persistence using the table-per-class-hierarchy mapping "
@@ -2345,150 +1744,109 @@
 "<literal>boolean</literal>, <literal>yes_no</literal>, <literal>true_false</"
 "literal>."
 msgstr ""
-"El elemento <literal>&lt;discriminator&gt;</literal> es requerido para la "
-"persistencia polim&#x00f3;rfica usando la estrategia de mapeo de tabla-por-"
-"jerarqu&#x00ed;a-de-clases y declara una columna discriminadora de la tabla. "
-"La columna discriminidora contiene valores de marca que le dicen a la capa "
-"de persistencia qu&#x00e9; subclase instanciar para una fila en particular. "
-"Un conjunto restringido de tipos puede ser usado: <literal>string</literal>, "
+"Se necesita el elemento <literal>&lt;discriminator&gt;</literal> para la "
+"persistencia polimórfica utilizando la estrategia de mapeo de tabla-por-"
+"jerarquía-de-clases. 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. Se puede "
+"utilizar un conjunto restringido de tipos: <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:1080
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<discriminator\n"
-"        column=\"discriminator_column\"\n"
-"        type=\"discriminator_type\"\n"
-"        force=\"true|false\"\n"
-"        insert=\"true|false\"\n"
-"        formula=\"arbitrary sql expression\"\n"
-"/>]]>"
-msgstr ""
-"<![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:1083
-#, fuzzy, no-c-format
-msgid ""
 "<literal>column</literal> (optional - defaults to <literal>class</literal>): "
 "the name of the discriminator column."
 msgstr ""
-"<literal>column</literal> (opcional - por defecto a <literal>class</"
-"literal>) el nombre de la columna discriminadora."
+"<literal>column</literal> (opcional - por defecto es <literal>class</"
+"literal>) el nombre de la columna discriminadora. "
 
 #. Tag: para
-#: basic_mapping.xml:1089
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>type</literal> (optional - defaults to <literal>string</literal>): "
 "a name that indicates the Hibernate type"
 msgstr ""
-"<literal>type</literal> (opcional - por defecto a <literal>string</literal>) "
-"un nombre que indique el tipo Hibernate"
+"<literal>type</literal> (opcional - por defecto es <literal>string</"
+"literal>) un nombre que indica el tipo Hibernate. "
 
 #. Tag: para
-#: basic_mapping.xml:1095
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>force</literal> (optional - defaults to <literal>false</literal>): "
 "\"forces\" Hibernate to specify the allowed discriminator values, even when "
 "retrieving all instances of the root class."
 msgstr ""
-"<literal>force</literal> (optconal - por defecto a <literal>false</literal>) "
-"\"fuerza\" a Hibernate a especificar valores discriminadores permitidos "
-"incluso cuando se recuperan todas las instancias de la clase ra&#x00ed;z."
+"<literal>force</literal> (opcional - por defecto es <literal>false</"
+"literal>) \"fuerza\" a Hibernate para especificar los valores "
+"discriminadores permitidos incluso cuando se recuperan todas las instancias "
+"de la clase raíz. "
 
 #. Tag: para
-#: basic_mapping.xml:1102
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>insert</literal> (optional - defaults to <literal>true</literal>): "
 "set this to <literal>false</literal> if your discriminator column is also "
 "part of a mapped composite identifier. It tells Hibernate not to include the "
 "column in SQL <literal>INSERTs</literal>."
 msgstr ""
-"<literal>insert</literal> (opcional - por defecto a <literal>true</literal>) "
-"establezca este a <literal>false</literal> si tu columna discriminadora es "
-"tambi&#x00e9;n parte de un identificador mapeado compuesto. (Le dice a "
-"Hibernate que no incluya la columna en los SQL <literal>INSERT</literal>s.)"
+"<literal>insert</literal> (opcional - por defecto es <literal>true</"
+"literal>): establecido como <literal>false</literal> si su columna "
+"discriminadora también es parte de un identificador mapeado compuesto. Lle "
+"dice a Hibernate que no incluya la columna en los SQLs <literal>INSERT</"
+"literal>."
 
 #. Tag: para
-#: basic_mapping.xml:1110
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>formula</literal> (optional): an arbitrary SQL expression that is "
 "executed when a type has to be evaluated. It allows content-based "
 "discrimination."
 msgstr ""
-"<literal>formula</literal> (opcional) una expresi&#x00f3;n SQL arbitraria "
-"que es ejecutada cuando un tipo tenga que ser evaluado. Permite "
-"dicriminaci&#x00f3;n basada en el contenido."
+"<literal>formula</literal> (opcional): una expresión SQL arbitraria que se "
+"ejecuta cuando se tenga que evaluar un tipo. Permite la discriminación con "
+"base en el contenido."
 
 #. Tag: para
-#: basic_mapping.xml:1118
 #, no-c-format
 msgid ""
 "Actual values of the discriminator column are specified by the "
 "<literal>discriminator-value</literal> attribute of the <literal>&lt;"
 "class&gt;</literal> and <literal>&lt;subclass&gt;</literal> elements."
 msgstr ""
-"Los valores reales de la columna discriminadora est&#x00e1;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>&lt;class&gt;</literal> y <literal>&lt;subclass&gt;</literal>."
 
 #. Tag: para
-#: basic_mapping.xml:1124
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>force</literal> attribute is only useful if the table contains "
 "rows with \"extra\" discriminator values that are not mapped to a persistent "
 "class. This will not usually be the case."
 msgstr ""
-"El atributo <literal>force</literal> es (s&#x00f3;lo) &#x00fa;til si la "
-"tabla contiene filas con valores discriminadores \"extra\" que no est&#x00e1;"
-"n mapeados a la clase persistente. Generalmente este no es el caso."
+"El atributo <literal>force</literal> es sólamente útil si la tabla contiene "
+"filas con valores discriminadores \"extra\" que no estén mapeados a una "
+"clase persistente. Generalmente este no es el caso."
 
 #. Tag: para
-#: basic_mapping.xml:1130
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>formula</literal> attribute allows you to declare an arbitrary "
 "SQL expression that will be used to evaluate the type of a row. For example:"
 msgstr ""
-"Usando el atributo <literal>formula</literal> puedes declarar una "
-"expresi&#x00f3;n SQL arbitraria que ser&#x00e1; usada para evaluar el tipo "
-"de una fila:"
+"El atributo <literal>formula</literal> le permite declarar una expresión SQL "
+"arbitraria que será utilizada para evaluar el tipo de una fila. Por ejemplo: "
 
-#. Tag: programlisting
-#: basic_mapping.xml:1135
-#, no-c-format
-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:1140
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Version (optional)"
-msgstr "version (opcional)"
+msgstr "Versión (opcional)"
 
 #. Tag: para
-#: basic_mapping.xml:1142
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>&lt;version&gt;</literal> element is optional and indicates "
 "that the table contains versioned data. This is particularly useful if you "
@@ -2496,76 +1854,47 @@
 "information:"
 msgstr ""
 "El elemento <literal>&lt;version&gt;</literal> es opcional e indica que la "
-"tabla contiene datos versionados. Esto es particularmente &#x00fa;til si "
-"planeas usar <emphasis>transacciones largas</emphasis> (ver debajo)."
+"tabla contiene datos versionados. Esto es particularmente útil si planea "
+"utilizar <emphasis>transacciones largas</emphasis>. Vea a continuación para "
+"obtener mayor información:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:1158
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<version\n"
-"        column=\"version_column\"\n"
-"        name=\"propertyName\"\n"
-"        type=\"typename\"\n"
-"        access=\"field|property|ClassName\"\n"
-"        unsaved-value=\"null|negative|undefined\"\n"
-"        generated=\"never|always\"\n"
-"        insert=\"true|false\"\n"
-"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-"/>]]>"
-msgstr ""
-"<![CDATA[<version\n"
-"        column=\"version_column\"\n"
-"        name=\"propertyName\"\n"
-"        type=\"typename\"\n"
-"        access=\"field|property|ClassName\"\n"
-"        unsaved-value=\"null|negative|undefined\"\n"
-"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-"/>]]>"
-
-#. Tag: para
-#: basic_mapping.xml:1161
-#, fuzzy, no-c-format
-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&#x00fa;mero de "
-"versi&#x00f3;n."
+"<literal>column</literal> (opcional - por defecto es el nombre de la "
+"propiedad): El nombre de la columna que tiene el número de la versión."
 
 #. Tag: para
-#: basic_mapping.xml:1167
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>name</literal>: the name of a property of the persistent class."
 msgstr ""
-"<literal>name</literal>: El nombre de una propiedad de la clase persistente."
+"<literal>name</literal>: El nombre de una propiedad de la clase persistente. "
 
 #. Tag: para
-#: basic_mapping.xml:1172
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>type</literal> (optional - defaults to <literal>integer</literal>): "
 "the type of the version number."
 msgstr ""
-"<literal>type</literal> (opcional - por defecto a <literal>integer</"
-"literal>): El tipo del n&#x00fa;.mero de vesi&#x00f3;n."
+"<literal>type</literal> (opcional - por defecto es <literal>integer</"
+"literal>): El tipo del número de la versión. "
 
 #. Tag: para
-#: basic_mapping.xml:1178
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>access</literal> (optional - defaults to <literal>property</"
 "literal>): the strategy Hibernate uses to access the property value."
 msgstr ""
-"<literal>access</literal> (opcional - por defecto a <literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la "
-"propiedad."
+"<literal>access</literal> (opcional - por defecto es <literal>property</"
+"literal>): La estrategia que Hibernate utiliza para acceder al valor de la "
+"propiedad. "
 
 #. Tag: para
-#: basic_mapping.xml:1184
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>unsaved-value</literal> (optional - defaults to <literal>undefined</"
 "literal>): a version property value that indicates that an instance is newly "
@@ -2573,57 +1902,53 @@
 "saved or loaded in a previous session. <literal>Undefined</literal> "
 "specifies that the identifier property value should be used."
 msgstr ""
-"<literal>unsaved-value</literal> (opcional - por defecto a "
-"<literal>undefined</literal>): Un valor de la propiedad de versi&#x00f3;n "
-"que indica que una instancia est&#x00e1; reci&#x00e9;n instanciada (sin "
-"guardar), distingui&#x00e9;ndola de instancias separadas que fueran "
-"guardadas o cargadas en una sesi&#x00f3;n previa. (<literal>undefined</"
-"literal> especifica que debe usarse el valor de la propiedad identificadora.)"
+"<literal>unsaved-value</literal> (opcional - por defecto es "
+"<literal>undefined</literal>): Un valor de la propiedad de versión que "
+"indica que una instancia se encuentra recién instanciada (sin guardar), "
+"distinguiéndola de las instancias separadas que se guardaron o se cargaron "
+"en una sesión previa. <literal>undefined</literal> especifica que se debe "
+"utilizar el valor de la propiedad identificadora."
 
 #. Tag: para
-#: basic_mapping.xml:1193
 #, fuzzy, no-c-format
 msgid ""
 "<literal>generated</literal> (optional - defaults to <literal>never</"
 "literal>): specifies that this version property value is generated by the "
-"database. See the discussion of <link linkend=\"mapping-generated"
-"\">generated properties</link> for more information."
+"database. See the discussion of generated properties for more information "
+"(<xref linkend=\"mapping-generated\" />)."
 msgstr ""
-"UNTRANSLATED! <literal>generated</literal> (optional - defaults to "
-"<literal>never</literal>): Specifies that this version property value is "
-"actually generated by the database. See the discussion of <link linkend="
-"\"mapping-generated\">generated properties</link>."
+"<literal>generated</literal> (opcional - por defecto es <literal>never</"
+"literal>): Especifica que este valor de la propiedad de la versión es "
+"generado por la base de datos. Vea la discusión de <xref linkend=\"mapping-"
+"generated\" /> para obtener mayor información."
 
 #. Tag: para
-#: basic_mapping.xml:1200
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>insert</literal> (optional - defaults to <literal>true</literal>): "
 "specifies whether the version column should be included in SQL insert "
 "statements. It can be set to <literal>false</literal> if the database column "
 "is defined with a default value of <literal>0</literal>."
 msgstr ""
-"UNTRANSLATED! <literal>insert</literal> (optional - defaults to "
-"<literal>true</literal>): Specifies whether the version column should be "
-"included in SQL insert statements. May be set to <literal>false</literal> if "
-"and only if the database column is defined with a default value of "
-"<literal>0</literal>."
+"<literal>insert</literal> (opcional - por defectos es <literal>true</"
+"literal>): Especifica si la columna de la versión debe incluirse en las "
+"declaraciones de inserción SQL. Se puede configurar como <literal>false</"
+"literal> si la columna de la base de datos se define con un valor "
+"predeterminado de <literal>0</literal>."
 
 #. Tag: para
-#: basic_mapping.xml:1210
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Version numbers can be of Hibernate type <literal>long</literal>, "
 "<literal>integer</literal>, <literal>short</literal>, <literal>timestamp</"
 "literal> or <literal>calendar</literal>."
 msgstr ""
-"Los n&#x00fa;meros de versi&#x00f3;n deben ser de tipo <literal>long</"
-"literal>, <literal>integer</literal>, <literal>short</literal>, "
-"<literal>timestamp</literal> o <literal>calendar</literal> de Hibernate."
+"Los números de versión pueden ser de tipo Hibernate <literal>long</literal>, "
+"<literal>integer</literal>, <literal>short</literal>, <literal>timestamp</"
+"literal> o <literal>calendar</literal>."
 
 #. Tag: para
-#: basic_mapping.xml:1215
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A version or timestamp property should never be null for a detached "
 "instance. Hibernate will detect any instance with a null version or "
@@ -2633,24 +1958,22 @@
 "reattachment in Hibernate. It is especially useful for people using assigned "
 "identifiers or composite keys</emphasis>."
 msgstr ""
-"Una propiedad de versi&#x00f3;n o timestamp nunca debe ser nula para una "
-"instancia separada, de modo que Hibernate detectar&#x00e1; cualquier "
-"instancia con una versi&#x00f3;n o timestamp nulo como transitoria, sin "
-"importar qu&#x00e9; otras estrategias <literal>unsaved-value</literal> se "
-"hayan especificado. <emphasis>Declarar una propiedad de vers&#x00f3;n o "
-"timestamp nulable es una forma f&#x00e1;cil de evitar cualquier problema con "
-"la re-uni&#x00f3;n transitiva en Hibernate, especialmente &#x00fa;til para "
-"que usa identificadores asignados o claves compuestas!</emphasis>"
+"Una propiedad de versión o de sello de fecha nunca debe ser nula para una "
+"instancia separada. Hibernate detectará cualquier instancia con una versión "
+"o sello de fecha nulo como transitoria, sin importar qué otras estrategias "
+"<literal>unsaved-value</literal> se hayan especificado. <emphasis>El "
+"declarar una propiedad de versión o sello de fecha nulable es una forma "
+"fácil de evitar cualquier problema con la re-unión transitiva en Hibernate. "
+"Es especialmente útil para la gente que utiliza identificadores asignados o "
+"claves compuestas</emphasis>."
 
 #. Tag: title
-#: basic_mapping.xml:1226
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Timestamp (optional)"
-msgstr "timestamp (opcional)"
+msgstr "Timestamp (opcional)"
 
 #. Tag: para
-#: basic_mapping.xml:1228
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The optional <literal>&lt;timestamp&gt;</literal> element indicates that the "
 "table contains timestamped data. This provides an alternative to versioning. "
@@ -2658,47 +1981,22 @@
 "sometimes the application might use the timestamps in other ways."
 msgstr ""
 "El elemento opcional <literal>&lt;timestamp&gt;</literal> indica que la "
-"tabla contiene datos con sellos de tiempo. Esto esta concebido como una "
-"alternativa al versionado. Los timestamps (sellos de tiempo) son por su "
-"naturaleza una implementaci&#x00f3;n menos segura de bloqueo optimista. Sin "
-"embrago, a veces la aplicaci&#x00f3;n puede usar los timestamps en otras "
-"formas."
+"tabla contiene datos con sellos de fecha. Esto brinda una alternativa al "
+"versionado. Los sellos de tiempo (timestamps) son por naturaleza una "
+"implementación menos segura del bloqueo optimista. Sin embargo, a veces la "
+"aplicación puede usar los sellos de fecha de otras maneras."
 
-#. Tag: programlisting
-#: basic_mapping.xml:1244
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<timestamp\n"
-"        column=\"timestamp_column\"\n"
-"        name=\"propertyName\"\n"
-"        access=\"field|property|ClassName\"\n"
-"        unsaved-value=\"null|undefined\"\n"
-"        source=\"vm|db\"\n"
-"        generated=\"never|always\"\n"
-"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-"/>]]>"
-msgstr ""
-"<![CDATA[<timestamp\n"
-"        column=\"timestamp_column\"\n"
-"        name=\"propertyName\"\n"
-"        access=\"field|property|ClassName\"\n"
-"        unsaved-value=\"null|undefined\"\n"
-"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-"/>]]>"
-
-#. Tag: para
-#: basic_mapping.xml:1247
-#, fuzzy, no-c-format
-msgid ""
 "<literal>column</literal> (optional - defaults to the property name): the "
 "name of a column holding the timestamp."
 msgstr ""
-"<literal>column</literal> (opcional - por defecto al nombre de la "
-"propiedad): El nombre de una columna que tiene el timestamp."
+"<literal>column</literal> (opcional - por defecto es el nombre de la "
+"propiedad): El nombre de una columna que tiene el sello de fecha. "
 
 #. Tag: para
-#: basic_mapping.xml:1253
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>name</literal>: the name of a JavaBeans style property of Java type "
 "<literal>Date</literal> or <literal>Timestamp</literal> of the persistent "
@@ -2706,11 +2004,10 @@
 msgstr ""
 "<literal>name</literal>: El nombre de una propiedad del estilo JavaBeans de "
 "tipo Java <literal>Date</literal> o <literal>Timestamp</literal> de la clase "
-"persistente."
+"persistente. "
 
 #. Tag: para
-#: basic_mapping.xml:1266
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>unsaved-value</literal> (optional - defaults to <literal>null</"
 "literal>): a version property value that indicates that an instance is newly "
@@ -2718,16 +2015,15 @@
 "saved or loaded in a previous session. <literal>Undefined</literal> "
 "specifies that the identifier property value should be used."
 msgstr ""
-"<literal>unsaved-value</literal> (opcional - por defecto a <literal>null</"
-"literal>): Un valor de propiedad de versi&#x00f3;n que indica que una "
-"instancia est&#x00e1; reci&#x00e9;n instanciada (sin guardar), "
-"distingui&#x00e9;ndola de instancias separadas que hayan sido guardadas o "
-"cargadas en una sesi&#x00f3;n previa. (<literal>undefined</literal> "
-"especifica que debe usarse el valor de la propiedad identificadora.)"
+"<literal>unsaved-value</literal> (opcional - por defecto es <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 utilizarse el valor de la "
+"propiedad identificadora."
 
 #. Tag: para
-#: basic_mapping.xml:1275
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>source</literal> (optional - defaults to <literal>vm</literal>): "
 "Where should Hibernate retrieve the timestamp value from? From the database, "
@@ -2738,134 +2034,84 @@
 "timestamp. Others may also be unsafe for usage in locking due to lack of "
 "precision (Oracle 8, for example)."
 msgstr ""
-"UNTRANSLATED! <literal>source</literal> (optional - defaults to <literal>vm</"
-"literal>): From where should Hibernate retrieve the timestamp value? From "
-"the database, or from the current JVM? Database-based timestamps incur an "
-"overhead because Hibernate must hit the database in order to determine the "
-"\"next value\", but will be safer for use in clustered environments. Note "
-"also, that not all <literal>Dialect</literal>s are known to support "
-"retrieving of the database's current timestamp, while others might be unsafe "
-"for usage in locking due to lack of precision (Oracle 8 for example)."
+"<literal>source</literal> (opcional - por defecto es <literal>vm</literal>): "
+"¿Desde dónde debe recuperar Hibernate el valor del sello de fecha? ¿Desde la "
+"base de datos o desde la MVJ actual? Los sellos de fecha con base en la base "
+"de datos provocan un gasto general debido a que Hibernate tiene que llegar "
+"hasta la base de datos para poder determinar el \"siguiente valor\". Es más "
+"seguro utilizarlo en entornos con clústers. No todos los <literal>Dialects</"
+"literal> soportan la recuperación del sello de fecha actual de la base de "
+"datos. Los otros pueden ser poco seguros para utilizarlos como bloqueo "
+"debido a la falta de precisión (por ejemplo, Oracle 8)."
 
 #. Tag: para
-#: basic_mapping.xml:1287
 #, fuzzy, no-c-format
 msgid ""
 "<literal>generated</literal> (optional - defaults to <literal>never</"
 "literal>): specifies that this timestamp property value is actually "
-"generated by the database. See the discussion of <link linkend=\"mapping-"
-"generated\">generated properties</link> for more information."
+"generated by the database. See the discussion of generated properties for "
+"more information (<xref linkend=\"mapping-generated\" />)."
 msgstr ""
-"UNTRANSLATED! <literal>generated</literal> (optional - defaults to "
-"<literal>never</literal>): Specifies that this timestamp property value is "
-"actually generated by the database. See the discussion of <link linkend="
-"\"mapping-generated\">generated properties</link>."
+"<literal>generated</literal> (opcional - por defecto es <literal>never</"
+"literal>): Especifica que este valor de la propiedad del sello de fecha en "
+"realidad es generado por la base de datos. Vea la discusión de <xref linkend="
+"\"mapping-generated\" /> para obtener mayor información."
 
 #. Tag: title
-#: basic_mapping.xml:1298 basic_mapping.xml:2890
 #, no-c-format
 msgid "Note"
-msgstr ""
+msgstr "Nota"
 
 #. Tag: para
-#: basic_mapping.xml:1299
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>&lt;Timestamp&gt;</literal> is equivalent to <literal>&lt;version "
 "type=\"timestamp\"&gt;</literal>. And <literal>&lt;timestamp source=\"db"
 "\"&gt;</literal> is equivalent to <literal>&lt;version type=\"dbtimestamp"
 "\"&gt;</literal>"
 msgstr ""
-"Note that <literal>&lt;timestamp&gt;</literal> is equivalent to <literal>&lt;"
-"version type=\"timestamp\"&gt;</literal>."
+"<literal>&lt;Timestamp&gt;</literal> es equivalente a <literal>&lt;version "
+"type=\"timestamp\"&gt;</literal>. Y <literal>&lt;timestamp source=\"db\"&gt;"
+"</literal> es equivalente a <literal>&lt;version type=\"dbtimestamp\"&gt;</"
+"literal>."
 
 #. Tag: title
-#: basic_mapping.xml:1311
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Property"
-msgstr "property"
+msgstr "Propiedad"
 
 #. Tag: para
-#: basic_mapping.xml:1313
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>&lt;property&gt;</literal> element declares a persistent "
 "JavaBean style property of the class."
 msgstr ""
 "El elemento <literal>&lt;property&gt;</literal> declara una propiedad "
-"persistente estilo JavaBean de la clase."
+"persistente estilo JavaBean de la clase. "
 
-#. Tag: programlisting
-#: basic_mapping.xml:1335
-#, no-c-format
-msgid ""
-"<![CDATA[<property\n"
-"        name=\"propertyName\"\n"
-"        column=\"column_name\"\n"
-"        type=\"typename\"\n"
-"        update=\"true|false\"\n"
-"        insert=\"true|false\"\n"
-"        formula=\"arbitrary SQL expression\"\n"
-"        access=\"field|property|ClassName\"\n"
-"        lazy=\"true|false\"\n"
-"        unique=\"true|false\"\n"
-"        not-null=\"true|false\"\n"
-"        optimistic-lock=\"true|false\"\n"
-"        generated=\"never|insert|always\"\n"
-"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-"        index=\"index_name\"\n"
-"        unique_key=\"unique_key_id\"\n"
-"        length=\"L\"\n"
-"        precision=\"P\"\n"
-"        scale=\"S\"\n"
-"/>]]>"
-msgstr ""
-"<![CDATA[<property\n"
-"        name=\"propertyName\"\n"
-"        column=\"column_name\"\n"
-"        type=\"typename\"\n"
-"        update=\"true|false\"\n"
-"        insert=\"true|false\"\n"
-"        formula=\"arbitrary SQL expression\"\n"
-"        access=\"field|property|ClassName\"\n"
-"        lazy=\"true|false\"\n"
-"        unique=\"true|false\"\n"
-"        not-null=\"true|false\"\n"
-"        optimistic-lock=\"true|false\"\n"
-"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-"        index=\"index_name\"\n"
-"        unique_key=\"unique_key_id\"\n"
-"        length=\"L\"\n"
-"        precision=\"P\"\n"
-"        scale=\"S\"\n"
-"/>]]>"
-
 #. Tag: para
-#: basic_mapping.xml:1338
 #, no-c-format
 msgid ""
 "<literal>name</literal>: the name of the property, with an initial lowercase "
 "letter."
 msgstr ""
 "<literal>name</literal>: el nombre de la propiedad, con la letra inicial en "
-"min&#x00fa;sculas."
+"minúscula."
 
 #. Tag: para
-#: basic_mapping.xml:1344
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>column</literal> (optional - defaults to the property name): the "
 "name of the mapped database table column. This can also be specified by "
 "nested <literal>&lt;column&gt;</literal> element(s)."
 msgstr ""
-"<literal>column</literal> (opcional - por defecto al nombre de la "
-"propiedad): el nombre de la columna de tabla de base de datos mapeada. Esto "
-"puede tambi&#x00e9;n ser especificado con elemento(s) <literal>&lt;column&gt;"
-"</literal> anidado(s)."
+"<literal>column</literal> (opcional - por defecto es el nombre de la "
+"propiedad): El nombre de la columna de la tabla de base de datos mapeada. "
+"Esto se puede especificar también con los elemento(s) anidado(s) "
+"<literal>&lt;column&gt;</literal>."
 
 #. Tag: para
-#: basic_mapping.xml:1356
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>update, insert</literal> (optional - defaults to <literal>true</"
 "literal>): specifies that the mapped columns should be included in SQL "
@@ -2874,139 +2120,125 @@
 "whose value is initialized from some other property that maps to the same "
 "column(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&#x00ed;das "
-"en las sentencias SQL <literal>UPDATE</literal> y/o <literal>INSERT</"
-"literal> . Especificando ambas a <literal>false</literal> permite una "
-"propiedad \"derivada\" cuyo valor es inicializado desde alguna otra "
-"propiedad que mapee a la misma columna (o columnas) o por un disparador u "
-"otra aplicaci&#x00f3;n."
+"<literal>update, insert</literal> (opcional - por defecto es <literal>true</"
+"literal>): Especifica que las columnas mapeadas deben ser incluídas en las "
+"declaraciones SQL <literal>UPDATE</literal> y/o <literal>INSERT</literal> . "
+"Especificando ambas como <literal>false</literal> permite una propiedad "
+"\"derivada\", cuyo valor se inicia 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:1365
 #, no-c-format
 msgid ""
 "<literal>formula</literal> (optional): an SQL expression that defines the "
 "value for a <emphasis>computed</emphasis> property. Computed properties do "
 "not have a column mapping of their own."
 msgstr ""
-"<literal>formula</literal> (opcional): una expresi&#x00f3;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:1378
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>lazy</literal> (optional - defaults to <literal>false</literal>): "
 "specifies that this property should be fetched lazily when the instance "
 "variable is first accessed. It requires build-time bytecode instrumentation."
 msgstr ""
-"<literal>lazy</literal> (opcional - por defecto a <literal>false</literal>): "
-"Especifica que esta propiedad debe ser tra&#x00ed;da perezosamente cuando la "
-"variable de instancia sea accedida por primera vez (requiere "
-"instrumentaci&#x00f3;n en tiempo de compilaci&#x00f3;n)."
+"<literal>lazy</literal> (opcional - por defecto es <literal>false</"
+"literal>): Especifica que se debe recuperar perezosamente esta propiedad "
+"cuando se acceda por primera vez la variable de instancia. Requiere "
+"instrumentación de código byte en tiempo de compilación."
 
 #. Tag: para
-#: basic_mapping.xml:1385
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>unique</literal> (optional): enables 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&#x00f3; DDL de "
-"una restricci&#x00f3;n de unicidad para las columnas. Adem&#x00e1;s, permite "
-"que &#x00e9;sta sea un blanco objetivo de una <literal>property-ref</"
-"literal>."
+"<literal>unique</literal> (opcional): Activa la generación DDL de una "
+"restricción de unicidad para las columnas. Además, permite que ésta sea el "
+"objetivo de una <literal>property-ref</literal>. "
 
 #. Tag: para
-#: basic_mapping.xml:1392
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>not-null</literal> (optional): enables the DDL generation of a "
 "nullability constraint for the columns."
 msgstr ""
-"<literal>not-null</literal> (opcional): Habilita la generaci&#x00f3; DDL de "
-"una restricci&#x00f3;n de nulabilidad para las columnas."
+"<literal>not-null</literal> (opcional): Activa la generación DDL de una "
+"restricción de nulabilidad para las columnas. "
 
 #. Tag: para
-#: basic_mapping.xml:1398 basic_mapping.xml:1581
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
 "literal>): specifies that updates to this property do or do not require "
 "acquisition of the optimistic lock. In other words, it determines if a "
 "version increment should occur when this property is dirty."
 msgstr ""
-"<literal>optimistic-lock</literal> (opcional - por defecto a <literal>true</"
-"literal>): Especifica que las actualizaciones a esta propiedad requieran o "
-"no de la obtenci&#x000f3;n de un bloqueo optimista. En otras palabras, "
-"determina si debe ocurrir un incremento de versi&#x00f3;n cuando la "
-"propiedad este sucia (desactualizada)."
+"<literal>optimistic-lock</literal> (opcional - por defecto es <literal>true</"
+"literal>): Especifica que las actualizaciones a esta propiedad requieren 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 se encuentre "
+"desactualizada."
 
 #. Tag: para
-#: basic_mapping.xml:1406
 #, fuzzy, no-c-format
 msgid ""
 "<literal>generated</literal> (optional - defaults to <literal>never</"
 "literal>): specifies that this property value is actually generated by the "
-"database. See the discussion of <link linkend=\"mapping-generated"
-"\">generated properties</link> for more information."
+"database. See the discussion of generated properties for more information "
+"(<xref linkend=\"mapping-generated\" />)."
 msgstr ""
-"UNTRANSLATED! <literal>generated</literal> (optional - defaults to "
-"<literal>never</literal>): Specifies that this property value is actually "
-"generated by the database. See the discussion of <link linkend=\"mapping-"
-"generated\">generated properties</link>."
+"<literal>generated</literal> (opcional - por defecto es <literal>never</"
+"literal>): Especifica que este valor de la propiedad es de hecho generado "
+"por la base de datos. Vea la discusión de <xref linkend=\"mapping-generated"
+"\" /> para obtener mayor información. "
 
 #. Tag: para
-#: basic_mapping.xml:1415
 #, no-c-format
 msgid "<emphasis>typename</emphasis> could be:"
-msgstr "<emphasis>typename</emphasis> puede ser:"
+msgstr "<emphasis>escribanombre</emphasis> puede ser:"
 
 #. Tag: para
-#: basic_mapping.xml:1421
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The name of a Hibernate basic type: <literal>integer, string, character, "
 "date, timestamp, float, binary, serializable, object, blob</literal> etc."
 msgstr ""
-"El nombre de un tipo b&#x00e1;sico Hibernate (por ejemplo, <literal>integer, "
-"string, character, date, timestamp, float, binary, serializable, object, "
-"blob</literal>)."
+"El nombre de un tipo básico de Hibernate: <literal>integer, string, "
+"character, date, timestamp, float, binary, serializable, object, blob</"
+"literal>, etc."
 
 #. Tag: para
-#: basic_mapping.xml:1427
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The name of a Java class with a default basic type: <literal>int, float, "
 "char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob</"
 "literal> etc."
 msgstr ""
-"El nombre de una clase Java de tipo b&#x00e1;sico (por ejemplo, "
-"<literal>int, float, char, java.lang.String, java.util.Date, java.lang."
-"Integer, java.sql.Clob</literal>)."
+"El nombre de una clase Java con un tipo básico predeterminado: <literal>int, "
+"float, char, java.lang.String, java.util.Date, java.lang.Integer, java.sql."
+"Clob</literal>, etc."
 
 #. Tag: para
-#: basic_mapping.xml:1433
 #, no-c-format
 msgid "The name of a serializable Java class."
 msgstr "El nombre de una clase Java serializable."
 
 #. Tag: para
-#: basic_mapping.xml:1438
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The class name of a custom type: <literal>com.illflow.type.MyCustomType</"
 "literal> etc."
 msgstr ""
-"El nombre de un tipo personalizado (por ejemplo, <literal>com.illflow.type."
-"MyCustomType</literal>)."
+"El nombre declase de un tipo personalizado: <literal>com.illflow.type."
+"MyCustomType</literal> etc."
 
 #. Tag: para
-#: basic_mapping.xml:1444
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you do not specify a type, Hibernate will use reflection upon the named "
 "property and guess the correct Hibernate type. Hibernate will attempt to "
@@ -3016,18 +2248,16 @@
 "DATE</literal> and <literal>Hibernate.TIMESTAMP</literal>, or to specify a "
 "custom type."
 msgstr ""
-"Si no especificas un tipo, Hibernate usar&#x00e1; reflecci&#x00f3;n sobre la "
-"propiedad mencionada para deducir el tipo Hibernate correcto. Hibernate "
-"intentar&#x00e1; interpretar el nombre de la clase de retorno del getter de "
-"la propiedad usando las reglas 2, 3 y 4 en ese orden. Sin embargo, esto no "
-"siempre suficiente. En ciertos casos, necesitar&#x00e1;s a&#x00fa;n el "
-"atributo <literal>type</literal>. (Por ejemplo, para distinguir entre "
-"<literal>Hibernate.DATE</literal> y <literal>Hibernate.TIMESTAMP</literal>, "
-"o especificar un tipo personalizado.)"
+"Si no especifica un tipo, Hibernate utilizará 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 "
+"utilizando las reglas 2, 3 y 4 en ese mismo orden. En algunos casos "
+"necesitará 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:1454
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>access</literal> attribute allows you to control how Hibernate "
 "accesses the property at runtime. By default, Hibernate will call the "
@@ -3037,190 +2267,106 @@
 "a class that implements the interface <literal>org.hibernate.property."
 "PropertyAccessor</literal>."
 msgstr ""
-"El atributo <literal>access</literal> te deja controlar c&#x00f3;mo "
-"Hibernate acceder&#x00e1; a la propiedad en tiempo de ejecuci&#x00f3;n. Por "
-"defecto, Hibernate llamar&#x00e1; al par de getter/setter de la propiedad. "
-"Si especificas <literal>access=\"field\"</literal>, Hibernate se "
-"saltar&#x00e1; el par get/set y acceder&#x00e1; al campo directamente usando "
-"reflecci&#x00f3;n. Puedes especificar tu propia estrategia de acceso a la "
-"propiedad mencionando una clase que implemente la interface <literal>org."
-"hibernate.property.PropertyAccessor</literal>."
+"El atributo <literal>access</literal> le permite controlar el 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 usted especifica "
+"<literal>access=\"field\"</literal>, Hibernate se saltará el par get/set y "
+"accederá al campo directamente utilizando reflección. Puede especificar su "
+"propia estrategia de acceso a la propiedad mencionando una clase que "
+"implemente la interfaz <literal>org.hibernate.property.PropertyAccessor</"
+"literal>."
 
 #. Tag: para
-#: basic_mapping.xml:1463
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A powerful feature is derived properties. These properties are by definition "
 "read-only. The property value is computed at load time. You declare the "
 "computation as an SQL expression. This then translates to a <literal>SELECT</"
 "literal> clause subquery in the SQL query that loads an instance:"
 msgstr ""
-"Una aspecto especialmente poderoso son las propiedades derivadas. Estas "
-"propiedades son por definici&#x00f3;n de s&#x00f3;lo lectura, el valor de la "
-"propiedad es computado en tiempo de carga. Tu declaras la computaci&#x00f3;n "
-"como una expresi&#x00f3;n SQL, y &#x00e9;sta se traduce a cl&#x00e1;usula de "
-"subconsulta <literal>SELECT</literal> en la consulta SQL que cargue una "
-"instancia:"
+"Una funcionalidad especialmente poderosa son las propiedades derivadas. "
+"Estas propiedades son, por definición, de sólo lectura. El valor de la "
+"propiedad se computa en tiempo de carga. Usted declara la computación como "
+"una expresión SQL y ésta se traduce como una cláusula de subconsulta "
+"<literal>SELECT</literal> en la consulta SQL que carga una instancia:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:1470
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[\n"
-"<property name=\"totalPrice\"\n"
-"    formula=\"( SELECT SUM (li.quantity*p.price) FROM LineItem li, Product "
-"p\n"
-"                WHERE li.productId = p.productId\n"
-"                AND li.customerId = customerId\n"
-"                AND li.orderNumber = orderNumber )\"/>]]>"
-msgstr ""
-"<![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:1472
-#, fuzzy, no-c-format
-msgid ""
 "You can reference the entity table by not declaring an alias on a particular "
 "column. This would be <literal>customerId</literal> in the given example. "
 "You can also use the nested <literal>&lt;formula&gt;</literal> mapping "
 "element if you do not want to use the attribute."
 msgstr ""
-"Observa que puedes referenciar la propia tabla de las entidades sin declarar "
-"un alias o una columna particular (<literal>customerId</literal> en el "
-"ejemplo dado). Observa adem&#x00e1;s que puedes usar el elemento anidado de "
-"mapeo <literal>&lt;formula&gt;</literal> si no te gusta usar el atributo."
+"Puede referenciar la tabla de las entidades sin declarar un alias o una "
+"columna particular. En el ejemplo dado sería <literal>customerId</literal>. "
+"También puede utilizar el elemento anidado de mapeo <literal>&lt;formula&gt;"
+"</literal> si no quiere utilizar el atributo."
 
 #. Tag: title
-#: basic_mapping.xml:1482
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Many-to-one"
-msgstr "many-to-one"
+msgstr "Many-to-one"
 
 #. Tag: para
-#: basic_mapping.xml:1484
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "An ordinary association to another persistent class is declared using a "
 "<literal>many-to-one</literal> element. The relational model is a many-to-"
 "one association; a foreign key in one table is referencing the primary key "
 "column(s) of the target table."
 msgstr ""
-"Una asociaci&#x00f3;n ordinaria a otra clase persistente se declara usando "
-"el elemento <literal>many-to-one</literal>. El modelo relacional es una "
-"asociaci&#x00f3;n muchos-a-uno: una clave for&#x00e1;nea en una tabla "
-"est&#x00e1; referenciando la columna (o columnas) de la clave primaria de la "
-"tabla objetivo."
+"Una asociación ordinaria a otra clase persistente se declara utilizando el "
+"elemento <literal>many-to-one</literal>. El modelo relacional es una "
+"asociación muchos-a-uno; una clave foránea en una tabla referencia la "
+"columna (o columnas) de la clave principal de la tabla destino."
 
-#. Tag: programlisting
-#: basic_mapping.xml:1512
-#, no-c-format
-msgid ""
-"<![CDATA[<many-to-one\n"
-"        name=\"propertyName\"\n"
-"        column=\"column_name\"\n"
-"        class=\"ClassName\"\n"
-"        cascade=\"cascade_style\"\n"
-"        fetch=\"join|select\"\n"
-"        update=\"true|false\"\n"
-"        insert=\"true|false\"\n"
-"        property-ref=\"propertyNameFromAssociatedClass\"\n"
-"        access=\"field|property|ClassName\"\n"
-"        unique=\"true|false\"\n"
-"        not-null=\"true|false\"\n"
-"        optimistic-lock=\"true|false\"\n"
-"        lazy=\"proxy|no-proxy|false\"\n"
-"        not-found=\"ignore|exception\"\n"
-"        entity-name=\"EntityName\"\n"
-"        formula=\"arbitrary SQL expression\"\n"
-"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-"        embed-xml=\"true|false\"\n"
-"        index=\"index_name\"\n"
-"        unique_key=\"unique_key_id\"\n"
-"        foreign-key=\"foreign_key_name\"\n"
-"/>]]>"
-msgstr ""
-"<![CDATA[<many-to-one\n"
-"        name=\"propertyName\"\n"
-"        column=\"column_name\"\n"
-"        class=\"ClassName\"\n"
-"        cascade=\"cascade_style\"\n"
-"        fetch=\"join|select\"\n"
-"        update=\"true|false\"\n"
-"        insert=\"true|false\"\n"
-"        property-ref=\"propertyNameFromAssociatedClass\"\n"
-"        access=\"field|property|ClassName\"\n"
-"        unique=\"true|false\"\n"
-"        not-null=\"true|false\"\n"
-"        optimistic-lock=\"true|false\"\n"
-"        lazy=\"true|proxy|false\"\n"
-"        not-found=\"ignore|exception\"\n"
-"        entity-name=\"EntityName\"\n"
-"        formula=\"cualquier expresi&#x00f3;n SQL\"\n"
-"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-"        embed-xml=\"true|false\"\n"
-"        index=\"index_name\"\n"
-"        unique_key=\"unique_key_id\"\n"
-"        foreign-key=\"foreign_key_name\"\n"
-"/>]]>"
-
 #. Tag: para
-#: basic_mapping.xml:1515 basic_mapping.xml:1696 basic_mapping.xml:1882
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "<literal>name</literal>: the name of the property."
-msgstr "<literal>name</literal>: El nombre de la propiedad."
+msgstr "<literal>name</literal>: El nombre de la propiedad. "
 
 #. Tag: para
-#: basic_mapping.xml:1520 basic_mapping.xml:2311
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>column</literal> (optional): the name of the foreign key column. "
 "This can also be specified by nested <literal>&lt;column&gt;</literal> "
 "element(s)."
 msgstr ""
-"<literal>column</literal> (opcional): El nombre de la columna clave "
-"for&#x00e1;nea. Tambi&#x00e9;n puede ser especificado por uno o varios "
-"elementos anidados <literal>&lt;column&gt;</literal>."
+"<literal>column</literal> (opcional): El nombre de la columna de la clave "
+"foránea. Esto también se puede especificar por medio de uno o varios "
+"elementos anidados <literal>&lt;column&gt;</literal>. "
 
 #. Tag: para
-#: basic_mapping.xml:1527 basic_mapping.xml:1701
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>class</literal> (optional - defaults to the property type "
 "determined by reflection): the name of the associated class."
 msgstr ""
-"<literal>class</literal> (opcional - por defecto al tipo de la propiedad "
-"determinado por reflecci&#x00f3;n): El nombre de la clase asociada."
+"<literal>class</literal> (opcional - por defecto es el tipo de la propiedad "
+"determinado por reflección): El nombre de la clase asociada. "
 
 #. Tag: para
-#: basic_mapping.xml:1533 basic_mapping.xml:1707
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>cascade</literal> (optional): specifies which operations should be "
 "cascaded from the parent object to the associated object."
 msgstr ""
-"<literal>cascade</literal> (opcional) especifica qu&#x00e9; 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 hasta el objeto asociado. "
 
 #. Tag: para
-#: basic_mapping.xml:1539 basic_mapping.xml:1722
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>fetch</literal> (optional - defaults to <literal>select</literal>): "
 "chooses between outer-join fetching or sequential select fetching."
 msgstr ""
-"<literal>fetch</literal> (opcional - por defecto a 1<literal>select</"
-"literal>): Escoge entre recuperaci&#x00f3;n outer-join o por selecci&#x00f3;"
-"n secuencial."
+"<literal>fetch</literal> (opcional - por defecto es <literal>select</"
+"literal>): Escoge entre la recuperación de unión exterior (outer-join) o la "
+"recuperación por selección secuencial."
 
 #. Tag: para
-#: basic_mapping.xml:1545
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>update, insert</literal> (optional - defaults to <literal>true</"
 "literal>): specifies that the mapped columns should be included in SQL "
@@ -3229,55 +2375,49 @@
 "association whose value is initialized from another property that maps to "
 "the same column(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&#x00ed;das en "
-"las sentencias SQL <literal>UPDATE</literal> y/o <literal>INSERT</literal>. "
-"Establecer ambas a <literal>false</literal> permite una asociaci&#x00f3;n "
+"<literal>update, insert</literal> (opcional - por defecto es <literal>true</"
+"literal>) especifica que las columnas mapeadas deben ser incluídas en las "
+"declaraciones SQL <literal>UPDATE</literal> y/o <literal>INSERT</literal>. "
+"El establecer ambas como <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&#x00f3;n."
+"propiedad que mapea a la misma columna (o columnas), por un disparador o por "
+"otra aplicación."
 
 #. Tag: para
-#: basic_mapping.xml:1554
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>property-ref</literal> (optional): the name of a property of the "
 "associated class that is joined to this foreign key. If not specified, the "
 "primary key of the associated class is used."
 msgstr ""
-"<literal>property-ref</literal>: (opcional) El nombre de la propiedad de la "
-"clase asociada que est&#x00e1; unida a la clave for&#x00e1;nea. Si no se "
-"especifica, se usa la clave primaria de la clase asociada."
+"<literal>property-ref</literal>: (opcional): El nombre de una propiedad de "
+"la clase asociada que se encuentra unida a su llave foránea. Si no se "
+"especifica, se utiliza la llave principal de la clase asociada."
 
 #. Tag: para
-#: basic_mapping.xml:1567
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>unique</literal> (optional): enables the DDL generation of a unique "
 "constraint for the foreign-key column. By allowing this to be the target of "
 "a <literal>property-ref</literal>, you can make the association multiplicity "
 "one-to-one."
 msgstr ""
-"<literal>unique</literal> (opcional): Habilita la generaci&#x00f3;n DDL de "
-"una restricci&#x00f3;n de unicidad para la columna de clave for&#x00e1;nea. "
-"Adem&#x00e1;s, permite que &#x00e9;sta sea el objetivo de una "
-"<literal>property-ref</literal>. Esto hace efectivamente la multiplicidad de "
-"la asociaci&#x00f3;n uno a uno."
+"<literal>unique</literal> (opcional): Activa la generación DDL de una "
+"restricción de unicidad para la columna de clave foránea. Además, permite "
+"que éste sea el objetivo de una <literal>property-ref</literal>. puede hacer "
+"que la asociación sea de multiplicidad uno-a-uno."
 
 #. Tag: para
-#: basic_mapping.xml:1575
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>not-null</literal> (optional): enables the DDL generation of a "
 "nullability constraint for the foreign key columns."
 msgstr ""
-"<literal>not-null</literal> (opcional): Habilita la generaci&#x00f3;n DDL de "
-"una restricci&#x00f3;n de nulabilidad para las columnas de clave for&#x00e1;"
-"nea."
+"<literal>not-null</literal> (opcional): Activa la generación DDL de una "
+"restricción de nulabilidad para las columnas de clave foránea. "
 
 #. Tag: para
-#: basic_mapping.xml:1589
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): "
 "by default, single point associations are proxied. <literal>lazy=\"no-proxy"
@@ -3286,51 +2426,47 @@
 "instrumentation. <literal>lazy=\"false\"</literal> specifies that the "
 "association will always be eagerly fetched."
 msgstr ""
-"<literal>lazy</literal> (opcional - por defecto a <literal>proxy</literal>): "
-"Por defecto, las asociaciones de punto &#x00fa;nico van con proxies. "
-"<literal>lazy=\"true\"</literal> especifica que esta propiedad debe ser "
-"tra&#x00ed;da perezosamente cuando la variable de instancia sea accedida por "
-"primera vez (requiere instrumentaci&#x00f3;n del bytecode en tiempo de "
-"compilaci&#x00f3;n). <literal>lazy=\"false\"</literal> especifica que la "
-"asociaci&#x00f3;n siempre ser&#x00e1; recuperada tempranamente."
+"<literal>lazy</literal> (opcional - por defecto es <literal>proxy</"
+"literal>): Por defecto, las asociaciones de punto único van con proxies. "
+"<literal>lazy=\"no-proxy\"</literal> especifica que esta propiedad debe ser "
+"recuperada perezosamente cuando se acceda por primera vez a la variable de "
+"instancia. Requiere instrumentación del código byte en tiempo de "
+"compilación. <literal>lazy=\"false\"</literal> especifica que la asociación "
+"siempre será recuperada tempranamente."
 
 #. Tag: para
-#: basic_mapping.xml:1599
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>not-found</literal> (optional - defaults to <literal>exception</"
 "literal>): specifies how foreign keys that reference missing rows will be "
 "handled. <literal>ignore</literal> will treat a missing row as a null "
 "association."
 msgstr ""
-"<literal>not-found</literal> (opcional - por defecto a <literal>exception</"
-"literal>): Especifica c&#x00f3;mo deben manejarse las claves for&#x00e1;neas "
-"que referencien filas inexistentes: <literal>ignore</literal> tratar&#x00e1; "
-"una fila perdida como una asociaci&#x00f3;n nula."
+"<literal>not-found</literal> (opcional - por defecto es <literal>exception</"
+"literal>): Especifica cómo se manejarán las claves foráneas que referencian "
+"las filas que hacen falta. <literal>ignore</literal> tratará una fila "
+"perdida como una asociación nula."
 
 #. Tag: para
-#: basic_mapping.xml:1606 basic_mapping.xml:1760
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>entity-name</literal> (optional): the entity name of the associated "
 "class."
 msgstr ""
 "<literal>entity-name</literal> (opcional): El nombre de entidad de la clase "
-"asociada."
+"asociada. "
 
 #. Tag: para
-#: basic_mapping.xml:1611
 #, no-c-format
 msgid ""
 "<literal>formula</literal> (optional): an SQL expression that defines the "
 "value for a <emphasis>computed</emphasis> foreign key."
 msgstr ""
-"<literal>formula</literal> (opcional): una expresi&#x00f3;n SQL que define "
-"el valor para una clave for&#x00e1;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:1619
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Setting a value of the <literal>cascade</literal> attribute to any "
 "meaningful value other than <literal>none</literal> will propagate certain "
@@ -3340,44 +2476,33 @@
 "second, special values: <literal>delete-orphan</literal>; and third,"
 "<literal>all</literal> comma-separated combinations of operation names: "
 "<literal>cascade=\"persist,merge,evict\"</literal> or <literal>cascade=\"all,"
-"delete-orphan\"</literal>. See <xref linkend=\"objectstate-transitive\"/> "
+"delete-orphan\"</literal>. See <xref linkend=\"objectstate-transitive\" /> "
 "for a full explanation. Note that single valued, many-to-one and one-to-one, "
 "associations do not support orphan delete."
 msgstr ""
-"Establecer el valor del atributo <literal>cascade</literal> a cualquier "
-"valor significativo distinto de <literal>none</literal> propagar&#x00e1; "
-"ciertas operaciones al objeto asociado. Los valores significativos son los "
-"nombres de las operaciones b&#x00e1;sicas de Hibernate, <literal>persist, "
-"merge, delete, save-update, evict, replicate, lock, refresh</literal>, "
-"as&#x00ed; como los valores especiales <literal>delete-orphan</literal> y "
-"<literal>all</literal> y combinaciones de operaciones separadas por coma, "
-"por ejemplo, <literal>cascade=\"persist,merge,evict\"</literal> o "
-"<literal>cascade=\"all,delete-orphan\"</literal>. Para una explicaci&#x00f3;"
-"n completa, ver <xref linkend=\"objectstate-transitive\"/>."
+"Establecer el valor del atributo <literal>cascade</literal> con cualquier "
+"valor significativo diferente de <literal>none</literal> propagará ciertas "
+"operaciones al objeto asociado. Los valores significativos están divididos "
+"en tres categorías. Primero, las operaciones básicas, las cuales incluyen: "
+"<literal>persist, merge, delete, save-update, evict, replicate, lock y "
+"refresh</literal>; segundo, los valores especiales <literal>delete-orphan</"
+"literal> y tercero, <literal>all</literal> y las combinaciones de "
+"operaciones separadas por comas: <literal>cascade=\"persist,merge,evict\"</"
+"literal> o <literal>cascade=\"all,delete-orphan\"</literal>. Consulte <xref "
+"linkend=\"objectstate-transitive\" /> y allí encontrará una explicación "
+"completa. Observe que las asociaciones con valores únicos, asociaciones "
+"muchos-a-uno y uno-a-uno no soportan el borrado de huérfanos."
 
 #. Tag: para
-#: basic_mapping.xml:1632
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Here is an example of a typical <literal>many-to-one</literal> declaration:"
 msgstr ""
-"Una declaraci&#x00f3;n t&#x00ed;pica <literal>muchos-a-uno</literal> se "
-"parece a esto:"
+"Este es un ejemplo de una declaración típica <literal>muchos-a-uno</literal>:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:1636
+#. Tag: para
 #, no-c-format
 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:1638
-#, fuzzy, no-c-format
-msgid ""
 "The <literal>property-ref</literal> attribute should only be used for "
 "mapping legacy data where a foreign key refers to a unique key of the "
 "associated table other than the primary key. This is a complicated and "
@@ -3386,133 +2511,61 @@
 "<literal>unique</literal> attribute controls Hibernate's DDL generation with "
 "the SchemaExport tool."
 msgstr ""
-"El atributo <literal>property-ref</literal> debe ser usado solamente para el "
-"mapeo de datos heredados donde una clave for&#x00e1;nea referencia una clave "
-"&#x00fa;nica de la tabla asociada, distinta de la clave primaria. Este es un "
-"modelo relacional feo. Por ejemplo, sup&#x00f3;n que la clase "
-"<literal>Product</literal> tuviera un n&#x00fa;mero &#x00fa;nico serial que "
-"no es la clave primaria. (El atributo <literal>unique</literal> controla la "
-"generaci&#x00f3;n de DDL con la herramienta SchemaExport.)"
+"El atributo <literal>property-ref</literal> se debe utilizar sólamente para "
+"el mapeo de datos heredados donde una clave foránea referencia una clave "
+"única de la tabla asociada, distinta de la clave principal. Este es un "
+"modelo relacional complicado y confuso. Por ejemplo, si la clase "
+"<literal>Product</literal> tuviera un número único serial que no es la clave "
+"principal, el atributo <literal>unique</literal> controla la generación de "
+"DDL de Hibernate con la herramienta SchemaExport."
 
-#. Tag: programlisting
-#: basic_mapping.xml:1647
-#, no-c-format
-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:1649
 #, no-c-format
 msgid "Then the mapping for <literal>OrderItem</literal> might use:"
-msgstr ""
-"Entonces el mapeo para <literal>OrderItem</literal> deber&#x00ed;a usar:"
+msgstr "Entonces el mapeo para <literal>OrderItem</literal> puede utilizar:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:1653
-#, no-c-format
-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:1655
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "This is not encouraged, however."
-msgstr "Sin embargo, esto no esta ciertamente alentado."
+msgstr "Sin embargo, esto ciertamente no se aconseja. "
 
 #. Tag: para
-#: basic_mapping.xml:1659
 #, no-c-format
 msgid ""
 "If the referenced unique key comprises multiple properties of the associated "
 "entity, you should map the referenced properties inside a named <literal>&lt;"
 "properties&gt;</literal> element."
 msgstr ""
-"Si la clave &#x00fa;nica referenciada abarca m&#x00fa;ltiples propiedades de "
-"la entidad asociada, debes mapear las propiedades dentro de un elemento "
+"Si la clave única referenciada abarca múltiples propiedades de la entidad "
+"asociada, debe mapear las propiedades dentro de un elemento nombrado "
 "<literal>&lt;properties&gt;</literal>."
 
 #. Tag: para
-#: basic_mapping.xml:1664
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If the referenced unique key is the property of a component, you can specify "
 "a property path:"
-msgstr "UNTRANSLATED!"
-
-#. Tag: programlisting
-#: basic_mapping.xml:1668
-#, no-c-format
-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\"/>]]>"
+"Si la clave única referenciada es propiedad de un componente, usted puede "
+"especificar una ruta de propiedad: "
 
 #. Tag: title
-#: basic_mapping.xml:1673
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "One-to-one"
-msgstr "one-to-one"
+msgstr "One-to-one"
 
 #. Tag: para
-#: basic_mapping.xml:1675
 #, no-c-format
 msgid ""
 "A one-to-one association to another persistent class is declared using a "
 "<literal>one-to-one</literal> element."
 msgstr ""
-"Una asociaci&#x00f3;n uno-a-uno a otra clase persistente se declara usando "
-"un elemento <literal>one-to-one</literal>."
+"Una asociación uno-a-uno (one-to-one) a otra clase persistente se declara "
+"utilizando un elemento <literal>one-to-one</literal>."
 
-#. Tag: programlisting
-#: basic_mapping.xml:1693
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<one-to-one\n"
-"        name=\"propertyName\"\n"
-"        class=\"ClassName\"\n"
-"        cascade=\"cascade_style\"\n"
-"        constrained=\"true|false\"\n"
-"        fetch=\"join|select\"\n"
-"        property-ref=\"propertyNameFromAssociatedClass\"\n"
-"        access=\"field|property|ClassName\"\n"
-"        formula=\"any SQL expression\"\n"
-"        lazy=\"proxy|no-proxy|false\"\n"
-"        entity-name=\"EntityName\"\n"
-"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-"        embed-xml=\"true|false\"\n"
-"        foreign-key=\"foreign_key_name\"\n"
-"/>]]>"
-msgstr ""
-"<![CDATA[<one-to-one\n"
-"        name=\"propertyName\"\n"
-"        class=\"ClassName\"\n"
-"        cascade=\"cascade_style\"\n"
-"        constrained=\"true|false\"\n"
-"        fetch=\"join|select\"\n"
-"        property-ref=\"propertyNameFromAssociatedClass\"\n"
-"        access=\"field|property|ClassName\"\n"
-"        formula=\"cualquier expresi&#x00f3;n SQL\"\n"
-"        lazy=\"true|proxy|false\"\n"
-"        entity-name=\"EntityName\"\n"
-"        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-"        embed-xml=\"true|false\"\n"
-"        foreign-key=\"foreign_key_name\"\n"
-"/>]]>"
-
-#. Tag: para
-#: basic_mapping.xml:1713
-#, fuzzy, no-c-format
-msgid ""
 "<literal>constrained</literal> (optional): specifies that a foreign key "
 "constraint on the primary key of the mapped table and references the table "
 "of the associated class. This option affects the order in which <literal>save"
@@ -3520,29 +2573,26 @@
 "whether the association can be proxied. It is also used by the schema export "
 "tool."
 msgstr ""
-"<literal>constrained</literal> (opcional) especifica que una "
-"restricci&#x00f3;n de clave for&#x00e1;nea de la tabla mapeada referencia a "
-"la tabla de la clase asociada. Esta opci&#x00f3;n afecta el orden en que van "
-"en cascada <literal>save()</literal> y <literal>delete()</literal>, y "
-"determina cu&#x00e1;ndo la asociaci&#x00f3;n pueden ser virtualizados por "
-"proxies (es tambi&#x00e9;n usado por la herramienta de exportaci&#x00f3;n de "
-"esquemas)."
+"<literal>constrained</literal> (opcional): especifica que una restricción de "
+"clave foránea en la clave principal de la tabla mapeada referencia la tabla "
+"de la clase asociada. Esta opción afecta el orden en que van en la cascada "
+"<literal>save()</literal> y <literal>delete()</literal> y determina si la "
+"asociación puede ser virtualizada por proxies. La herramienta de exportación "
+"de esquemas también lo utiliza."
 
 #. Tag: para
-#: basic_mapping.xml:1728
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>property-ref</literal> (optional): the name of a property of the "
 "associated class that is joined to the primary key of this class. If not "
 "specified, the primary key of the associated class is used."
 msgstr ""
-"<literal>property-ref</literal>: (opcional) El nombre de una propiedad de la "
-"clase asociada que est&#x00e9; unida a la clave primaria de esta clase. Si "
-"no se especifica, se usa la clave primaria de la clase asociada."
+"<literal>property-ref</literal> (opcional): El nombre de una propiedad de la "
+"clase asociada que esté unida a la clave principal de esta clase. Si no se "
+"especifica, se utiliza la clave principal de la clase asociada."
 
 #. Tag: para
-#: basic_mapping.xml:1741
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>formula</literal> (optional): almost all one-to-one associations "
 "map to the primary key of the owning entity. If this is not the case, you "
@@ -3551,14 +2601,13 @@
 "example."
 msgstr ""
 "<literal>formula</literal> (opcional): Casi todas las asociaciones uno-a-uno "
-"mapean a la clave primaria de la entidad propietaria. En el raro caso en que "
-"este no sea el caso, puedes especificar alguna otra columna, o columnas, o "
-"expresi&#x00f3;n para unir usando una f&#x00f3;rmula SQL. (Para un ejemplo "
-"ver <literal>org.hibernate.test.onetooneformula</literal>)."
+"mapean a la clave principal de la entidad propietaria. Si este no es el "
+"caso, puede especificar otra columna, o columnas, o una expresión para unir "
+"utilizando una fórmula SQL. Para un obtener un ejemplo consulte <literal>org."
+"hibernate.test.onetooneformula</literal>."
 
 #. Tag: para
-#: basic_mapping.xml:1749
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): "
 "by default, single point associations are proxied. <literal>lazy=\"no-proxy"
@@ -3569,200 +2618,106 @@
 "<literal>constrained=\"false\"</literal>, proxying is impossible and "
 "Hibernate will eagerly fetch the association</emphasis>."
 msgstr ""
-"<literal>lazy</literal> (opcional - por defecto a <literal>proxy</literal>): "
-"Por defecto, las asociaciones de punto &#x00fa;nico van con proxies. "
-"<literal>lazy=\"true\"</literal> especifica que esta propiedad debe ser "
-"tra&#x00ed;da perezosamente cuando la variable de instancia sea accedida por "
-"primera vez (requiere instrumentaci&#x00f3;n del bytecode en tiempo de "
-"compilaci&#x00f3;n). <literal>lazy=\"false\"</literal> especifica que la "
-"asociaci&#x00f3;n siempre ser&#x00e1; recuperada tempranamente. "
-"<emphasis>Observa que si <literal>constrained=\"false\"</literal>, la "
-"aplicaci&#x00f3;n de proxies es imposible e Hibernate traer&#x00e1; temprano "
-"la asociaci&#x00f3;n!</emphasis>"
+"<literal>lazy</literal> (opcional - por defecto es <literal>proxy</"
+"literal>): Por defecto, las asociaciones de punto único van con proxies. "
+"<literal>lazy=\"no-proxy\"</literal> especifica que esta propiedad debe ser "
+"traída perezosamente cuando se acceda por primera vez la variable de "
+"instancia. Requiere instrumentación del código byte en tiempo de "
+"compilación. <literal>lazy=\"false\"</literal> especifica que la asociación "
+"siempre será recuperada tempranamente. <emphasis>Observe que si "
+"<literal>constrained=\"false\"</literal>, la aplicación de proxies es "
+"imposible e Hibernate recuperará tempranamente la asociación</emphasis>."
 
 #. Tag: para
-#: basic_mapping.xml:1767
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "There are two varieties of one-to-one associations:"
-msgstr "Hay dos variedades de asociaciones uno-a-uno:"
+msgstr "Existen dos variedades de asociaciones uno-a-uno: "
 
 #. Tag: para
-#: basic_mapping.xml:1771
 #, no-c-format
 msgid "primary key associations"
 msgstr "asociaciones de clave primaria"
 
 #. Tag: para
-#: basic_mapping.xml:1774
 #, no-c-format
 msgid "unique foreign key associations"
-msgstr "asociaciones de clave for&#x00e1;neas &#x00fa;nica"
+msgstr "asociaciones de clave foránea única"
 
 #. Tag: para
-#: basic_mapping.xml:1779
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Primary key associations do not need an extra table column. If two rows are "
 "related by the association, then the two table rows share the same primary "
 "key value. To relate two objects by a primary key association, ensure that "
 "they are assigned the same identifier value."
 msgstr ""
-"Las asociaciones de clave primaria no necesitan una columna de tabla extra; "
-"si dos filas est&#x00e1;n relacionadas por la asociaci&#x00f3;n entonces las "
-"dos filas de tablas comparten el mismo valor de clave primaria. Por lo "
-"tanto, si quieres que dos objetos est&#x00e9;n relacionados por una "
-"asociaci&#x00f3;n de clave primaria, debes asegurarte que se les asigne el "
-"mismo valor de identificador!"
+"Las asociaciones de claves principales no necesitan una columna extra de la "
+"tabla. Si dos filas están relacionadas por la asociación entonces las dos "
+"filas de tablas comparten el mismo valor de clave principal. Para que dos "
+"objetos estén relacionados por una asociación de clave principal, asegúrese "
+"de que se les asigne el mismo valor de identificador."
 
 #. Tag: para
-#: basic_mapping.xml:1786
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "For a primary key association, add the following mappings to "
 "<literal>Employee</literal> and <literal>Person</literal> respectively:"
 msgstr ""
-"Para una asociaci&#x00f3;n de clave primaria, a&#x00f1;ade los siguientes "
-"mapeos a <literal>Employee</literal> y <literal>Person</literal>, "
-"respectivamente."
+"Para una asociación de clave principal, agregue los siguientes mapeos a "
+"<literal>Employee</literal> y <literal>Person</literal> respectivamente:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:1791
+#. Tag: para
 #, no-c-format
-msgid "<![CDATA[<one-to-one name=\"person\" class=\"Person\"/>]]>"
-msgstr "<![CDATA[<one-to-one name=\"person\" class=\"Person\"/>]]>"
-
-#. Tag: programlisting
-#: basic_mapping.xml:1792
-#, no-c-format
 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:1794
-#, fuzzy, no-c-format
-msgid ""
 "Ensure that the primary keys of the related rows in the PERSON and EMPLOYEE "
 "tables are equal. You use a special Hibernate identifier generation strategy "
 "called <literal>foreign</literal>:"
 msgstr ""
-"Ahora debemos asegurarnos que las claves primarias de las filas relacionadas "
-"en las tablas PERSON y EMPLOYEE sean iguales. Usamos una estrategia especial "
-"de generaci&#x00f3;n de identificador de Hibernate llamada <literal>foreign</"
+"Asegúrese de que las claves principales de las filas relacionadas en las "
+"tablas PERSON y EMPLOYEE sean iguales. Utilizamos una estrategia especial de "
+"generación de identificador de Hibernate denominada <literal>foreign</"
 "literal>:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:1800
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"person\" table=\"PERSON\">\n"
-"    <id name=\"id\" column=\"PERSON_ID\">\n"
-"        <generator class=\"foreign\">\n"
-"            <param name=\"property\">employee</param>\n"
-"        </generator>\n"
-"    </id>\n"
-"    ...\n"
-"    <one-to-one name=\"employee\"\n"
-"        class=\"Employee\"\n"
-"        constrained=\"true\"/>\n"
-"</class>]]>"
-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:1802
-#, fuzzy, no-c-format
-msgid ""
 "A newly saved instance of <literal>Person</literal> is assigned the same "
 "primary key value as the <literal>Employee</literal> instance referred with "
 "the <literal>employee</literal> property of that <literal>Person</literal>."
 msgstr ""
-"A una instancia reci&#x00e9;n salvada de <literal>Person</literal> se le "
-"asigna entonces el mismo valor de clave primaria con que la instancia "
+"A una instancia recién guardada de <literal>Person</literal> se le asigna el "
+"mismo valor de clave principal que se le asignó a la instancia "
 "<literal>Employee</literal> referida por la propiedad <literal>employee</"
-"literal> de esta <literal>Person</literal>."
+"literal> de esa <literal>Person</literal>."
 
 #. Tag: para
-#: basic_mapping.xml:1808
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Alternatively, a foreign key with a unique constraint, from "
 "<literal>Employee</literal> to <literal>Person</literal>, can be expressed "
 "as:"
 msgstr ""
-"Alternativamente, una clave for&#x00e1;nea con una restricci&#x00f3;n de "
-"unicidad, desde <literal>Employee</literal> a <literal>Person</literal>, "
-"puede ser expresada como:"
+"Opcionalmente, una clave foránea con una restricción de unicidad, desde "
+"<literal>Employee</literal> a <literal>Person</literal>, se puede expresar "
+"como:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:1813
+#. Tag: para
 #, no-c-format
 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:1815
-#, fuzzy, no-c-format
-msgid ""
 "This association can be made bidirectional by adding the following to the "
 "<literal>Person</literal> mapping:"
 msgstr ""
-"Y esta asociaci&#x00f3;n puede hacerse bidireccional agregando lo siguiente "
-"al mapeo de <literal>Person</literal> :"
+"Esta asociación puede hacerse bidireccional agregando lo siguiente al mapeo "
+"de <literal>Person</literal>:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:1820
-#, no-c-format
-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:1825
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Natural-id"
-msgstr "natural-id"
+msgstr "Natural-id"
 
-#. Tag: programlisting
-#: basic_mapping.xml:1827
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<natural-id mutable=\"true|false\"/>\n"
-"        <property ... />\n"
-"        <many-to-one ... />\n"
-"        ......\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:1829
-#, fuzzy, no-c-format
-msgid ""
 "Although we recommend the use of surrogate keys as primary keys, you should "
 "try to identify natural keys for all entities. A natural key is a property "
 "or combination of properties that is unique and non-null. It is also "
@@ -3771,58 +2726,52 @@
 "unique key and nullability constraints and, as a result, your mapping will "
 "be more self-documenting."
 msgstr ""
-"Aunque recomendamos el uso de claves delegadas como claves primarias, "
-"todav&#x00ed;a debes intentar identificar claves naturales para todas las "
-"entidades. Una clave natural es una propiedad o combinaci&#x00f3;n de "
-"propiedades que es &#x00fa;nica y no nula. Si adem&#x00e1;s es inmutable, "
-"mejor a&#x00fa;n. Mapea las propiedades de la clave natural dentro del "
-"elemento <literal>&lt;natural-id&gt;</literal>. Hibernate generar&#x00e1; "
-"las restricciones de clave &#x00fa;nica y nulabilidad necesarias, y tu mapeo "
-"ser&#x00e1; m&#x00e1;s auto-documentado."
+"Aunque recomendamos el uso de claves delegadas como claves principales, debe "
+"tratar de identificar claves naturales para todas las entidades. Una clave "
+"natural es una propiedad o combinación de propiedades que es única y no "
+"nula. También es inmutable. Mapea las propiedades de la clave natural dentro "
+"del elemento <literal>&lt;natural-id&gt;</literal>. Hibernate generará las "
+"restricciones de nulabilidad y de clave única necesarias y su mapeo será más "
+"auto-documentado."
 
 #. Tag: para
-#: basic_mapping.xml:1838
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is recommended that you implement <literal>equals()</literal> and "
 "<literal>hashCode()</literal> to compare the natural key properties of the "
 "entity."
 msgstr ""
-"Recomendamos fuertemente que implementes <literal>equals()</literal> y "
+"Le recomendamos bastante que implemente <literal>equals()</literal> y "
 "<literal>hashCode()</literal> para comparar las propiedades de clave natural "
-"de la entidad."
+"de la entidad. "
 
 #. Tag: para
-#: basic_mapping.xml:1843
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This mapping is not intended for use with entities that have natural primary "
 "keys."
 msgstr ""
-"Este mapeo no est&#x00e1; concebido para usar con entidades con claves "
-"primarias naturales."
+"Este mapeo no está concebido para la utilización con entidades que tienen "
+"claves principales naturales."
 
 #. Tag: para
-#: basic_mapping.xml:1849
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>mutable</literal> (optional - defaults to <literal>false</"
 "literal>): by default, natural identifier properties are assumed to be "
 "immutable (constant)."
 msgstr ""
-"<literal>mutable</literal> (opcional, por defecto a <literal>false</"
+"<literal>mutable</literal> (opcional - por defecto es <literal>false</"
 "literal>): Por defecto, se asume que las propiedades de identificadores "
 "naturales son inmutables (constantes)."
 
 #. Tag: title
-#: basic_mapping.xml:1859
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Component and dynamic-component"
-msgstr "component, dynamic-component"
+msgstr "Componente y componente dinámico"
 
 #. Tag: para
-#: basic_mapping.xml:1861
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>&lt;component&gt;</literal> element maps properties of a child "
 "object to columns of the table of a parent class. Components can, in turn, "
@@ -3830,131 +2779,83 @@
 "\" examples below:"
 msgstr ""
 "El elemento <literal>&lt;component&gt;</literal> mapea propiedades de un "
-"objeto hijo a columnas de la tabla de la clase padre. Los componentes pueden "
-"a su vez declarar sus propias propiedades, componentes o colecciones. Ver "
-"debajo \"Componentes\"."
+"objeto hijo a columnas de la tabla de la clase padre. Los componentes "
+"pueden, a su vez, declarar sus propias propiedades, componentes o "
+"colecciones. Vea a continuación los \"componentes\":"
 
-#. Tag: programlisting
-#: basic_mapping.xml:1879
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<component\n"
-"        name=\"propertyName\"\n"
-"        class=\"className\"\n"
-"        insert=\"true|false\"\n"
-"        update=\"true|false\"\n"
-"        access=\"field|property|ClassName\"\n"
-"        lazy=\"true|false\"\n"
-"        optimistic-lock=\"true|false\"\n"
-"        unique=\"true|false\"\n"
-"        node=\"element-name|.\"\n"
-">\n"
-"\n"
-"        <property ...../>\n"
-"        <many-to-one .... />\n"
-"        ........\n"
-"</component>]]>"
-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:1887
-#, fuzzy, no-c-format
-msgid ""
 "<literal>class</literal> (optional - defaults to the property type "
 "determined by reflection): the name of the component (child) class."
 msgstr ""
-"<literal>class</literal> (opcional - por defecto al tipo de la propiedad "
-"determinado por reflecci&#x00f3;n): El nombre de la clase del componente "
-"(hijo)."
+"<literal>class</literal> (opcional - por defecto es el tipo de la propiedad "
+"determinado por reflección): El nombre de la clase del componente (hijo). "
 
 #. Tag: para
-#: basic_mapping.xml:1893 basic_mapping.xml:1982
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>insert</literal>: do the mapped columns appear in SQL "
 "<literal>INSERTs</literal>?"
 msgstr ""
-"<literal>insert</literal>: Aparecen las columnas mapeadas en "
-"<literal>INSERT</literal>s SQL?"
+"<literal>insert</literal>: ¿Las columnas mapeadas aparacen en "
+"<literal>INSERTs</literal> SQL? "
 
 #. Tag: para
-#: basic_mapping.xml:1899 basic_mapping.xml:1988
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>update</literal>: do the mapped columns appear in SQL "
 "<literal>UPDATEs</literal>?"
 msgstr ""
-"<literal>update</literal>: Aparecen las columnas mapeadas en "
-"<literal>UPDATE</literal>s SQL?"
+"<literal>update</literal>: ¿Las columnas mapeadas aparacen en "
+"<literal>UPDATEs</literal> SQL?"
 
 #. Tag: para
-#: basic_mapping.xml:1911
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>lazy</literal> (optional - defaults to <literal>false</literal>): "
 "specifies that this component should be fetched lazily when the instance "
 "variable is first accessed. It requires build-time bytecode instrumentation."
 msgstr ""
-"<literal>lazy</literal> (opcional - por defecto a <literal>false</literal>): "
-"Especifica que este componente debe ser recuperado perezosamente cuando la "
-"variable de instancia sea accedida por primera vez (requiere "
-"instrumentaci&#x00f3;n de bytecode en tiempo de compilaci&#x00f3;n)."
+"<literal>lazy</literal> (opcional - por defecto es <literal>false</"
+"literal>): Especifica que este componente debe ser recuperado perezosamente "
+"cuando se acceda a la variable de instancia por primera vez. Requiere "
+"instrumentación de código byte en tiempo de compilación."
 
 #. Tag: para
-#: basic_mapping.xml:1918
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
 "literal>): specifies that updates to this component either do or do not "
 "require acquisition of the optimistic lock. It determines if a version "
 "increment should occur when this property is dirty."
 msgstr ""
-"<literal>optimistic-lock</literal> (opcional - por defecto a <literal>true</"
-"literal>): Especifica si las actualizaciones de este componente requieren o "
-"no la adquisici&#x00f3;n de un bloqueo optimista. En otras palabras, "
-"determina si debe ocurrir un incremento de versi&#x00f3;n cuando esta "
-"propiedad est&#x00e1; desactualizada."
+"<literal>optimistic-lock</literal> (opcional - por defecto es <literal>true</"
+"literal>): Especifica que las actualizaciones de este componente requieren o "
+"no la adquisición de un bloqueo optimista. Determina si debe ocurrir un "
+"incremento de versión cuando esta propiedad se encuentra desactualizada."
 
 #. Tag: para
-#: basic_mapping.xml:1926 basic_mapping.xml:2002
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>unique</literal> (optional - defaults to <literal>false</literal>): "
 "specifies that a unique constraint exists upon all mapped columns of the "
 "component."
 msgstr ""
-"<literal>unique</literal> (opcional - por defecto a <literal>false</"
-"literal>): Especifica que existe una restricci&#x00f3;n de unicidad sobre "
-"todas las columnas mapeadas del componente."
+"<literal>unique</literal> (opcional - por defecto es <literal>false</"
+"literal>): Especifica que existe una restricción de unicidad sobre todas las "
+"columnas mapeadas del componente."
 
 #. Tag: para
-#: basic_mapping.xml:1935
 #, no-c-format
 msgid ""
 "The child <literal>&lt;property&gt;</literal> tags map properties of the "
 "child class to table columns."
 msgstr ""
 "Las etiquetas hijas <literal>&lt;property&gt;</literal> mapean propiedades "
-"de la clase hija columnas de la tabla."
+"de la clase hija a las columnas de la tabla."
 
 #. Tag: para
-#: basic_mapping.xml:1940
 #, no-c-format
 msgid ""
 "The <literal>&lt;component&gt;</literal> element allows a <literal>&lt;"
@@ -3963,31 +2864,28 @@
 msgstr ""
 "El elemento <literal>&lt;component&gt;</literal> permite un subelemento "
 "<literal>&lt;parent&gt;</literal> que mapea una propiedad de la clase del "
-"componente como una referencia de regreso a la entidad contenedora."
+"componente como una referencia a la entidad contenedora."
 
 #. Tag: para
-#: basic_mapping.xml:1946
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>&lt;dynamic-component&gt;</literal> element allows a "
 "<literal>Map</literal> to be mapped as a component, where the property names "
-"refer to keys of the map. See <xref linkend=\"components-dynamic\"/> for "
+"refer to keys of the map. See <xref linkend=\"components-dynamic\" /> for "
 "more information."
 msgstr ""
 "El elemento <literal>&lt;dynamic-component&gt;</literal> permite que un "
-"<literal>Map</literal> sea mapeado como un componente, donde los nombres de "
-"las propiedades se corresponden a las claves del mapa, ver <xref linkend="
-"\"components-dynamic\"/>."
+"<literal>Map</literal> sea mapeado como un componente, en donde los nombres "
+"de las propiedades se refieran a las claves del mapeo. Consulte <xref "
+"linkend=\"components-dynamic\" /> para obtener mayor información. "
 
 #. Tag: title
-#: basic_mapping.xml:1955
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Properties"
-msgstr "properties"
+msgstr "Propiedades"
 
 #. Tag: para
-#: basic_mapping.xml:1957
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>&lt;properties&gt;</literal> element allows the definition of a "
 "named, logical grouping of the properties of a class. The most important use "
@@ -3995,70 +2893,36 @@
 "target of a <literal>property-ref</literal>. It is also a convenient way to "
 "define a multi-column unique constraint. For example:"
 msgstr ""
-"El elemento <literal>&lt;properties&gt;</literal> permite la definici&#x00f3;"
-"n de un grupo de propiedades l&#x00f3;gico con nombre de una clase. El uso "
-"m&#x00e1;s importante de la contrucci&#x00f3;n es que permite que una "
-"combinaci&#x00f3;n de propiedades sea objetivo de una <literal>property-ref</"
-"literal>. Es tambi&#x00e9;n una forma conveniente de definir una "
-"restricci&#x00f3;n de unicidad multicolumna."
+"El elemento <literal>&lt;properties&gt;</literal> permite la definición de "
+"un grupo de propiedades lógico con nombre de una clase. El uso más "
+"importante de la contrucción es que permite que una combinación de "
+"propiedades sea el objetivo de una <literal>property-ref</literal>. También "
+"es una forma práctica de definir una restricción de unicidad multicolumna. "
+"Por ejemplo:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:1973
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<properties\n"
-"        name=\"logicalName\"\n"
-"        insert=\"true|false\"\n"
-"        update=\"true|false\"\n"
-"        optimistic-lock=\"true|false\"\n"
-"        unique=\"true|false\"\n"
-">\n"
-"\n"
-"        <property ...../>\n"
-"        <many-to-one .... />\n"
-"        ........\n"
-"</properties>]]>"
-msgstr ""
-"<![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:1976
-#, fuzzy, no-c-format
-msgid ""
 "<literal>name</literal>: the logical name of the grouping. It is "
 "<emphasis>not</emphasis> an actual property name."
 msgstr ""
-"<literal>name</literal>: El nombre l&#x00f3;gico del agrupamiento - "
-"<emphasis>no</emphasis> un nombre de propiedad real."
+"<literal>name</literal>: El nombre lógico del agrupamiento. <emphasis>No</"
+"emphasis> es un nombre de propiedad."
 
 #. Tag: para
-#: basic_mapping.xml:1994
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
 "literal>): specifies that updates to these properties either do or do not "
 "require acquisition of the optimistic lock. It determines if a version "
 "increment should occur when these properties are dirty."
 msgstr ""
-"<literal>optimistic-lock</literal> (opcional - por defecto a <literal>true</"
-"literal>): Especifica si las actualizaciones de estas propiedades requieren "
-"o no de la adquisici&#x00f3;n de un bloqueo optimista. En otras palabras, "
-"determina si debe ocurrir un incremento de versi&#x00f3;n cuando estas "
-"propiedades est&#x00e1;n desactualizadas."
+"<literal>optimistic-lock</literal> (opcional - por defecto es <literal>true</"
+"literal>): Especifica que las actualizaciones de estas propiedades requieren "
+"o no de la adquisición de un bloqueo optimista. Determina si debe ocurrir un "
+"incremento de versión cuando estas propiedades están desactualizadas."
 
 #. Tag: para
-#: basic_mapping.xml:2011
 #, no-c-format
 msgid ""
 "For example, if we have the following <literal>&lt;properties&gt;</literal> "
@@ -4067,167 +2931,80 @@
 "Por ejemplo, si tenemos el siguiente mapeo de <literal>&lt;properties&gt;</"
 "literal>:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:2015
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <id name=\"personNumber\"/>\n"
-"\n"
-"    ...\n"
-"    <properties name=\"name\"\n"
-"            unique=\"true\" update=\"false\">\n"
-"        <property name=\"firstName\"/>\n"
-"        <property name=\"initial\"/>\n"
-"        <property name=\"lastName\"/>\n"
-"    </properties>\n"
-"</class>]]>"
-msgstr ""
-"<![CDATA[<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:2017
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You might have some legacy data association that refers to this unique key "
 "of the <literal>Person</literal> table, instead of to the primary key:"
 msgstr ""
-"Entonces puede que tengamos alguna asociaci&#x00f3;n de datos heredados que "
-"se refiera a esta clave &#x00fa;nica de la tabla de <literal>Person</"
-"literal>, en vez de la clave primaria:"
+"Puede que tenga alguna asociación de datos heredados que se refiera a esta "
+"clave única de la tabla de <literal>Person</literal>, en lugar de la clave "
+"principal:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:2022
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<many-to-one name=\"person\"\n"
-"         class=\"Person\" property-ref=\"name\">\n"
-"    <column name=\"firstName\"/>\n"
-"    <column name=\"initial\"/>\n"
-"    <column name=\"lastName\"/>\n"
-"</many-to-one>]]>"
-msgstr ""
-"<![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:2024
-#, fuzzy, no-c-format
-msgid ""
 "The use of this outside the context of mapping legacy data is not "
 "recommended."
 msgstr ""
 "No recomendamos el uso de este tipo de cosas fuera del contexto del mapeo de "
-"datos heredados."
+"datos heredados. "
 
 #. Tag: title
-#: basic_mapping.xml:2032
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Subclass"
-msgstr "subclass"
+msgstr "Subclase"
 
 #. Tag: para
-#: basic_mapping.xml:2034
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Polymorphic persistence requires the declaration of each subclass of the "
 "root persistent class. For the table-per-class-hierarchy mapping strategy, "
 "the <literal>&lt;subclass&gt;</literal> declaration is used. For example:"
 msgstr ""
-"Finalmente, la persistencia polim&#x00f3;rfica requiere la declaraci&#x00f3;"
-"n de la clase persistente ra&#x00ed;z. Para la estrategia de mapeo tabla-por-"
-"jerarqu&#x00ed;a-de-clases, se usa la declaraci&#x00f3;n de <literal>&lt;"
-"subclass&gt;</literal>."
+"La persistencia polimórfica requiere la declaración de cada subclase de la "
+"clase persistente raíz. Para la estrategia de mapeo tabla-por-jerarquía-de-"
+"clases, se utiliza la declaración <literal>&lt;subclass&gt;</literal>. Por "
+"ejemplo:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:2047
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<subclass\n"
-"        name=\"ClassName\"\n"
-"        discriminator-value=\"discriminator_value\"\n"
-"        proxy=\"ProxyInterface\"\n"
-"        lazy=\"true|false\"\n"
-"        dynamic-update=\"true|false\"\n"
-"        dynamic-insert=\"true|false\"\n"
-"        entity-name=\"EntityName\"\n"
-"        node=\"element-name\"\n"
-"        extends=\"SuperclassName\">\n"
-"\n"
-"        <property .... />\n"
-"        .....\n"
-"</subclass>]]>"
-msgstr ""
-"<![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:2050 basic_mapping.xml:2108 basic_mapping.xml:2171
-#, fuzzy, no-c-format
-msgid ""
 "<literal>name</literal>: the fully qualified class name of the subclass."
 msgstr ""
-"<literal>name</literal>: El nombre de clase cualificado completamente de la "
-"subclase."
+"<literal>name</literal>: El nombre de clase completamente calificado de la "
+"subclase. "
 
 #. Tag: para
-#: basic_mapping.xml:2055
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>discriminator-value</literal> (optional - defaults to the class "
 "name): a value that distinguishes individual subclasses."
 msgstr ""
-"<literal>discriminator-value</literal> (opcional - por defecto al nombre de "
-"la clase): Un valor que distingue a subclases individuales."
+"<literal>discriminator-value</literal> (opcional - por defecto es el nombre "
+"de la clase): Un valor que distingue subclases individuales. "
 
 #. Tag: para
-#: basic_mapping.xml:2061
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>proxy</literal> (optional): specifies a class or interface used for "
 "lazy initializing proxies."
 msgstr ""
-"<literal>proxy</literal> (opcional): Especifica una clase o interface a usar "
-"para proxies de inicializaci&#x00f3;n perezosa."
+"<literal>proxy</literal> (opcional): Especifica una clase o interfaz que se "
+"utiliza para proxies de inicialización perezosa."
 
 #. Tag: para
-#: basic_mapping.xml:2067
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>lazy</literal> (optional - defaults to <literal>true</literal>): "
 "setting <literal>lazy=\"false\"</literal> disables the use of lazy fetching."
 msgstr ""
-"<literal>lazy</literal> (opcional, por defecto a <literal>true</literal>): "
-"Establecer <literal>lazy=\"false\"</literal> deshabilita el uso de "
-"recuperaci&#x00f3;n perezosa."
+"<literal>lazy</literal> (opcional, por defecto es <literal>true</literal>): "
+"El establecer <literal>lazy=\"false\"</literal> desactiva el uso de la "
+"recuperación perezosa. "
 
 #. Tag: para
-#: basic_mapping.xml:2075
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Each subclass declares its own persistent properties and subclasses. "
 "<literal>&lt;version&gt;</literal> and <literal>&lt;id&gt;</literal> "
@@ -4235,208 +3012,84 @@
 "a hierarchy must define a unique <literal>discriminator-value</literal>. If "
 "this is not specified, the fully qualified Java class name is used."
 msgstr ""
-"UNTRANSLATED! Each subclass should declare its own persistent properties and "
-"subclasses. <literal>&lt;version&gt;</literal> and <literal>&lt;id&gt;</"
-"literal> properties are assumed to be inherited from the root class. Each "
-"subclass in a heirarchy must define a unique <literal>discriminator-value</"
-"literal>. If none is specified, the fully qualified Java class name is used."
+"Cada subclase debe declarar sus propias propiedades persistentes y "
+"subclases. Se asume que las propiedades <literal>&lt;version&gt;</literal> y "
+"<literal>&lt;id&gt;</literal> son heredadas de la clase raíz. Cada subclase "
+"en una jerarquía tiene que definir un <literal>discriminator-value</literal> "
+"único. Si no se especifica ninguno entonces se utiliza el nombre "
+"completamente calificado de clase Java."
 
 #. Tag: para
-#: basic_mapping.xml:2083 basic_mapping.xml:2141 basic_mapping.xml:2199
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
-"For information about inheritance mappings see <xref linkend=\"inheritance\"/"
-">."
+"For information about inheritance mappings see <xref linkend=\"inheritance"
+"\" />."
 msgstr ""
-"Para informaci&#x00f3;n acerca de mapeos de herencia, ver <xref linkend="
-"\"inheritance\"/>."
+"Para obtener información acerca de los mapeos de herencias consulte <xref "
+"linkend=\"inheritance\" />."
 
 #. Tag: title
-#: basic_mapping.xml:2090
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Joined-subclass"
-msgstr "joined-subclass"
+msgstr "joined-subclass "
 
 #. Tag: para
-#: basic_mapping.xml:2092
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Each subclass can also be mapped to its own table. This is called the table-"
 "per-subclass mapping strategy. An inherited state is retrieved by joining "
 "with the table of the superclass. To do this you use the <literal>&lt;joined-"
 "subclass&gt;</literal> element. For example:"
 msgstr ""
-"Alternativamente, cada subclase puede ser mapeada a su propia tabla "
-"(estrategia de mapeo tabla-por-subclase). El estado heredado se recupera "
-"uniendo con la tabla de la superclase. Usamos el elemento <literal>&lt;"
-"joined-subclass&gt;</literal>."
+"Se puede mapear cada subclase a su propia tabla. Esto se llama una "
+"estrategia de mapeo tabla-por-subclase. El estado heredado se recupera "
+"uniendo con la tabla de la superclase. Para hacer esto utilice elemento "
+"<literal>&lt;joined-subclass&gt;</literal>. Por ejemplo:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:2105
-#, no-c-format
-msgid ""
-"<![CDATA[<joined-subclass\n"
-"        name=\"ClassName\"\n"
-"        table=\"tablename\"\n"
-"        proxy=\"ProxyInterface\"\n"
-"        lazy=\"true|false\"\n"
-"        dynamic-update=\"true|false\"\n"
-"        dynamic-insert=\"true|false\"\n"
-"        schema=\"schema\"\n"
-"        catalog=\"catalog\"\n"
-"        extends=\"SuperclassName\"\n"
-"        persister=\"ClassName\"\n"
-"        subselect=\"SQL expression\"\n"
-"        entity-name=\"EntityName\"\n"
-"        node=\"element-name\">\n"
-"\n"
-"        <key .... >\n"
-"\n"
-"        <property .... />\n"
-"        .....\n"
-"</joined-subclass>]]>"
-msgstr ""
-"<![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:2113 basic_mapping.xml:2176
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "<literal>table</literal>: the name of the subclass table."
-msgstr "<literal>table</literal>: El nombre de tabla de la subclase."
+msgstr "<literal>table</literal>: El nombre de tabla de la subclase. "
 
 #. Tag: para
-#: basic_mapping.xml:2118 basic_mapping.xml:2181
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>proxy</literal> (optional): specifies a class or interface to use "
 "for lazy initializing proxies."
 msgstr ""
-"<literal>proxy</literal> (opcional): Especifica una clase o interface a usar "
-"para proxies de inicializaci&#x00f3;n perezosa."
+"<literal>proxy</literal> (opcional): Especifica una clase o interfaz que se "
+"debe utilizar para proxies de inicialización perezosa. "
 
 #. Tag: para
-#: basic_mapping.xml:2124 basic_mapping.xml:2187
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>lazy</literal> (optional, defaults to <literal>true</literal>): "
 "setting <literal>lazy=\"false\"</literal> disables the use of lazy fetching."
 msgstr ""
-"<literal>lazy</literal> (opcional, por defecto a <literal>true</literal>): "
-"Establecer <literal>lazy=\"false\"</literal> deshabilita el uso de "
-"recuperaci&#x00f3;n perezosa."
+"<literal>lazy</literal> (opcional, por defecto es <literal>true</literal>): "
+"El establecer <literal>lazy=\"false\"</literal> desactiva el uso de la "
+"recuperación perezosa. "
 
 #. Tag: para
-#: basic_mapping.xml:2132
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A discriminator column is not required for this mapping strategy. Each "
 "subclass must, however, declare a table column holding the object identifier "
 "using the <literal>&lt;key&gt;</literal> element. The mapping at the start "
 "of the chapter would then be re-written as:"
 msgstr ""
-"No se requiere de una columna discriminadora para esta estrategia de mapeo. "
-"Cada subclase debe, sin embargo, declarar una columna de tabla que tenga el "
-"identificador del objeto usando el elemento <literal>&lt;key&gt;</literal>. "
-"El mapeo del comienzo del cap&#x00ed;tulo deber&#x00ed;a ser reescrito como:"
+"No se necesita una columna discriminadora para esta estrategia de mapeo. Sin "
+"embargo, cada subclase debe declarar una columna de tabla que tenga el "
+"identificador del objeto utilizando el elemento <literal>&lt;key&gt;</"
+"literal>. El mapeo mencionado al comienzo del capítulo se reescribiría así:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:2139
-#, no-c-format
-msgid ""
-"<![CDATA[<?xml version=\"1.0\"?>\n"
-"<!DOCTYPE hibernate-mapping PUBLIC\n"
-"        \"-//Hibernate/Hibernate Mapping DTD//EN\"\n"
-"        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-"\n"
-"<hibernate-mapping package=\"eg\">\n"
-"\n"
-"        <class name=\"Cat\" table=\"CATS\">\n"
-"                <id name=\"id\" column=\"uid\" type=\"long\">\n"
-"                        <generator class=\"hilo\"/>\n"
-"                </id>\n"
-"                <property name=\"birthdate\" type=\"date\"/>\n"
-"                <property name=\"color\" not-null=\"true\"/>\n"
-"                <property name=\"sex\" not-null=\"true\"/>\n"
-"                <property name=\"weight\"/>\n"
-"                <many-to-one name=\"mate\"/>\n"
-"                <set name=\"kittens\">\n"
-"                        <key column=\"MOTHER\"/>\n"
-"                        <one-to-many class=\"Cat\"/>\n"
-"                </set>\n"
-"                <joined-subclass name=\"DomesticCat\" table=\"DOMESTIC_CATS"
-"\">\n"
-"                    <key column=\"CAT\"/>\n"
-"                    <property name=\"name\" type=\"string\"/>\n"
-"                </joined-subclass>\n"
-"        </class>\n"
-"\n"
-"        <class name=\"eg.Dog\">\n"
-"                <!-- mapping for Dog could go here -->\n"
-"        </class>\n"
-"\n"
-"</hibernate-mapping>]]>"
-msgstr ""
-"<![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:2148
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Union-subclass"
-msgstr "union-subclass"
+msgstr "Union-subclass"
 
 #. Tag: para
-#: basic_mapping.xml:2150
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A third option is to map only the concrete classes of an inheritance "
 "hierarchy to tables. This is called the table-per-concrete-class strategy. "
@@ -4448,127 +3101,47 @@
 "need to use the <literal>&lt;union-subclass&gt;</literal> mapping. For "
 "example:"
 msgstr ""
-"Una tercera opci&#x00f3;n es mapear s&#x00f3;lo las clases concretas de una "
-"jerarqu&#x00ed;a de clases a tablas, (la estrategia tabla-por-clase-"
-"concreta) donde cada tabla define todo el estado persistente de la clase, "
-"incluyendo el estado heredado. En Hibernate, no es absolutamente necesario "
-"mapear dichas jerarqu&#x00ed;as de herencia. Puedes simplemente mapear cada "
-"clase con una declaraci&#x00f3;n <literal>&lt;class&gt;</literal> separada. "
-"Sin embargo, si deseas usar asociaciones polim&#x00f3;rficas (por ejemplo, "
-"una asociaci&#x00f3;n a la superclase de tu jerarqu&#x00ed;a), debes usar el "
-"mapeo <literal>&lt;union-subclass&gt;</literal>."
+"Una tercera opción es mapear sólo las clases concretas de una jerarquía de "
+"herencia a tablas. Esta se llama la estrategia clase concreta por tabla). "
+"Cada tabla define todos los estados persistentes de la clase, incluyendo el "
+"estado heredado. En Hibernate, no es necesario mapear dichas jerarquías de "
+"herencia. Puede mapear cada clase con una declaración <literal>&lt;class&gt;"
+"</literal> separada. Sin embargo, si desea utilizar asociaciones "
+"polimórficas (por ejemplo, una asociación a la superclase de su jerarquía), "
+"necesita utilizar el mapeo <literal>&lt;union-subclass&gt;</literal>. Por "
+"ejemplo:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:2168
-#, no-c-format
-msgid ""
-"<![CDATA[<union-subclass\n"
-"        name=\"ClassName\"\n"
-"        table=\"tablename\"\n"
-"        proxy=\"ProxyInterface\"\n"
-"        lazy=\"true|false\"\n"
-"        dynamic-update=\"true|false\"\n"
-"        dynamic-insert=\"true|false\"\n"
-"        schema=\"schema\"\n"
-"        catalog=\"catalog\"\n"
-"        extends=\"SuperclassName\"\n"
-"        abstract=\"true|false\"\n"
-"        persister=\"ClassName\"\n"
-"        subselect=\"SQL expression\"\n"
-"        entity-name=\"EntityName\"\n"
-"        node=\"element-name\">\n"
-"\n"
-"        <property .... />\n"
-"        .....\n"
-"</union-subclass>]]>"
-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:2195
 #, no-c-format
 msgid ""
 "No discriminator column or key column is required for this mapping strategy."
 msgstr ""
-"No se requiere columna o columna clave discriminadora para esta estrategia "
-"de mapeo."
+"No se necesita una columna o una columna clave discriminadora para esta "
+"estrategia de mapeo."
 
 #. Tag: title
-#: basic_mapping.xml:2206
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Join"
-msgstr "join"
+msgstr "Join"
 
 #. Tag: para
-#: basic_mapping.xml:2208
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Using the <literal>&lt;join&gt;</literal> element, it is possible to map "
 "properties of one class to several tables that have a one-to-one "
 "relationship. For example:"
 msgstr ""
-"Usando el elemento <literal>&lt;join&gt;</literal>, es posible mapear "
-"propiedades de una clase a varias tablas."
+"Al utilizar el elemento <literal>&lt;join&gt;</literal>, es posible mapear "
+"las propiedades de una clase a varias tablas que tengan una relación uno-a-"
+"uno. Por ejemplo:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:2222
-#, no-c-format
-msgid ""
-"<![CDATA[<join\n"
-"        table=\"tablename\"\n"
-"        schema=\"owner\"\n"
-"        catalog=\"catalog\"\n"
-"        fetch=\"join|select\"\n"
-"        inverse=\"true|false\"\n"
-"        optional=\"true|false\">\n"
-"\n"
-"        <key ... />\n"
-"\n"
-"        <property ... />\n"
-"        ...\n"
-"</join>]]>"
-msgstr ""
-"<![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:2226
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "<literal>table</literal>: the name of the joined table."
-msgstr "<literal>table</literal>: El nombre de la clase unida."
+msgstr "<literal>table</literal>: El nombre de la tabla unida. "
 
 #. Tag: para
-#: basic_mapping.xml:2243
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>fetch</literal> (optional - defaults to <literal>join</literal>): "
 "if set to <literal>join</literal>, the default, Hibernate will use an inner "
@@ -4580,206 +3153,140 @@
 "instance of the subclass. Inner joins will still be used to retrieve a "
 "<literal>&lt;join&gt;</literal> defined by the class and its superclasses."
 msgstr ""
-"<literal>fetch</literal> (opcional - por defecto a <literal>join</literal>): "
-"Si se establece a <literal>join</literal>, por defecto, Hibernate "
-"usar&#x00e1; una uni&#x00f3;n interior (inner join) para recuperar un "
-"<literal>&lt;join&gt;</literal> definido por una clase o sus superclases y "
-"una uni&#x00f3;n externa (outer join) para un <literal>&lt;join&gt;</"
-"literal> definido por una subclase. Si se establece a <literal>select</"
-"literal>, entonces Hibernate usar&#x00e1; una select secuencial para un "
-"<literal>&lt;join&gt;</literal> definido en una subclase, que ser&#x00e1; "
-"publicada s&#x00f3;lo si una fila resulta representar una instancia de la "
-"subclase. Las uniones interiores todav&#x00ed;a ser&#x00e1;n usados para "
-"recuperar un <literal>&lt;join&gt;</literal> definido por la clase y sus "
-"superclases."
+"<literal>fetch</literal> (opcional - por defecto es <literal>join</"
+"literal>): Si se establece como <literal>join</literal>, por defecto, "
+"Hibernate utilizará una unión interior (inner join) para recuperar un "
+"<literal>&lt;join&gt;</literal> definido por una clase o sus superclases. "
+"Utilizará una unión externa (outer join) para un <literal>&lt;join&gt;</"
+"literal> definido por una subclase. Si se establece como <literal>select</"
+"literal>, entonces Hibernate utilizará una selección secuencial para un "
+"<literal>&lt;join&gt;</literal> definido en una subclase. Esto se publicará "
+"sólamente si una fila representa una instancia de la subclase. Las uniones "
+"interiores todavía serán utilizadas para recuperar un <literal>&lt;join&gt;</"
+"literal> definido por la clase y sus superclases."
 
 #. Tag: para
-#: basic_mapping.xml:2256
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>inverse</literal> (optional - defaults to <literal>false</"
 "literal>): if enabled, Hibernate will not 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&#x00e1; insertar o "
-"actualizar las propiedades definidas por esta uni&#x00f3;n."
+"<literal>inverse</literal> (opcional - por defecto es <literal>false</"
+"literal>): De activarse, Hibernate no tratará de insertar o actualizar las "
+"propiedades definidas por esta unión. "
 
 #. Tag: para
-#: basic_mapping.xml:2263
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>optional</literal> (optional - defaults to <literal>false</"
 "literal>): if enabled, Hibernate will insert a row only if the properties "
 "defined by this join are non-null. It will always use an outer join to "
 "retrieve the properties."
 msgstr ""
-"<literal>optional</literal> (opcional - por defecto a <literal>false</"
-"literal>): De habilitarse, Hibernate insertar&#x00e1; una fila s&#x00f3;lo "
-"si las propiedades definidas por esta uni&#x00f3;n son no nulas y siempre "
-"usar&#x00e1; una uni&#x00f3;n externa para recuperar las propiedades."
+"<literal>optional</literal> (opcional - por defecto es <literal>false</"
+"literal>): De activarse, Hibernate insertará una fila sólo si las "
+"propiedades definidas por esta unión son no-nulas. Siempre utilizará una "
+"unión externa para recuperar las propiedades."
 
 #. Tag: para
-#: basic_mapping.xml:2272
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "For example, 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&#x00f3;n domiciliaria de una persona puede ser "
-"mapeada a una tabla separada (preservando a la vez la sem&#x00e1;ntica de "
-"tipo de valor para todas las propiedades):"
+"Por ejemplo, la información domiciliaria de una persona se puede mapear a "
+"una tabla separada, preservando a la vez la semántica de tipo de valor para "
+"todas las propiedades:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:2277
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"Person\"\n"
-"    table=\"PERSON\">\n"
-"\n"
-"    <id name=\"id\" column=\"PERSON_ID\">...</id>\n"
-"\n"
-"    <join table=\"ADDRESS\">\n"
-"        <key column=\"ADDRESS_ID\"/>\n"
-"        <property name=\"address\"/>\n"
-"        <property name=\"zip\"/>\n"
-"        <property name=\"country\"/>\n"
-"    </join>\n"
-"    ...]]>"
-msgstr ""
-"<![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:2279
-#, fuzzy, no-c-format
-msgid ""
 "This feature is often only useful for legacy data models. We recommend fewer "
 "tables than classes and a fine-grained domain model. However, it is useful "
 "for switching between inheritance mapping strategies in a single hierarchy, "
 "as explained later."
 msgstr ""
-"Esta funcionalidad es a menudo solamente &#x00fa;til para modelos de datos "
-"heredados; recomendamos menos tablas que clases un modelo de dominio "
-"m&#x00e1;s granularizado. Sin embargo, es &#x00fa;til para cambiar entre "
-"estrategias de mapeo de herencias en una misma jerarqu&#x00ed;a, como se "
-"explica luego."
+"Con frecuencia, esta funcionalidad sólamente es útil para los modelos de "
+"datos heredados. Recomendamos menos tablas que clases y un modelo de dominio "
+"más detallado. Sin embargo, es útil para cambiar entre estrategias de mapeo "
+"de herencias en una misma jerarquía, como se explica más adelante."
 
 #. Tag: title
-#: basic_mapping.xml:2289
-#, fuzzy, no-c-format
-msgid "<title>Key</title>"
-msgstr "<title>key</title>"
+#, no-c-format
+msgid "Key"
+msgstr "Key"
 
 #. Tag: para
-#: basic_mapping.xml:2291
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>&lt;key&gt;</literal> element has featured a few times within "
 "this guide. It appears anywhere the parent mapping element defines a join to "
 "a new table that references the primary key of the original table. It also "
 "defines the foreign key in the joined table:"
 msgstr ""
-"Hasta ahora hemos visto el elemento <literal>&lt;key&gt;</literal> pocas "
-"veces. Aparece en cualquier sitio en que el elemento padre de mapeo defina "
-"una uni&#x00f3;n a una nueva tabla, y define la clave for&#x00e1;nea en la "
-"tabla unida, que referencia la clave primaria de la tabla original."
+"Hasta ahora hemos visto el elemento <literal>&lt;key&gt;</literal> unas "
+"cuantas veces. Aparece en cualquier sitio en que el elemento padre de mapeo "
+"defina una unión a una nueva tabla que referencie la clave principal de la "
+"tabla original. También define la clave foránea en la tabla unida:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:2307
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<key\n"
-"        column=\"columnname\"\n"
-"        on-delete=\"noaction|cascade\"\n"
-"        property-ref=\"propertyName\"\n"
-"        not-null=\"true|false\"\n"
-"        update=\"true|false\"\n"
-"        unique=\"true|false\"\n"
-"/>]]>"
-msgstr ""
-"<![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:2318
-#, fuzzy, no-c-format
-msgid ""
 "<literal>on-delete</literal> (optional - defaults to <literal>noaction</"
 "literal>): specifies whether the foreign key constraint has database-level "
 "cascade delete enabled."
 msgstr ""
-"<literal>on-delete</literal> (opcional, por defecto a <literal>noaction</"
-"literal>): Especifica si la restricci&#x00f3;n de clave for&#x00e1;nea tiene "
-"el borrado en cascada habilitado a nivel de base de datos."
+"<literal>on-delete</literal> (opcional - por defecto es <literal>noaction</"
+"literal>): Especifica si la restricción de clave foránea tiene el borrado en "
+"cascada activado a nivel de base de datos."
 
 #. Tag: para
-#: basic_mapping.xml:2325
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>property-ref</literal> (optional): specifies that the foreign key "
 "refers to columns that are not the primary key of the original table. It is "
 "provided for legacy data."
 msgstr ""
-"<literal>property-ref</literal> (opcional): Especifica que la clave "
-"for&#x00e1;nea referencia columnas que no son del la clave primaria de la "
-"tabla original. (Provisto para datos heredados.)"
+"<literal>property-ref</literal> (opcional): Especifica que la clave foránea "
+"referencia columnas que no son la clave principal de la tabla original. Se "
+"proporciona para los datos heredados."
 
 #. Tag: para
-#: basic_mapping.xml:2332
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>not-null</literal> (optional): specifies that the foreign key "
 "columns are not nullable. This is implied whenever the foreign key is also "
 "part of the primary key."
 msgstr ""
 "<literal>not-null</literal> (opcional): Especifica que las columnas de la "
-"clave for&#x00e1;nea son no nulables (esto est&#x00e1; implicado si la clave "
-"for&#x00e1;nea es tambi&#x00e9;n parte de la clave primaria)."
+"clave foránea son no nulables. Esto se implica cuando la clave foránea "
+"también es parte de la clave principal."
 
 #. Tag: para
-#: basic_mapping.xml:2339
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>update</literal> (optional): specifies that the foreign key should "
 "never be updated. This is implied whenever the foreign key is also part of "
 "the primary key."
 msgstr ""
-"<literal>update</literal> (opcional): Especifica que la clave for&#x00e1;nea "
-"nunca debe ser actualizada (esto est&#x00e1; implicado si la clave "
-"for&#x00e1;nea es tambi&#x00e9;n parte de la clave primaria)."
+"<literal>update</literal> (opcional): Especifica que la clave foránea nunca "
+"se debe actualizar. Esto se implica cuando la clave foránea también es parte "
+"de la clave principal."
 
 #. Tag: para
-#: basic_mapping.xml:2346
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>unique</literal> (optional): specifies that the foreign key should "
 "have a unique constraint. This is implied whenever the foreign key is also "
 "the primary key."
 msgstr ""
-"<literal>unique</literal> (opcional): Especifica que la clave for&#x00e1;nea "
-"debe tener una restricci&#x00f3;n de unicidad (esto est&#x00e1; implicado si "
-"la clave for&#x00e1;nea es tambi&#x00e9;n la clave primaria)."
+"<literal>unique</literal> (opcional): Especifica que la clave foránea debe "
+"tener una restricción de . Esto se implica cuando la clave foránea también "
+"es la clave principal."
 
 #. Tag: para
-#: basic_mapping.xml:2354
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "For systems where delete performance is important, we recommend that all "
 "keys should be defined <literal>on-delete=\"cascade\"</literal>. Hibernate "
@@ -4788,17 +3295,15 @@
 "that this feature bypasses Hibernate's usual optimistic locking strategy for "
 "versioned data."
 msgstr ""
-"Recomendamos que, para los sistemas en donde el rendimiento sea importante, "
-"todas las claves deben ser definidas <literal>on-delete=\"cascade\"</"
-"literal>, e Hibernate usar&#x00e1; una restricci&#x00f3;n <literal>ON "
-"CASCADE DELETE</literal> a nivel de base de datos, en vez de muchas "
-"sentencias <literal>DELETE</literal> individuales. Ten en cuenta que esta "
-"funcionalidad se salta la habitual estrategia de bloqueo optimista de "
-"Hibernate para datos versionados."
+"Para los sistemas en donde el rendimiento es importante, todas las claves "
+"deben ser definidas <literal>on-delete=\"cascade\"</literal>. Hibernate "
+"utiliza una restricción <literal>ON CASCADE DELETE</literal> a nivel de base "
+"de datos, en vez de muchas declaraciones <literal>DELETE</literal> "
+"individuales. Tenga en cuenta que esta funcionalidad evita la estrategia de "
+"bloqueo optimista normal de Hibernate para datos versionados."
 
 #. Tag: para
-#: basic_mapping.xml:2362
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>not-null</literal> and <literal>update</literal> attributes are "
 "useful when mapping a unidirectional one-to-many association. If you map a "
@@ -4807,103 +3312,47 @@
 "null=\"true\"&gt;</literal>."
 msgstr ""
 "Los atributos <literal>not-null</literal> y <literal>update</literal> son "
-"&#x00fa;tiles al mapear una asociaci&#x00f3;n uno a muchos unidireccional. "
-"Si mapeas una uno a muchos unidireccional a una clave for&#x00e1;nea no "
-"nulable, <emphasis>debes</emphasis> declarar la columna clave usando "
-"<literal>&lt;key not-null=\"true\"&gt;</literal>."
+"útiles al mapear una asociación uno a muchos unidireccional. Si mapea una "
+"unidireccional uno a muchos a una clave foránea no nulable, <emphasis>tiene</"
+"emphasis> que declarar la columna clave utilizando <literal>&lt;key not-null="
+"\"true\"&gt;</literal>. "
 
 #. Tag: title
-#: basic_mapping.xml:2372
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Column and formula elements"
-msgstr "los elementos column y formula"
+msgstr "Los elementos columna y fórmula"
 
 #. Tag: para
-#: basic_mapping.xml:2373
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Mapping elements which accept a <literal>column</literal> attribute will "
 "alternatively accept a <literal>&lt;column&gt;</literal> subelement. "
 "Likewise, <literal>&lt;formula&gt;</literal> is an alternative to the "
 "<literal>formula</literal> attribute. For example:"
 msgstr ""
-"Cualquier elemento de mapeo que acepte un atributo <literal>column</literal> "
-"aceptar&#x00e1; alternativamente un subelemento <literal>&lt;column&gt;</"
-"literal>. De forma similar, <literal>&lt;formula&gt;</literal> es una "
-"alternativa al atributo <literal>formula</literal>."
+"Los elementos de mapeo que acepten un atributo <literal>column</literal> "
+"aceptarán opcionalmente un subelemento <literal>&lt;column&gt;</literal>. De "
+"manera similar, <literal>&lt;formula&gt;</literal> es una alternativa al "
+"atributo <literal>formula</literal>. Por ejemplo:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:2379
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<column\n"
-"        name=\"column_name\"\n"
-"        length=\"N\"\n"
-"        precision=\"N\"\n"
-"        scale=\"N\"\n"
-"        not-null=\"true|false\"\n"
-"        unique=\"true|false\"\n"
-"        unique-key=\"multicolumn_unique_key_name\"\n"
-"        index=\"index_name\"\n"
-"        sql-type=\"sql_type_name\"\n"
-"        check=\"SQL expression\"\n"
-"        default=\"SQL expression\"/>]]>"
-msgstr ""
-"<![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:2381
-#, no-c-format
-msgid "<![CDATA[<formula>SQL expression</formula>]]>"
-msgstr "<![CDATA[<formula>expresi&#x00f3;n SQL</formula>]]>"
-
-#. Tag: para
-#: basic_mapping.xml:2383
-#, fuzzy, no-c-format
-msgid ""
 "<literal>column</literal> and <literal>formula</literal> attributes can 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&#x00f3;"
-"n para expresar, por ejemplo, condiciones de uni&#x00f3;n ex&#x00f3;ticas."
+"Los atributos <literal>column</literal> y <literal>formula</literal> incluso "
+"se pueden combinar dentro del mismo mapeo de propiedad o asociación para "
+"expresar, por ejemplo, condiciones de unión exóticas."
 
-#. Tag: programlisting
-#: basic_mapping.xml:2389
-#, no-c-format
-msgid ""
-"<![CDATA[<many-to-one name=\"homeAddress\" class=\"Address\"\n"
-"        insert=\"false\" update=\"false\">\n"
-"    <column name=\"person_id\" not-null=\"true\" length=\"10\"/>\n"
-"    <formula>'MAILING'</formula>\n"
-"</many-to-one>]]>"
-msgstr ""
-"<![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:2394
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Import"
-msgstr "import"
+msgstr "Import"
 
 #. Tag: para
-#: basic_mapping.xml:2396
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If your application has two persistent classes with the same name, and you "
 "do not want to specify the fully qualified package name in Hibernate "
@@ -4911,61 +3360,36 @@
 "<literal>auto-import=\"true\"</literal>. You can also import classes and "
 "interfaces that are not explicitly mapped:"
 msgstr ""
-"Sup&#x00f3;n que tu aplicaci&#x00f3;n tiene dos clases persistentes con el "
-"mismo nombre, y no quieres especificar el nombre completamenta cualificado "
-"(paquete) en las consultas Hibernate. Las clases pueden ser \"importadas\" "
-"expl&#x00ed;citamente, en vez de confiar en <literal>auto-import=\"true\"</"
-"literal>. Puedes incluso importar clases e interfaces que no est&#x00e9;n "
-"mapeadas expl&#x00ed;citamente."
+"Si su aplicación tiene dos clases persistentes con el mismo nombre y no "
+"quiere especificar el nombre del paquete completamenta calificado en las "
+"consultas Hibernate, las clases pueden ser \"importadas\" explícitamente, en "
+"lugar de depender de <literal>auto-import=\"true\"</literal>. Incluso puede "
+"importar clases e interfaces que no estén mapeadas explícitamente:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:2403
+#. Tag: para
 #, no-c-format
-msgid "<![CDATA[<import class=\"java.lang.Object\" rename=\"Universe\"/>]]>"
-msgstr "<![CDATA[<import class=\"java.lang.Object\" rename=\"Universe\"/>]]>"
-
-#. Tag: programlisting
-#: basic_mapping.xml:2410
-#, no-c-format
 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:2413
-#, fuzzy, no-c-format
-msgid ""
 "<literal>class</literal>: the fully qualified class name of any Java class."
 msgstr ""
-"<literal>class</literal>: El nombre de clase completamente cualificado de "
-"cualquier clase Java."
+"<literal>class</literal>: El nombre de clase completamente calificado de "
+"cualquier clase Java. "
 
 #. Tag: para
-#: basic_mapping.xml:2418
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>rename</literal> (optional - defaults to the unqualified class "
 "name): a name that can be used in the query language."
 msgstr ""
-"<literal>rename</literal> (opcional - por defecto al nombre de clase sin "
-"cualificar): Un nombre que ser&#x00e1; usado en el leguaje de consulta."
+"<literal>rename</literal> (opcional - por defecto es el nombre de clase sin "
+"calificar): Un nombre que se puede utilizar en el lenguaje de consulta."
 
 #. Tag: title
-#: basic_mapping.xml:2429
-#, fuzzy, no-c-format
-msgid "<title>Any</title>"
-msgstr "<title>any</title>"
+#, no-c-format
+msgid "Any"
+msgstr "Any"
 
 #. Tag: para
-#: basic_mapping.xml:2431
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "There is one more type of property mapping. The <literal>&lt;any&gt;</"
 "literal> mapping element defines a polymorphic association to classes from "
@@ -4976,20 +3400,17 @@
 "mapping polymorphic associations and you should use this only in special "
 "cases. For example, for audit logs, user session data, etc."
 msgstr ""
-"Hay un tipo m&#x00e1;s de mapeo de propiedad. El elemento de mapeo "
-"<literal>&lt;any&gt;</literal> define una asociaci&#x00e1;n polim&#x00f3;"
-"rfica a clases desde m&#x00fa;ltiples tablas. Este tipo de mapeo siempre "
-"requiere m&#x00e1;s de una columna. La primera columna contiene el tipo de "
-"la entidad asociada. Las columnas restantes contienen el identificador. Es "
-"imposible especificar una restricci&#x00f3;n de clave for&#x00e1;nea para "
-"este tipo de asociaci&#x00f3;n, por lo que esto ciertamente no est&#x00e1; "
-"concebido como la forma habitual de mapear asociaciones (polim&#x00f3;"
-"rficas). S&#x00f3;lo debes usar esto en casos muy especiales (por ejemplo, "
-"trazas de auditor&#x00e9;a, datos de sesi&#x00f3;n de usuario, etc)."
+"Hay un tipo más de mapeo de propiedad. El elemento de mapeo <literal>&lt;"
+"any&gt;</literal> define una asociación polimórfica a clases desde múltiples "
+"tablas. Este tipo de mapeo necesita 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. Esta no es la manera usual de mapear "
+"asociaciones polimórficas y sólamente debe usar esto en casos especiales. "
+"Por ejemplo, para registros de auditoría, datos de sesión de usuario, etc."
 
 #. Tag: para
-#: basic_mapping.xml:2441
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>meta-type</literal> attribute allows the application to specify "
 "a custom type that maps database column values to persistent classes that "
@@ -4997,138 +3418,74 @@
 "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&#x00f3;n "
-"especificar un tipo personalizado que mapee columnas de base de datos a "
-"clases persistentes que tengan propiedades identificadoras del tipo "
-"especificado por <literal>id-type</literal>. Debes especificar el mapeo de "
-"valores del meta-type a nombres de clase."
+"El atributo <literal>meta-type</literal> le permite especificar a la "
+"aplicación un tipo personalizado que mapea los valores de columnas de la "
+"base de datos a clases persistentes que tengan propiedades identificadoras "
+"del tipo especificado por <literal>id-type</literal>. Tiene que especificar "
+"el mapeo de valores del meta-tipo a nombres de clase."
 
-#. Tag: programlisting
-#: basic_mapping.xml:2448
-#, no-c-format
-msgid ""
-"<![CDATA[<any name=\"being\" id-type=\"long\" meta-type=\"string\">\n"
-"    <meta-value value=\"TBL_ANIMAL\" class=\"Animal\"/>\n"
-"    <meta-value value=\"TBL_HUMAN\" class=\"Human\"/>\n"
-"    <meta-value value=\"TBL_ALIEN\" class=\"Alien\"/>\n"
-"    <column name=\"table_name\"/>\n"
-"    <column name=\"id\"/>\n"
-"</any>]]>"
-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:2459
-#, no-c-format
-msgid ""
-"<![CDATA[<any\n"
-"        name=\"propertyName\"\n"
-"        id-type=\"idtypename\"\n"
-"        meta-type=\"metatypename\"\n"
-"        cascade=\"cascade_style\"\n"
-"        access=\"field|property|ClassName\"\n"
-"        optimistic-lock=\"true|false\"\n"
-">\n"
-"        <meta-value ... />\n"
-"        <meta-value ... />\n"
-"        .....\n"
-"        <column .... />\n"
-"        <column .... />\n"
-"        .....\n"
-"</any>]]>"
-msgstr ""
-"<![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:2462
 #, no-c-format
 msgid "<literal>name</literal>: the property name."
 msgstr "<literal>name</literal>: el nombre de la propiedad."
 
 #. Tag: para
-#: basic_mapping.xml:2467
 #, no-c-format
 msgid "<literal>id-type</literal>: the identifier type."
 msgstr "<literal>id-type</literal>: el tipo del identificador."
 
 #. Tag: para
-#: basic_mapping.xml:2472
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>meta-type</literal> (optional - defaults to <literal>string</"
 "literal>): any type that is allowed for a discriminator mapping."
 msgstr ""
-"<literal>meta-type</literal> (opcional - por defecto a <literal>string</"
-"literal>): Cualquier tipo que sea permitido para un mapeo de discriminador."
+"<literal>meta-type</literal> (opcional - por defecto es <literal>string</"
+"literal>): Cualquier tipo que se permita para un mapeo discriminador."
 
 #. Tag: para
-#: basic_mapping.xml:2478
 #, no-c-format
 msgid ""
 "<literal>cascade</literal> (optional- defaults to <literal>none</literal>): "
 "the cascade style."
 msgstr ""
-"<literal>cascade</literal> (opcional- por defecto a <literal>none</"
+"<literal>cascade</literal> (opcional- por defecto es <literal>none</"
 "literal>): el estilo de cascada."
 
 #. Tag: para
-#: basic_mapping.xml:2490
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
 "literal>): specifies that updates to this property either do or do not "
 "require acquisition of the optimistic lock. It defines whether a version "
 "increment should occur if this property is dirty."
 msgstr ""
-"<literal>optimistic-lock</literal> (opcional - por defecto a <literal>true</"
+"<literal>optimistic-lock</literal> (opcional - por defecto es <literal>true</"
 "literal>): Especifica si las actualizaciones de esta propiedad requieren o "
-"no de la adquisici&#x00f3;n del bloqueo optimista. En otras palabras, "
-"determina si debe ocurrir un incremento de versi&#x00f3;n cuando esta "
-"propiedad est&#x00e1; desactualizada."
+"no de la adquisición del bloqueo optimista. Define si debe ocurrir un "
+"incremento de versión cuando esta propiedad está desactualizada."
 
 #. Tag: title
-#: basic_mapping.xml:2505
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Hibernate types"
-msgstr "Tipos de Hibernate"
+msgstr "Tipos de Hibernate "
 
 #. Tag: title
-#: basic_mapping.xml:2508
 #, no-c-format
 msgid "Entities and values"
 msgstr "Entidades y Valores"
 
 #. Tag: para
-#: basic_mapping.xml:2510
 #, no-c-format
 msgid ""
 "In relation to the persistence service, Java language-level objects are "
 "classified into two groups:"
 msgstr ""
+"En relación con el servicio de persistencia, los objetos a nivel de lenguaje "
+"Java se clasifican en dos grupos:"
 
 #. Tag: para
-#: basic_mapping.xml:2515
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "An <emphasis>entity</emphasis> exists independently of any other objects "
 "holding references to the entity. Contrast this with the usual Java model, "
@@ -5140,20 +3497,19 @@
 "large systems. Entities support circular and shared references. They can "
 "also be versioned."
 msgstr ""
-"Una <emphasis>entidad</emphasis> existe independientemente de cualquier "
-"otros objetos que referencien a la entidad. Contrasta esto con el model "
-"habitual de Java donde un objeto desreferenciado es recolectado como basura. "
-"Las entidades deben ser salvadas y borradas expl&#x00ed;citamente (excepto "
-"que las grabaciones y borrados puedan ser <emphasis>tratados en cascada</"
-"emphasis> desde una entidad padre a sus hijos). Esto es diferente al modelo "
-"de persistencia de objetos por alcance - y se corresponde m&#x00e1;s de "
-"cerca a c&#x00f3;mo los objetos de aplicaci&#x00f3;n son usados "
-"habitualmente en grandes sistemas. Las entidades soportan referencias "
-"circulares y compartidas, que tambi&#x00e9; pueden ser versionadas."
+"Una <emphasis>entidad</emphasis> existe independientemente de cualquier otro "
+"objeto que referencie a la entidad. Compare esto con el modelo habitual de "
+"Java en donde un objeto no referenciado es recolectado como basura. Las "
+"entidades deben ser guardadas y borradas explícitamente. Sin embargo, los "
+"grabados y borrados se pueden <emphasis>tratar en cascada</emphasis> desde "
+"una entidad padre a sus hijos. Esto es diferente al modelo de persistencia "
+"de objetos por alcance (ODMG) y corresponde más a cómo se utilizan "
+"habitualmente los objetos de aplicación en sistemas grandes. Las entidades "
+"soportan referencias circulares y compartidas, que también pueden ser "
+"versionadas."
 
 #. Tag: para
-#: basic_mapping.xml:2526
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "An entity's persistent state consists of references to other entities and "
 "instances of <emphasis>value</emphasis> types. Values are primitives: "
@@ -5165,20 +3521,18 @@
 "no independent identity, so they cannot be shared by two entities or "
 "collections."
 msgstr ""
-"El estado persistente de una entidad consiste en referencias a otras "
+"El estado persistente de una entidad consta de las referencias a otras "
 "entidades e instancias de tipo <emphasis>valor</emphasis>. Los valores son "
-"primitivos, colecciones (no lo que est&#x00e1; dentro de la colecci&#x00f3;"
-"n), componentes y ciertos objetos inmutables. A diferencia de las entidades, "
-"los valores (en particular las colecciones y los componentes) <emphasis>son</"
-"emphasis> hechos persitentes y borrados por alcance. Como los objetos valor "
-"(y primitivos) son persistidos y borrados junto a sus entidades "
-"contenedoras, no pueden ser versionados independientemente. Los valores no "
-"tienen identidad independiente, por los que no pueden ser compartidos por "
-"dos entidades o colleciones."
+"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> "
+"persistidos y borrados por alcance. Como los objetos valor y primitivos son "
+"persistidos y borrados junto con sus entidades contenedoras, no se pueden "
+"versionar independientemente. Los valores no tienen identidad independiente, "
+"por lo que dos entidades o colleciones no los pueden compartir."
 
 #. Tag: para
-#: basic_mapping.xml:2537
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Until now, we have been using the term \"persistent class\" to refer to "
 "entities. We will continue to do that. Not all user-defined classes with a "
@@ -5192,32 +3546,28 @@
 "single instance of that class, while composition or aggregation usually "
 "translates to a value type."
 msgstr ""
-"Hasta ahora, hemos estado usando el t&#x00e9;rmino \"clase persistente\" "
-"para referirnos a entidades. Continuaremos haci&#x00e9;ndolo. Hablando "
-"estrictamente, sin embargo, no todas la clases con estado persistente "
-"definidas por el usuario son entidades. Un <emphasis>componente</emphasis> "
-"es una clase definida por el usuario con sem&#x00e1;ntica de valor. Una "
-"propiedad Java de tipo <literal>java.lang.String</literal> tambi&#x00e9;n "
-"tiene sem&#x00e1;ntica de valor. Dada esta definici&#x00f3;n, podemos decir "
-"que todos los tipo (clases) provistos por el JDK tienen una sem&#x00e1;ntica "
-"de tipo valor en Java, mientras que los tipos definidos por el usuario "
-"pueden ser mapeados con sem&#x00e1;ntica de tipo valor o de entidad. La "
-"desici&#x00f3;n corre por cuenta del desarrollador de la aplicaci&#x00f3;n. "
-"Un buen consejo para una clase entidad en un modelo de dominio son las "
-"referencias compartidas a una sola instancia de esa clase, mientras que la "
-"composici&#x00f3;n o agregaci&#x00f3;n usualmente se traducen a un tipo de "
-"valor."
+"Hasta ahora, hemos estado utilizando el término \"clase persistente\" para "
+"referirnos a entidades. Continuaremos haciéndolo así. 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 se "
+"pueden mapear con semántica de tipo valor o de entidad. La desición corre "
+"por cuenta del desarrollador de la aplicación. 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."
 
 #. Tag: para
-#: basic_mapping.xml:2551
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "We will revisit both concepts throughout this reference guide."
 msgstr ""
-"Volveremos a visitar ambos conceptos a lo largo de la documentaci&#x00f3;n."
+"Volveremos a revisar ambos conceptos a lo largo de este manual de referencia."
 
 #. Tag: para
-#: basic_mapping.xml:2555
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The challenge is to map the Java type system, and the developers' definition "
 "of entities and value types, to the SQL/database type system. The bridge "
@@ -5230,57 +3580,51 @@
 "for standard JDK value types out of the box. You can write your own mapping "
 "types and implement your own custom conversion strategies."
 msgstr ""
-"EL desaf&#x00ed;o es mapear el sistema de tipos de Java (y la "
-"definici&#x00f3;n de entidades y tipos de valor de los desarrolladores) al "
-"sistema de tipos de SQL/base de datos. EL puente entre ambos sistemas es "
-"provisto por Hibernate: para las entidades usamos <literal>&lt;class&gt;</"
-"literal>, <literal>&lt;subclass&gt;</literal>, etc. Para los tipos de valor "
-"usamos <literal>&lt;property&gt;</literal>, <literal>&lt;component&gt;</"
-"literal>, etc, usualmente con un atributo <literal>type</literal>. El valor "
-"de este atributo es el nombre de un <emphasis>tipo de mapeo</emphasis> de "
-"Hibernate. Hibernate provee de f&#x00e1;brica muchos mapeos (para tipos de "
-"valores del JDK est&#x00e1;ndar). Puedes escribir tus propios mapeos de "
-"tipo, as&#x00ed; como implementar tus estrategias de conversi&#x00f3;n "
-"personalizadas, como veremos luego."
+"EL desafío es mapear el sistema de tipos de Java ( la definición de "
+"entidades y tipos de valor de los desarrolladores al sistema de tipos de SQL/"
+"la base de datos. El puente entre ambos sistemas lo brinda Hibernate. Para "
+"las entidades utilizamos <literal>&lt;class&gt;</literal>, <literal>&lt;"
+"subclass&gt;</literal>, etc. Para los tipos de valor utilizamos <literal>&lt;"
+"property&gt;</literal>, <literal>&lt;component&gt;</literal>, etc, "
+"usualmente con un atributo <literal>type</literal>. El valor de este "
+"atributo es el nombre de un <emphasis>tipo de mapeo</emphasis> de Hibernate. "
+"Hibernate proporciona un rango de mapeos para tipos de valores del JDK "
+"estándar. Puede escribir sus propios mapeos de tipo e implementar sus "
+"estrategias de conversión personalizadas."
 
 #. Tag: para
-#: basic_mapping.xml:2568
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "With the exception of collections, all built-in Hibernate types support null "
 "semantics."
 msgstr ""
-"Todos los tipos prefabricados de Hibernate soportan sem&#x00e1;ntica de "
-"nulos excepto las colecciones."
+"Todos los tipos incorporados de Hibernate soportan la semántica de nulos, a "
+"excepción de las colecciones."
 
 #. Tag: title
-#: basic_mapping.xml:2575
 #, no-c-format
 msgid "Basic value types"
-msgstr "Tipos de valores b&#x00e1;sicos"
+msgstr "Tipos de valores básicos"
 
 #. Tag: para
-#: basic_mapping.xml:2577
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The built-in <emphasis>basic mapping types</emphasis> can be roughly "
 "categorized into the following:"
 msgstr ""
-"Los <emphasis>tipos de mapeo b&#x00e1;sicos</emphasis> prefabricados pueden "
-"ser categorizado a grandes rasgos en:"
+"Los <emphasis>tipos de mapeo básicos</emphasis> incorporados se pueden "
+"categorizar así:"
 
-#. Tag: literal
-#: basic_mapping.xml:2582
+#. Tag: term
 #, no-c-format
 msgid ""
-"integer, long, short, float, double, character, byte, boolean, yes_no, "
-"true_false"
+"<literal>integer, long, short, float, double, character, byte, boolean, "
+"yes_no, true_false</literal>"
 msgstr ""
-"integer, long, short, float, double, character, byte, boolean, yes_no, "
-"true_false"
+"<literal>integer, long, short, float, double, character, byte, boolean, "
+"yes_no, true_false</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:2585
 #, no-c-format
 msgid ""
 "Type mappings from Java primitives or wrapper classes to appropriate (vendor-"
@@ -5288,19 +3632,17 @@
 "<literal>true_false</literal> are all alternative encodings for a Java "
 "<literal>boolean</literal> or <literal>java.lang.Boolean</literal>."
 msgstr ""
-"Mapeos de tipos primitivos de Java o clases de envoltura a la tipos de "
-"columna SQL (espec&#x00ed;cifica del vendedor). <literal>boolean, yes_no</"
-"literal> y <literal>true_false</literal> son codificaciones alternativas a "
+"Mapeos de tipos de primitivos de Java o de clases de envoltura a los tipos "
+"de columna SQL (específica 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:2594
+#. Tag: term
 #, no-c-format
-msgid "string"
-msgstr "string"
+msgid "<literal>string</literal>"
+msgstr "<literal>string</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:2596
 #, no-c-format
 msgid ""
 "A type mapping from <literal>java.lang.String</literal> to <literal>VARCHAR</"
@@ -5309,14 +3651,12 @@
 "Un mapeo del tipo <literal>java.lang.String</literal> a <literal>VARCHAR</"
 "literal> (u Oracle <literal>VAARCHAR2</literal>)."
 
-#. Tag: literal
-#: basic_mapping.xml:2603
+#. Tag: term
 #, no-c-format
-msgid "date, time, timestamp"
-msgstr "date, time, timestamp"
+msgid "<literal>date, time, timestamp</literal>"
+msgstr "<literal>date, time, timestamp</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:2605
 #, no-c-format
 msgid ""
 "Type mappings from <literal>java.util.Date</literal> and its subclasses to "
@@ -5327,31 +3667,26 @@
 "tipos SQL <literal>DATE</literal>, <literal>TIME</literal> y "
 "<literal>TIMESTAMP</literal> (o equivalente)."
 
-#. Tag: literal
-#: basic_mapping.xml:2613
+#. Tag: term
 #, no-c-format
-msgid "calendar, calendar_date"
-msgstr "calendar, calendar_date"
+msgid "<literal>calendar, calendar_date</literal>"
+msgstr "<literal>calendar, calendar_date</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:2615
 #, no-c-format
 msgid ""
 "Type mappings from <literal>java.util.Calendar</literal> to SQL types "
 "<literal>TIMESTAMP</literal> and <literal>DATE</literal> (or equivalent)."
 msgstr ""
-"Mapeos de tipo desde <literal>java.util.Date</literal> y sus subclases a "
-"tipos SQL <literal>TIMESTAMP</literal> y <literal>DATE</literal> (o "
-"equivalente)."
+"Mapeos de tipo desde <literal>java.util.Date</literal> y tipos SQL "
+"<literal>TIMESTAMP</literal> y <literal>DATE</literal> (o equivalente)."
 
-#. Tag: literal
-#: basic_mapping.xml:2623
+#. Tag: term
 #, no-c-format
-msgid "big_decimal, big_integer"
-msgstr "big_decimal, big_integer"
+msgid "<literal>big_decimal, big_integer</literal>"
+msgstr "<literal>big_decimal, big_integer</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:2625
 #, no-c-format
 msgid ""
 "Type mappings from <literal>java.math.BigDecimal</literal> and <literal>java."
@@ -5362,14 +3697,12 @@
 "math.BigInteger</literal> a <literal>NUMERIC</literal> (o <literal>NUMBER</"
 "literal> de Oracle)."
 
-#. Tag: literal
-#: basic_mapping.xml:2633
+#. Tag: term
 #, no-c-format
-msgid "locale, timezone, currency"
-msgstr "locale, timezone, currency"
+msgid "<literal>locale, timezone, currency</literal>"
+msgstr "<literal>locale, timezone, currency</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:2635
 #, no-c-format
 msgid ""
 "Type mappings from <literal>java.util.Locale</literal>, <literal>java.util."
@@ -5383,17 +3716,15 @@
 "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&#x00f3;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:2647
-#, fuzzy, no-c-format
-msgid "class"
-msgstr "subclass"
+#. Tag: term
+#, no-c-format
+msgid "<literal>class</literal>"
+msgstr "<literal>class</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:2649
 #, no-c-format
 msgid ""
 "A type mapping from <literal>java.lang.Class</literal> to <literal>VARCHAR</"
@@ -5402,64 +3733,56 @@
 msgstr ""
 "Un mapeo de tipo <literal>java.lang.Class</literal> a <literal>VARCHAR</"
 "literal> (o <literal>VARCHAR2</literal> de Oracle). Una <literal>Class</"
-"literal> es mapeara a su nombre completamente cualificado."
+"literal> es mapeada a su nombre completamente calificado."
 
-#. Tag: literal
-#: basic_mapping.xml:2657
+#. Tag: term
 #, no-c-format
-msgid "binary"
-msgstr "binary"
+msgid "<literal>binary</literal>"
+msgstr "<literal>binary</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:2659
 #, no-c-format
 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:2665
+#. Tag: term
 #, no-c-format
-msgid "text"
-msgstr "text"
+msgid "<literal>text</literal>"
+msgstr "<literal>text</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:2667
 #, no-c-format
 msgid ""
 "Maps long Java strings to a SQL <literal>CLOB</literal> or <literal>TEXT</"
 "literal> type."
 msgstr ""
-"Mapea cadenas largas Java al tipo SQL <literal>CLOB</literal> o "
+"Mapea cadenas largas de Java al tipo SQL <literal>CLOB</literal> o "
 "<literal>TEXT</literal>."
 
-#. Tag: literal
-#: basic_mapping.xml:2674
+#. Tag: term
 #, no-c-format
-msgid "serializable"
-msgstr "serializable"
+msgid "<literal>serializable</literal>"
+msgstr "<literal>serializable</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:2676
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Maps serializable Java types to an appropriate SQL binary type. You can 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&#x00e1;s indicar el tipo <literal>serializable</literal> de Hibernate "
-"con el nombre de una clase o interface serializable Java que no sea por "
-"defecto un tipo b&#x00e1;sico."
+"Mapea tipos serializables Java a un tipo binario SQL apropiado. También "
+"puede indicar el tipo <literal>serializable</literal> de Hibernate con el "
+"nombre de una clase o interfaz serializable Java que no sea por defecto un "
+"tipo básico. "
 
-#. Tag: literal
-#: basic_mapping.xml:2685
+#. Tag: term
 #, no-c-format
-msgid "clob, blob"
-msgstr "clob, blob"
+msgid "<literal>clob, blob</literal>"
+msgstr "<literal>clob, blob</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:2687
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Type mappings for the JDBC classes <literal>java.sql.Clob</literal> and "
 "<literal>java.sql.Blob</literal>. These types can be inconvenient for some "
@@ -5468,23 +3791,21 @@
 msgstr ""
 "Mapeos de tipo para las clases JDBC <literal>java.sql.Clob</literal> y "
 "<literal>java.sql.Blob</literal>. Estos tipos pueden ser inconvenientes para "
-"algunas aplicaciones, pues el objeto blob o clob no puede ser reusado fuera "
-"de una transacci&#x00f3;n (Adem&#x00e1;s, el soporte del driver suele ser "
-"malo e inconsistente)."
+"algunas aplicaciones, pues el objeto blob o clob no pueden ser reusados "
+"fuera de una transacción. Además, el soporte del controlador suele ser malo "
+"e inconsistente."
 
-#. Tag: literal
-#: basic_mapping.xml:2697
+#. Tag: term
 #, no-c-format
 msgid ""
-"imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, "
-"imm_serializable, imm_binary"
+"<literal>imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, "
+"imm_serializable, imm_binary</literal>"
 msgstr ""
-"UNTRANSLATED! imm_date, imm_time, imm_timestamp, imm_calendar, "
-"imm_calendar_date, imm_serializable, imm_binary"
+"<literal>imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, "
+"imm_serializable, imm_binary</literal>"
 
 #. Tag: para
-#: basic_mapping.xml:2701
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Type mappings for what are considered mutable Java types. This is where "
 "Hibernate makes certain optimizations appropriate only for immutable Java "
@@ -5494,30 +3815,28 @@
 "have that change made persistent, the application must assign a new, "
 "nonidentical, object to the property."
 msgstr ""
-"Type mappings for what are usually considered mutable Java types, where "
-"Hibernate makes certain optimizations appropriate only for immutable Java "
-"types, and the application treats the object as immutable. For example, you "
-"should not call <literal>Date.setTime()</literal> for an instance mapped as "
-"<literal>imm_timestamp</literal>. To change the value of the property, and "
-"have that change made persistent, the application must assign a new "
-"(nonidentical) object to the property."
+"Los mapeos de tipo para lo que usualmente se considera tipos Java mutables. "
+"Aquí es donde Hibernate realiza ciertas optimizaciones apropiadas sólamente "
+"para tipos Java inmutables y la aplicación trata el objeto como inmutable. "
+"Por ejemplo, no debe llamar <literal>Date.setTime()</literal> para una "
+"instancia mapeada como <literal>imm_timestamp</literal>. Para cambiar el "
+"valor de la propiedad y hacer que ese cambio sea persistente, la aplicación "
+"tiene que asignar un objeto nuevo, no idéntico, a la propiedad."
 
 #. Tag: para
-#: basic_mapping.xml:2716
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Unique identifiers of entities and collections can be of any basic type "
 "except <literal>binary</literal>, <literal>blob</literal> and <literal>clob</"
 "literal>. Composite identifiers are also allowed. See below for more "
 "information."
 msgstr ""
-"Los identificadores &#x00fa;nicos de entidades y collecciones pueden ser de "
-"cualquier tipo b&#x00e1;sico excepto <literal>binary</literal>, "
-"<literal>blob</literal> y <literal>clob</literal>. (Los identificadores "
-"compuestos est&#x00e1;n tambi&#x00e9;n permitidos, ver debajo.)"
+"Los identificadores únicos de entidades y colecciones pueden ser de "
+"cualquier tipo básico excepto <literal>binary</literal>, <literal>blob</"
+"literal> y <literal>clob</literal>. Los identificadores compuestos también "
+"están permitidos, a continuación encontrará mayor información."
 
 #. Tag: para
-#: basic_mapping.xml:2722
 #, no-c-format
 msgid ""
 "The basic value types have corresponding <literal>Type</literal> constants "
@@ -5525,20 +3844,18 @@
 "<literal>Hibernate.STRING</literal> represents the <literal>string</literal> "
 "type."
 msgstr ""
-"Los tipos de valor b&#x00e1;sicos tienen sus constantes <literal>Type</"
-"literal> correspondientes definidas en <literal>org.hibernate.Hibernate</"
-"literal>. Por ejemplo, <literal>Hibernate.STRING</literal> representa el "
-"tipo <literal>string</literal>."
+"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:2731
 #, no-c-format
 msgid "Custom value types"
 msgstr "Tipos de valor personalizados"
 
 #. Tag: para
-#: basic_mapping.xml:2733
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is relatively easy for developers to create their own value types. For "
 "example, you might want to persist properties of type <literal>java.lang."
@@ -5550,20 +3867,19 @@
 "that is persisted to the columns <literal>FIRST_NAME</literal>, "
 "<literal>INITIAL</literal>, <literal>SURNAME</literal>."
 msgstr ""
-"Es relativamente f&#x00e1;cil para los desarrolladores crear sus propios "
-"tipos de valor. Por ejemplo, podr&#x00ed;as querer persistir propiedades del "
-"tipo <literal>java.lang.BigInteger</literal> a columnas <literal>VARCHAR</"
-"literal>. Hibernate no provee un tipo de f&#x00e1;brica para esto. Pero los "
-"tipos personalizados no est&#x00e1;n limitados a mapear una propiedad (o "
-"elemento de colecci&#x00f3;n) a una sola columna de tabla. As&#x00ed;, por "
-"ejemplo, podr&#x00ed;as tener una propiedad Java <literal>getName()</"
-"literal>/<literal>setName()</literal> de tipo <literal>java.lang.String</"
-"literal> que fuera persistida a las columnas <literal>FIRST_NAME</literal>, "
-"<literal>INITIAL</literal>, <literal>SURNAME</literal>."
+"Es relativamente fácil para los desarrolladores crear sus propios tipos de "
+"valor. Por ejemplo, puede que quiera persistir propiedades del tipo "
+"<literal>java.lang.BigInteger</literal> a columnas <literal>VARCHAR</"
+"literal>. Hibernate no provee un tipo incorporado para esto. 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ía tener una "
+"propiedad Java <literal>getName()</literal>/<literal>setName()</literal> de "
+"tipo <literal>java.lang.String</literal> que es persistida a las columnas "
+"<literal>FIRST_NAME</literal>, <literal>INITIAL</literal>, <literal>SURNAME</"
+"literal>."
 
 #. Tag: para
-#: basic_mapping.xml:2744
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "To implement a custom type, implement either <literal>org.hibernate."
 "UserType</literal> or <literal>org.hibernate.CompositeUserType</literal> and "
@@ -5571,40 +3887,22 @@
 "<literal>org.hibernate.test.DoubleStringType</literal> to see the kind of "
 "things that are possible."
 msgstr ""
-"Para implementar un tipo personalizado, implementa bien <literal>org."
-"hibernate.UserType</literal> o <literal>org.hibernate.CompositeUserType</"
-"literal> y declara las propiedades usando el nombre de clase completamente "
-"cualificado del tipo. Revisa <literal>org.hibernate.test.DoubleStringType</"
-"literal> para ver qu&#x00e9; tipo de cosas son posibles."
+"Para implementar un tipo personalizado, implemente <literal>org.hibernate."
+"UserType</literal> o <literal>org.hibernate.CompositeUserType</literal> y "
+"declare las propiedades utilizando el nombre de clase completamente "
+"calificado del tipo. Revise <literal>org.hibernate.test.DoubleStringType</"
+"literal> para ver qué clases de cosas son posibles. "
 
-#. Tag: programlisting
-#: basic_mapping.xml:2752
-#, no-c-format
-msgid ""
-"<![CDATA[<property name=\"twoStrings\" type=\"org.hibernate.test."
-"DoubleStringType\">\n"
-"    <column name=\"first_string\"/>\n"
-"    <column name=\"second_string\"/>\n"
-"</property>]]>"
-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:2754
 #, no-c-format
 msgid ""
 "Notice the use of <literal>&lt;column&gt;</literal> tags to map a property "
 "to multiple columns."
 msgstr ""
-"Observa el uso de etiquetas <literal>&lt;column&gt;</literal> para mapear "
-"una propiedad a m&#x00fa;ltiples columnas."
+"Observe el uso de etiquetas <literal>&lt;column&gt;</literal> para mapear "
+"una propiedad a múltiples columnas."
 
 #. Tag: para
-#: basic_mapping.xml:2759
 #, no-c-format
 msgid ""
 "The <literal>CompositeUserType</literal>, <literal>EnhancedUserType</"
@@ -5614,12 +3912,11 @@
 msgstr ""
 "Las interfaces <literal>CompositeUserType</literal>, "
 "<literal>EnhancedUserType</literal>, <literal>UserCollectionType</literal>, "
-"y <literal>UserVersionType</literal> proveen soporte a usos m&#x00e1;s "
+"y <literal>UserVersionType</literal> brindan soporte para usos más "
 "especializados."
 
 #. Tag: para
-#: basic_mapping.xml:2765
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can even supply parameters to a <literal>UserType</literal> in the "
 "mapping file. To do this, your <literal>UserType</literal> must implement "
@@ -5627,43 +3924,26 @@
 "To supply parameters to your custom type, you can use the <literal>&lt;"
 "type&gt;</literal> element in your mapping files."
 msgstr ""
-"Puedes incluso proveer de par&#x00e1;metros a un <literal>UserType</literal> "
-"en el fichero de mapeo. Para hacer esto, tu <literal>UserType</literal> debe "
-"implementar la interface <literal>org.hibernate.usertype.ParameterizedType</"
-"literal>. Para proveer de par&#x00e1;metros a tu tipo personalizado, puedes "
-"usar el elemento <literal>&lt;type&gt;</literal> en tus ficheros de mapeo."
+"Incluso usted puede proporcionar parámetros a un <literal>UserType</literal> "
+"en el archivo de mapeo. Para hacer esto, su <literal>UserType</literal> "
+"tiene que implementar la interfaz <literal>org.hibernate.usertype."
+"ParameterizedType</literal>. Para brindar parámetros a su tipo "
+"personalizado, puede utilizar el elemento <literal>&lt;type&gt;</literal> en "
+"sus archivos de mapeo. "
 
-#. Tag: programlisting
-#: basic_mapping.xml:2773
-#, no-c-format
-msgid ""
-"<![CDATA[<property name=\"priority\">\n"
-"    <type name=\"com.mycompany.usertypes.DefaultValueIntegerType\">\n"
-"        <param name=\"default\">0</param>\n"
-"    </type>\n"
-"</property>]]>"
-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:2775
 #, no-c-format
 msgid ""
 "The <literal>UserType</literal> can now retrieve the value for the parameter "
 "named <literal>default</literal> from the <literal>Properties</literal> "
 "object passed to it."
 msgstr ""
-"Ahora el <literal>UserType</literal> puede recuperar el valor del par&#x00e1;"
-"metro llamado <literal>default</literal> del objeto <literal>Properties</"
+"Ahora el <literal>UserType</literal> puede recuperar el valor del parámetro "
+"denominado <literal>default</literal> del objeto <literal>Properties</"
 "literal> que se le pasa."
 
 #. Tag: para
-#: basic_mapping.xml:2780
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you regularly use a certain <literal>UserType</literal>, it is useful to "
 "define a shorter name for it. You can do this using the <literal>&lt;"
@@ -5671,46 +3951,24 @@
 "can also contain a list of default parameter values if the type is "
 "parameterized."
 msgstr ""
-"Si usas cierto <literal>UserType</literal> muy frecuentemente, puede ser "
-"&#x00fa;til definir un nombre corto para &#x00e9;. Puedes hacer esto usando "
+"Si utiliza cierto <literal>UserType</literal> muy frecuentemente, puede ser "
+"útil el definir un nombre más corto para este. Puede hacer esto utilizando "
 "el elemento <literal>&lt;typedef&gt;</literal>. Los typedefs asignan un "
-"nombre a un tipo personalizado, y pueden tambi&#x00e9;n contener una lista "
-"de valores por defecto de par&#x00e1;metros si el tipo fuese parametrizado."
+"nombre a un tipo personalizado y también pueden contener una lista de "
+"valores predeterminados de parámetros si el tipo se encuentra parametrizado."
 
-#. Tag: programlisting
-#: basic_mapping.xml:2787
-#, no-c-format
-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:2789
-#, no-c-format
-msgid "<![CDATA[<property name=\"priority\" type=\"default_zero\"/>]]>"
-msgstr "<![CDATA[<property name=\"priority\" type=\"default_zero\"/>]]>"
-
 #. Tag: para
-#: basic_mapping.xml:2791
 #, no-c-format
 msgid ""
 "It is also possible to override the parameters supplied in a typedef on a "
 "case-by-case basis by using type parameters on the property mapping."
 msgstr ""
-"tambi&#x00e9;n es posible sobrescribir los par&#x00e1;metros provistos en un "
-"typedef sobre una base caso por caso usando par&#x00e1;metros de tipo en el "
-"mapeo de la propiedad."
+"También es posible sobrescribir los parámetros provistos en un typedef sobre "
+"una base de caso por caso utilizando parámetros de tipo en el mapeo de la "
+"propiedad."
 
 #. Tag: para
-#: basic_mapping.xml:2796
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Even though Hibernate's rich range of built-in types and support for "
 "components means you will rarely need to use a custom type, it is considered "
@@ -5721,26 +3979,24 @@
 "is abstraction. With a custom type, your mapping documents would be "
 "protected against changes to the way monetary values are represented."
 msgstr ""
-"Aunque el rico espectro de tipos prefabricados y soporte de componentes de "
-"Hibernate significa que raramente <emphasis>necesites</emphasis> usar un "
-"tipo personalizado; sin embargo se considera una buena forma usar tipos "
-"personalizados para clases (no-entidades) que aparezcan frecuentemente en tu "
-"aplicaci&#x00f3;n. Por ejemplo, una clase <literal>MonetaryAmount</literal> "
-"es una buena candidata para un <literal>CompositeUserType</literal>, incluso "
-"cuando puede ser facilmente mapeada como un componente. Un motivo para esto "
-"es la abstracci&#x00f3;n. Con un tipo personalizado, tus documentos de mapeo "
-"estar&#x00e1; impermeabilizados contra posibles cambios futuros en la forma "
-"de representar valores monetarios."
+"Aunque el amplio espectro de tipos incorporados y de soporte para los "
+"componentes de Hibernate significa que necesitará usar un tipo personalizado "
+"muy raramente, se considera como una buena práctica el utilizar tipos "
+"personalizados para clases no-entidades que aparezcan frecuentemente en su "
+"aplicación. Por ejemplo, una clase <literal>MonetaryAmount</literal> es una "
+"buena candidata para un <literal>CompositeUserType</literal>, incluso cuando "
+"puede ser fácilmente mapeada como un componente. Un razón para esto es la "
+"abstracción. Con un tipo personalizado, sus documentos de mapeo estarán "
+"protegidos contra posibles cambios futuros en la forma de representar "
+"valores monetarios."
 
 #. Tag: title
-#: basic_mapping.xml:2812
 #, no-c-format
 msgid "Mapping a class more than once"
-msgstr "Mapeando una clase m&#x00e1;s de una vez"
+msgstr "Mapeo de una clase más de una vez"
 
 #. Tag: para
-#: basic_mapping.xml:2813
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is possible to provide more than one mapping for a particular persistent "
 "class. In this case, you must specify an <emphasis>entity name</emphasis> to "
@@ -5749,73 +4005,30 @@
 "entity name when working with persistent objects, when writing queries, or "
 "when mapping associations to the named entity."
 msgstr ""
-"Es posible proveer m&#x00e1;s de un mapeo para una clase persistente en "
-"particular. En este caso debes especificar un <emphasis>nombre de entidad</"
-"emphasis> para desambiguar entr las instancias de las dos entidades "
-"mapeadas. (Por defectom, el nombre de la entidad es el mismo que el nombre "
-"de la clase.) Hibernate te deja especificar el nombre de entidad al trabajar "
-"con objetos persistentes, al escribir consultas, o al mapear asociaciones a "
-"la entidad mencionada."
+"Es posible proporcionar más de un mapeo para una clase persistente en "
+"particular. En este caso usted debe especificar un <emphasis>nombre de "
+"entidad</emphasis> para aclarar entre las instancias de las dos entidades "
+"mapeadas. Por defecto, el nombre de la entidad es el mismo que el nombre de "
+"la clase. Hibernate le 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:2821
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"Contract\" table=\"Contracts\"\n"
-"        entity-name=\"CurrentContract\">\n"
-"    ...\n"
-"    <set name=\"history\" inverse=\"true\"\n"
-"            order-by=\"effectiveEndDate desc\">\n"
-"        <key column=\"currentContractId\"/>\n"
-"        <one-to-many entity-name=\"HistoricalContract\"/>\n"
-"    </set>\n"
-"</class>\n"
-"\n"
-"<class name=\"Contract\" table=\"ContractHistory\"\n"
-"        entity-name=\"HistoricalContract\">\n"
-"    ...\n"
-"    <many-to-one name=\"currentContract\"\n"
-"            column=\"currentContractId\"\n"
-"            entity-name=\"CurrentContract\"/>\n"
-"</class>]]>"
-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:2823
-#, fuzzy, no-c-format
-msgid ""
 "Associations are now specified using <literal>entity-name</literal> instead "
 "of <literal>class</literal>."
 msgstr ""
-"Observa c&#x00f3;mo las asociaciones ahora se especifican usando "
-"<literal>entity-name</literal> en vez de <literal>class</literal>."
+"Las asociaciones ahora se especifican utilizando <literal>entity-name</"
+"literal> en lugar de <literal>class</literal>."
 
 #. Tag: title
-#: basic_mapping.xml:2831
 #, no-c-format
 msgid "SQL quoted identifiers"
-msgstr "identificadores SQL encomillados"
+msgstr "Identificadores SQL en comillas"
 
 #. Tag: para
-#: basic_mapping.xml:2832
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can force Hibernate to quote an identifier in the generated SQL by "
 "enclosing the table or column name in backticks in the mapping document. "
@@ -5823,55 +4036,33 @@
 "literal>. This is usually double quotes, but the SQL Server uses brackets "
 "and MySQL uses backticks."
 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&#x00e1; el estilo de encomillado para el "
-"<literal>Dialect</literal> SQL (usualmente comillas dobles, excepto "
-"corchetes para SQL Server y backsticks para MySQL)."
+"Puede forzar a Hibernate a que utilice comillas con un identificador en el "
+"SQL generado encerrando el nombre de tabla o de columna entre comillas "
+"sencillas en el documento de mapeo. Hibernate utilizará el estilo de "
+"comillas para el <literal>Dialect</literal> SQL. Usualmente comillas dobles, "
+"a excepción de corchetes para SQL Server y comillas sencillas para MySQL."
 
-#. Tag: programlisting
-#: basic_mapping.xml:2839
-#, no-c-format
-msgid ""
-"<![CDATA[<class name=\"LineItem\" table=\"`Line Item`\">\n"
-"    <id name=\"id\" column=\"`Item Id`\"/><generator class=\"assigned\"/></"
-"id>\n"
-"    <property name=\"itemNumber\" column=\"`Item #`\"/>\n"
-"    ...\n"
-"</class>]]>"
-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:2845
 #, no-c-format
 msgid "Metadata alternatives"
 msgstr "Alternativas de metadatos"
 
 #. Tag: para
-#: basic_mapping.xml:2847
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "XML does not suit all users so there are some alternative ways to define O/R "
 "mapping metadata in Hibernate."
 msgstr ""
-"XML no es para todos, as&#x00e1; que hay algunas formas alternativas de "
+"XML no es para todo el mundo, así que hay algunas formas opcionales de "
 "definir metadatos de mapeo O/R en Hibernate."
 
 #. Tag: title
-#: basic_mapping.xml:2852
 #, no-c-format
 msgid "Using XDoclet markup"
-msgstr "Usando marcado de XDoclet"
+msgstr "Utilización de marcado de XDoclet"
 
 #. Tag: para
-#: basic_mapping.xml:2854
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Many Hibernate users prefer to embed mapping information directly in "
 "sourcecode using XDoclet <literal>@hibernate.tags</literal>. We do not cover "
@@ -5879,244 +4070,26 @@
 "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&#x00f3;n de "
-"mapeo directamente en el c&#x00f3;digo fuente usando las <literal>@hibernate."
-"etiquetas</literal> XDoclet. No cubriremos este enfoque en este documento, "
-"pues estrictamente es considerado parte de XDoclet. Sin embargo, "
-"inclu&#x00ed;mos el siguiente ejemplo de la clase <literal>Cat</literal> con "
-"mapeos XDoclet."
+"Muchos usuarios de Hibernate prefieren incluir la información de mapeo "
+"directamente en el código fuente usando las <literal>@hibernate.tags</"
+"literal> XDoclet. No abordaremos este enfoque en este manual de referencia "
+"ya que se considera como parte de XDoclet. Sin embargo, incluímos el "
+"siguiente ejemplo de la clase <literal>Cat</literal> con los mapeos XDoclet:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:2861
-#, no-c-format
-msgid ""
-"<![CDATA[package eg;\n"
-"import java.util.Set;\n"
-"import java.util.Date;\n"
-"\n"
-"/**\n"
-" * @hibernate.class\n"
-" *  table=\"CATS\"\n"
-" */\n"
-"public class Cat {\n"
-"    private Long id; // identifier\n"
-"    private Date birthdate;\n"
-"    private Cat mother;\n"
-"    private Set kittens\n"
-"    private Color color;\n"
-"    private char sex;\n"
-"    private float weight;\n"
-"\n"
-"    /*\n"
-"     * @hibernate.id\n"
-"     *  generator-class=\"native\"\n"
-"     *  column=\"CAT_ID\"\n"
-"     */\n"
-"    public Long getId() {\n"
-"        return id;\n"
-"    }\n"
-"    private void setId(Long id) {\n"
-"        this.id=id;\n"
-"    }\n"
-"\n"
-"    /**\n"
-"     * @hibernate.many-to-one\n"
-"     *  column=\"PARENT_ID\"\n"
-"     */\n"
-"    public Cat getMother() {\n"
-"        return mother;\n"
-"    }\n"
-"    void setMother(Cat mother) {\n"
-"        this.mother = mother;\n"
-"    }\n"
-"\n"
-"    /**\n"
-"     * @hibernate.property\n"
-"     *  column=\"BIRTH_DATE\"\n"
-"     */\n"
-"    public Date getBirthdate() {\n"
-"        return birthdate;\n"
-"    }\n"
-"    void setBirthdate(Date date) {\n"
-"        birthdate = date;\n"
-"    }\n"
-"    /**\n"
-"     * @hibernate.property\n"
-"     *  column=\"WEIGHT\"\n"
-"     */\n"
-"    public float getWeight() {\n"
-"        return weight;\n"
-"    }\n"
-"    void setWeight(float weight) {\n"
-"        this.weight = weight;\n"
-"    }\n"
-"\n"
-"    /**\n"
-"     * @hibernate.property\n"
-"     *  column=\"COLOR\"\n"
-"     *  not-null=\"true\"\n"
-"     */\n"
-"    public Color getColor() {\n"
-"        return color;\n"
-"    }\n"
-"    void setColor(Color color) {\n"
-"        this.color = color;\n"
-"    }\n"
-"    /**\n"
-"     * @hibernate.set\n"
-"     *  inverse=\"true\"\n"
-"     *  order-by=\"BIRTH_DATE\"\n"
-"     * @hibernate.collection-key\n"
-"     *  column=\"PARENT_ID\"\n"
-"     * @hibernate.collection-one-to-many\n"
-"     */\n"
-"    public Set getKittens() {\n"
-"        return kittens;\n"
-"    }\n"
-"    void setKittens(Set kittens) {\n"
-"        this.kittens = kittens;\n"
-"    }\n"
-"    // addKitten not needed by Hibernate\n"
-"    public void addKitten(Cat kitten) {\n"
-"        kittens.add(kitten);\n"
-"    }\n"
-"\n"
-"    /**\n"
-"     * @hibernate.property\n"
-"     *  column=\"SEX\"\n"
-"     *  not-null=\"true\"\n"
-"     *  update=\"false\"\n"
-"     */\n"
-"    public char getSex() {\n"
-"        return sex;\n"
-"    }\n"
-"    void setSex(char sex) {\n"
-"        this.sex=sex;\n"
-"    }\n"
-"}]]>"
-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:2863
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "See the Hibernate website for more examples of XDoclet and Hibernate."
 msgstr ""
-"Para m&#x00e1;s ejemplos de XDoclet e Hibernate ver en el sitio web de "
-"Hibernate."
+"Para obtener más ejemplos de XDoclet e Hibernate consulte el sitio web de "
+"Hibernate. "
 
 #. Tag: title
-#: basic_mapping.xml:2870
 #, no-c-format
 msgid "Using JDK 5.0 Annotations"
-msgstr "Usando anotaciones JDK 5.0"
+msgstr "Utlización de Anotaciones JDK 5.0"
 
 #. Tag: para
-#: basic_mapping.xml:2872
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "JDK 5.0 introduced XDoclet-style annotations at the language level that are "
 "type-safe and checked at compile time. This mechanism is more powerful than "
@@ -6129,98 +4102,43 @@
 "<emphasis>Hibernate Annotations</emphasis> package as a separate download. "
 "Both EJB3 (JSR-220) and Hibernate3 metadata is supported."
 msgstr ""
-"El JDK 5.0 introdujo anotaciones del estilo XDoclet a nivel del lenguaje, "
-"con chequeo seguro de tipos en tiempo de compilaci&#x00f3;n. Este mecanismo "
-"es m&#x00e1;s potente y que las anotaciones XDoclet, y mejor soportado por "
-"herramientas e IDEs. IntelliJ IDEA, por ejemplo, soporta auto-"
-"compleci&#x00f3;n y resaltado de sintaxis de anotaciones JDK 5.0. La nueva "
-"revisi&#x00f3;n de la especificaci&#x00f3;n de EJB (JSR-220) usa anotaciones "
-"JDK 5.0 como el mecanismo primario de metadatos para beans de entidad. "
-"Hibernate3 implementa el <literal>EntityManager</literal> del JSR-220 (la "
-"API de persistencia), y el soporte para metadatos de mapeo est&#x00e1; "
-"disponible v&#x00ed;a el paquete <emphasis>Hibernate Annotations</emphasis>, "
-"como una descarga por separado. Tanto metadatos de EJB3 (JSR-220) como de "
-"Hibernate3 est&#x00e1;n soportados."
+"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 que las anotaciones XDoclet y es mejor soportado por herramientas e "
+"IDEs. IntelliJ IDEA, por ejemplo, soporta auto-completación además de "
+"resalte de sintaxis de las anotaciones JDK 5.0. La nueva revisión de la "
+"especificación de EJB (JSR-220) utiliza anotaciones JDK 5.0 como el "
+"mecanismo principal de metadatos para beans de entidad. Hibernate3 "
+"implementa el <literal>EntityManager</literal> del JSR-220 (la API de "
+"persistencia). El soporte para metadatos de mapeo está disponible por medio "
+"del paquete <emphasis>Anotaciones de Hibernate</emphasis>, como una descarga "
+"separada. Tanto los metadatos de EJB3 (JSR-220) como de Hibernate3 se "
+"encuentran soportados."
 
 #. Tag: para
-#: basic_mapping.xml:2883
 #, no-c-format
 msgid "This is an example of a POJO class annotated as an EJB entity bean:"
 msgstr ""
 "Este es un ejemplo de una clase POJO anotada como un bean de entidad EJB:"
 
-#. Tag: programlisting
-#: basic_mapping.xml:2887
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[@Entity(access = AccessType.FIELD)\n"
-"public class Customer implements Serializable {\n"
-"\n"
-"    @Id;\n"
-"    Long id;\n"
-"\n"
-"    String firstName;\n"
-"    String lastName;\n"
-"    Date birthday;\n"
-"\n"
-"    @Transient\n"
-"    Integer age;\n"
-"\n"
-"    @Embedded\n"
-"    private Address homeAddress;\n"
-"\n"
-"    @OneToMany(cascade=CascadeType.ALL)\n"
-"    @JoinColumn(name=\"CUSTOMER_ID\")\n"
-"    Set<Order> orders;\n"
-"\n"
-"    // Getter/setter and business methods\n"
-"}]]>"
-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:2891
-#, fuzzy, no-c-format
-msgid ""
 "Support for JDK 5.0 Annotations (and JSR-220) is currently under "
 "development. 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&#x00ed;a un trabajo en progreso y no completado. Por favor, para "
-"m&#x00e1;s detalles refi&#x00e9;rete al modulo de Anotaciones de Hibernate."
+"El soporte para las anotaciones JDK 5.0 (y JSR-220) todavía se encuentra en "
+"progreso. Para obtener más información consulte al módulo de anotaciones de "
+"Hibernate."
 
 #. Tag: title
-#: basic_mapping.xml:2901
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Generated properties"
-msgstr "UNTRANSLATED! Generated Properties"
+msgstr "Propiedades generadas"
 
 #. Tag: para
-#: basic_mapping.xml:2902
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Generated properties are properties that have their values generated by the "
 "database. Typically, Hibernate applications needed to <literal>refresh</"
@@ -6230,78 +4148,71 @@
 "an SQL INSERT or UPDATE for an entity that has defined 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."
+"Las propiedades generadas son propiedades cuyos valores son generados por la "
+"base de datos. Usualmente, las aplicaciones de Hibernate necesitaban "
+"<literal>refrescar</literal> los objetos que contenian cualquier propiedad "
+"para la cual la base de datos generará valores. Sin embargo, el marcar "
+"propiedades como generadas deja que la aplicación delegue esta "
+"responsabilidad a Hibernate. Cuando Hibernate emite un INSERT or UPDATE SQL "
+"para una entidad la cual ha definido propiedades generadas, inmediatamente "
+"emite un select para recuperar los valores generados."
 
 #. Tag: para
-#: basic_mapping.xml:2911
 #, fuzzy, no-c-format
 msgid ""
 "Properties marked as generated must additionally be non-insertable and non-"
-"updateable. Only <link linkend=\"mapping-declaration-version\">versions</"
-"link>, <link linkend=\"mapping-declaration-timestamp\">timestamps</link>, "
-"and <link linkend=\"mapping-declaration-property\">simple properties</link>, "
-"can be marked as generated."
+"updateable. Only versions (<xref linkend=\"mapping-declaration-version\" /"
+">), timestamps (<xref linkend=\"mapping-declaration-timestamp\" />), and "
+"simple properties (<xref linkend=\"mapping-declaration-property\" />), 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."
+"Las propiedades marcadas como generadas tienen que ser además no insertables "
+"y no actualizables. Sólamente las <xref linkend=\"mapping-declaration-version"
+"\" />, <xref linkend=\"mapping-declaration-timestamp\" /> y <xref linkend="
+"\"mapping-declaration-property\" /> se pueden marcar como generadas."
 
 #. Tag: para
-#: basic_mapping.xml:2918
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>never</literal> (the default): 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."
+"<literal>never</literal> (por defecto): el valor dado de la propiedad no es "
+"generado dentro de la base de datos."
 
 #. Tag: para
-#: basic_mapping.xml:2922
 #, fuzzy, no-c-format
 msgid ""
 "<literal>insert</literal>: the given property value is generated on insert, "
 "but is not regenerated on subsequent updates. Properties like created-date "
-"fall into this category. Even though <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."
+"fall into this category. Even though version (<xref linkend=\"mapping-"
+"declaration-version\" />) and timestamp (<xref linkend=\"mapping-declaration-"
+"timestamp\" />) properties can be marked as generated, this option is not "
+"available."
 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..."
+"<literal>insert</literal>: el valor dado de la propiedad es generado en "
+"insert, pero no es regenerado en actualizaciones posteriores. Las "
+"propiedades como fecha-creada (created-date) se encuentran dentro de esta "
+"categoría. Aunque las propiedades <xref linkend=\"mapping-declaration-version"
+"\" /> y <xref linkend=\"mapping-declaration-timestamp\" /> se pueden marcar "
+"como generadas, esta opción no se encuentra disponible."
 
 #. Tag: para
-#: basic_mapping.xml:2930
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>always</literal>: 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."
+"<literal>always</literal>: el valor de la propiedad es generado tanto en "
+"insert como en update."
 
 #. Tag: title
-#: basic_mapping.xml:2937
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Auxiliary database objects"
-msgstr "UNTRANSLATED! Auxiliary Database Objects"
+msgstr "Objetos de bases de datos auxiliares"
 
 #. Tag: para
-#: basic_mapping.xml:2938
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Auxiliary database objects allow for the CREATE and DROP of arbitrary "
 "database objects. In conjunction with Hibernate's schema evolution tools, "
@@ -6312,154 +4223,43 @@
 "example, 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..."
+"Los objetos de bases de datos auxiliares permiten la creación - CREATE - y "
+"eliminación - DROP - de objetos de bases de datos arbitrarios. Junto con las "
+"herramientas de evolución del esquema de Hibernate, tienen la habilidad de "
+"definir de manera completa el esquema de un usuario dentro de los archivos "
+"de mapeo de Hibernate. Aunque están diseñados específicamente para crear y "
+"eliminar cosas como disparadores - triggers- o procedimientos almacenados, "
+"realmente cualquier comando SQL se puede ejecutar por medio de un método "
+"<literal>java.sql.Statement.execute()</literal> aquí es válido (por ejemplo, "
+"ALTERs, INSERTS, etc). Básicamente, hay dos modos para definir objetos de "
+"bases de datos auxiliares:"
 
 #. Tag: para
-#: basic_mapping.xml:2947
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The first mode is to explicitly list the CREATE and DROP commands in the "
 "mapping file:"
 msgstr ""
-"The first mode is to explicitly list the CREATE and DROP commands out in the "
-"mapping file:"
+"El primer modo es para numerar explícitamente los comandos CREATE y DROP en "
+"el archivo de mapeo: "
 
-#. Tag: programlisting
-#: basic_mapping.xml:2951
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<hibernate-mapping>\n"
-"    ...\n"
-"    <database-object>\n"
-"        <create>CREATE TRIGGER my_trigger ...</create>\n"
-"        <drop>DROP TRIGGER my_trigger</drop>\n"
-"    </database-object>\n"
-"</hibernate-mapping>]]>"
-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:2952
-#, fuzzy, no-c-format
-msgid ""
 "The second mode is to supply a custom class that constructs 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."
+"El segundo modo es para proporcionar una clase personalizada que construye "
+"los comandos CREATE y DROP. Esta clase personalizada tiene que implementar "
+"la interfaz <literal>org.hibernate.mapping.AuxiliaryDatabaseObject</literal>."
 
-#. Tag: programlisting
-#: basic_mapping.xml:2957
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<hibernate-mapping>\n"
-"    ...\n"
-"    <database-object>\n"
-"        <definition class=\"MyTriggerDefinition\"/>\n"
-"    </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:2958
-#, fuzzy, no-c-format
-msgid ""
 "Additionally, these database objects can be optionally scoped so 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:2962
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[<hibernate-mapping>\n"
-"    ...\n"
-"    <database-object>\n"
-"        <definition class=\"MyTriggerDefinition\"/>\n"
-"        <dialect-scope name=\"org.hibernate.dialect.Oracle9iDialect\"/>\n"
-"        <dialect-scope name=\"org.hibernate.dialect.Oracle10gDialect\"/>\n"
-"    </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 "<title>class</title>"
-#~ msgstr "<title>class</title>"
-
-#~ msgid ""
-#~ "<literal>type</literal> (optional): A name that indicates the Hibernate "
-#~ "type."
-#~ msgstr ""
-#~ "<literal>type</literal> (opcional): Un nombre que indica el tipo "
-#~ "Hibernate."
-
-#~ 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&#x00e9; operaciones "
-#~ "deben ir en cascada desde el objeto padre al objeto asociado"
-
-#~ msgid ""
-#~ "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
-#~ "literal>): Specifies that updates to this property do or do not require "
-#~ "acquisition of the optimistic lock. In other words, dertermines if a "
-#~ "version increment should occur when this property is dirty."
-#~ msgstr ""
-#~ "<literal>optimistic-lock</literal> (opcional - por defecto a "
-#~ "<literal>true</literal>): Especifica que las actualizaciones a esta "
-#~ "propiedad requieran o no la obtenci&#x00f3;n del bloqueo optimista. En "
-#~ "otras palabras, determina si debe darse un incremento de versi&#x00f3;n "
-#~ "cuando esta propiedad est&#x00e9; desactualizada."
-
-#~ msgid ""
-#~ "To understand the behaviour of various Java language-level objects with "
-#~ "respect to the persistence service, we need to classify them into two "
-#~ "groups:"
-#~ msgstr ""
-#~ "Para entender el comportamiento de varios objetos a nivel de lenguaje "
-#~ "Java con respecto al servicio de persistencia, necesitamos clasificarlos "
-#~ "en dos grupos:"
-
-#~ msgid "<literal>class</literal>"
-#~ msgstr "<literal>class</literal>"
-
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+"Adicionalmente, estos objetos de la base de datos se pueden incluir de "
+"manera opcional de forma que aplique sólamente cuando se utilicen ciertos "
+"dialectos. "

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

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

Deleted: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/bibliography.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/bibliography.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/bibliography.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,68 +0,0 @@
-# Language es-ES translations for Branch package.
-# Automatically generated, 2009.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Branch 3_3\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-10 21:02+0000\n"
-"PO-Revision-Date: 2009-06-10 21:02+0000\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#. Tag: title
-#: bibliography.xml:27
-#, no-c-format
-msgid "References"
-msgstr ""
-
-#. Tag: title
-#: bibliography.xml:31
-#, no-c-format
-msgid "Patterns of Enterprise Application Architecture"
-msgstr ""
-
-#. Tag: author
-#: bibliography.xml:34
-#, no-c-format
-msgid "<firstname>Martin</firstname> <surname>Fowler</surname>"
-msgstr ""
-
-#. Tag: holder
-#: bibliography.xml:41
-#, no-c-format
-msgid "Pearson Education, Inc."
-msgstr ""
-
-#. Tag: title
-#: bibliography.xml:50
-#, no-c-format
-msgid "Java Persistence with Hibernate"
-msgstr ""
-
-#. Tag: subtitle
-#: bibliography.xml:51
-#, no-c-format
-msgid "Second Edition of Hibernate in Action"
-msgstr ""
-
-#. Tag: author
-#: bibliography.xml:57
-#, no-c-format
-msgid "<firstname>Christian</firstname> <surname>Bauer</surname>"
-msgstr ""
-
-#. Tag: author
-#: bibliography.xml:61
-#, no-c-format
-msgid "<firstname>Gavin</firstname> <surname>King</surname>"
-msgstr ""
-
-#. Tag: holder
-#: bibliography.xml:68
-#, no-c-format
-msgid "Manning Publications Co."
-msgstr ""

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/collection_mapping.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/collection_mapping.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/collection_mapping.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,62 +1,50 @@
-#, fuzzy
+# translation of collection_mapping.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: collection_mapping\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-10 21:02+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2009-12-03T00:15:26\n"
+"PO-Revision-Date: 2010-01-07 09:44+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: collection_mapping.xml:29
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Collection mapping"
-msgstr "Mapeos de colecci&#x00f3;n"
+msgstr "Mapeos de colección "
 
 #. Tag: title
-#: collection_mapping.xml:32
 #, no-c-format
 msgid "Persistent collections"
 msgstr "Colecciones persistentes"
 
 #. Tag: para
-#: collection_mapping.xml:34
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate requires that persistent collection-valued fields be declared as "
 "an interface type. For example:"
 msgstr ""
-"Hibernate requiere que los campos valuados en colecci&#x00f3;n persistentes "
-"sean declarados como un tipo de interface, por ejemplo:"
+"Hibernate requiere que los campos valuados en colección persistente se "
+"declaren como un tipo de interfaz. Por ejemplo:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:39
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[public class Product {\n"
-"    private String serialNumber;\n"
-"    private Set parts = new HashSet();\n"
-"    \n"
-"    public Set getParts() { return parts; }\n"
-"    void setParts(Set parts) { this.parts = parts; }\n"
-"    public String getSerialNumber() { return serialNumber; }\n"
-"    void setSerialNumber(String sn) { serialNumber = sn; }\n"
-"}]]>"
-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:41
-#, fuzzy, no-c-format
-msgid ""
 "The actual interface might be <literal>java.util.Set</literal>, "
 "<literal>java.util.Collection</literal>, <literal>java.util.List</literal>, "
 "<literal>java.util.Map</literal>, <literal>java.util.SortedSet</literal>, "
@@ -64,17 +52,15 @@
 "like\" means you will have to write an implementation of <literal>org."
 "hibernate.usertype.UserCollectionType</literal>.)"
 msgstr ""
-"La interface real podr&#x00ed;a ser <literal>java.util.Set</literal>, "
-"<literal>java.util.Collection</literal>, <literal>java.util.List</literal>, "
-"<literal>java.util.Map</literal>, <literal>java.util.SortedSet</literal>, "
-"<literal>java.util.SortedMap</literal> o ... lo que te guste! (Donde \"lo "
-"que te guste\" significa que tendr&#x00e1;s que escribir una "
-"implementaci&#x00f3;n de <literal>org.hibernate.usertype.UserCollectionType</"
-"literal>.)"
+"La interfaz real puede 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 usted quiera (donde \"lo que usted quiera"
+"\" significa que tendrá que escribir una implementación de <literal>org."
+"hibernate.usertype.UserCollectionType</literal>)."
 
 #. Tag: para
-#: collection_mapping.xml:50
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Notice how the instance variable was initialized with an instance of "
 "<literal>HashSet</literal>. This is the best way to initialize collection "
@@ -84,43 +70,17 @@
 "an instance of Hibernate's own implementation of <literal>Set</literal>. Be "
 "aware of the following errors:"
 msgstr ""
-"Nota c&#x00f3;mo hemos inicializado la variable de instancia de "
-"<literal>HashSet</literal>. Esta es la mejor forma de inicializar "
-"propiedades valuadas en colecci&#x00f3;n de instancias reci&#x00e9;n "
-"instanciadas (no persistentes). Cuando haces persistente la instancia - "
-"llamando a <literal>persist()</literal>, por ejemplo - Hibernate realmente "
-"remplazar&#x00e1; el <literal>HashSet</literal> con una instancia de una "
-"implementaci&#x00f3;n de <literal>Set</literal> propia de Hibernate. Observa "
-"errores como este:"
+"Note cómo se inicializó la variable de instancia con una instancia de "
+"<literal>HashSet</literal>. Esta es la mejor forma de inicializar las "
+"propiedades valuadas en colección de instancias recién instanciadas (no "
+"persistentes). Cuando hace 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. Observe los siguientes errores:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:60
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[Cat cat = new DomesticCat();\n"
-"Cat kitten = new DomesticCat();\n"
-"....\n"
-"Set kittens = new HashSet();\n"
-"kittens.add(kitten);\n"
-"cat.setKittens(kittens);\n"
-"session.persist(cat);\n"
-"kittens = cat.getKittens(); // Okay, kittens collection is a Set\n"
-"(HashSet) cat.getKittens(); // Error!]]>"
-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:62
-#, fuzzy, no-c-format
-msgid ""
 "The persistent collections injected by Hibernate behave like "
 "<literal>HashMap</literal>, <literal>HashSet</literal>, <literal>TreeMap</"
 "literal>, <literal>TreeSet</literal> or <literal>ArrayList</literal>, "
@@ -129,11 +89,10 @@
 "Las colecciones persistentes inyectadas por Hibernate se comportan como "
 "<literal>HashMap</literal>, <literal>HashSet</literal>, <literal>TreeMap</"
 "literal>, <literal>TreeSet</literal> o <literal>ArrayList</literal>, "
-"dependiendo del tipo de interface."
+"dependiendo del tipo de interfaz. "
 
 #. Tag: para
-#: collection_mapping.xml:69
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Collections instances have the usual behavior of value types. They are "
 "automatically persisted when referenced by a persistent object and are "
@@ -144,85 +103,57 @@
 "properties do not support null value semantics. Hibernate does not "
 "distinguish between a null collection reference and an empty collection."
 msgstr ""
-"Las instancias de colecciones tienen el comportamiento usual de tipos de "
-"valor. Son autom&#x00e1;ticamente persistidas al ser referenciadas por un "
-"objeto persistente y autom&#x00e1;ticamente borradas al desreferenciarse. Si "
-"una colecci&#x00f3;n es pasada de un objeto persistente a otro, sus "
-"elementos ser&#x00ed;an movidos de una tabla a otra. Dos entidades pueden no "
-"compartir una referencia a la misma instancia de colecci&#x00f3;n. Debido al "
-"modelo relacional subyacente, las propiedades valuadas en colecci&#x00f3;n "
-"no soportan la sem&#x00e1;ntica de valor nulo. Hibernate no distingue entre "
-"una referencia de colecci&#x00f3;n nula y una colecci&#x00f3;n vac&#x00ed;a."
+"Las instancias de colecciones tienen el comportamiento usual de los tipos de "
+"valor. Son automáticamente persistidas al ser referenciadas por un objeto "
+"persistente y se borran automáticamente al desreferenciarse. Si una "
+"colección se pasa de un objeto persistente a otro, puede que sus elementos "
+"se muevan de una tabla a otra. Dos entidades no pueden 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:80
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Use persistent collections the same way you use ordinary Java collections. "
 "However, please ensure you understand the semantics of bidirectional "
 "associations (these are discussed later)."
 msgstr ""
-"No debes tener que preocuparte demasiado por esto. Usa las colecciones "
-"persistentes de la misma forma en que usas colecciones de Java ordinarias. "
-"S&#x00f3;lo aseg&#x00fa;rate que entiendes la sem&#x00e1;ntica de las "
-"asociaciones bidireccionales (discutida luego)."
+"Utilice las colecciones persistentes de la misma forma en que utiliza "
+"colecciones de Java ordinarias. Sin embargo, asegúrese de que entiende la "
+"semántica de las asociaciones bidireccionales (se discuten más adelante)."
 
 #. Tag: title
-#: collection_mapping.xml:89
 #, no-c-format
 msgid "Collection mappings"
-msgstr "Mapeos de colecci&#x00f3;n"
+msgstr "Mapeos de colección"
 
 #. Tag: para
-#: collection_mapping.xml:92
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "There are quite a range of mappings that can be generated for collections "
 "that cover many common relational models. We suggest you experiment with the "
 "schema generation tool so that you understand how various mapping "
 "declarations translate to database tables."
 msgstr ""
-"Hay absolutamente un rango de mapeos que pueden ser generados para "
-"colecciones, cubriendo muchos modelos relacionales comunes. Te sugerimos que "
-"experimentes con la herramienta de generaci&#x00f3;n de esquemas para "
-"obtener una idea de c&#x00f3;mo varias declaraciones de mapeo se traducen a "
-"tablas de base de datos."
+"Hay bastantes rangos de mapeos que se pueden generar para colecciones que "
+"cubren muchos modelos relacionales comúnes. Le recomendamos que experimente "
+"con la herramienta de generación de esquemas para comprender cómo se "
+"traducen varias declaraciones de mapeo a tablas de bases de datos."
 
 #. Tag: para
-#: collection_mapping.xml:99
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The Hibernate mapping element used for mapping a collection depends upon the "
 "type of interface. For example, a <literal>&lt;set&gt;</literal> element is "
 "used for mapping properties of type <literal>Set</literal>."
 msgstr ""
-"El elemento de mapeo de Hibernate usado para mapear una colecci&#x00f3;n "
-"depende del tipo de la interface. Por ejemplom un elemento <literal>&lt;"
-"set&gt;</literal> se usa para mapear propiedades de tipo <literal>Set</"
-"literal>."
+"El elemento de mapeo de Hibernate usado para mapear una colección depende "
+"del tipo de la interfaz. Por ejemplo, un elemento <literal>&lt;set&gt;</"
+"literal> se utiliza para mapear propiedades de tipo <literal>Set</literal>. "
 
-#. Tag: programlisting
-#: collection_mapping.xml:105
-#, no-c-format
-msgid ""
-"<![CDATA[<class name=\"Product\">\n"
-"    <id name=\"serialNumber\" column=\"productSerialNumber\"/>\n"
-"    <set name=\"parts\">\n"
-"        <key column=\"productSerialNumber\" not-null=\"true\"/>\n"
-"        <one-to-many class=\"Part\"/>\n"
-"    </set>\n"
-"</class>]]>"
-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:107
 #, no-c-format
 msgid ""
 "Apart from <literal>&lt;set&gt;</literal>, there is also <literal>&lt;"
@@ -231,93 +162,38 @@
 "array&gt;</literal> mapping elements. The <literal>&lt;map&gt;</literal> "
 "element is representative:"
 msgstr ""
-"Aparte de <literal>&lt;set&gt;</literal>, existen adem&#x00e1;s los "
-"elementos de mapeo <literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</"
-"literal>, <literal>&lt;bag&gt;</literal>, <literal>&lt;array&gt;</literal> y "
+"Aparte de <literal>&lt;set&gt;</literal>, existen además los elementos de "
+"mapeo <literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</literal>, "
+"<literal>&lt;bag&gt;</literal>, <literal>&lt;array&gt;</literal> y "
 "<literal>&lt;primitive-array&gt;</literal>. El elemento <literal>&lt;map&gt;"
 "</literal> es representativo:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:132
-#, no-c-format
-msgid ""
-"<![CDATA[<map\n"
-"    name=\"propertyName\"\n"
-"    table=\"table_name\"\n"
-"    schema=\"schema_name\"\n"
-"    lazy=\"true|extra|false\"\n"
-"    inverse=\"true|false\"\n"
-"    cascade=\"all|none|save-update|delete|all-delete-orphan|delete-orphan\"\n"
-"    sort=\"unsorted|natural|comparatorClass\"\n"
-"    order-by=\"column_name asc|desc\"\n"
-"    where=\"arbitrary sql where condition\"\n"
-"    fetch=\"join|select|subselect\"\n"
-"    batch-size=\"N\"\n"
-"    access=\"field|property|ClassName\"\n"
-"    optimistic-lock=\"true|false\"\n"
-"    mutable=\"true|false\"\n"
-"    node=\"element-name|.\"\n"
-"    embed-xml=\"true|false\"\n"
-">\n"
-"\n"
-"    <key .... />\n"
-"    <map-key .... />\n"
-"    <element .... />\n"
-"</map>]]>"
-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:135
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "<literal>name</literal>: the collection property name"
-msgstr "<literal>name</literal> el nombre de la propiedad de colecci&#x00f3;n"
+msgstr "<literal>name</literal>: el nombre de la propiedad de colección"
 
 #. Tag: para
-#: collection_mapping.xml:140
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>table</literal> (optional - defaults to property name): the name of "
 "the collection table. It is 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&#x00f3;n (no usado para asociaciones uno-a-"
-"muchos)"
+"<literal>table</literal> (opcional - por defecto es el nombre de la "
+"propiedad): el nombre de la tabla de colección. No se utiliza para "
+"asociaciones uno-a-muchos."
 
 #. Tag: para
-#: collection_mapping.xml:146
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>schema</literal> (optional): the name of a table schema to override "
 "the schema declared on the root element"
 msgstr ""
-"<literal>schema</literal> (opcional) el nombre de un esquema de tablas para "
-"sobrescribir el esquema declarado en el elemento ra&#x00ed;z"
+"<literal>schema</literal> (opcional): el nombre de un esquema de tablas para "
+"sobrescribir el esquema declarado en el elemento raíz"
 
 #. Tag: para
-#: collection_mapping.xml:152
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>lazy</literal> (optional - defaults to <literal>true</literal>): "
 "disables lazy fetching and specifies that the association is always eagerly "
@@ -325,144 +201,133 @@
 "operations do not initialize the collection. This is suitable for large "
 "collections."
 msgstr ""
-"<literal>lazy</literal> (opcional - por defecto a <literal>true</literal>) "
-"puede ser usado para deshabilitar la recuperaci&#x00f3;n perezosa y "
-"especificar que la asociaci&#x00f3;n es siempre recuperada tempranamente (no "
-"disponible para arrays)"
+"<literal>lazy</literal> (opcional - por defecto es <literal>true</literal>): "
+"deshabilita la recuperación perezosa y especifica que la asociación siempre "
+"es recuperada tempranamente. También se puede utilizar para activar una "
+"recuperación \"extra-perezoza\", en donde la mayoría de las operaciones no "
+"inicializan la colección. Esto es apropiado para colecciones grandes."
 
 #. Tag: para
-#: collection_mapping.xml:161
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>inverse</literal> (optional - defaults to <literal>false</"
 "literal>): marks this collection as the \"inverse\" end of a bidirectional "
 "association."
 msgstr ""
-"<literal>inverse</literal> (opcional - por defecto a <literal>false</"
-"literal>) marca esta colecci&#x00f3;n como el extremo \"inverso\" de una "
-"asociaci&#x00f3;n bidireccional."
+"<literal>inverse</literal> (opcional - por defecto es <literal>false</"
+"literal>): marca esta colección como el extremo \"inverso\" de una "
+"asociación bidireccional."
 
 #. Tag: para
-#: collection_mapping.xml:167
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>cascade</literal> (optional - defaults to <literal>none</literal>): "
 "enables operations to cascade to child entities."
 msgstr ""
-"<literal>cascade</literal> (opcional - por defecto a <literal>none</"
-"literal>) habilita operaciones en cascada a entidades hijas"
+"<literal>cascade</literal> (opcional - por defecto es <literal>none</"
+"literal>): habilita operaciones en cascada para entidades hijas."
 
 #. Tag: para
-#: collection_mapping.xml:173
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>sort</literal> (optional): specifies a sorted collection with "
 "<literal>natural</literal> sort order or a given comparator class."
 msgstr ""
-"<literal>sort</literal> (opcional) especifica una colecci&#x00f3;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:179
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>order-by</literal> (optional, JDK1.4 only): specifies 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&#x00f3;lo JDK1.4) especifica una "
-"columna de tabla (o columnas) que definen el orden de iteraci&#x00f3;n del "
-"<literal>Map</literal>, <literal>Set</literal> o bag, junto a un "
+"<literal>order-by</literal> (opcional, sólamente en 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 con un "
 "<literal>asc</literal> o <literal>desc</literal> opcional."
 
 #. Tag: para
-#: collection_mapping.xml:186
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>where</literal> (optional): specifies an arbitrary SQL "
 "<literal>WHERE</literal> condition that is used when retrieving or removing "
 "the collection. This is useful if the collection needs to contain only a "
 "subset of the available data."
 msgstr ""
-"<literal>where</literal> (opcional) especifica una condici&#x00f3;n "
-"<literal>WHERE</literal> de SQL arbitrario para ser usada al recuperar o "
-"quitar la colecci&#x00f3;n (&#x00fa;til si la colecci&#x00f3;n debe contener "
-"s&#x00f3;lo un subconjunto de los datos disponibles)"
+"<literal>where</literal> (opcional): especifica una condición "
+"<literal>WHERE</literal> de SQL arbitraria que se utiliza al recuperar o "
+"quitar la colección. Esto es útil si la colección debe contener sólamente un "
+"subconjunto de los datos disponibles."
 
 #. Tag: para
-#: collection_mapping.xml:193
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>fetch</literal> (optional, defaults to <literal>select</literal>): "
 "chooses 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&#x00f3;n por uni&#x00f3;n externa (outer-join), "
-"recuperar por selecci&#x00f3;n secuencial, y recuperaci&#x00f3;n por "
-"subselecci&#x00f3;n secuencial."
+"<literal>fetch</literal> (opcional, por defecto es <literal>select</"
+"literal>): Elige entre la recuperación por unión externa (outer-join), la "
+"recuperación por selección secuencial y la recuperación por subselección "
+"secuencial."
 
 #. Tag: para
-#: collection_mapping.xml:200
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>batch-size</literal> (optional, defaults to <literal>1</literal>): "
 "specifies 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&#x00f1;o de lote\" para la recuperar perezosamente "
-"instancias de esta colecci&#x00f3;n."
+"<literal>batch-size</literal> (opcional, por defecto es <literal>1</"
+"literal>): especifica un \"tamaño de lote\" para recuperar perezosamente "
+"instancias de esta colección."
 
 #. Tag: para
-#: collection_mapping.xml:206
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>access</literal> (optional - defaults to <literal>property</"
 "literal>): the strategy Hibernate uses for accessing the collection property "
 "value."
 msgstr ""
-"<literal>access</literal> (opcional - por defecto a <literal>property</"
-"literal>): La estrategia que debe usar Hibernate para acceder al valor de la "
-"propiedad."
+"<literal>access</literal> (opcional - por defecto es <literal>property</"
+"literal>): La estrategia que Hibernate utiliza para acceder al valor de la "
+"propiedad de colección."
 
 #. Tag: para
-#: collection_mapping.xml:212
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
 "literal>): specifies that changes to the state of the collection results in "
 "increments of the owning entity's version. For one-to-many associations you "
 "may want 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&#x00f3;n "
-"resultan en incrementos de versi&#x00f3;n de la entidad due&#x00f1;a. (Para "
-"asociaciones uno a muchos, frecuentemente es razonable deshabilitar esta "
-"opci&#x00f3;n.)"
+"<literal>optimistic-lock</literal> (opcional - por defecto es <literal>true</"
+"literal>): Especifica que los cambios de estado de la colección causan "
+"incrementos de la versión de la entidad dueña. Para asociaciones uno a "
+"muchos, es posible que quiera deshabilitar esta opción."
 
 #. Tag: para
-#: collection_mapping.xml:220
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>mutable</literal> (optional - defaults to <literal>true</literal>): "
 "a value of <literal>false</literal> specifies that the elements of the "
 "collection never change. This allows for minor performance optimization in "
 "some cases."
 msgstr ""
-"<literal>mutable</literal> (optional - defaults to <literal>true</literal>): "
-"A value of <literal>false</literal> specifies that the elements of the "
-"collection never change (a minor performance optimization in some cases)."
+"<literal>mutable</literal> (opcional - por defectos es <literal>true</"
+"literal>): Un valor <literal>false</literal> especifica que los elementos de "
+"la colección nunca cambian. En algunos casos, esto permite una pequeña "
+"optimización de rendimiento."
 
 #. Tag: title
-#: collection_mapping.xml:230
 #, no-c-format
 msgid "Collection foreign keys"
-msgstr "Claves for&#x00e1;neas de collecci&#x00f3;n"
+msgstr "Claves foráneas de colección"
 
 #. Tag: para
-#: collection_mapping.xml:232
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Collection instances are distinguished in the database by the foreign key of "
 "the entity that owns the collection. This foreign key is referred to as the "
@@ -470,69 +335,49 @@
 "table. The collection key column is mapped by the <literal>&lt;key&gt;</"
 "literal> element."
 msgstr ""
-"Las instancias de colecci&#x00f3;n se distinguen en la base de datos por la "
-"clave for&#x00e1;nea de la entidad que posee la colecci&#x00f3;n. Se hace "
-"referencia a esta clave for&#x00e1;nea como la <emphasis>columna clave de "
-"colecci&#x00f3;n</emphasis> (o columnas) de la tabla de colecci&#x00f3;n. La "
-"columna clave de la colecci&#x00f3;n es mapeada por el elemento <literal>&lt;"
-"key&gt;</literal>."
+"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. El elemento <literal>&lt;key&gt;</"
+"literal> mapea la columna clave de la colección."
 
 #. Tag: para
-#: collection_mapping.xml:240
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "There can 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 may need to specify "
 "<literal>not-null=\"true\"</literal>."
 msgstr ""
-"Puede haber una restricci&#x00f3;n de nulabilidad sobre la columna de clave "
-"for&#x00e1;nea. Para la mayor&#x00ed;a de colecciones, esto est&#x00e1; "
-"implicado. Para asociaciones unidireccionales uno a muchos, la columna de "
-"clave for&#x00e1;nea es nulable por defecto, de modo que podr&#x00ed;as "
-"necesitar especificar <literal>not-null=\"true\"</literal>."
+"Puede haber una restricción de nulabilidad sobre la columna de clave "
+"foránea. Para la mayoría de las colecciones, esto es implícito. Para "
+"asociaciones unidireccionales uno-a-muchos, la columna de clave foránea es "
+"nulable por defecto, de modo que puede que necesite especificar <literal>not-"
+"null=\"true\"</literal>."
 
-#. Tag: programlisting
-#: collection_mapping.xml:247
-#, no-c-format
-msgid "<![CDATA[<key column=\"productSerialNumber\" not-null=\"true\"/>]]>"
-msgstr "<![CDATA[<key column=\"productSerialNumber\" not-null=\"true\"/>]]>"
-
 #. Tag: para
-#: collection_mapping.xml:249
-#, fuzzy, no-c-format
-msgid ""
-"The foreign key constraint can use <literal>ON DELETE CASCADE</literal>."
-msgstr ""
-"La restricci&#x00f3;n de clave for&#x00e1;nea puede usar <literal>ON DELETE "
-"CASCADE</literal>."
-
-#. Tag: programlisting
-#: collection_mapping.xml:253
 #, no-c-format
-msgid "<![CDATA[<key column=\"productSerialNumber\" on-delete=\"cascade\"/>]]>"
+msgid "The foreign key constraint can use <literal>ON DELETE CASCADE</literal>."
 msgstr ""
-"<![CDATA[<key column=\"productSerialNumber\" on-delete=\"cascade\"/>]]>"
+"La restricción de clave foránea puede utilizar <literal>ON DELETE CASCADE</"
+"literal>."
 
 #. Tag: para
-#: collection_mapping.xml:255
 #, no-c-format
 msgid ""
 "See the previous chapter for a full definition of the <literal>&lt;key&gt;</"
 "literal> element."
 msgstr ""
-"Mira el cap&#x00ed;tulo anterior por una definici&#x00f3;n completa del "
-"elemento <literal>&lt;key&gt;</literal>."
+"Vea el capítulo anterior para obtener una definición completa del elemento "
+"<literal>&lt;key&gt;</literal>."
 
 #. Tag: title
-#: collection_mapping.xml:263
 #, no-c-format
 msgid "Collection elements"
-msgstr "Elementos de collecci&#x00f3;n"
+msgstr "Elementos de collección"
 
 #. Tag: para
-#: collection_mapping.xml:265
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Collections can contain almost any other Hibernate type, including: basic "
 "types, custom types, components and references to other entities. This is an "
@@ -542,18 +387,16 @@
 "latter case, only the \"link\" between the two objects is considered to be a "
 "state held by the collection."
 msgstr ""
-"Las colecciones pueden contener casi cualquier tipo de Hibernate, incluyendo "
-"todos los tipos b&#x00e1;sicos, componentes, y por supuesto, referencias a "
-"otras entidades. Esta es una distinci&#x00f3;n importante: un objeto en una "
-"colecci&#x00f3;n puede ser manejado con una sem&#x00e1;ntica de \"valor"
-"\" (su ciclo de vida depende completamente del propietario de la "
-"colecci&#x00f3;n) o podr&#x00ed;a ser una referencia a otra entidad, con su "
-"propio ciclo de vida. En el &#x00fa;ltimo caso, s&#x00f3;lo el estado del "
-"\"enlace\" entre los dos objetos se considera mantenido por la "
-"colecci&#x00f3;n."
+"Las colecciones pueden contener casi cualquier tipo de Hibernate, "
+"incluyendo: los tipos básicos, personalizados, componentes y referencias a "
+"otras entidades. Esta es una diferencia 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ólamente el \"enlace\" entre los dos objetos se considera como un estado "
+"mantenido por la colección."
 
 #. Tag: para
-#: collection_mapping.xml:274
 #, no-c-format
 msgid ""
 "The contained type is referred to as the <emphasis>collection element type</"
@@ -564,22 +407,20 @@
 "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&#x00f3;n</emphasis>. Los elementos de colecci&#x00f3;n son "
-"mapeados por <literal>&lt;element&gt;</literal> o <literal>&lt;composite-"
-"element&gt;</literal>, o en el caso de referencias de entidades, con "
-"<literal>&lt;one-to-many&gt;</literal> o <literal>&lt;many-to-many&gt;</"
-"literal>. Las dos primeras mapean elementos con sem&#x00e1;ntica de valor, "
-"los dos siguientes son usados para mapear asociaciones de entidades."
+"la colección</emphasis>. Los elementos de colección son mapeados por "
+"<literal>&lt;element&gt;</literal> o <literal>&lt;composite-element&gt;</"
+"literal>, o en el caso de referencias de entidades, con <literal>&lt;one-to-"
+"many&gt;</literal> o <literal>&lt;many-to-many&gt;</literal>. Las dos "
+"primeras mapean elementos con semántica de valor, los dos siguientes se "
+"utilizan para mapear asociaciones de entidades."
 
 #. Tag: title
-#: collection_mapping.xml:286
 #, no-c-format
 msgid "Indexed collections"
 msgstr "Colecciones indexadas"
 
 #. Tag: para
-#: collection_mapping.xml:288
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "All collection mappings, except those with set and bag semantics, need an "
 "<emphasis>index column</emphasis> in the collection table. An index column "
@@ -593,553 +434,326 @@
 "index&gt;</literal> element. The mapped column contains sequential integers "
 "that are numbered from zero by default."
 msgstr ""
-"Todos los mapeos de colecci&#x00f3;n, excepto aquellos con sem&#x00e1;ntica "
-"de set o bag, necesitan una <emphasis>columna &#x00ed;ndice</emphasis> en la "
-"tabla de colecci&#x00f3;n, una columna que mapea a un &#x00ed;ndice de "
-"array, o &#x00ed;ndice de <literal>List</literal>, o clave de <literal>Map</"
-"literal>. El &#x00ed;ndice de un <literal>Map</literal> puede ser de "
-"cualquier tipo b&#x00e1;sico, mapeado con <literal>&lt;map-key&gt;</"
-"literal>, o puede ser una referencia de entidad, mapeada con <literal>&lt;"
-"map-key-many-to-many&gt;</literal>, o puede ser un tipo compuesto, mapeado "
-"con <literal>&lt;composite-map-key&gt;</literal>. El &#x00ed;ndice de un "
-"array o lista es siempre de tipo <literal>integer</literal> y se mapea "
-"usando el elemento <literal>&lt;list-index&gt;</literal>. La columna mapeada "
-"contiene enteros secuenciales (numerados desde cero, por defecto)."
+"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 índice es una columna que mapea a un índice de array o índice de "
+"<literal>List</literal> o llave de <literal>Map</literal>. El índice de un "
+"<literal>Map</literal> puede ser de cualquier tipo básico, mapeado con "
+"<literal>&lt;map-key&gt;</literal>. Puede ser una referencia de entidad "
+"mapeada con <literal>&lt;map-key-many-to-many&gt;</literal>, o puede ser un "
+"tipo compuesto mapeado con <literal>&lt;composite-map-key&gt;</literal>. El "
+"índice de un array o lista es siempre de tipo <literal>integer</literal> y "
+"se mapea utilizando el elemento <literal>&lt;list-index&gt;</literal>. La "
+"columna mapeada contiene enteros secuenciales numerados desde cero, por "
+"defecto."
 
-#. Tag: sect2
-#: collection_mapping.xml:299
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
-"<programlistingco> <areaspec> <area id=\"index1\" coords=\"2 45\"/> <area id="
-"\"index2\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<list-"
-"index \n"
-"        column=\"column_name\"\n"
-"        base=\"0|1|...\"/>]]></programlisting> <calloutlist> <callout "
-"arearefs=\"index1\"> <para> <literal>column_name</literal> (required): the "
-"name of the column holding the collection index values. </para> </callout> "
-"<callout arearefs=\"index1\"> <para> <literal>base</literal> (optional - "
-"defaults to <literal>0</literal>): the value of the index column that "
-"corresponds to the first element of the list or array. </para> </callout> </"
-"calloutlist> </programlistingco> <programlistingco> <areaspec> <area id="
-"\"mapkey1\" coords=\"2 45\"/> <area id=\"mapkey2\" coords=\"3 45\"/> <area "
-"id=\"mapkey3\" coords=\"4 45\"/> </areaspec> <programlisting><![CDATA[<map-"
-"key \n"
-"        column=\"column_name\"\n"
-"        formula=\"any SQL expression\"\n"
-"        type=\"type_name\"\n"
-"        node=\"@attribute-name\"\n"
-"        length=\"N\"/>]]></programlisting> <calloutlist> <callout arearefs="
-"\"mapkey1\"> <para> <literal>column</literal> (optional): the name of the "
-"column holding the collection index values. </para> </callout> <callout "
-"arearefs=\"mapkey2\"> <para> <literal>formula</literal> (optional): a SQL "
-"formula used to evaluate the key of the map. </para> </callout> <callout "
-"arearefs=\"mapkey3\"> <para> <literal>type</literal> (required): the type of "
-"the map keys. </para> </callout> </calloutlist> </programlistingco> "
-"<programlistingco> <areaspec> <area id=\"indexmanytomany1\" coords=\"2 45\"/"
-"> <area id=\"indexmanytomany2\" coords=\"3 45\"/> <area id=\"indexmanytomany3"
-"\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<map-key-many-to-"
-"many\n"
-"        column=\"column_name\"\n"
-"        formula=\"any SQL expression\"\n"
-"        class=\"ClassName\"\n"
-"/>]]></programlisting> <calloutlist> <callout arearefs=\"indexmanytomany1\"> "
-"<para> <literal>column</literal> (optional): the name of the foreign key "
-"column for the collection index values. </para> </callout> <callout arearefs="
-"\"indexmanytomany2\"> <para> <literal>formula</literal> (optional): a SQ "
-"formula used to evaluate the foreign key of the map key. </para> </callout> "
-"<callout arearefs=\"indexmanytomany3\"> <para> <literal>class</literal> "
-"(required): the entity class used as the map key. </para> </callout> </"
-"calloutlist> </programlistingco>"
+"<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 del índice de la colección."
+
+#. Tag: para
+#, no-c-format
+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 ""
-"<programlistingco> <areaspec> <area id=\"index1\" coords=\"2 45\"/> <area id="
-"\"index2\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<list-"
-"index \n"
-"        column=\"column_name\"\n"
-"        base=\"0|1|...\"/>]]></programlisting> <calloutlist> <callout "
-"arearefs=\"index1\"> <para> <literal>column_name</literal> (requerido): El "
-"nombre de la columna que tiene los valores &#x00ed;ndice de la "
-"colecci&#x00f3;n. </para> </callout> <callout arearefs=\"index1\"> <para> "
-"<literal>base</literal> (opcional, por defecto a <literal>0</literal>): El "
-"valor de la columna &#x00ed;ndice que corresponde al primer elemento de la "
-"lista o array. </para> </callout> </calloutlist> </programlistingco> "
-"<programlistingco> <areaspec> <area id=\"mapkey1\" coords=\"2 45\"/> <area "
-"id=\"mapkey2\" coords=\"3 45\"/> <area id=\"mapkey3\" coords=\"4 45\"/> </"
-"areaspec> <programlisting><![CDATA[<map-key \n"
-"        column=\"column_name\"\n"
-"        formula=\"any SQL expression\"\n"
-"        type=\"type_name\"\n"
-"        node=\"@attribute-name\"\n"
-"        length=\"N\"/>]]></programlisting> <calloutlist> <callout arearefs="
-"\"mapkey1\"> <para> <literal>column</literal> (opcional): El nombre de la "
-"columna que tiene los valores &#x00ed;ndice de la colecci&#x00f3;n. </para> "
-"</callout> <callout arearefs=\"mapkey2\"> <para> <literal>formula</literal> "
-"(opcional): Una f&#x00f3;rmula SQL usada para evaluar la clave del mapa. </"
-"para> </callout> <callout arearefs=\"mapkey3\"> <para> <literal>type</"
-"literal> (requerido): el tipo de las claves del mapa. </para> </callout> </"
-"calloutlist> </programlistingco> <programlistingco> <areaspec> <area id="
-"\"indexmanytomany1\" coords=\"2 45\"/> <area id=\"indexmanytomany2\" coords="
-"\"3 45\"/> <area id=\"indexmanytomany3\" coords=\"3 45\"/> </areaspec> "
-"<programlisting><![CDATA[<map-key-many-to-many\n"
-"        column=\"column_name\"\n"
-"        formula=\"any SQL expression\"\n"
-"        class=\"ClassName\"\n"
-"/>]]></programlisting> <calloutlist> <callout arearefs=\"indexmanytomany1\"> "
-"<para> <literal>column</literal> (opcional): El nombre de la columna clave "
-"for&#x00e1;nea para los valores &#x00ed;ndice de la colecci&#x00f3;n. </"
-"para> </callout> <callout arearefs=\"indexmanytomany2\"> <para> "
-"<literal>formula</literal> (opcional): Una f&#x00f3;rmula SQL usada para "
-"evaluar la clave for&#x00e1;nea de la clave del mapa. </para> </callout> "
-"<callout arearefs=\"indexmanytomany3\"> <para> <literal>class</literal> "
-"(requerido): La clase de entidad usada como clave del mapa. </para> </"
-"callout> </calloutlist> </programlistingco>"
+"<literal>base</literal> (opcional - por defecto es <literal>0</literal>): el "
+"valor de la columna índice que corresponde al primer elemento de la lista o el array."
 
 #. Tag: para
-#: collection_mapping.xml:380
-#, fuzzy, no-c-format
+#, no-c-format
 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 del índice de colecciones."
+
+#. Tag: para
+#, no-c-format
+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 que se usa para evaluar la clave del mapa."
+
+#. Tag: para
+#, no-c-format
+msgid "<literal>type</literal> (required): the type of the map keys."
+msgstr "<literal>type</literal> (requerido): el tipo de las claves del mapa."
+
+#. Tag: para
+#, no-c-format
+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 de la clave foránea para los valores del índice de la colección."
+
+#. Tag: para
+#, no-c-format
+msgid ""
+"<literal>formula</literal> (optional): a SQ formula used to evaluate the "
+"foreign key of the map key."
+msgstr "<literal>formula</literal> (opcional): una fórmula SQ utilizada para evaluar la clave foránea de la clave de mapeos."
+
+#. Tag: para
+#, no-c-format
+msgid "<literal>class</literal> (required): the entity class used as the map key."
+msgstr "<literal>class</literal> (requerido): La clase de entidad que se usa como la clave mapeada. "
+
+#. Tag: para
+#, no-c-format
+msgid ""
 "If your table does not have an index column, and you still wish to use "
 "<literal>List</literal> as the property type, you can map the property as a "
 "Hibernate <emphasis>&lt;bag&gt;</emphasis>. A bag does not retain its order "
 "when it is retrieved from the database, but it can be optionally sorted or "
 "ordered."
 msgstr ""
-"Si tu tabla no tiene una columna &#x00ed;ndice, y deseas a&#x00fa;n usar "
-"<literal>List</literal> como tipo de propiedad, debes mapear la propiedad "
+"Si su tabla no tiene una columna índice y todavía desea utilizar "
+"<literal>List</literal> como tipo de propiedad, puede mapear la propiedad "
 "como un <emphasis>&lt;bag&gt;</emphasis> de Hibernate. Un bag (bolsa) no "
 "retiene su orden al ser recuperado de la base de datos, pero puede ser "
-"ordenado o clasificado opcionalmente."
+"ordenado o clasificado de manera opcional."
 
 #. Tag: title
-#: collection_mapping.xml:390
 #, no-c-format
 msgid "Collections of values and many-to-many associations"
 msgstr "Colecciones de valores y asociaciones muchos-a-muchos"
 
 #. Tag: para
-#: collection_mapping.xml:392
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Any collection of values or many-to-many associations 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&#x00f3;n de valores o asociaci&#x00f3;n muchos a muchos "
-"requiere una <emphasis>tabla de colecci&#x00f3;n</emphasis> dedicada con una "
-"columna o columnas de clave for&#x00e1;nea, <emphasis>columna de elemento de "
-"colecci&#x00f3;n</emphasis> o columnas y posiblemente una columna o columnas "
-"&#x00ed;ndice."
+"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 índices."
 
 #. Tag: para
-#: collection_mapping.xml:399
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "For a collection of values use the <literal>&lt;element&gt;</literal> tag. "
 "For example:"
 msgstr ""
-"Para una colecci&#x00f3;n de valores, usamos la etiqueta <literal>&lt;"
-"element&gt;</literal>."
+"Para una colección de valores utilice la etiqueta <literal>&lt;element&gt;</"
+"literal>. Por ejemplo:"
 
-#. Tag: sect2
-#: collection_mapping.xml:401
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
-"<programlistingco> <areaspec> <area id=\"element1b\" coords=\"2 50\"/> <area "
-"id=\"element2b\" coords=\"3 50\"/> <area id=\"element3b\" coords=\"4 50\"/> "
-"</areaspec> <programlisting><![CDATA[<element\n"
-"        column=\"column_name\"\n"
-"        formula=\"any SQL expression\"\n"
-"        type=\"typename\"\n"
-"        length=\"L\"\n"
-"        precision=\"P\"\n"
-"        scale=\"S\"\n"
-"        not-null=\"true|false\"\n"
-"        unique=\"true|false\"\n"
-"        node=\"element-name\"\n"
-"/>]]></programlisting> <calloutlist> <callout arearefs=\"element1b\"> <para> "
 "<literal>column</literal> (optional): the name of the column holding the "
-"collection element values. </para> </callout> <callout arearefs=\"element2b"
-"\"> <para> <literal>formula</literal> (optional): an SQL formula used to "
-"evaluate the element. </para> </callout> <callout arearefs=\"element3b\"> "
-"<para> <literal>type</literal> (required): the type of the collection "
-"element. </para> </callout> </calloutlist> </programlistingco> <para> A "
-"<emphasis>many-to-many association</emphasis> is specified using the "
-"<literal>&lt;many-to-many&gt;</literal> element. </para> <programlistingco> "
-"<areaspec> <area id=\"manytomany1\" coords=\"2 60\"/> <area id=\"manytomany2"
-"\" coords=\"3 60\"/> <area id=\"manytomany3\" coords=\"4 60\"/> <area id="
-"\"manytomany4\" coords=\"5 60\"/> <area id=\"manytomany5\" coords=\"6 60\"/> "
-"<area id=\"manytomany6\" coords=\"7 60\"/> <area id=\"manytomany7\" coords="
-"\"8 60\"/> <area id=\"manytomany8\" coords=\"9 60\"/> </areaspec> "
-"<programlisting><![CDATA[<many-to-many\n"
-"        column=\"column_name\"\n"
-"        formula=\"any SQL expression\"\n"
-"        class=\"ClassName\"\n"
-"        fetch=\"select|join\"\n"
-"        unique=\"true|false\"\n"
-"        not-found=\"ignore|exception\"\n"
-"        entity-name=\"EntityName\"\n"
-"        property-ref=\"propertyNameFromAssociatedClass\"\n"
-"        node=\"element-name\"\n"
-"        embed-xml=\"true|false\"\n"
-"    />]]></programlisting> <calloutlist> <callout arearefs=\"manytomany1\"> "
-"<para> <literal>column</literal> (optional): the name of the element foreign "
-"key column. </para> </callout> <callout arearefs=\"manytomany2\"> <para> "
+"collection element values."
+msgstr ""
+"<literal>column</literal> (opcional): el nombre de la columna que tiene los valores de los elementos de la "
+"colección."
+
+#. Tag: para
+#, no-c-format
+msgid ""
 "<literal>formula</literal> (optional): an SQL formula used to evaluate the "
-"element foreign key value. </para> </callout> <callout arearefs=\"manytomany3"
-"\"> <para> <literal>class</literal> (required): the name of the associated "
-"class. </para> </callout> <callout arearefs=\"manytomany4\"> <para> "
+"element."
+msgstr "<literal>formula</literal> (opcional): una fórmula SQL utilizada para evaluar el elemento."
+
+#. Tag: para
+#, no-c-format
+msgid "<literal>type</literal> (required): the type of the collection element."
+msgstr "<literal>type</literal> (requerido): el tipo del elemento de colección."
+
+#. Tag: para
+#, no-c-format
+msgid ""
+"A <emphasis>many-to-many association</emphasis> is specified using the "
+"<literal>&lt;many-to-many&gt;</literal> element."
+msgstr ""
+"Una <emphasis>asociación muchos-a-muchos</emphasis> se especifica usando el elemento "
+"<literal>&lt;many-to-many&gt;</literal>."
+
+#. Tag: para
+#, no-c-format
+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 elemento."
+
+#. Tag: para
+#, no-c-format
+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 utilizada para evaluar el valor de la clave foránea elemento."
+
+#. Tag: para
+#, no-c-format
+msgid "<literal>class</literal> (required): the name of the associated class."
+msgstr "<literal>class</literal> (requerido): El nombre de la clase asociada. "
+
+#. Tag: para
+#, no-c-format
+msgid ""
 "<literal>fetch</literal> (optional - defaults to <literal>join</literal>): "
 "enables outer-join or sequential select fetching for this association. This "
 "is a special case; for full eager fetching in a single <literal>SELECT</"
 "literal> of an entity and its many-to-many relationships to other entities, "
 "you would enable <literal>join</literal> fetching,not only of the collection "
 "itself, but also with this attribute on the <literal>&lt;many-to-many&gt;</"
-"literal> nested element. </para> </callout> <callout arearefs=\"manytomany5"
-"\"> <para> <literal>unique</literal> (optional): enables the DDL generation "
-"of a unique constraint for the foreign-key column. This makes the "
-"association multiplicity effectively one-to-many. </para> </callout> "
-"<callout arearefs=\"manytomany6\"> <para> <literal>not-found</literal> "
-"(optional - defaults to <literal>exception</literal>): specifies how foreign "
-"keys that reference missing rows will be handled: <literal>ignore</literal> "
-"will treat a missing row as a null association. </para> </callout> <callout "
-"arearefs=\"manytomany7\"> <para> <literal>entity-name</literal> (optional): "
-"the entity name of the associated class, as an alternative to "
-"<literal>class</literal>. </para> </callout> <callout arearefs=\"manytomany8"
-"\"> <para> <literal>property-ref</literal> (optional): the name of a "
-"property of the associated class that is joined to this foreign key. If not "
-"specified, the primary key of the associated class is used. </para> </"
-"callout> </calloutlist> </programlistingco>"
+"literal> nested element."
 msgstr ""
-"<programlistingco> <areaspec> <area id=\"element1b\" coords=\"2 50\"/> <area "
-"id=\"element2b\" coords=\"3 50\"/> <area id=\"element3b\" coords=\"4 50\"/> "
-"</areaspec> <programlisting><![CDATA[<element\n"
-"        column=\"column_name\"\n"
-"        formula=\"any SQL expression\"\n"
-"        type=\"typename\"\n"
-"        length=\"L\"\n"
-"        precision=\"P\"\n"
-"        scale=\"S\"\n"
-"        not-null=\"true|false\"\n"
-"        unique=\"true|false\"\n"
-"        node=\"element-name\"\n"
-"/>]]></programlisting> <calloutlist> <callout arearefs=\"element1b\"> <para> "
-"<literal>column</literal> (opcional): El nombre de la columna que tiene los "
-"valores de los elementos de la colecci&#x00f3;n. </para> </callout> <callout "
-"arearefs=\"element2b\"> <para> <literal>formula</literal> (opcional): Una "
-"f&#x00f3;rmula SQL usada para evaluar el elemento. </para> </callout> "
-"<callout arearefs=\"element3b\"> <para> <literal>type</literal> (requerido): "
-"El tipo del elemento de colecci&#x00f3;n. </para> </callout> </calloutlist> "
-"</programlistingco> <para> Una <emphasis>asociaci&#x00f3;n muchos-a-muchos</"
-"emphasis> se especifica usando el elemento <literal>&lt;many-to-many&gt;</"
-"literal>. </para> <programlistingco> <areaspec> <area id=\"manytomany1\" "
-"coords=\"2 60\"/> <area id=\"manytomany2\" coords=\"3 60\"/> <area id="
-"\"manytomany3\" coords=\"4 60\"/> <area id=\"manytomany4\" coords=\"5 60\"/> "
-"<area id=\"manytomany5\" coords=\"6 60\"/> <area id=\"manytomany6\" coords="
-"\"7 60\"/> <area id=\"manytomany7\" coords=\"8 60\"/> </areaspec> "
-"<programlisting><![CDATA[<many-to-many\n"
-"        column=\"column_name\"\n"
-"        formula=\"any SQL expression\"\n"
-"        class=\"ClassName\"\n"
-"        fetch=\"select|join\"\n"
-"        unique=\"true|false\"\n"
-"        not-found=\"ignore|exception\"\n"
-"        entity-name=\"EntityName\"\n"
-"        node=\"element-name\"\n"
-"        embed-xml=\"true|false\"\n"
-"    />]]></programlisting> <calloutlist> <callout arearefs=\"manytomany1\"> "
-"<para> <literal>column</literal> (opcional): El nombre de la columna de "
-"clave for&#x00e1;nea del elemento. </para> </callout> <callout arearefs="
-"\"manytomany2\"> <para> <literal>formula</literal> (opcional): Una f&#x00f3;"
-"rmula SQL opcional usada para evaluar el valor de clave for&#x00e1;nea del "
-"elemento. </para> </callout> <callout arearefs=\"manytomany3\"> <para> "
-"<literal>class</literal> (requerido): El nombre de la clase asociada. </"
-"para> </callout> <callout arearefs=\"manytomany4\"> <para> <literal>fetch</"
-"literal> (opcional - por defecto a <literal>join</literal>): habilita la "
-"recuperaci&#x00f3;n por uni&#x00f3;n externa o selecci&#x00f3;n secuencial "
-"para esta asociaci&#x00f3;n. Este es un caso especial; para una "
-"recuperaci&#x00f3;n completamente temprana (en un solo <literal>SELECT</"
-"literal>) de una entidad y sus relaciones muchos-a-muchos a otras entidades, "
-"deber&#x00ed;as habilitar la recuperaci&#x00f3;n <literal>join</literal> no "
-"s&#x00f3;lo de la colecci&#x00f3;n misma, sino tambi&#x00e9;n con este "
-"atributo en el elemento anidado <literal>&lt;many-to-many&gt;</literal>. </"
-"para> </callout> <callout arearefs=\"manytomany5\"> <para> <literal>unique</"
-"literal> (opcional): Habilita la generaci&#x00f3;n DDL de una "
-"restricci&#x00f3;n de unicidad para la columna clave for&#x00e1;nea. Esto "
-"hace la multiplicidad de la asociaci&#x00f3;n efectivamente uno a muchos. </"
-"para> </callout> <callout arearefs=\"manytomany6\"> <para> <literal>not-"
-"found</literal> (opcional - por defecto a <literal>exception</literal>): "
-"Especifica c&#x00f3;mo ser&#x00e1;n manejadas las claves for&#x00e1;neas que "
-"referencian filas perdidas: <literal>ignore</literal> tratar&#x00e1; una "
-"fila perdida como una asociaci&#x00f3;n nula. </para> </callout> <callout "
-"arearefs=\"manytomany7\"> <para> <literal>entity-name</literal> (opcional): "
-"El nombre de entidad de la clase asociada, como una alternativa a "
-"<literal>class</literal>. </para> </callout> <callout arearefs=\"manytomany8"
-"\"> <para> UNTRANSLATED! <literal>property-ref</literal>: (optional) The "
-"name of a property of the associated class that is joined to this foreign "
-"key. If not specified, the primary key of the associated class is used. </"
-"para> </callout> </calloutlist> </programlistingco>"
+"<literal>fetch</literal> (opcional - por defecto es <literal>join</literal>): "
+"habilita la búsqueda de selects secuenciales o de unión externa para esta asociación. Este es un caso especial; para búsqueda temprana completa en un solo <literal>SELECT</"
+"literal> de una entidad y sus relaciones muchos-a-muchos con otras entidades, "
+"habilitaría la búsqueda <literal>join</literal>,no solo de la colección misma, si no también con este atributo en el elemento anidado <literal>&lt;many-to-many&gt;</"
+"literal>."
 
 #. Tag: para
-#: collection_mapping.xml:506
 #, no-c-format
-msgid "Here are some examples."
-msgstr ""
+msgid ""
+"<literal>unique</literal> (optional): enables 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 única para la columna de la clave foránea. Esto hace la multiplicidad de la asociación efectivamente uno-a-muchos."
 
 #. Tag: para
-#: collection_mapping.xml:509
 #, no-c-format
-msgid "A set of strings:"
+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 es <literal>exception</"
+"literal>): Especifica cómo serán manejadas las claves foráneas que hacen referencia a filas que falten: <literal>ignore</literal> tratará una fila que falte como una asociación nula."
 
-#. Tag: programlisting
-#: collection_mapping.xml:513
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<set name=\"names\" table=\"person_names\">\n"
-"    <key column=\"person_id\"/>\n"
-"    <element column=\"person_name\" type=\"string\"/>\n"
-"</set>]]>"
+"<literal>entity-name</literal> (optional): the entity name of the associated "
+"class, as an alternative to <literal>class</literal>."
 msgstr ""
-"<![CDATA[<set name=\"names\" table=\"person_names\">\n"
-"    <key column=\"person_id\"/>\n"
-"    <element column=\"person_name\" type=\"string\"/>\n"
-"</set>]]>"
+"<literal>entity-name</literal> (opcional): El nombre de entidad de la clase "
+"asociada como una alternativa para <literal>class</literal>. "
 
 #. Tag: para
-#: collection_mapping.xml:515
-#, fuzzy, no-c-format
+#, no-c-format
 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&#x00f3;n determinado por "
-"el atributo <literal>order-by</literal>):"
+"<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 una propiedad de la clase asociada que está unida a esta clave foránea. Si no se especifica entonces se utiliza la clave principal de la clase asociada."
 
-#. Tag: programlisting
-#: collection_mapping.xml:520
+#. Tag: para
 #, no-c-format
-msgid ""
-"<![CDATA[<bag name=\"sizes\" \n"
-"        table=\"item_sizes\" \n"
-"        order-by=\"size asc\">\n"
-"    <key column=\"item_id\"/>\n"
-"    <element column=\"size\" type=\"integer\"/>\n"
-"</bag>]]>"
-msgstr ""
-"<![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>]]>"
+msgid "Here are some examples."
+msgstr "Aquí tiene algunos ejemplos:"
 
 #. Tag: para
-#: collection_mapping.xml:522
-#, fuzzy, no-c-format
-msgid "An array of entities, in this case, a many-to-many association:"
-msgstr ""
-"Un array de entidades - en este caso, una asociaci&#x00f3;n muchos a muchos:"
+#, no-c-format
+msgid "A set of strings:"
+msgstr "Un grupo de cadenas:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:526
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<array name=\"addresses\" \n"
-"        table=\"PersonAddress\" \n"
-"        cascade=\"persist\">\n"
-"    <key column=\"personId\"/>\n"
-"    <list-index column=\"sortOrder\"/>\n"
-"    <many-to-many column=\"addressId\" class=\"Address\"/>\n"
-"</array>]]>"
+"A bag containing integers with an iteration order determined by the "
+"<literal>order-by</literal> attribute:"
 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>]]>"
+"Un bag que contiene enteros con un orden de iteración determinado por el "
+"atributo <literal>order-by</literal>:"
 
 #. Tag: para
-#: collection_mapping.xml:528
 #, no-c-format
-msgid "A map from string indices to dates:"
-msgstr "Un mapa de &#x00ed;ndices de cadenas a fechas:"
+msgid "An array of entities, in this case, a many-to-many association:"
+msgstr "Una lista de entidades, en este caso, una asociación muchos-a-muchos:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:532
+#. Tag: para
 #, no-c-format
-msgid ""
-"<![CDATA[<map name=\"holidays\" \n"
-"        table=\"holidays\" \n"
-"        schema=\"dbo\" \n"
-"        order-by=\"hol_name asc\">\n"
-"    <key column=\"id\"/>\n"
-"    <map-key column=\"hol_name\" type=\"string\"/>\n"
-"    <element column=\"hol_date\" type=\"date\"/>\n"
-"</map>]]>"
-msgstr ""
-"<![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>]]>"
+msgid "A map from string indices to dates:"
+msgstr "Un mapeo de índices de cadenas a fechas:"
 
 #. Tag: para
-#: collection_mapping.xml:534
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "A list of components (this is discussed in the next chapter):"
-msgstr ""
-"Una lista de componentes (discutidos en el pr&#x00f3;ximo cap&#x00ed;tulo):"
+msgstr "Una lista de componentes (se discuten en el siguiente capítulo):"
 
-#. Tag: programlisting
-#: collection_mapping.xml:538
-#, no-c-format
-msgid ""
-"<![CDATA[<list name=\"carComponents\" \n"
-"        table=\"CarComponents\">\n"
-"    <key column=\"carId\"/>\n"
-"    <list-index column=\"sortOrder\"/>\n"
-"    <composite-element class=\"CarComponent\">\n"
-"        <property name=\"price\"/>\n"
-"        <property name=\"type\"/>\n"
-"        <property name=\"serialNumber\" column=\"serialNum\"/>\n"
-"    </composite-element>\n"
-"</list>]]>"
-msgstr ""
-"<![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:543
 #, no-c-format
 msgid "One-to-many associations"
 msgstr "Asociaciones uno-a-muchos"
 
 #. Tag: para
-#: collection_mapping.xml:545
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A <emphasis>one-to-many association</emphasis> links the tables of two "
 "classes via a foreign key with no intervening collection table. This mapping "
 "loses certain semantics of normal Java collections:"
 msgstr ""
-"Una <emphasis>asociaci&#x00f3;n uno a muchos</emphasis> enlaza las tablas de "
-"dos clases por medio de una clave for&#x00e1;nea, sin intervenci&#x00f3;n de "
-"tabla de colecci&#x00f3;n alguna. Este mapeo pierde cierta sem&#x00e1;ntica "
-"de colecciones Java normales:"
+"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:553
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "An instance of the contained entity class cannot belong to more than one "
 "instance of the collection."
 msgstr ""
-"Una instancia de la clase entidad contenida no puede pertenecer a m&#x00e1;s "
-"de una instancia de la colecci&#x00f3;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:559
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "An instance of the contained entity class cannot appear at more than one "
 "value of the collection index."
 msgstr ""
-"Una instancia de la clase entidad contenida no puede aparecer en m&#x00e1;s "
-"de un valor del &#x00ed;ndice de colecci&#x00f3;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:566
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "An association from <literal>Product</literal> to <literal>Part</literal> "
 "requires the existence of a foreign key column and possibly an index column "
 "to the <literal>Part</literal> table. A <literal>&lt;one-to-many&gt;</"
 "literal> tag indicates that this is a one-to-many association."
 msgstr ""
-"Una asociaci&#x00f3;n de <literal>Product</literal> a <literal>Part</"
-"literal> requiere la existencia de una columna clave for&#x00e1;nea y "
-"posiblemente una columna &#x00ed;ndice a la tabla <literal>Part</literal>. "
-"Una etiqueta <literal>&lt;one-to-many&gt;</literal> indica que &#x00e9;sta "
-"es una asociaci&#x00f3;n uno a muchos."
+"Una asociación de <literal>Product</literal> a <literal>Part</literal> "
+"requiere la existencia de una columna clave foránea y posiblemente una "
+"columna índice a la tabla <literal>Part</literal>. Una etiqueta <literal>&lt;"
+"one-to-many&gt;</literal> indica que ésta es una asociación uno-a-muchos."
 
-#. Tag: programlisting
-#: collection_mapping.xml:579
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<one-to-many \n"
-"        class=\"ClassName\"\n"
-"        not-found=\"ignore|exception\"\n"
-"        entity-name=\"EntityName\"\n"
-"        node=\"element-name\"\n"
-"        embed-xml=\"true|false\"\n"
-"    />]]>"
-msgstr ""
-"<![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:582
-#, fuzzy, no-c-format
-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:587
-#, fuzzy, no-c-format
-msgid ""
 "<literal>not-found</literal> (optional - defaults to <literal>exception</"
 "literal>): specifies how cached identifiers that reference missing rows will "
 "be handled. <literal>ignore</literal> will treat a missing row as a null "
 "association."
 msgstr ""
-"<literal>not-found</literal> (opcional - por defecto a <literal>exception</"
-"literal>): Especifica c&#x00f3;mo ser&#x00e1;n manejados los identificadores "
-"en cach&#x00e9; que referencien filas perdidas: <literal>ignore</literal> "
-"tratar&#x00e1; una fila perdida como una asociaci&#x00f3;n nula."
+"<literal>not-found</literal> (opcional - por defecto es <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."
 
 #. Tag: para
-#: collection_mapping.xml:594
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
-"<literal>entity-name</literal> (optional): the entity name of the associated "
-"class, as an alternative to <literal>class</literal>."
-msgstr ""
-"<literal>entity-name</literal> (opcional): El nombre de entidad de la clase "
-"asociada, como una alternativa a <literal>class</literal>."
-
-#. Tag: para
-#: collection_mapping.xml:602
-#, fuzzy, no-c-format
-msgid ""
 "The <literal>&lt;one-to-many&gt;</literal> element does not need to declare "
 "any columns. Nor is it necessary to specify the <literal>table</literal> "
 "name anywhere."
 msgstr ""
-"Observa que el elemento <literal>&lt;one-to-many&gt;</literal> no necesita "
-"declarar ninguna columna. Ni es necesario especificar el nombre de "
-"<literal>table</literal> en ning&#x00fa;n sitio."
+"El elemento <literal>&lt;one-to-many&gt;</literal> no necesita declarar "
+"ninguna columna. Ni es necesario especificar el nombre de <literal>table</"
+"literal> en ningún sitio."
 
 #. Tag: para
-#: collection_mapping.xml:609
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If the foreign key column of a <literal>&lt;one-to-many&gt;</literal> "
 "association is declared <literal>NOT NULL</literal>, you must declare the "
@@ -1148,59 +762,37 @@
 "mapping marked <literal>inverse=\"true\"</literal>. See the discussion of "
 "bidirectional associations later in this chapter for more information."
 msgstr ""
-"<emphasis>Nota muy importante:</emphasis> Si la columna clave for&#x00e1;nea "
-"de una asociaci&#x00f3;n <literal>&lt;one-to-many&gt;</literal> es declarada "
-"<literal>NOT NULL</literal>, debes declarar el mapeo de <literal>&lt;key&gt;"
-"</literal> <literal>not-null=\"true\"</literal> o <emphasis>usar una "
-"asociaci&#x00f3;n bidireccional</emphasis> con el mapeo de colecci&#x00f3;n "
-"marcado <literal>inverse=\"true\"</literal>. Ver la discusi&#x00f3;n sobre "
-"asociaciones bidireccionales m&#x00e1;s adelante en este cap&#x00ed;tulo."
+"Si la columna de la clave foránea de una asociación <literal>&lt;one-to-"
+"many&gt;</literal> se declara <literal>NOT NULL</literal>, debe declarar el "
+"mapeo de <literal>&lt;key&gt;</literal><literal>not-null=\"true\"</literal> "
+"o <emphasis> utilizar una asociación bidireccional</emphasis> con el mapeo "
+"de colección marcado <literal>inverse=\"true\"</literal>. Vea la discusión "
+"sobre asociaciones bidireccionales más adelante en este capítulo para "
+"obtener mayor información."
 
 #. Tag: para
-#: collection_mapping.xml:619
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The following example shows a map of <literal>Part</literal> entities by "
 "name, where <literal>partName</literal> is a persistent property of "
 "<literal>Part</literal>. Notice the use of a formula-based index:"
 msgstr ""
-"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 &#x00ed;ndice basado en "
-"f&#x00f3;rmula."
+"El siguiente ejemplo muestra un mapeo de entidades <literal>Part</literal> "
+"por nombre, en donde <literal>partName</literal> es una propiedad "
+"persistente de <literal>Part</literal>. Observe el uso de un índice basado "
+"en fórmula:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:625
-#, no-c-format
-msgid ""
-"<![CDATA[<map name=\"parts\"\n"
-"        cascade=\"all\">\n"
-"    <key column=\"productId\" not-null=\"true\"/>\n"
-"    <map-key formula=\"partName\"/>\n"
-"    <one-to-many class=\"Part\"/>\n"
-"</map>]]>"
-msgstr ""
-"<![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:631
 #, no-c-format
 msgid "Advanced collection mappings"
-msgstr "Mapeos de colecci&#x00f3;n avanzados"
+msgstr "Mapeos de colección avanzados"
 
 #. Tag: title
-#: collection_mapping.xml:634
 #, no-c-format
 msgid "Sorted collections"
 msgstr "Colecciones ordenadas"
 
 #. Tag: para
-#: collection_mapping.xml:636
 #, no-c-format
 msgid ""
 "Hibernate supports collections implementing <literal>java.util.SortedMap</"
@@ -1208,41 +800,10 @@
 "comparator in the mapping file:"
 msgstr ""
 "Hibernate soporta colecciones implementando <literal>java.util.SortedMap</"
-"literal> y <literal>java.util.SortedSet</literal>. Debes especificar un "
-"comparador en el fichero de mapeo:"
+"literal> y <literal>java.util.SortedSet</literal>. Tiene que especificar un "
+"comparador en el archivo de mapeo:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:641
-#, no-c-format
-msgid ""
-"<![CDATA[<set name=\"aliases\" \n"
-"            table=\"person_aliases\" \n"
-"            sort=\"natural\">\n"
-"    <key column=\"person\"/>\n"
-"    <element column=\"name\" type=\"string\"/>\n"
-"</set>\n"
-"\n"
-"<map name=\"holidays\" sort=\"my.custom.HolidayComparator\">\n"
-"    <key column=\"year_id\"/>\n"
-"    <map-key column=\"hol_name\" type=\"string\"/>\n"
-"    <element column=\"hol_date\" type=\"date\"/>\n"
-"</map>]]>"
-msgstr ""
-"<![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:643
 #, no-c-format
 msgid ""
 "Allowed values of the <literal>sort</literal> attribute are "
@@ -1254,7 +815,6 @@
 "clase que implemente <literal>java.util.Comparator</literal>."
 
 #. Tag: para
-#: collection_mapping.xml:649
 #, no-c-format
 msgid ""
 "Sorted collections actually behave like <literal>java.util.TreeSet</literal> "
@@ -1264,8 +824,7 @@
 "TreeSet</literal> o <literal>java.util.TreeMap</literal>."
 
 #. Tag: para
-#: collection_mapping.xml:654
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you want the database itself to order the collection elements, use the "
 "<literal>order-by</literal> attribute of <literal>set</literal>, "
@@ -1274,315 +833,149 @@
 "<literal>LinkedHashSet</literal> or <literal>LinkedHashMap</literal>. This "
 "performs the ordering in the SQL query and not in the memory."
 msgstr ""
-"Si quieres que la misma base de datos ordene los elementos de colecci&#x00f3;"
-"n usa el atributo <literal>order-by</literal> de los mapeos <literal>set</"
-"literal>, <literal>bag</literal> o <literal>map</literal>. Esta "
-"soluci&#x00f3;n est&#x00e1; disponible s&#x00f3;lo bajo el JDK 1.4 o "
-"superior (est&#x00e1; implementado usando <literal>LinkedHashSet</literal> o "
-"<literal>LinkedHashMap</literal>). Esto realiza la ordenaci&#x00f3;n en la "
-"consulta SQL, no en memoria."
+"Si quiere que la misma base de datos ordene los elementos de la colección, "
+"utilice 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ólamente bajo el JDK 1.4 o superior y se implementa "
+"utilizando <literal>LinkedHashSet</literal> o <literal>LinkedHashMap</"
+"literal>. Este realiza la ordenación en la consulta SQL y no en memoria."
 
-#. Tag: programlisting
-#: collection_mapping.xml:663
-#, no-c-format
-msgid ""
-"<![CDATA[<set name=\"aliases\" table=\"person_aliases\" order-by=\"lower"
-"(name) asc\">\n"
-"    <key column=\"person\"/>\n"
-"    <element column=\"name\" type=\"string\"/>\n"
-"</set>\n"
-"\n"
-"<map name=\"holidays\" order-by=\"hol_date, hol_name\">\n"
-"    <key column=\"year_id\"/>\n"
-"    <map-key column=\"hol_name\" type=\"string\"/>\n"
-"    <element column=\"hol_date type=\"date\"/>\n"
-"</map>]]>"
-msgstr ""
-"<![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: title
-#: collection_mapping.xml:666
 #, no-c-format
 msgid "Note"
-msgstr ""
+msgstr "Nota"
 
 #. Tag: para
-#: collection_mapping.xml:667
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The value of the <literal>order-by</literal> attribute is an SQL ordering, "
 "not an HQL ordering."
 msgstr ""
-"Observa que el valor del atributo <literal>order-by</literal> es una "
-"ordenaci&#x00f3;n SQL, no una ordenaci&#x00f3;n HQL!"
+"El valor del atributo <literal>order-by</literal> es una ordenación SQL, no "
+"una ordenación HQL."
 
 #. Tag: para
-#: collection_mapping.xml:673
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Associations can even be sorted by arbitrary criteria at runtime using a "
 "collection <literal>filter()</literal>:"
 msgstr ""
-"Las asociaciones pueden incluso ser ordenadas por alg&#x00fa;n criterio "
-"arbitrario en tiempo de ejecuci&#x00f3;n usando un <literal>filter()</"
-"literal> de colecci&#x00f3;n."
+"Las asociaciones pueden incluso ser ordenadas por algún criterio arbitrario "
+"en tiempo de ejecución utilizando un <literal>filter()</literal> de "
+"colección:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:678
-#, no-c-format
-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:683
 #, no-c-format
 msgid "Bidirectional associations"
 msgstr "Asociaciones bidireccionales"
 
 #. Tag: para
-#: collection_mapping.xml:685
 #, no-c-format
 msgid ""
 "A <emphasis>bidirectional association</emphasis> allows navigation from both "
 "\"ends\" of the association. Two kinds of bidirectional association are "
 "supported:"
 msgstr ""
-"Una <emphasis>asociaci&#x00f3;n bidireccional</emphasis> permite la "
-"nevegaci&#x00f3;n desde ambos \"extremos\" de la asociaci&#x00f3;n. Son "
-"soportados dos tipos de asociaci&#x00f3;n bidireccional:"
+"Una <emphasis>asociación bidireccional</emphasis> permite la navegación "
+"desde ambos \"extremos\" de la asociación. Se soportan dos tipos de "
+"asociación bidireccional:"
 
 #. Tag: term
-#: collection_mapping.xml:692
 #, no-c-format
 msgid "one-to-many"
 msgstr "uno-a-muchos"
 
 #. Tag: para
-#: collection_mapping.xml:694
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "set or bag valued at one end and single-valued at the other"
-msgstr "set o bag valorados en un extremo, monovaluados al otro"
+msgstr "conjunto o bag valorados en un lado, monovaluados en el otro"
 
 #. Tag: term
-#: collection_mapping.xml:700
 #, no-c-format
 msgid "many-to-many"
 msgstr "muchos-a-muchos"
 
 #. Tag: para
-#: collection_mapping.xml:702
 #, no-c-format
 msgid "set or bag valued at both ends"
-msgstr "set o bag valorados a ambos extremos"
+msgstr "set o bag valorados en ambos extremos"
 
 #. Tag: para
-#: collection_mapping.xml:711
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can specify a bidirectional many-to-many association by mapping two many-"
 "to-many associations to the same database table and declaring one end as "
 "<emphasis>inverse</emphasis>. You cannot select an indexed collection."
 msgstr ""
-"Puedes especificar una asociaci&#x00f3;n bidireccional muchos-a-muchos "
-"simplemente mapeando dos asociaciones muchos-a-muchos a la misma tabla de "
-"base de datos y declarando un extremo como <emphasis>inverse</emphasis> "
-"(cu&#x00e1;l de ellos es tu elecci&#x00f3;n, pero no puede ser una "
-"colecci&#x00f3;n indexada)."
+"Puede 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>inverso</emphasis> (cuál de ellos, "
+"usted escoge, pero no puede ser una colección indexada)."
 
 #. Tag: para
-#: collection_mapping.xml:718
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Here is an example of a bidirectional many-to-many association that "
 "illustrates how each category can have many items and each item can be in "
 "many categories:"
 msgstr ""
-"He aqu&#x00ed; un ejemplo de una asociaci&#x00f3;n bidireccional muchos-a-"
-"muchos; cada categor&#x00ed;a puede tener muchos &#x00ed;tems y cada &#x00ed;"
-"tem puede estar en muchas categor&#x00ed;as:"
+"He aquí un ejemplo de una asociación bidireccional muchos-a-muchos que "
+"ilustra la manera en que cada categoría puede tener muchos ítems y cada ítem "
+"puede estar en muchas categorías:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:723
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"Category\">\n"
-"    <id name=\"id\" column=\"CATEGORY_ID\"/>\n"
-"    ...\n"
-"    <bag name=\"items\" table=\"CATEGORY_ITEM\">\n"
-"        <key column=\"CATEGORY_ID\"/>\n"
-"        <many-to-many class=\"Item\" column=\"ITEM_ID\"/>\n"
-"    </bag>\n"
-"</class>\n"
-"\n"
-"<class name=\"Item\">\n"
-"    <id name=\"id\" column=\"ITEM_ID\"/>\n"
-"    ...\n"
-"\n"
-"    <!-- inverse end -->\n"
-"    <bag name=\"categories\" table=\"CATEGORY_ITEM\" inverse=\"true\">\n"
-"        <key column=\"ITEM_ID\"/>\n"
-"        <many-to-many class=\"Category\" column=\"CATEGORY_ID\"/>\n"
-"    </bag>\n"
-"</class>]]>"
-msgstr ""
-"<![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:725
-#, fuzzy, no-c-format
-msgid ""
 "Changes made only to the inverse end of the association are <emphasis>not</"
 "emphasis> persisted. This means that Hibernate has two representations in "
 "memory for every bidirectional association: one link from A to B and another "
 "link from B to A. This is easier to understand if you think about the Java "
 "object model and how a many-to-many relationship in Javais created:"
 msgstr ""
-"Los cambios hechos s&#x00f3;lo al extremo inverso de la asociaci&#x00f3;n "
+"Los cambios realizados sólamente al extremo inverso de la asociación "
 "<emphasis>no</emphasis> son persistidos. Esto significa que Hibernate tiene "
-"dos representaciones en memoria para cada asociaci&#x00f3;n bidireccional, "
-"una enlaza de A a B y otra enlaza de B a A. Esto es m&#x00e1;s f&#x00e1;cil "
-"de entender si piensas en el modelo de objetos de Java y c&#x00f3;mo creamos "
-"una relaci&#x00f3;n muchos-a-muchos en Java:"
+"dos representaciones en memoria para cada asociación bidireccional: un "
+"enlace de A a B y otro enlace de B a A. Esto es más fácil de entender si "
+"piensa en el modelo de objetos de Java y cómo creamos una relación muchos-a-"
+"muchos en Java:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:733
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"category.getItems().add(item);          // The category now \"knows\" about "
-"the relationship\n"
-"item.getCategories().add(category);     // The item now \"knows\" about the "
-"relationship\n"
-"\n"
-"session.persist(item);                   // The relationship won't be "
-"saved!\n"
-"session.persist(category);               // The relationship will be saved]]>"
-msgstr ""
-"<![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:735
 #, no-c-format
 msgid ""
 "The non-inverse side is used to save the in-memory representation to the "
 "database."
 msgstr ""
-"El lado no-inverso se usa para salvar la representaci&#x00f3;n en memoria a "
-"la base de datos."
+"El lado no-inverso se utiliza para guardar la representación en memoria a la "
+"base de datos."
 
 #. Tag: para
-#: collection_mapping.xml:739
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can 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&#x00f3;n bidireccional uno-a-muchos mapeando una "
-"asociaci&#x00f3;n uno-a-muchos a la misma columna (o columnas) de tabla como "
-"una asociaci&#x00f3;n muchos-a-uno y declarando el extremo multivaluado "
+"Puede 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:745
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"Parent\">\n"
-"    <id name=\"id\" column=\"parent_id\"/>\n"
-"    ....\n"
-"    <set name=\"children\" inverse=\"true\">\n"
-"        <key column=\"parent_id\"/>\n"
-"        <one-to-many class=\"Child\"/>\n"
-"    </set>\n"
-"</class>\n"
-"\n"
-"<class name=\"Child\">\n"
-"    <id name=\"id\" column=\"child_id\"/>\n"
-"    ....\n"
-"    <many-to-one name=\"parent\" \n"
-"        class=\"Parent\" \n"
-"        column=\"parent_id\"\n"
-"        not-null=\"true\"/>\n"
-"</class>]]>"
-msgstr ""
-"<![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:747
-#, fuzzy, no-c-format
-msgid ""
 "Mapping one end of an association with <literal>inverse=\"true\"</literal> "
 "does not affect the operation of cascades as these are orthogonal concepts."
 msgstr ""
-"Mapear un extremo de una asociaci&#x00f3;n con <literal>inverse=\"true\"</"
-"literal> no afecta la operaci&#x00f3;n de cascadas; &#x00e9;stos son "
-"conceptos ortogonales!"
+"Mapear un extremo de una asociación con <literal>inverse=\"true\"</literal> "
+"no afecta la operación de cascadas ay que éstos son conceptos ortogonales."
 
 #. Tag: title
-#: collection_mapping.xml:755
 #, no-c-format
 msgid "Bidirectional associations with indexed collections"
 msgstr "Asociaciones bidireccionales con colecciones indexadas"
 
 #. Tag: para
-#: collection_mapping.xml:756
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A bidirectional association where one end is represented as a <literal>&lt;"
 "list&gt;</literal> or <literal>&lt;map&gt;</literal>, requires special "
@@ -1590,217 +983,76 @@
 "index column you can use <literal>inverse=\"true\"</literal> on the "
 "collection mapping:"
 msgstr ""
-"Requiere especial consideraci&#x00f3;n una asociaci&#x00f3;n bidireccional "
-"donde un extremo est&#x00e9; representado como una <literal>&lt;list&gt;</"
-"literal> o <literal>&lt;map&gt;</literal>. Si hay una propiedad de la clase "
-"hija que mapee a la columna &#x00ed;ndice, no hay problema, podemos seguir "
-"usando <literal>inverse=\"true\"</literal> en el mapeo de la colecci&#x00f3;"
-"n:"
+"Requiere especial atención una asociación bidireccional en donde un extremo "
+"esté representado como una <literal>&lt;list&gt;</literal> o <literal>&lt;"
+"map&gt;</literal>. Si hay una propiedad de la clase hija que mapee a la "
+"columna índice, puede utilizar <literal>inverse=\"true\"</literal> en el "
+"mapeo de la colección:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:763
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"Parent\">\n"
-"    <id name=\"id\" column=\"parent_id\"/>\n"
-"    ....\n"
-"    <map name=\"children\" inverse=\"true\">\n"
-"        <key column=\"parent_id\"/>\n"
-"        <map-key column=\"name\" \n"
-"            type=\"string\"/>\n"
-"        <one-to-many class=\"Child\"/>\n"
-"    </map>\n"
-"</class>\n"
-"\n"
-"<class name=\"Child\">\n"
-"    <id name=\"id\" column=\"child_id\"/>\n"
-"    ....\n"
-"    <property name=\"name\" \n"
-"        not-null=\"true\"/>\n"
-"    <many-to-one name=\"parent\" \n"
-"        class=\"Parent\" \n"
-"        column=\"parent_id\"\n"
-"        not-null=\"true\"/>\n"
-"</class>]]>"
-msgstr ""
-"<![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:765
-#, fuzzy, no-c-format
-msgid ""
 "If there is no such property on the child class, the association cannot be "
 "considered truly bidirectional. That is, there is information available at "
 "one end of the association that is not available at the other end. In this "
 "case, you cannot map the collection <literal>inverse=\"true\"</literal>. "
 "Instead, you could use the following mapping:"
 msgstr ""
-"Pero, si no existe tal proiedad en la clase hija, no podemos pensar en la "
-"asociaci&#x00f3;n como verdaderamente bidireccional (hay informaci&#x00f3;n "
-"en un extremo de la asociaci&#x00f3;n que no est&#x00e1; disponible en el "
-"otro extremo). En este caso, no podemos mapear la colecci&#x00f3;n con "
-"<literal>inverse=\"true\"</literal>. En cambio, podr&#x00ed;amos usar el "
-"siguiente mapeo:"
+"Si no existe tal propiedad en la clase hija, no podemos considerar la "
+"asociación como verdaderamente bidireccional. Es decir, hay información en "
+"un extremo de la asociación que no está disponible en el otro extremo. En "
+"este caso, no puede mapear la colección con <literal>inverse=\"true\"</"
+"literal>. En cambio, puede usar el siguiente mapeo:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:772
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"Parent\">\n"
-"    <id name=\"id\" column=\"parent_id\"/>\n"
-"    ....\n"
-"    <map name=\"children\">\n"
-"        <key column=\"parent_id\"\n"
-"            not-null=\"true\"/>\n"
-"        <map-key column=\"name\" \n"
-"            type=\"string\"/>\n"
-"        <one-to-many class=\"Child\"/>\n"
-"    </map>\n"
-"</class>\n"
-"\n"
-"<class name=\"Child\">\n"
-"    <id name=\"id\" column=\"child_id\"/>\n"
-"    ....\n"
-"    <many-to-one name=\"parent\" \n"
-"        class=\"Parent\" \n"
-"        column=\"parent_id\"\n"
-"        insert=\"false\"\n"
-"        update=\"false\"\n"
-"        not-null=\"true\"/>\n"
-"</class>]]>"
-msgstr ""
-"<![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:774
-#, fuzzy, no-c-format
-msgid ""
 "Note that in this mapping, the collection-valued end of the association is "
-"responsible for updates to the foreign key."
+"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&#x00f3;n valuado en "
-"colecci&#x00f3;n es responsable de las actualizaciones a la clave for&#x00e1;"
-"nea."
+"Note que en este mapeo, el extremo de la asociación valuado en colección es "
+"responsable de las actualizaciones de la clave foránea."
 
 #. Tag: title
-#: collection_mapping.xml:782
 #, no-c-format
 msgid "Ternary associations"
 msgstr "Asociaciones ternarias"
 
 #. Tag: para
-#: collection_mapping.xml:784
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "There are three possible approaches to mapping a ternary association. One "
 "approach is to use a <literal>Map</literal> with an association as its index:"
 msgstr ""
-"Hay tres enfoques posibles para mapear una asociaci&#x00f3;n ternaria. Una "
-"es usar un <literal>Map</literal> con una asociaci&#x00f3;n como su &#x00ed;"
-"ndice:"
+"Hay tres enfoques posibles para mapear una asociación ternaria. Una es "
+"utilizar un <literal>Map</literal> con una asociación como su índice: "
 
-#. Tag: programlisting
-#: collection_mapping.xml:789
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<map name=\"contracts\">\n"
-"    <key column=\"employer_id\" not-null=\"true\"/>\n"
-"    <map-key-many-to-many column=\"employee_id\" class=\"Employee\"/>\n"
-"    <one-to-many class=\"Contract\"/>\n"
-"</map>]]>"
-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:791
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:793
-#, fuzzy, no-c-format
-msgid ""
 "A second approach is to remodel the association as an entity class. This is "
 "the most common approach."
 msgstr ""
-"Un segundo enfoque es simplemente remodelar la asociaci&#x00f3;n como una "
-"clase de entidad. Este es el enfoque que usamos m&#x00e1;s comunmente."
+"Un segundo enfoque es remodelar la asociación como una clase de entidad. "
+"Este es el enfoque más común."
 
 #. Tag: para
-#: collection_mapping.xml:798
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A final alternative is to use composite elements, which will be discussed "
 "later."
 msgstr ""
-"Una alternativa final es usar elementos compuestos, que discutiremos "
-"m&#x00e1;s adelante."
+"La última opción es utilizar elementos compuestos que discutiremos más "
+"adelante."
 
-#. Tag: literal
-#: collection_mapping.xml:805
+#. Tag: title
 #, no-c-format
-msgid "Using an &lt;idbag&gt;"
-msgstr "Usando un &lt;idbag&gt;"
+msgid "<literal>Using an &lt;idbag&gt;</literal>"
+msgstr "<literal>Utilización de un &lt;idbag&gt;</literal>"
 
 #. Tag: para
-#: collection_mapping.xml:807
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The majority of the many-to-many associations and collections of values "
 "shown previously all map to tables with composite keys, even though it has "
@@ -1811,486 +1063,144 @@
 "feature that 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&#x00f3;n de que las claves "
-"compuestas son una cosa mala y que las entidades deben tener identificadores "
-"sit&#x00e9;ticos (claves delegadas), entonces podr&#x00ed;as encontrar un "
-"poco raro que todas las asociaciones muchos a muchos y las colecciones de "
-"valores que hemos mostrado hasta ahora mapeen a tablas con claves "
-"compuestas! Ahora, este punto es discutible; una tabla de pura "
-"asociaci&#x00f3;n no parece beneficiarse demasiado de una clave delegada "
-"(aunque s&#x00ed; <emphasis>podr&#x00ed;a</emphasis> una colecci&#x00f3;n de "
-"valores compuestos). Sin embargo, Hibernate provee una funcionalidad que te "
-"permite mapear asociaciones muchos a muchos y colecciones de valores a una "
-"tabla con una clave delegada."
+"La mayoría de las asociaciones muchos-a-muchos y las colecciones de valores "
+"que hemos mostrado hasta ahora mapean a tablas con claves compuestas, aunque "
+"se ha sugerido que las entidades deben tener identificadores sintéticos "
+"(llaves sustitutas). Una tabla de pura asociación no parece beneficiarse "
+"mucho de una llave sustituta, aunque sí <emphasis>podría</emphasis> "
+"beneficiarse una colección de valores compuestos. Es por esto que Hibernate "
+"brinda una funcionalidad que le permite mapear asociaciones muchos a muchos "
+"y colecciones de valores a una tabla con una llave sustituta."
 
 #. Tag: para
-#: collection_mapping.xml:817
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>&lt;idbag&gt;</literal> element lets you map a <literal>List</"
 "literal> (or <literal>Collection</literal>) with bag semantics. For example:"
 msgstr ""
-"El elemento <literal>&lt;idbag&gt;</literal> te permite mapear una "
-"<literal>List</literal> (o <literal>Collection</literal>) con sem&#x00e1;"
-"ntica de bag."
+"El elemento <literal>&lt;idbag&gt;</literal> le permite mapear una "
+"<literal>List</literal> (o <literal>Collection</literal>) con semántica de "
+"bag. Por ejemplo:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:822
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:824
-#, fuzzy, no-c-format
-msgid ""
 "An <literal>&lt;idbag&gt;</literal> has a synthetic id generator, just like "
 "an entity class. A different surrogate key is assigned to each collection "
 "row. Hibernate does not, however, provide any mechanism for discovering the "
 "surrogate key value of a particular row."
 msgstr ""
-"Como puedes ver, un <literal>&lt;idbag&gt;</literal> tiene un generador de "
-"id sint&#x00e9;tico, igual que una clase de entidad! Una clave delegada "
-"diferente se asigna a cada fila de la colecci&#x00f3;n. Hibernate no provee "
-"ning&#x00fa;n mecanismo para descubrir el valor de clave delegada de una "
-"fila en particular, sin embargo."
+"Un <literal>&lt;idbag&gt;</literal> tiene un generador de id sintético, al "
+"igual que una clase de entidad. Se asigna una clave delegada diferente a "
+"cada fila de la colección. Sin embargo, Hibernate no proporciona ningún "
+"mecanismo para descubrir el valor de la clave delegada de una fila en "
+"particular."
 
 #. Tag: para
-#: collection_mapping.xml:831
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The update performance of an <literal>&lt;idbag&gt;</literal> supersedes a "
 "regular <literal>&lt;bag&gt;</literal>. Hibernate can locate individual rows "
 "efficiently and update or delete them individually, similar to a list, map "
 "or set."
 msgstr ""
-"Observa que el rendimiento de actualizaci&#x00f3;n de un <literal>&lt;"
-"idbag&gt;</literal> es <emphasis>mucho</emphasis> mejor que el de un "
-"<literal>&lt;bag&gt;</literal> regular! Hibernate puede localizar filas "
-"individuales eficientemente y actualizarlas o borrarlas individualmente, "
-"igual que si fuese una lista, mapa o conjunto."
+"El rendimiento de actualización de un <literal>&lt;idbag&gt;</literal> es "
+"mucho mejor que el de un <literal>&lt;bag&gt;</literal> normal. Hibernate "
+"puede localizar filas individuales eficientemente y actualizarlas o "
+"borrarlas individualmente, al igual que si fuese una lista, mapa o conjunto."
 
 #. Tag: para
-#: collection_mapping.xml:837
 #, no-c-format
 msgid ""
 "In the current implementation, the <literal>native</literal> identifier "
 "generation strategy is not supported for <literal>&lt;idbag&gt;</literal> "
 "collection identifiers."
 msgstr ""
-"En la implementaci&#x00f3;n actual, la estrategia de generaci&#x00f3;n de "
-"identificador <literal>native</literal> no est&#x00e1; soportada para "
-"identificadores de colecciones <literal>&lt;idbag&gt;</literal>."
+"En la implementación actual, la estrategia de generación de identificador "
+"<literal>native</literal> no se encuentra soportada para identificadores de "
+"colecciones <literal>&lt;idbag&gt;</literal>."
 
 #. Tag: title
-#: collection_mapping.xml:861
 #, no-c-format
 msgid "Collection examples"
-msgstr "Ejemplos de colecci&#x00f3;n"
+msgstr "Ejemplos de colección"
 
 #. Tag: para
-#: collection_mapping.xml:863
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "This section covers collection examples."
-msgstr "Ejemplos de colecci&#x00f3;n"
+msgstr "Esta sección cubre los ejemplos de colección. "
 
 #. Tag: para
-#: collection_mapping.xml:867
 #, no-c-format
-msgid ""
-"The following class has a collection of <literal>Child</literal> instances:"
+msgid "The following class has a collection of <literal>Child</literal> instances:"
 msgstr ""
+"La siguiente clase tiene una colección de instancias <literal>Child</"
+"literal>:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:871
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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"
-"}]]>"
-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:873
-#, fuzzy, no-c-format
-msgid ""
 "If each child has, at most, one parent, the most natural mapping is a one-to-"
 "many association:"
 msgstr ""
-"tiene una colecci&#x00f3;n de instancias de <literal>Child</literal>. Si "
-"cada hijo tiene como mucho un padre, el mapeo m&#x00e1;s natural es una "
-"asociaci&#x00f3;n uno-a-muchos:"
+"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:879
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:881
 #, no-c-format
 msgid "This maps to the following table definitions:"
-msgstr "Esto mapea a las siguientes definiciones de tablas:"
+msgstr "Esto mapea a las siguientes definiciones de tabla:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:885
-#, no-c-format
-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:887
 #, no-c-format
 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&#x00f3;n "
+"Si el padre es <emphasis>requerido</emphasis>, utilice una asociación "
 "bidireccional uno-a-muchos:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:892
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:894
 #, no-c-format
 msgid "Notice the <literal>NOT NULL</literal> constraint:"
-msgstr "Observa la restricci&#x00f3;n <literal>NOT NULL</literal>:"
+msgstr "Observe la restricción <literal>NOT NULL</literal>:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:898
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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]]>"
-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:900
-#, fuzzy, no-c-format
-msgid ""
 "Alternatively, if this association must be unidirectional you can declare "
 "the <literal>NOT NULL</literal> constraint on the <literal>&lt;key&gt;</"
 "literal> mapping:"
 msgstr ""
-"Alternativamente, si absolutamente insistes que esta asociaci&#x00f3;n debe "
-"ser unidireccional, puedes declarar la restricci&#x00f3;n <literal>NOT NULL</"
-"literal> en el mapeo de <literal>&lt;key&gt;</literal>:"
+"Opcionalmente, si esta asociación debe ser unidireccional, puede declarar la "
+"restricción <literal>NOT NULL</literal> en el mapeo de <literal>&lt;key&gt;</"
+"literal>:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:906
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:908
-#, fuzzy, no-c-format
-msgid ""
 "On the other hand, if a child has multiple parents, a many-to-many "
 "association is appropriate:"
 msgstr ""
-"En la otra mano, si un hijo pudiera tener m&#x00fa;ltiples padres, "
-"ser&#x00ed;a apropiada una asociaci&#x00f3;n muchos-a-muchos:"
+"Por otro lado, si un hijo tiene múltiples padres, una asociación muchos-a-"
+"muchos es apropiada:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:913
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:915
 #, no-c-format
 msgid "Table definitions:"
 msgstr "Definiciones de tabla:"
 
-#. Tag: programlisting
-#: collection_mapping.xml:919
+#. Tag: para
 #, no-c-format
 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"
-"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]]"
-">"
-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:921
-#, fuzzy, no-c-format
-msgid ""
 "For more examples and a complete explanation of a parent/child relationship "
-"mapping, see <xref linkend=\"example-parentchild\"/> for more information."
+"mapping, see <xref linkend=\"example-parentchild\" /> for more information."
 msgstr ""
-"Para m&#x00e1;s ejemplos y un paseo completo a trav&#x00e9;s del mapeo de "
-"relaciones padre/hijo, ver <xref linkend=\"example-parentchild\"/>."
+"Para ver más ejemplos y encontrar una explicación completa sobre el mapeo de "
+"relaciones padre/hijo, consulte el <xref linkend=\"example-parentchild\" /> para obtener mayor información."
 
 #. Tag: para
-#: collection_mapping.xml:926
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Even more complex association mappings are covered in the next chapter."
-msgstr ""
-"Son posibles mapeos de asociaci&#x00f3;n a&#x00fa;n m&#x00e1;s complejos. "
-"Catalogaremos todas las posibilidades en el pr&#x00f3;ximo cap&#x00ed;tulo."
+msgstr "En el próximo capítulo abordaremos los mapeos de asociaciones más complejas."
 
-#~ msgid "Collection Mapping"
-#~ msgstr "Mapeo de Colecciones"
-
-#~ msgid "Some examples, first, a set of strings:"
-#~ msgstr "Algunos ejemplos, primero, un conjunto de cadenas:"
-
-#~ msgid ""
-#~ "The previous sections are pretty confusing. So lets look at an example. "
-#~ "This class:"
-#~ msgstr ""
-#~ "Las secciones previas son bastantes confusas. As&#x00ed; que miremos un "
-#~ "ejemplo. Esta clase:"
-
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/component_mapping.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/component_mapping.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/component_mapping.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,38 +1,49 @@
-#, fuzzy
+# translation of component_mapping.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: component_mapping\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-10 21:02+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-01-08T04:07:18\n"
+"PO-Revision-Date: 2009-11-06 10:15+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: component_mapping.xml:29
 #, no-c-format
 msgid "Component Mapping"
-msgstr "Mapeo de Componentes"
+msgstr "Mapeo de componentes"
 
 #. Tag: para
-#: component_mapping.xml:31
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The notion of a <emphasis>component</emphasis> is re-used in several "
 "different contexts and purposes throughout Hibernate."
 msgstr ""
-"La noci&#x00f3;n de un <emphasis>componente</emphasis> es reusada en muchos "
-"contextos diferentes, para prop&#x00f3;sitos diferentes, a trav&#x00e9;s de "
-"Hibernate."
+"La noción de un <emphasis>componente</emphasis> se reutiliza en muchos "
+"contextos diferentes, para propósitos diferentes a través de Hibernate."
 
 #. Tag: title
-#: component_mapping.xml:37
 #, no-c-format
 msgid "Dependent objects"
 msgstr "Objetos dependientes"
 
 #. Tag: para
-#: component_mapping.xml:39
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A component is a contained object that is persisted as a value type and not "
 "an entity reference. The term \"component\" refers to the object-oriented "
@@ -40,184 +51,41 @@
 "you can 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&#x00e9;rmino \"componente\" hace "
-"referencia a la noci&#x00f3;n orientada a objetos de composici&#x00f3;n (no "
-"a componentes a nivel de arquitectura). Por ejemplo, podr&#x00ed;as modelar "
-"una persona como:"
+"valor, no una referencia de entidad. El término \"componente\" hace "
+"referencia a la noción orientada a objetos de composición y no a componentes "
+"a nivel de arquitectura. Por ejemplo, puede modelar una persona así:"
 
-#. Tag: programlisting
-#: component_mapping.xml:45
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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"
-"}]]>"
-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:47
-#, no-c-format
-msgid ""
-"<![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"
-"}]]>"
-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:49
-#, fuzzy, no-c-format
-msgid ""
 "Now <literal>Name</literal> can be persisted as a component of "
 "<literal>Person</literal>. <literal>Name</literal> defines getter and setter "
 "methods for its persistent properties, but it does not need to declare any "
 "interfaces or identifier properties."
 msgstr ""
 "Ahora <literal>Name</literal> puede ser persistido como un componente de "
-"<literal>Person</literal>. Observa que <literal>Name</literal> define "
-"m&#x00e9;todos getter y setter para sus propiedades persistentes, pero no "
-"necesita declarar ninguna interface ni propiedades identificadoras."
+"<literal>Person</literal>. <literal>Name</literal> define métodos getter y "
+"setter para sus propiedades persistentes, pero no necesita declarar ninguna "
+"interfaz ni propiedades identificadoras."
 
 #. Tag: para
-#: component_mapping.xml:56
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Our Hibernate mapping would look like this:"
-msgstr "Nuestro mapeo de Hibernate se ver&#x00ed;a as&#x00ed;:"
+msgstr "Nuestro mapeo de Hibernate se vería así: "
 
-#. Tag: programlisting
-#: component_mapping.xml:60
-#, no-c-format
-msgid ""
-"<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
-"    <id name=\"Key\" column=\"pid\" type=\"string\">\n"
-"        <generator class=\"uuid\"/>\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>]]>"
-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:62
 #, no-c-format
 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&#x00ed;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:70
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Like value types, components do not support shared references. In other "
 "words, two persons could have the same name, but the two person objects "
@@ -229,30 +97,27 @@
 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&#x00ed;an dos objetos nombre "
-"independientes, s&#x00f3;lo \"iguales\" en valor. La sem&#x00e1;ntica de "
-"valor nulo de un componente es <emphasis>ad hoc</emphasis>. Cuando se "
-"recargue el objeto contenedor, Hibernate asumir&#x00e1; que si todas las "
-"columnas del componente son nulas, el componente entero es nulo. Esto debe "
-"estar bien para la mayor&#x00ed;a de prop&#x00f3;sitos."
+"pero los dos objetos persona contendrían dos objetos nombre independientes, "
+"sólamente \"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 es apropiado para la mayoría de propósitos."
 
 #. Tag: para
-#: component_mapping.xml:78
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The properties of a component can be of any Hibernate type (collections, "
 "many-to-one associations, other components, etc). Nested components should "
 "<emphasis>not</emphasis> be considered an exotic usage. Hibernate is "
 "intended to support a fine-grained object model."
 msgstr ""
-"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&#x00f3;tico. Hibernate est&#x00e1; concebido para soportar un modelo de "
-"objetos granularizado en fino."
+"Las propiedades de un componente pueden ser de cualquier tipo de Hibernate "
+"(colecciones, asociaciones muchos-a-uno, otros componentes, etc). Los "
+"componentes anidados <emphasis>no</emphasis> deben ser considerados como un "
+"uso exótico. Hibernate está concebido para soportar un modelo de objetos muy "
+"detallado."
 
 #. Tag: para
-#: component_mapping.xml:85
 #, no-c-format
 msgid ""
 "The <literal>&lt;component&gt;</literal> element allows a <literal>&lt;"
@@ -260,98 +125,40 @@
 "as a reference back to the containing entity."
 msgstr ""
 "El elemento <literal>&lt;component&gt;</literal> permite un subelemento "
-"<literal>&lt;parent&gt;</literal> que mapee una propiedad de la clase del "
-"componente como una referencia de regreso a la entidad contenedora."
+"<literal>&lt;parent&gt;</literal> que mapea una propiedad de la clase del "
+"componente como una referencia a la entidad contenedora."
 
-#. Tag: programlisting
-#: component_mapping.xml:91
-#, no-c-format
-msgid ""
-"<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
-"    <id name=\"Key\" column=\"pid\" type=\"string\">\n"
-"        <generator class=\"uuid\"/>\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>]]>"
-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:96
 #, no-c-format
 msgid "Collections of dependent objects"
 msgstr "Colecciones de objetos dependientes"
 
 #. Tag: para
-#: component_mapping.xml:98
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Collections of components are supported (e.g. an array of type "
 "<literal>Name</literal>). Declare your component collection by replacing the "
 "<literal>&lt;element&gt;</literal> tag with a <literal>&lt;composite-"
 "element&gt;</literal> tag:"
 msgstr ""
-"Las colecciones de componentes est&#x00e1;n soportadas (por ejemplo, un "
-"array de tipo <literal>Name</literal>). Declara tu colecci&#x00f3;n de "
-"componentes remplazando la etiqueta <literal>&lt;element&gt;</literal> por "
-"una etiqueta <literal>&lt;composite-element&gt;</literal>."
+"Las colecciones de componentes se encuentran soportadas (por ejemplo, un "
+"array de tipo <literal>Name</literal>). Declare su colección de componentes "
+"remplazando la etiqueta <literal>&lt;element&gt;</literal> por una etiqueta "
+"<literal>&lt;composite-element&gt;</literal>:"
 
-#. Tag: programlisting
-#: component_mapping.xml:105
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:108
-#, fuzzy, no-c-format
-msgid ""
 "If you define a <literal>Set</literal> of composite elements, it is "
 "important to implement <literal>equals()</literal> and <literal>hashCode()</"
 "literal> correctly."
 msgstr ""
-"Nota: si defines un <literal>Set</literal> de elementos compuestos, es muy "
+"Si define un <literal>Set</literal> de elementos compuestos, es muy "
 "importante implementar <literal>equals()</literal> y <literal>hashCode()</"
-"literal> correctamente."
+"literal> de manera correcta."
 
 #. Tag: para
-#: component_mapping.xml:115
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Composite elements can contain components but not collections. If your "
 "composite element contains components, use the <literal>&lt;nested-composite-"
@@ -362,18 +169,16 @@
 "model and persistence semantics are still slightly different."
 msgstr ""
 "Los elementos compuestos pueden contener componentes pero no colecciones. Si "
-"tu elemento compuesto contiene a su vez componentes, usa la etiqueta "
-"<literal>&lt;nested-composite-element&gt;</literal>. Este es un caso "
-"bastante ex&#x00f3;tico - una colecci&#x00f3;n de componentes que a su vez "
-"tienen componentes. A esta altura debes estar pregunt&#x00e1;ndote si una "
-"asociaci&#x00f3;n uno-a-muchos es m&#x00e1;s apropiada. Intenta remodelar el "
-"elemento compuesto como una entidad - pero observa que aunque el modelo Java "
-"es el mismo, el modelo relacional y la sem&#x00e1;ntica de persistencia "
-"siguen siendo ligeramente diferentes."
+"su elemento compuesto contiene a su vez componentes, use la etiqueta "
+"<literal>&lt;nested-composite-element&gt;</literal>. Este es un caso de una "
+"colección de componentes que a su vez tienen componentes. Se debe estar "
+"preguntando si una asociación uno-a-muchos es más apropiada. Remodele el "
+"elemento compuesto como una entidad - pero observe 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:127
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A composite element mapping does not support null-able properties if you are "
 "using a <literal>&lt;set&gt;</literal>. There is no separate primary key "
@@ -383,18 +188,17 @@
 "element or choose a <literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</"
 "literal>, <literal>&lt;bag&gt;</literal> or <literal>&lt;idbag&gt;</literal>."
 msgstr ""
-"Por favor observa que un mapeo de elemento compuesto no soporta propiedades "
-"nulables si est&#x00e1;s usando un <literal>&lt;set&gt;</literal>. Hibernate "
-"tiene que usar cada columna para identificar un registro al borrar objetos "
-"(no hay una columna clave primaria separada en la tabla del elemento "
-"compuesto), lo que es imposible con valores nulos. Tienes que, o bien usar "
-"s&#x00f3;lo propiedades no nulas en un elemento compuesto o elegir un "
-"<literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</literal>, "
-"<literal>&lt;bag&gt;</literal> o <literal>&lt;idbag&gt;</literal>."
+"Un mapeo de elemento compuesto no soporta propiedades nulables si está "
+"utilizando un <literal>&lt;set&gt;</literal>. No hay una columna clave "
+"principal separada en la tabla del elemento compuesto. Hibernate utiliza el "
+"valor de cada columna para identificar un registro al borrar objetos, lo "
+"cual es imposible con valores nulos. Tiene que usar sólo propiedades no "
+"nulas en un elemento compuesto o elegir un <literal>&lt;list&gt;</literal>, "
+"<literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</literal> o "
+"<literal>&lt;idbag&gt;</literal>."
 
 #. Tag: para
-#: component_mapping.xml:138
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A special case of a composite element is a composite element with a nested "
 "<literal>&lt;many-to-one&gt;</literal> element. This mapping allows you to "
@@ -405,188 +209,115 @@
 "<literal>quantity</literal> are properties of the association:"
 msgstr ""
 "Un caso especial de un elemento compuesto es un elemento compuesto con un "
-"elemento anidado <literal>&lt;many-to-one&gt;</literal>. Un mapeo como este "
-"te permite mapear columnas extra de una tabla de asociaci&#x00f3;n muchos-a-"
-"muchos a la clase del elemento compuesto. La siguiente es una "
-"asociaci&#x00f3;n muchos-a-muchos de <literal>Order</literal> a "
-"<literal>Item</literal> donde <literal>purchaseDate</literal>, "
-"<literal>price</literal> y <literal>quantity</literal> son propiedades de la "
-"asociaci&#x00f3;n:"
+"elemento anidado <literal>&lt;many-to-one&gt;</literal>. Este mapeo le "
+"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:148
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:150
-#, fuzzy, no-c-format
-msgid ""
 "There cannot be a reference to the purchase on the other side for "
 "bidirectional association navigation. Components are value types and do not "
 "allow shared references. A single <literal>Purchase</literal> can be in the "
 "set of an <literal>Order</literal>, but it cannot be 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&#x00f3;n bidireccional de la asociaci&#x00f3;n. Recuerda que los "
-"componentes son tipos de valor no permiten referencias compartidas. Una sola "
-"<literal>Purchase</literal> puede estar en el conjunto de una "
-"<literal>Order</literal>, pero no puede ser referenciada por el "
-"<literal>Item</literal> al mismo tiempo."
+"No puede haber una referencia a la compra del otro lado para la navegación "
+"bidireccional de la asociación. Los componentes son tipos de valor y 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:158
 #, no-c-format
 msgid "Even ternary (or quaternary, etc) associations are possible:"
 msgstr "Incluso son posibles las asociaciones ternarias (o cuaternarias, etc):"
 
-#. Tag: programlisting
-#: component_mapping.xml:160
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:162
-#, fuzzy, no-c-format
-msgid ""
 "Composite elements can appear in queries using the same syntax as "
 "associations to other entities."
 msgstr ""
 "Los elementos compuestos pueden aparecer en consultas usando la misma "
-"sint&#x00e1;xis que las asociaciones a otras entidades."
+"sintáxis que las asociaciones a otras entidades. "
 
 #. Tag: title
-#: component_mapping.xml:170
 #, no-c-format
 msgid "Components as Map indices"
-msgstr "Componentes como &#x00ed;ndices de Map"
+msgstr "Componentes como índices de Mapeo"
 
 #. Tag: para
-#: component_mapping.xml:172
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>&lt;composite-map-key&gt;</literal> element allows you to map a "
 "component class as the key of a <literal>Map</literal>. Ensure that you "
 "override <literal>hashCode()</literal> and <literal>equals()</literal> "
 "correctly on the component class."
 msgstr ""
-"El elemento <literal>&lt;composite-map-key&gt;</literal> te permite mapear "
-"una clase componente como la clave de un <literal>Map</literal>. Aseg&#x00fa;"
-"rate que sobrescribes <literal>hashCode()</literal> y <literal>equals()</"
-"literal> correctamente en la clase componente."
+"El elemento <literal>&lt;composite-map-key&gt;</literal> le permite mapear "
+"una clase componente como la clave de un <literal>Map</literal>. Asegúrese "
+"de sobrescribir <literal>hashCode()</literal> y <literal>equals()</literal> "
+"correctamente en la clase componente. "
 
 #. Tag: title
-#: component_mapping.xml:181
 #, no-c-format
 msgid "Components as composite identifiers"
 msgstr "Componentes como identificadores compuestos"
 
 #. Tag: para
-#: component_mapping.xml:183
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can use a component as an identifier of an entity class. Your component "
 "class must satisfy certain requirements:"
 msgstr ""
-"Puedes usar un componente como un identidicador de una clase entidad. Tu "
-"clase componente debe satisfacer ciertos requerimientos:"
+"Puede utilizar un componente como un identidicador de una clase entidad. Su "
+"clase componente tiene que satisfacer ciertos requerimientos: "
 
 #. Tag: para
-#: component_mapping.xml:190
 #, no-c-format
 msgid "It must implement <literal>java.io.Serializable</literal>."
-msgstr "Debe implementar <literal>java.io.Serializable</literal>."
+msgstr "Tiene que implementar <literal>java.io.Serializable</literal>."
 
 #. Tag: para
-#: component_mapping.xml:195
-#, fuzzy, no-c-format
+#, no-c-format
 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&#x00f3;n de base de datos de igualdad "
-"de clave compuesta."
+"Tiene que re-implementar <literal>equals()</literal> y <literal>hashCode()</"
+"literal>, consistentemente con la noción de la base de datos de igualdad de "
+"clave compuesta."
 
 #. Tag: title
-#: component_mapping.xml:204
 #, no-c-format
 msgid "Note"
-msgstr ""
+msgstr "Nota"
 
 #. Tag: para
-#: component_mapping.xml:205
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "In Hibernate3, although the second requirement is not an absolutely hard "
 "requirement of Hibernate, it is recommended."
 msgstr ""
-"Nota: en Hibernat3, el segundo requerimiento no es absolutamente un "
-"requerimiento r&#x00ed;gido de Hibernate. Pero de todas formas, h&#x00e1;zlo."
+"En Hibernate3, aunque el segundo requerimiento no es un requerimiento "
+"absolutamente rígido de Hibernate, en todo caso se recomienda."
 
 #. Tag: para
-#: component_mapping.xml:211
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You cannot 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&#x00f3;n debe, en cambio, asignar sus propios "
-"identificadores."
+"No puede utilizar un <literal>IdentifierGenerator</literal> para generar "
+"claves compuestas. En cambio, la aplicación debe asignar sus propios "
+"identificadores. "
 
 #. Tag: para
-#: component_mapping.xml:216
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Use the <literal>&lt;composite-id&gt;</literal> tag, with nested "
 "<literal>&lt;key-property&gt;</literal> elements, in place of the usual "
@@ -594,244 +325,80 @@
 "<literal>OrderLine</literal> class has a primary key that depends upon the "
 "(composite) primary key of <literal>Order</literal>."
 msgstr ""
-"Usa la etiqueta <literal>&lt;composite-id&gt;</literal> (con elementos "
-"anidados <literal>&lt;key-property&gt;</literal>) en lugar de la usual "
-"declaraci&#x00f3;n <literal>&lt;id&gt;</literal>. Por ejemplo, la clase "
-"<literal>OrderLine</literal> tiene una clave primaria que depende de la "
-"clave primaria (compuesta) de <literal>Order</literal>."
+"Use la etiqueta <literal>&lt;composite-id&gt;</literal>, con elementos "
+"anidados <literal>&lt;key-property&gt;</literal>, en lugar de la declaración "
+"usual <literal>&lt;id&gt;</literal>. Por ejemplo, la clase "
+"<literal>OrderLine</literal> tiene una clave principal que depende de la "
+"clave principal (compuesta) de <literal>Order</literal>."
 
-#. Tag: programlisting
-#: component_mapping.xml:224
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:226
-#, fuzzy, no-c-format
-msgid ""
 "Any foreign keys referencing the <literal>OrderLine</literal> table are now "
 "composite. Declare this in your mappings for other classes. An association "
 "to <literal>OrderLine</literal> is mapped like this:"
 msgstr ""
-"Ahora, cualquier clave for&#x00e1;nea que referencie la tabla de "
-"<literal>OrderLine</literal> es tambi&#x00e9;n compuesta. Debes declarar "
-"esto en tus mapeos de otras clases. Una asociaci&#x00f3;n a "
-"<literal>OrderLine</literal> ser&#x00ed;a mapeado as&#x00ed;:"
+"Cualquier clave foránea que referencie la tabla de <literal>OrderLine</"
+"literal> también es compuesta. Declare esto en sus mapeos de otras clases. "
+"Una asociación a <literal>OrderLine</literal> se mapea así:"
 
-#. Tag: programlisting
-#: component_mapping.xml:232
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:235
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
-"The <literal>column</literal> element is an alternative to the "
-"<literal>column</literal> attribute everywhere. Using the <literal>column</"
-"literal> element just gives more declaration options, which are mostly "
-"useful when utilizing <literal>hbm2ddl</literal>"
+"The <literal>&lt;column&gt;</literal> tag is an alternative to the "
+"<literal>column</literal> attribute everywhere. Using the <literal>&lt;"
+"column&gt;</literal> tag just gives more declaration options, which are "
+"mostly useful when utilizing <literal>hbm2ddl</literal>."
 msgstr ""
+"La etiqueta <literal>&lt;column&gt;</literal> es una alternativa al atributo "
+"<literal>column</literal> en cualquier sitio."
 
 #. Tag: para
-#: component_mapping.xml:244
 #, no-c-format
 msgid ""
 "A <literal>many-to-many</literal> association to <literal>OrderLine</"
 "literal> also uses the composite foreign key:"
 msgstr ""
-"Una asociaci&#x00f3;n <literal>muchos-a-muchos</literal> a "
-"<literal>OrderLine</literal> tambi&#x00e9;n usa la clave for&#x00e1;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:249
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:251
 #, no-c-format
 msgid ""
 "The collection of <literal>OrderLine</literal>s in <literal>Order</literal> "
 "would use:"
 msgstr ""
-"La colecci&#x00f3;n de <literal>OrderLine</literal>s en <literal>Order</"
-"literal> usar&#x00ed;a:"
+"La colección de <literal>OrderLine</literal>s en <literal>Order</literal> "
+"utilizaría: "
 
-#. Tag: programlisting
-#: component_mapping.xml:256
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:258
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "The <literal>&lt;one-to-many&gt;</literal> element declares no columns."
 msgstr ""
-"(El elemento <literal>&lt;one-to-many&gt;</literal>, como es usual, no "
-"declara columnas.)"
+"El elemento <literal>&lt;one-to-many&gt;</literal> declara ninguna columna."
 
 #. Tag: para
-#: component_mapping.xml:262
 #, no-c-format
 msgid ""
 "If <literal>OrderLine</literal> itself owns a collection, it also has a "
 "composite foreign key."
 msgstr ""
-"Si <literal>OrderLine</literal> posee una colecci&#x00f3;n por s&#x00ed; "
-"misma, tiene tambi&#x00e9;n una clave for&#x00e1;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:267
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:272
 #, no-c-format
 msgid "Dynamic components"
-msgstr "Componentes din&#x00e1;micos"
+msgstr "Componentes dinámicos"
 
 #. Tag: para
-#: component_mapping.xml:274
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "You can also map a property of type <literal>Map</literal>:"
-msgstr "Puedes incluso mapear una propiedad de tipo <literal>Map</literal>:"
+msgstr "También puede mapear una propiedad del tipo <literal>Map</literal>:"
 
-#. Tag: programlisting
-#: component_mapping.xml:278
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:280
-#, fuzzy, no-c-format
-msgid ""
 "The semantics of a <literal>&lt;dynamic-component&gt;</literal> mapping are "
 "identical to <literal>&lt;component&gt;</literal>. The advantage of this "
 "kind of mapping is the ability to determine the actual properties of the "
@@ -840,25 +407,378 @@
 "You can also access, and change, Hibernate's configuration-time metamodel "
 "via the <literal>Configuration</literal> object."
 msgstr ""
-"La sem&#x00e1;ntica de un mapeo <literal>&lt;dynamic-component&gt;</literal> "
-"es &#x00ed;dentica a la de <literal>&lt;component&gt;</literal>. La ventaja "
-"de este tipo de mapeos es la habilidad para determinar las propiedades "
-"reales del bean en tiempo de despliegue, s&#x00f3;lo con editar el documento "
-"de mapeo. La manipulaci&#x00f3;n del documento de mapeo en tiempo de "
-"ejecuci&#x00f3;n es tambi&#x00e9;n posible, usando un analizador DOM. "
-"Incluso mejor, puedes acceder (y cambiar) el metamodelo de tiempo de "
-"configuraci&#x00f3;n de Hibernate por medio del objeto "
+"La semántica de un mapeo <literal>&lt;dynamic-component&gt;</literal> es "
+"ídentica a la de <literal>&lt;component&gt;</literal>. La ventaja de este "
+"tipo de mapeos es la habilidad para determinar las propiedades reales del "
+"bean en tiempo de despliegue, sólo con editar el documento de mapeo. La "
+"manipulación del documento de mapeo en tiempo de ejecución también es "
+"posible, usando un analizador DOM. También puede acceder y cambiar el "
+"metamodelo de tiempo de configuración de Hibernate por medio del objeto "
 "<literal>Configuration</literal>."
 
 #~ msgid ""
-#~ "(Note that the <literal>&lt;column&gt;</literal> tag is an alternative to "
-#~ "the <literal>column</literal> attribute everywhere.)"
+#~ "<![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"
+#~ "}]]>"
 #~ msgstr ""
-#~ "(Nota que la etiqueta <literal>&lt;column&gt;</literal> es una "
-#~ "alternativa al atributo <literal>column</literal> en cualquier sitio.)"
+#~ "<![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"
+#~ "}]]>"
 
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid ""
+#~ "<![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"
+#~ "}]]>"
+#~ 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"
+#~ "}]]>"
 
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid ""
+#~ "<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
+#~ "    <id name=\"Key\" column=\"pid\" type=\"string\">\n"
+#~ "        <generator class=\"uuid\"/>\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>]]>"
+#~ msgstr ""
+#~ "<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
+#~ "    <id name=\"Key\" column=\"pid\" type=\"string\">\n"
+#~ "        <generator class=\"uuid\"/>\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>]]>"
+
+#~ msgid ""
+#~ "<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
+#~ "    <id name=\"Key\" column=\"pid\" type=\"string\">\n"
+#~ "        <generator class=\"uuid\"/>\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>]]>"
+#~ msgstr ""
+#~ "<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
+#~ "    <id name=\"Key\" column=\"pid\" type=\"string\">\n"
+#~ "        <generator class=\"uuid\"/>\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>]]>"
+
+#~ msgid ""
+#~ "<![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>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![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>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![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>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![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>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![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>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![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>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![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>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![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>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![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>]]>"
+#~ 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>]]>"

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/configuration.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/configuration.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/configuration.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,21 +1,35 @@
-#, fuzzy
+# translation of configuration.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: configuration\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-16 18:47+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-01-08T04:07:18\n"
+"PO-Revision-Date: 2010-01-07 09:53+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: configuration.xml:29
 #, no-c-format
 msgid "Configuration"
-msgstr "Configuraci&#x00f3;n"
+msgstr "Configuración"
 
 #. Tag: para
-#: configuration.xml:31
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate is designed to operate in many different environments and, as "
 "such, there is a broad range of configuration parameters. Fortunately, most "
@@ -24,23 +38,21 @@
 "displays the various options. Simply put the example file in your classpath "
 "and customize it to suit your needs."
 msgstr ""
-"Debido a que Hibernate est&#x00e1; dise&#x00f1;ado para operar en muchos "
-"entornos diferentes, hay un gran n&#x00fa;mero de par&#x00e1;metros de "
-"configuraci&#x00f3;n. Afortunadamente, la mayor&#x00ed;a tiene valores por "
-"defecto sensibles e Hibernate se distribuye con un fichero "
-"<literal>hibernate.properties</literal> de ejemplo en <literal>etc/</"
-"literal> que muestra las diversas opciones. Tan s&#x00f3;lo pon el fichero "
-"de ejemplo en tu classpath y personal&#x00ed;zalo."
+"Hibernate está diseñado para operar en muchos entornos diferentes y por lo "
+"tanto hay un gran número de parámetros de configuración. Afortunadamente, la "
+"mayoría tiene valores predeterminados sensibles y Hibernate se distribuye "
+"con un archivo <literal>hibernate.properties</literal> de ejemplo en "
+"<literal>etc/</literal> que muestra las diversas opciones. Simplemente ponga "
+"el fichero de ejemplo en su ruta de clase y personalícelo de acuerdo a sus "
+"necesidades."
 
 #. Tag: title
-#: configuration.xml:40
 #, no-c-format
 msgid "Programmatic configuration"
-msgstr "Configuraci&#x00f3;n program&#x00e1;tica"
+msgstr "Configuración programática"
 
 #. Tag: para
-#: configuration.xml:42
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "An instance of <classname>org.hibernate.cfg.Configuration</classname> "
 "represents an entire set of mappings of an application's Java types to an "
@@ -48,256 +60,181 @@
 "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&#x00f3;n a una base de datos SQL. La <literal>Configuration</"
-"literal> es usada para construir una <literal>SessionFactory</literal> "
-"(inmutable). Los mapeos se compilan de varios ficheros de mapeo XML."
+"Una instancia de <classname>org.hibernate.cfg.Configuration</classname> "
+"representa un conjunto entero de mapeos de los tipos Java de una aplicación "
+"a una base de datos SQL. La <classname>org.hibernate.cfg.Configuration</"
+"classname> se utiliza para construir una <interfacename>org.hibernate."
+"SessionFactory</interfacename> inmutable. Los mapeos se compilan desde "
+"varios archivos de mapeo XML."
 
 #. Tag: para
-#: configuration.xml:49
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can 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>. For example:"
 msgstr ""
-"Puedes obtener una instancia de <literal>Configuration</literal> "
-"instanci&#x00e1;ndola directamente y especificando documentos de mapeo XML. "
-"Si los ficheros de mapeo est&#x00e1;n en el classpath, usa "
-"<literal>addResource()</literal>:"
+"Puede obtener una instancia de <classname>org.hibernate.cfg.Configuration</"
+"classname> instanciándola directamente y especificando los documentos de "
+"mapeo XML. Si los archivos de mapeo están en la ruta de clase, utilice "
+"<literal>addResource()</literal>. Por ejemplo:"
 
-#. Tag: programlisting
-#: configuration.xml:55
+#. Tag: para
 #, no-c-format
 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:57
-#, fuzzy, no-c-format
-msgid ""
 "An alternative way is to specify the mapped class and allow Hibernate to "
 "find the mapping document for you:"
 msgstr ""
-"Una forma alternativa (a veces mejor) es especificar la clase mapeada, y "
-"dejar que Hibernate encuentre el documento de mapeo por ti:"
+"Una manera opcional es especificar la clase mapeada y dejar que Hibernate "
+"encuentre el documento de mapeo por usted:"
 
-#. Tag: programlisting
-#: configuration.xml:62
+#. Tag: para
 #, no-c-format
 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:64
-#, fuzzy, no-c-format
-msgid ""
 "Hibernate will then search 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&#x00e1; ficheros de mapeo llamados <literal>/org/"
-"hibernate/auction/Item.hbm.xml</literal> y <literal>/org/hibernate/auction/"
-"Bid.hbm.xml</literal> en el classpath. Este enfoque elimina cualquier nombre "
-"de fichero en el c&#x00f3;digo."
+"Luego Hibernate buscará los archivos de mapeo llamados <filename>/org/"
+"hibernate/auction/Item.hbm.xml</filename> y <filename>/org/hibernate/auction/"
+"Bid.hbm.xml</filename> en la ruta de clase. Este enfoque elimina cualquier "
+"nombre de archivo establecido manualmente."
 
 #. Tag: para
-#: configuration.xml:70
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A <classname>org.hibernate.cfg.Configuration</classname> also allows you to "
 "specify configuration properties. For example:"
 msgstr ""
-"Una <literal>Configuration</literal> tambi&#x00e9;n te permite especificar "
-"propiedades de configuraci&#x00f3;n:"
+"Una <classname>org.hibernate.cfg.Configuration</classname> también le "
+"permite especificar las propiedades de configuración. Por ejemplo:"
 
-#. Tag: programlisting
-#: configuration.xml:75
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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\");]]>"
-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:77
-#, fuzzy, no-c-format
-msgid ""
 "This is not the only way to pass configuration properties to Hibernate. Some "
 "alternative options include:"
 msgstr ""
-"Esta no es la &#x00fa;nica forma de pasar propiedades de configuraci&#x00f3;"
-"n a Hibernate. La diversas opciones incluyen:"
+"Esta no es la única manera de pasar propiedades de configuración a "
+"Hibernate. Algunas opciones incluyen:"
 
 #. Tag: para
-#: configuration.xml:84
 #, no-c-format
 msgid ""
 "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 "
+"Pasar una instancia de <classname>java.util.Properties</classname> a "
 "<literal>Configuration.setProperties()</literal>."
 
 #. Tag: para
-#: configuration.xml:90
 #, no-c-format
 msgid ""
 "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&#x00ed;z "
-"del classpath."
+"Colocar un archivo llamado <literal>hibernate.properties</literal> en un "
+"directorio raíz de la ruta de clase."
 
 #. Tag: para
-#: configuration.xml:95
 #, no-c-format
 msgid ""
 "Set <literal>System</literal> properties using <literal>java -"
 "Dproperty=value</literal>."
 msgstr ""
-"Establecer propiedades <literal>System</literal> usando <literal>java -"
+"Establecer propiedades <literal>System</literal> utilizando <literal>java -"
 "Dproperty=value</literal>."
 
 #. Tag: para
-#: configuration.xml:100
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Include <literal>&lt;property&gt;</literal> elements in <literal>hibernate."
 "cfg.xml</literal> (this is discussed later)."
 msgstr ""
-"Incluir elementos <literal>&lt;property&gt;</literal> en <literal>hibernate."
-"cfg.xml</literal> (discutido luego)."
+"Incluir los elementos <literal>&lt;property&gt;</literal> en "
+"<literal>hibernate.cfg.xml</literal> (esto se discute más adelante)."
 
 #. Tag: para
-#: configuration.xml:107
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you want to get started quickly<filename>hibernate.properties</filename> "
 "is the easiest approach."
 msgstr ""
-"<literal>hibernate.properties</literal> es el enfoque m&#x00e1;s f&#x00e1;"
-"cil si quieres comenzar r&#x00e1;pido."
+"Si quiere empezar rápidamente <filename>hibernate.properties</filename> es "
+"el enfoque más fácil."
 
 #. Tag: para
-#: configuration.xml:111
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <classname>org.hibernate.cfg.Configuration</classname> is intended as a "
 "startup-time object that will be discarded once a <literal>SessionFactory</"
 "literal> is created."
 msgstr ""
-"La <literal>Configuration</literal> est&#x00e1; concebida como un objeto de "
-"tiempo de arranque, para ser descartado una vez que una "
-"<literal>SessionFactory</literal> es creada."
+"La <classname>org.hibernate.cfg.Configuration</classname> está concebida "
+"como un objeto de tiempo de inicio que se va a descartar una vez se crea una "
+"<literal>SessionFactory</literal>."
 
 #. Tag: title
-#: configuration.xml:119
 #, no-c-format
 msgid "Obtaining a SessionFactory"
-msgstr "Obteniendo una SessionFactory"
+msgstr "Obtención de una SessionFactory"
 
 #. Tag: para
-#: configuration.xml:121
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "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:"
+"<classname>org.hibernate.Session</classname> 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&#x00f3;n debe obtener una f&#x00e1;brica de instancias "
-"de <literal>Session</literal>. Esta f&#x00e1;brica est&#x00e1; concebida "
-"para ser compartida por todas las hebras de aplicaci&#x00f3;n:"
+"Cuando la <classname>org.hibernate.cfg.Configuration</classname> ha "
+"analizado sintácticamente todos los mapeos, la aplicación tiene que obtener "
+"una fábrica para las instancias <interfacename>org.hibernate.Session</"
+"interfacename>. Esta fábrica está concebida para que todos los hilos de la "
+"aplicación la compartan:"
 
-#. Tag: programlisting
-#: configuration.xml:127
-#, no-c-format
-msgid "<![CDATA[SessionFactory sessions = cfg.buildSessionFactory();]]>"
-msgstr "<![CDATA[SessionFactory sessions = cfg.buildSessionFactory();]]>"
-
 #. Tag: para
-#: configuration.xml:129
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "Hibernate does allow your application to instantiate more than one "
-"<interfacename>org.hibernate.SessionFactory</interfacename>. This is useful "
-"if you are using more than one database."
+"<classname>org.hibernate.SessionFactory</classname>. This is useful if you "
+"are using more than one database."
 msgstr ""
-"Hibernate permite que tu aplicaci&#x00f3;n instancie m&#x00e1;s de una "
-"<literal>SessionFactory</literal>. Esto es &#x00fa;til si est&#x00e1;s "
-"usando m&#x00e1;s de una base de datos."
+"Hibernate permite que su aplicación instancie más de una <interfacename>org."
+"hibernate.SessionFactory</interfacename>. Esto es útil si está utilizando "
+"más de una base de datos."
 
 #. Tag: title
-#: configuration.xml:138
 #, no-c-format
 msgid "JDBC connections"
 msgstr "Conexiones JDBC"
 
 #. Tag: para
-#: configuration.xml:140
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is advisable 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:"
+"Se aconseja que la <interfacename>org.hibernate.SessionFactory</"
+"interfacename> cree y almacene en pool conexiones JDBC por usted Si adopta "
+"este enfoque, el abrir una <interfacename>org.hibernate.Session</"
+"interfacename> es tan simple como:"
 
-#. Tag: programlisting
-#: configuration.xml:146
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[Session session = sessions.openSession(); // open a new Session]]>"
-msgstr ""
-"<![CDATA[Session session = sessions.openSession(); // open a new Session]]>"
-
-#. Tag: para
-#: configuration.xml:148
-#, fuzzy, no-c-format
-msgid ""
 "Once you start a task 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&#x00e1; una conexi&#x00f3;n JDBC del pool."
+"En el momento en que inicie una tarea que requiera acceso a la base de "
+"datos, se obtendrá una conexión JDBC del pool."
 
 #. Tag: para
-#: configuration.xml:153
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Before you can do this, you first need to pass some JDBC connection "
 "properties to Hibernate. All Hibernate property names and semantics are "
@@ -305,108 +242,89 @@
 "The most important settings for JDBC connection configuration are outlined "
 "below."
 msgstr ""
-"Para que esto funcione, necesitamos pasar algunas propiedades de "
-"conexi&#x00f3;n JDBC a Hibernate. Todos los nombres de propiedades y su "
-"sem&#x00e1;ntica est&#x00e1;n definidas en la clase <literal>org.hibernate."
-"cfg.Environment</literal>. Describiremos ahora las configuraciones m&#x00e1;"
-"s importantes para la conexi&#x00f3;n JDBC."
+"Para que esto funcione, primero necesita pasar algunas las propiedades de "
+"conexión JDBC a Hibernate. Todos los nombres de las propiedades de Hibernate "
+"y su semántica están definidas en la clase <classname>org.hibernate.cfg."
+"Environment</classname>. Ahora describiremos las configuraciones más "
+"importantes para la conexión JDBC."
 
 #. Tag: para
-#: configuration.xml:159
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate will obtain and pool connections using <classname>java.sql."
 "DriverManager</classname> if you set the following properties:"
 msgstr ""
-"Hibernate obtendr&#x00e1; (y tendr&#x00e1; en pool) conexiones usando "
-"<literal>java.sql.DriverManager</literal> si configuras las siguientes "
+"Hibernate obtendrá y tendrá en pool las conexiones utilizando "
+"<classname>java.sql.DriverManager</classname> si configura las siguientes "
 "propiedades:"
 
 #. Tag: title
-#: configuration.xml:165
 #, no-c-format
 msgid "Hibernate JDBC Properties"
 msgstr "Propiedades JDBC de Hibernate"
 
-#. Tag: entry
-#: configuration.xml:171 configuration.xml:257 configuration.xml:353
-#: configuration.xml:546 configuration.xml:741 configuration.xml:848
-#: configuration.xml:936
+#. Tag: para
 #, no-c-format
 msgid "Property name"
-msgstr "Nombre de propiedad"
+msgstr "Nombre de la propiedad"
 
-#. Tag: entry
-#: configuration.xml:172 configuration.xml:258 configuration.xml:354
-#: configuration.xml:547 configuration.xml:742 configuration.xml:849
-#: configuration.xml:937
+#. Tag: para
 #, no-c-format
 msgid "Purpose"
-msgstr "Prop&#x00f3;sito"
+msgstr "Propósito"
 
-#. Tag: property
-#: configuration.xml:178
+#. Tag: para
 #, no-c-format
-msgid "hibernate.connection.driver_class"
-msgstr "hibernate.connection.driver_class"
+msgid "<property>hibernate.connection.driver_class</property>"
+msgstr "<property>hibernate.connection.driver_class</property>"
 
-#. Tag: emphasis
-#: configuration.xml:181
+#. Tag: para
 #, no-c-format
-msgid "JDBC driver class"
-msgstr "clase del driver jdbc"
+msgid "<emphasis>JDBC driver class</emphasis>"
+msgstr "<emphasis>clase del controlador JDBC</emphasis>"
 
-#. Tag: property
-#: configuration.xml:186
+#. Tag: para
 #, no-c-format
-msgid "hibernate.connection.url"
-msgstr "hibernate.connection.url"
+msgid "<property>hibernate.connection.url</property>"
+msgstr "<property>hibernate.connection.url</property>"
 
-#. Tag: emphasis
-#: configuration.xml:189
+#. Tag: para
 #, no-c-format
-msgid "JDBC URL"
-msgstr "URL de jdbc"
+msgid "<emphasis>JDBC URL</emphasis>"
+msgstr "<emphasis>URL JDBC</emphasis>"
 
-#. Tag: property
-#: configuration.xml:194 configuration.xml:288
+#. Tag: para
 #, no-c-format
-msgid "hibernate.connection.username"
-msgstr "hibernate.connection.username"
+msgid "<property>hibernate.connection.username</property>"
+msgstr "<property>hibernate.connection.username</property>"
 
-#. Tag: emphasis
-#: configuration.xml:197
+#. Tag: para
 #, no-c-format
-msgid "database user"
-msgstr "usuario de base de datos"
+msgid "<emphasis>database user</emphasis>"
+msgstr "<emphasis>usuario de la base de datos</emphasis>"
 
-#. Tag: property
-#: configuration.xml:202 configuration.xml:296
+#. Tag: para
 #, no-c-format
-msgid "hibernate.connection.password"
-msgstr "hibernate.connection.password"
+msgid "<property>hibernate.connection.password</property>"
+msgstr "<property>hibernate.connection.password</property>"
 
-#. Tag: emphasis
-#: configuration.xml:205
+#. Tag: para
 #, no-c-format
-msgid "database user password"
-msgstr "contrase&#x00f1;a del usuario de base de datos"
+msgid "<emphasis>database user password</emphasis>"
+msgstr "<emphasis>contraseña del usuario de la base de datos</emphasis>"
 
-#. Tag: property
-#: configuration.xml:210
+#. Tag: para
 #, no-c-format
-msgid "hibernate.connection.pool_size"
-msgstr "hibernate.connection.pool_size"
+msgid "<property>hibernate.connection.pool_size</property>"
+msgstr "<property>hibernate.connection.pool_size</property>"
 
-#. Tag: emphasis
-#: configuration.xml:213
+#. Tag: para
 #, no-c-format
-msgid "maximum number of pooled connections"
-msgstr "n&#x00fa;mero m&#x00e1;ximo de conexiones manejadas por pooling"
+msgid "<emphasis>maximum number of pooled connections</emphasis>"
+msgstr "<emphasis>número máximo de conexiones en pools</emphasis>"
 
 #. Tag: para
-#: configuration.xml:220
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
@@ -416,19 +334,17 @@
 "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&#x00e1; concebido para ayudarte a comenzar y "
-"<emphasis>no est&#x00e1; concebido para usar en un sistema de "
-"producci&#x00f3;n</emphasis> ni siquiera para pruebas de rendimiento. Debes "
-"usar un pool de terceros para un mejor rendimiento y estabilidad. S&#x00f3;"
-"lo remplaza la propiedad <literal>hibernate.connection.pool_size</literal> "
-"con configuraciones espec&#x00ed;ficas del pool de conexiones. Esto "
-"desactivar&#x00e1; el pool interno de Hibernate. Por ejemplo, podr&#x00ed;as "
-"querer usar C3P0."
+"Sin embargo, el algoritmo de pooling de la conexión propia de Hibernate es "
+"algo rudimentario. Está concebido para ayudarle a comenzar y <emphasis>no "
+"para utilizarse en un sistema de producción</emphasis> ni siquiera para "
+"pruebas de rendimiento. Para alcanzar un mejor rendimiento y estabilidad "
+"debe utilizar un pool de terceros. Sólo remplace la propiedad "
+"<property>hibernate.connection.pool_size</property> con configuraciones "
+"específicas del pool de conexiones. Esto desactivará el pool interno de "
+"Hibernate. Por ejemplo, es posible utilizar C3P0."
 
 #. Tag: para
-#: configuration.xml:230
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "C3P0 is an open source JDBC connection pool distributed along with Hibernate "
 "in the <filename>lib</filename> directory. Hibernate will use its "
@@ -438,178 +354,122 @@
 "<filename>hibernate.properties</filename> and the Hibernate web site for "
 "more information."
 msgstr ""
-"C3P0 es un pool de conexiones JDBC de c&#x00f3;digo abierto distribuido "
-"junto a Hibernate en el directorio <literal>lib</literal>. Hibernate "
-"usar&#x00e1; su <literal>C3P0ConnectionProvider</literal> para pooling de "
-"conexiones si estableces propiedades <literal>hibernate.c3p0.*</literal>. Si "
-"quieres usar Proxool refi&#x00e9;rete al <literal>hibernate.properties</"
-"literal> empaquetado y al sitio web de Hibernate para m&#x00e1;s "
-"informaci&#x00f3;n."
+"C3P0 es un pool de conexiones JDBC de código abierto distribuido junto con "
+"Hibernate en el directorio <literal>lib</literal>. Hibernate utilizará su "
+"<classname>org.hibernate.connection.C3P0ConnectionProvider</classname> para "
+"pooling de conexiones si establece propiedades <literal>hibernate.c3p0.*</"
+"literal>. Si quiere utilizar Proxool refiérase a <literal>hibernate."
+"properties</literal> incluído en el paquete y al sitio web de Hibernate para "
+"obtener más información."
 
 #. Tag: para
-#: configuration.xml:238
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The following is an example <filename>hibernate.properties</filename> file "
 "for c3p0:"
 msgstr ""
-"Aqu&#x00ed; hay un fichero <literal>hibernate.properties</literal> de "
-"ejemplo para C3P0:"
+"Aquí hay un archivo <literal>hibernate.properties</literal> de ejemplo para "
+"c3p0:"
 
-#. Tag: programlisting
-#: configuration.xml:242
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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]]>"
-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:244
-#, fuzzy, no-c-format
-msgid ""
 "For use inside an application server, you should almost always configure "
 "Hibernate to obtain connections from an application server "
 "<interfacename>javax.sql.Datasource</interfacename> registered in JNDI. You "
 "will 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&#x00e1;s "
-"establecer al menos una de las siguientes propiedades:"
+"Para su utilización dentro de un servidor de aplicaciones, casi siempre "
+"usted debe configurar Hibernate para obtener conexiones de un "
+"<interfacename>javax.sql.Datasource</interfacename> del servidor de "
+"aplicaciones registrado en JNDI. Necesitará establecer al menos una de las "
+"siguientes propiedades:"
 
 #. Tag: title
-#: configuration.xml:251
 #, no-c-format
 msgid "Hibernate Datasource Properties"
-msgstr "Propiedades de Datasource de Hibernate"
+msgstr "Propiedades de la Fuente de Datos de Hibernate"
 
-#. Tag: property
-#: configuration.xml:264
+#. Tag: para
 #, no-c-format
-msgid "hibernate.connection.datasource"
-msgstr "hibernate.connection.datasource"
+msgid "<property>hibernate.connection.datasource</property>"
+msgstr "<property>hibernate.connection.datasource</property>"
 
-#. Tag: emphasis
-#: configuration.xml:267
+#. Tag: para
 #, no-c-format
-msgid "datasource JNDI name"
-msgstr "nombre del datasource JNDI"
+msgid "<emphasis>datasource JNDI name</emphasis>"
+msgstr "<emphasis>nombre JNDI de la fuente de datos</emphasis>"
 
-#. Tag: property
-#: configuration.xml:272
+#. Tag: para
 #, no-c-format
-msgid "hibernate.jndi.url"
-msgstr "hibernate.jndi.url"
+msgid "<property>hibernate.jndi.url</property>"
+msgstr "<property>hibernate.jndi.url</property>"
 
-#. Tag: entry
-#: configuration.xml:274
+#. Tag: para
 #, no-c-format
 msgid "<emphasis>URL of the JNDI provider</emphasis> (optional)"
-msgstr "<emphasis>URL del provedor JNDI</emphasis> (optional)"
+msgstr "<emphasis>URL del proveedor JNDI</emphasis> (opcional)"
 
-#. Tag: property
-#: configuration.xml:280
+#. Tag: para
 #, no-c-format
-msgid "hibernate.jndi.class"
-msgstr "hibernate.jndi.class"
+msgid "<property>hibernate.jndi.class</property>"
+msgstr "<property>hibernate.jndi.class</property>"
 
-#. Tag: entry
-#: configuration.xml:282
+#. Tag: para
 #, no-c-format
 msgid ""
 "<emphasis>class of the JNDI <literal>InitialContextFactory</literal></"
 "emphasis> (optional)"
 msgstr ""
-"<emphasis>clase de la <literal>InitialContextFactory</literal> de JNDI</"
-"emphasis> (opcional)"
+"<emphasis>clase del JNDI <literal>InitialContextFactory</literal></emphasis> "
+"(opcional)"
 
-#. Tag: entry
-#: configuration.xml:290
+#. Tag: para
 #, no-c-format
 msgid "<emphasis>database user</emphasis> (optional)"
-msgstr "<emphasis>usuario de base de datos</emphasis> (opcional)"
+msgstr "<emphasis>usuario de la base de datos</emphasis> (opcional)"
 
-#. Tag: entry
-#: configuration.xml:298
+#. Tag: para
 #, no-c-format
 msgid "<emphasis>database user password</emphasis> (optional)"
 msgstr ""
-"<emphasis>contrase&#x00f1;a del usuario de base de datos</emphasis> "
-"(opcional)"
+"<emphasis>contraseña del usuario de la base de datos</emphasis> (opcional)"
 
 #. Tag: para
-#: configuration.xml:306
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Here is an example <filename>hibernate.properties</filename> file for an "
 "application server provided JNDI datasource:"
 msgstr ""
-"He aqu&#x00ed; un fichero <literal>hibernate.properties</literal> de ejemplo "
-"para un un datasource JNDI provisto por un servidor de aplicaciones."
+"He aquí un archivo <literal>hibernate.properties</literal> de ejemplo para "
+"una fuente de datos JNDI provisto por un servidor de aplicaciones:"
 
-#. Tag: programlisting
-#: configuration.xml:311
-#, no-c-format
-msgid ""
-"<![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]]>"
-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:313
 #, no-c-format
 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&#x00e1;n "
-"autom&#x00e1;ticamente en las transacciones del servidor de aplicaciones "
-"manejadas por contenedor."
+"Las conexiones JDBC obtenidas de una fuente de datos JNDI participarán "
+"automáticamente en las transacciones del servidor de aplicaciones "
+"administradas por el contenedor."
 
 #. Tag: para
-#: configuration.xml:318
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Arbitrary connection properties can be given by prepending "
 "\"<literal>hibernate.connection</literal>\" to the connection property name. "
 "For example, you can specify a <property>charSet</property> connection "
 "property using <property>hibernate.connection.charSet</property>."
 msgstr ""
-"Pueden darse propiedades de conexi&#x00f3;n arbitrarias anteponiendo "
-"\"<literal>hibernate.connnection</literal>\" al nombre de propiedad. Por "
-"ejemplo, puedes especificar un <literal>charSet</literal> usando "
-"<literal>hibernate.connection.charSet</literal>."
+"Pueden darse propiedades de conexión arbitrarias anteponiendo "
+"\"<literal>hibernate.connnection</literal>\" al nombre de propiedad de la "
+"conexión. Por ejemplo, puede especificar una propiedad de conexión "
+"<literal>charSet</literal> usando <property>hibernate.connection.charSet</"
+"property>."
 
 #. Tag: para
-#: configuration.xml:324
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can define your own plugin strategy for obtaining JDBC connections by "
 "implementing the interface <interfacename>org.hibernate.connection."
@@ -617,279 +477,243 @@
 "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&#x00f3;n "
-"personalizada estableciendo <literal>hibernate.connection.provider_class</"
-"literal>."
+"Puede definir su propia estrategia plugin para obtener conexiones JDBC "
+"implementando la interfaz <interfacename>org.hibernate.connection."
+"ConnectionProvider</interfacename> y especificando su propia implementación "
+"personalizada por medio de la propiedad <property>hibernate.connection."
+"provider_class</property>."
 
 #. Tag: title
-#: configuration.xml:333
 #, no-c-format
 msgid "Optional configuration properties"
-msgstr "Par&#x00e1;metros de configuraci&#x00f3;n opcionales"
+msgstr "Parámetros de configuración opcionales"
 
 #. Tag: para
-#: configuration.xml:335
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "There are a number of other properties that control the behavior of "
 "Hibernate at runtime. All are optional and have reasonable default values."
 msgstr ""
-"Hay un n&#x00fa;mero de otras propiedades que controlan el comportamiento de "
-"Hibernate en tiempo de ejecuci&#x00f3;n. Todas son opcionales y tienen "
-"valores por defecto razonables."
+"Hay otras propiedades que controlan el comportamiento de Hibernate en tiempo "
+"de ejecución. Todas son opcionales y tienen valores razonables por defecto. "
 
-#. Tag: warning
-#: configuration.xml:341
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
-"<emphasis>Some of these properties are \"system-level\" only.</emphasis> "
-"System-level properties can be set only via <literal>java -Dproperty=value</"
-"literal> or <filename>hibernate.properties</filename>. They "
-"<emphasis>cannot</emphasis> be set by the other techniques described above."
+"Some of these properties are system-level only. System-level properties can "
+"be set only via <code>java -Dproperty=value</code> or <filename>hibernate."
+"properties</filename>. They <emphasis>cannot</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&#x00f3;lo "
-"pueden ser establecidas por medio de <literal>java -Dproperty=value</"
-"literal> o <literal>hibernate.properties</literal>. <emphasis>No</emphasis> "
-"pueden establecerse por medio de las otras t&#x00e9;cnicas arriba descritas."
+"Algunas de estas propiedades se encuentran a nivel-del-sistema sólamente. "
+"Las propiedades a nivel del sistema sólamente se pueden establecer por medio "
+"de <code>java -Dproperty=value</code> o <filename>hibernate.properties</"
+"filename>. <emphasis>No</emphasis> pueden establecerse por medio de las "
+"técnicas descritas anteriormente."
 
 #. Tag: title
-#: configuration.xml:347
 #, no-c-format
 msgid "Hibernate Configuration Properties"
-msgstr "Propiedades de Configuraci&#x00f3;n de Hibernate"
+msgstr "Propiedades de Configuración de Hibernate"
 
-#. Tag: property
-#: configuration.xml:360
+#. Tag: para
 #, no-c-format
-msgid "hibernate.dialect"
-msgstr "hibernate.dialect"
+msgid "<property>hibernate.dialect</property>"
+msgstr "<property>hibernate.dialect</property>"
 
-#. Tag: entry
-#: configuration.xml:362
+#. Tag: para
 #, no-c-format
 msgid ""
 "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 <literal>Dialect</literal> de Hibernate que permite "
-"a Hibernate generar SQL optimizado para una base de datos relacional en "
-"particular."
+"El nombre de clase de un <classname>org.hibernate.dialect.Dialect</"
+"classname> de Hibernate, el cual le permite que genere un SQL optimizado "
+"para una base de datos relacional en particular. "
 
 #. Tag: para
-#: configuration.xml:365
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> <literal>full.classname.of."
 "Dialect</literal>"
 msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis> <literal>full.classname.of.Dialect</"
-"literal>"
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>full.classname.of."
+"Dialect</literal>"
 
 #. Tag: para
-#: configuration.xml:369
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "In most cases Hibernate will actually be able to choose the correct "
 "<classname>org.hibernate.dialect.Dialect</classname> implementation 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."
+"En la mayoría de los casos Hibernate podrá de hecho seleccionar la "
+"implementación <classname>org.hibernate.dialect.Dialect</classname> correcta "
+"con base en los <literal>JDBC metadata</literal> que el controlador JDBC "
+"retorna."
 
-#. Tag: property
-#: configuration.xml:378
+#. Tag: para
 #, no-c-format
-msgid "hibernate.show_sql"
-msgstr "hibernate.show_sql"
+msgid "<property>hibernate.show_sql</property>"
+msgstr "<property>hibernate.show_sql</property>"
 
-#. Tag: entry
-#: configuration.xml:380
+#. Tag: para
 #, no-c-format
 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 <literal>org.hibernate.SQL</literal> to "
-"<literal>debug</literal>."
+"Escribe todas las declaraciones SQL a la consola. Esta es una alternativa "
+"para establecer la categoria de registro <literal>org.hibernate.SQL</"
+"literal> a <literal>debug</literal>."
 
 #. Tag: para
-#: configuration.xml:384 configuration.xml:396 configuration.xml:490
-#: configuration.xml:503 configuration.xml:516 configuration.xml:529
-#: configuration.xml:581 configuration.xml:608 configuration.xml:621
-#: configuration.xml:676 configuration.xml:904 configuration.xml:919
-#: configuration.xml:1009
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> <literal>true</literal> | "
 "<literal>false</literal>"
 msgstr ""
-"<emphasis role=\"strong\">eg.</emphasis> <literal>true</literal> | "
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>true</literal> | "
 "<literal>false</literal>"
 
-#. Tag: property
-#: configuration.xml:392
+#. Tag: para
 #, no-c-format
-msgid "hibernate.format_sql"
-msgstr "hibernate.format_sql"
+msgid "<property>hibernate.format_sql</property>"
+msgstr "<property>hibernate.format_sql</property>"
 
-#. Tag: entry
-#: configuration.xml:394
+#. Tag: para
 #, no-c-format
 msgid "Pretty print the SQL in the log and console."
-msgstr "Pretty print the SQL in the log and console."
+msgstr "Imprime el SQL en el registro y la consola."
 
-#. Tag: property
-#: configuration.xml:404
+#. Tag: para
 #, no-c-format
-msgid "hibernate.default_schema"
-msgstr "hibernate.default_schema"
+msgid "<property>hibernate.default_schema</property>"
+msgstr "<property>hibernate.default_schema</property>"
 
-#. Tag: entry
-#: configuration.xml:406
+#. Tag: para
 #, no-c-format
 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."
+"Califica los nombres de tabla sin calificar con el esquema/espacio de tabla "
+"dado en el SQL generado. "
 
 #. Tag: para
-#: configuration.xml:409
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> <literal>SCHEMA_NAME</literal>"
 msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis> <literal>SCHEMA_NAME</literal>"
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>SCHEMA_NAME</literal>"
 
-#. Tag: property
-#: configuration.xml:417
+#. Tag: para
 #, no-c-format
-msgid "hibernate.default_catalog"
-msgstr "hibernate.default_catalog"
+msgid "<property>hibernate.default_catalog</property>"
+msgstr "<property>hibernate.default_catalog</property>"
 
-#. Tag: entry
-#: configuration.xml:419
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "Qualifies 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&#x00e1;logo dado."
+"Califica los nombres de tabla sin calificar con el catálogo dado en el SQL "
+"generado."
 
 #. Tag: para
-#: configuration.xml:422
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> <literal>CATALOG_NAME</literal>"
 msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis> <literal>CATALOG_NAME</literal>"
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>CATALOG_NAME</literal>"
 
-#. Tag: property
-#: configuration.xml:430
+#. Tag: para
 #, no-c-format
-msgid "hibernate.session_factory_name"
-msgstr "hibernate.session_factory_name"
+msgid "<property>hibernate.session_factory_name</property>"
+msgstr "<property>hibernate.session_factory_name</property>"
 
-#. Tag: entry
-#: configuration.xml:432
+#. Tag: para
 #, no-c-format
 msgid ""
 "The <interfacename>org.hibernate.SessionFactory</interfacename> will be "
 "automatically bound to this name in JNDI after it has been created."
 msgstr ""
-"La <literal>SessionFactory</literal> ser&#x00e1; ligada a este nombre en "
-"JNDI autom&#x00e1;ticamente despu&#x00e9;s de ser creada."
+"Automáticamente se vinculará el <interfacename>org.hibernate.SessionFactory</"
+"interfacename> a este nombre en JNDI después de que se ha creado."
 
 #. Tag: para
-#: configuration.xml:435 configuration.xml:875
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> <literal>jndi/composite/name</"
 "literal>"
 msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis> <literal>jndi/composite/name</"
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>jndi/composite/name</"
 "literal>"
 
-#. Tag: property
-#: configuration.xml:443
+#. Tag: para
 #, no-c-format
-msgid "hibernate.max_fetch_depth"
-msgstr "hibernate.max_fetch_depth"
+msgid "<property>hibernate.max_fetch_depth</property>"
+msgstr "<property>hibernate.max_fetch_depth</property>"
 
-#. Tag: entry
-#: configuration.xml:445
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "Sets 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&#x00e1;xima del &#x00e1;rbol de "
-"recuperaci&#x00f3;n por outer join para asociaciones de un extremo solo (uno-"
-"a-uno, muchos-a-uno). Un <literal>0</literal> deshabilita la "
-"recuperaci&#x00f3;n por outer join por defecto."
+"Establece una \"profundidad\" máxima del árbol de recuperación por unión "
+"externa (outer join) para asociaciones de un sólo extremo (uno-a-uno, muchos-"
+"a-uno). Un <literal>0</literal> deshabilita la recuperación por unión "
+"externa predeterminada."
 
 #. Tag: para
-#: configuration.xml:449
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> recommended values between "
 "<literal>0</literal> and <literal>3</literal>"
 msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis> valores recomendados entre "
+"<emphasis role=\"strong\">ej.</emphasis> los valores recomendados entre "
 "<literal>0</literal> y <literal>3</literal>"
 
-#. Tag: property
-#: configuration.xml:458
+#. Tag: para
 #, no-c-format
-msgid "hibernate.default_batch_fetch_size"
-msgstr "hibernate.default_batch_fetch_size"
+msgid "<property>hibernate.default_batch_fetch_size</property>"
+msgstr "<property>hibernate.default_batch_fetch_size</property>"
 
-#. Tag: entry
-#: configuration.xml:460
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid "Sets a default size for Hibernate batch fetching of associations."
 msgstr ""
-"Establece un tama&#x00f1;o por defecto para la recuperaci&#x00f3;n en lote "
-"de asociaciones de Hibernate."
+"Establece un tamaño por defecto para la recuperación en lote de asociaciones "
+"de Hibernate."
 
 #. Tag: para
-#: configuration.xml:462
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> recommended values <literal>4</"
 "literal>, <literal>8</literal>, <literal>16</literal>"
 msgstr ""
 "<emphasis role=\"strong\">ej.</emphasis> valores recomendados <literal>4</"
-"literal>, <literal>8</literal>, <literal>16</literal>"
+"literal>, <literal>8</literal>, <literal>16</literal> "
 
-#. Tag: property
-#: configuration.xml:471
+#. Tag: para
 #, no-c-format
-msgid "hibernate.default_entity_mode"
-msgstr "hibernate.default_entity_mode"
+msgid "<property>hibernate.default_entity_mode</property>"
+msgstr "<property>hibernate.default_entity_mode</property>"
 
-#. Tag: entry
-#: configuration.xml:473
+#. Tag: para
 #, fuzzy, no-c-format
 msgid ""
 "Sets a default mode for entity representation for all sessions opened from "
-"this <literal>SessionFactory</literal>"
+"this <literal>SessionFactory</literal>."
 msgstr ""
-"Establece un modo por defecto de representaci&#x00f3;n de entidades para "
-"todas las sesiones abiertas por esta <literal>SessionFactory</literal>"
+"Establece un modo predeterminado de representación de entidades para todas "
+"las sesiones abiertas desde esta <literal>SessionFactory</literal>"
 
 #. Tag: para
-#: configuration.xml:476
 #, no-c-format
 msgid ""
 "<literal>dynamic-map</literal>, <literal>dom4j</literal>, <literal>pojo</"
@@ -898,212 +722,186 @@
 "<literal>dynamic-map</literal>, <literal>dom4j</literal>, <literal>pojo</"
 "literal>"
 
-#. Tag: property
-#: configuration.xml:484
+#. Tag: para
 #, no-c-format
-msgid "hibernate.order_updates"
-msgstr "hibernate.order_updates"
+msgid "<property>hibernate.order_updates</property>"
+msgstr "<property>hibernate.order_updates</property>"
 
-#. Tag: entry
-#: configuration.xml:486
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "Forces 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&#x00e1; en menos "
-"bloqueos muertos de transacci&#x00f3;n en sistemas altamente concurrentes."
+"Obliga a Hibernate a ordenar las actualizaciones SQL por el valor de la "
+"clave principal de los items a actualizar. Esto resultará en menos bloqueos "
+"de transacción en sistemas altamente concurrentes."
 
-#. Tag: property
-#: configuration.xml:498
+#. Tag: para
 #, no-c-format
-msgid "hibernate.generate_statistics"
-msgstr "hibernate.generate_statistics"
+msgid "<property>hibernate.generate_statistics</property>"
+msgstr "<property>hibernate.generate_statistics</property>"
 
-#. Tag: entry
-#: configuration.xml:500
+#. Tag: para
 #, no-c-format
 msgid ""
 "If enabled, Hibernate will collect statistics useful for performance tuning."
 msgstr ""
-"De habilitarse, Hibernate colectar&#x00e1; estad&#x00ed;sticas &#x00fa;tiles "
-"para la afinaci&#x00f3;n de rendimiento."
+"De habilitarse, Hibernate colectará estadísticas útiles para la afinación de "
+"rendimiento. "
 
-#. Tag: property
-#: configuration.xml:511
+#. Tag: para
 #, no-c-format
-msgid "hibernate.use_identifier_rollback"
-msgstr "hibernate.use_identifer_rollback"
+msgid "<property>hibernate.use_identifier_rollback</property>"
+msgstr "<property>hibernate.use_identifier_rollback</property>"
 
-#. Tag: entry
-#: configuration.xml:513
+#. Tag: para
 #, no-c-format
 msgid ""
 "If enabled, generated identifier properties will be reset to default values "
 "when objects are deleted."
 msgstr ""
-"De habilitarse, las propiedades identificadoras generadas ser&#x00e1;n "
-"reseteadas a valores por defecto cuando los objetos sean borrados."
+"De habilitarse, cuando se borren los objetos las propiedades identificadoras "
+"generadas se resetearán a losvalores establecidos por defecto."
 
-#. Tag: property
-#: configuration.xml:524
+#. Tag: para
 #, no-c-format
-msgid "hibernate.use_sql_comments"
-msgstr "hibernate.use_sql_comments"
+msgid "<property>hibernate.use_sql_comments</property>"
+msgstr "<property>hibernate.use_sql_comments</property>"
 
-#. Tag: entry
-#: configuration.xml:526
+#. Tag: para
 #, no-c-format
 msgid ""
 "If turned on, Hibernate will generate comments inside the SQL, for easier "
 "debugging, defaults to <literal>false</literal>."
 msgstr ""
-"De activarse, Hibernate generar&#x00e1; comentarios dentro del SQL, para una "
-"m&#x00e1;s f&#x00e1;cil depuraci&#x00f3;n, por defecto a <literal>false</"
-"literal>."
+"De activarse, Hibernate generará comentarios dentro del SQL, para una "
+"depuración más fácil, por defecto es <literal>false</literal>."
 
 #. Tag: title
-#: configuration.xml:540
 #, no-c-format
 msgid "Hibernate JDBC and Connection Properties"
 msgstr "Propiedades de JDBC y Conexiones de Hibernate"
 
-#. Tag: property
-#: configuration.xml:553
+#. Tag: para
 #, no-c-format
-msgid "hibernate.jdbc.fetch_size"
-msgstr "hibernate.jdbc.fetch_size"
+msgid "<property>hibernate.jdbc.fetch_size</property>"
+msgstr "<property>hibernate.jdbc.fetch_size</property>"
 
-#. Tag: entry
-#: configuration.xml:555
+#. Tag: para
 #, no-c-format
 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&#x00f1;o de "
-"recuperaci&#x00f3;n de JDBC (llama a <literal>Statement.setFetchSize()</"
-"literal>)."
+"Un valor distinto de cero que determina el tamaño de recuperación de JDBC "
+"(llama a <literal>Statement.setFetchSize()</literal>)."
 
-#. Tag: property
-#: configuration.xml:562
+#. Tag: para
 #, no-c-format
-msgid "hibernate.jdbc.batch_size"
-msgstr "hibernate.jdbc.batch_size"
+msgid "<property>hibernate.jdbc.batch_size</property>"
+msgstr "<property>hibernate.jdbc.batch_size</property>"
 
-#. Tag: entry
-#: configuration.xml:564
+#. Tag: para
 #, no-c-format
 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."
+"Un valor distinto de cero habilita que Hibernate utilice las actualizaciones "
+"en lote de JDBC2. "
 
 #. Tag: para
-#: configuration.xml:566
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> recommended values between "
 "<literal>5</literal> and <literal>30</literal>"
 msgstr ""
 "<emphasis role=\"strong\">ej.</emphasis> valores recomendados entre "
-"<literal>5</literal> y <literal>30</literal>"
+"<literal>5</literal> y <literal>30</literal> "
 
-#. Tag: property
-#: configuration.xml:574
+#. Tag: para
 #, no-c-format
-msgid "hibernate.jdbc.batch_versioned_data"
-msgstr "hibernate.jdbc.batch_versioned_data"
+msgid "<property>hibernate.jdbc.batch_versioned_data</property>"
+msgstr "<property>hibernate.jdbc.batch_versioned_data</property>"
 
-#. Tag: entry
-#: configuration.xml:576
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "Set this property to <literal>true</literal> if your JDBC driver returns "
 "correct row counts from <literal>executeBatch()</literal>. Iit 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 <literal>true</literal> si tu driver JDBC "
-"devuelve cuentas correctas de filas desde <literal>executeBatch()</literal> "
-"(usualmente es seguro activar esta opci&#x00f3;n). Hibernate usar&#x00e1; "
-"DML en lote para versionar autom&#x00e1;ticamente los datos. Por defecto a "
-"<literal>false</literal>."
+"Establece esta propiedad como <literal>true</literal> si su controlador JDBC "
+"retorna cuentas correctas de filas desde <literal>executeBatch()</literal>. "
+"Usualmente es seguro activar esta opción. Hibernate utilizará un DML en lote "
+"para versionar automáticamente los datos. Por defecto es <literal>false</"
+"literal>."
 
-#. Tag: property
-#: configuration.xml:589
+#. Tag: para
 #, no-c-format
-msgid "hibernate.jdbc.factory_class"
-msgstr "hibernate.jdbc.factory_class"
+msgid "<property>hibernate.jdbc.factory_class</property>"
+msgstr "<property>hibernate.jdbc.factory_class</property>"
 
-#. Tag: entry
-#: configuration.xml:591
+#. Tag: para
 #, no-c-format
 msgid ""
 "Select a custom <interfacename>org.hibernate.jdbc.Batcher</interfacename>. "
 "Most applications will not need this configuration property."
 msgstr ""
-"Selecciona un <literal>Batcher</literal> personalizado. La mayor&#x00ed;a de "
-"las aplicaciones no necesitar&#x00e1;n esta propiedad de configuraci&#x00f3;"
-"n."
+"Selecciona un <interfacename>org.hibernate.jdbc.Batcher</interfacename> "
+"personalizado. La mayoría de las aplicaciones no necesitarán esta propiedad "
+"de configuración. "
 
 #. Tag: para
-#: configuration.xml:594
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> <literal>classname.of."
 "BatcherFactory</literal>"
 msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis> <literal>classname.of."
+"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
 "BatcherFactory</literal>"
 
-#. Tag: property
-#: configuration.xml:602
+#. Tag: para
 #, no-c-format
-msgid "hibernate.jdbc.use_scrollable_resultset"
-msgstr "hibernate.jdbc.use_scrollable_resultset"
+msgid "<property>hibernate.jdbc.use_scrollable_resultset</property>"
+msgstr "<property>hibernate.jdbc.use_scrollable_resultset</property>"
 
-#. Tag: entry
-#: configuration.xml:604
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 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&#x00f3;lo es necesaria cuando se usan conexiones JDBC provistas "
-"por el usuario, en caso contrario Hibernate usa los metadatos de "
-"conexi&#x00f3;n."
+"Habilita a Hibernate para utilizar los grupos de resultados deslizables de "
+"JDBC2. Esta propiedad sólamente es necesaria cuando se utilizan conexiones "
+"JDBC provistas por el usuario. En el caso contrario Hibernate utiliza los "
+"metadatos de conexión."
 
-#. Tag: property
-#: configuration.xml:616
+#. Tag: para
 #, no-c-format
-msgid "hibernate.jdbc.use_streams_for_binary"
-msgstr "hibernate.jdbc.use_streams_for_binary"
+msgid "<property>hibernate.jdbc.use_streams_for_binary</property>"
+msgstr "<property>hibernate.jdbc.use_streams_for_binary</property>"
 
-#. Tag: entry
-#: configuration.xml:618
+#. Tag: para
 #, no-c-format
 msgid ""
 "Use streams when writing/reading <literal>binary</literal> or "
 "<literal>serializable</literal> types to/from JDBC. <emphasis>*system-level "
 "property*</emphasis>"
 msgstr ""
-"Usa flujos (streams) al escribir/leer tipos <literal>binary</literal> o "
-"<literal>serializable</literal> a/desde JDBC (propiedad a nivel de sistema)."
+"Utiliza flujos (streams) al escribir/leer tipos <literal>binary</literal> o "
+"<literal>serializable</literal> a/desde JDBC. <emphasis>Propiedad a nivel de "
+"sistema</emphasis>"
 
-#. Tag: property
-#: configuration.xml:629
+#. Tag: para
 #, no-c-format
-msgid "hibernate.jdbc.use_get_generated_keys"
-msgstr "hibernate.jdbc.use_get_generated_keys"
+msgid "<property>hibernate.jdbc.use_get_generated_keys</property>"
+msgstr "<property>hibernate.jdbc.use_get_generated_keys</property>"
 
-#. Tag: entry
-#: configuration.xml:631
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "Enables use of JDBC3 <literal>PreparedStatement.getGeneratedKeys()</literal> "
 "to retrieve natively generated keys after insert. Requires JDBC3+ driver and "
@@ -1112,95 +910,87 @@
 "capabilities using connection metadata."
 msgstr ""
 "Habilita el uso de <literal>PreparedStatement.getGeneratedKeys()</literal> "
-"de JDBC3 para traer claves generadas nativamente despu&#x00e9;s de insertar. "
-"Requiere un driver JDBC3+ y un JRE1.4+. Establ&#x00e9;cela a false si tu "
-"driver tiene problemas con los generadores de identificador de Hibernate. "
-"Por defecto, se intenta determinar las capacidades del driver usando los "
-"metadatos de conexi&#x00f3;n."
+"de JDBC3 para recuperar claves generadas nativamente después de insertar. "
+"Requiere un controlador JDBC3+ y un JRE1.4+. Establézcalo como falso si su "
+"controlador tiene problemas con los generadores del identificador de "
+"Hibernate. Por defecto, se intenta determinar las capacidades del "
+"controlador utilizando los metadatos de conexión."
 
 #. Tag: para
-#: configuration.xml:637 configuration.xml:767 configuration.xml:779
-#: configuration.xml:793 configuration.xml:831
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "<emphasis role=\"strong\">e.g.</emphasis> <literal>true|false</literal>"
-msgstr "<emphasis role=\"strong\">ej.</emphasis> <literal>true|false</literal>"
+msgstr ""
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>true|false</literal>"
 
-#. Tag: property
-#: configuration.xml:645
+#. Tag: para
 #, no-c-format
-msgid "hibernate.connection.provider_class"
-msgstr "hibernate.connection.provider_class"
+msgid "<property>hibernate.connection.provider_class</property>"
+msgstr "<property>hibernate.connection.provider_class</property>"
 
-#. Tag: entry
-#: configuration.xml:647
+#. Tag: para
 #, no-c-format
 msgid ""
 "The classname of a custom <interfacename>org.hibernate.connection."
 "ConnectionProvider</interfacename> which provides JDBC connections to "
 "Hibernate."
 msgstr ""
-"EL nombre de clase de un <literal>ConnectionProvider</literal> personalizado "
-"que provea conexiones JDBC a Hibernate."
+"EL nombre de clase de un <interfacename>org.hibernate.connection."
+"ConnectionProvider</interfacename> personalizado que proporcione conexiones "
+"JDBC a Hibernate. "
 
 #. Tag: para
-#: configuration.xml:650
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> <literal>classname.of."
 "ConnectionProvider</literal>"
 msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis> <literal>classname.of."
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>classname.of."
 "ConnectionProvider</literal>"
 
-#. Tag: property
-#: configuration.xml:658
+#. Tag: para
 #, no-c-format
-msgid "hibernate.connection.isolation"
-msgstr "hibernate.connection.isolation"
+msgid "<property>hibernate.connection.isolation</property>"
+msgstr "<property>hibernate.connection.isolation</property>"
 
-#. Tag: entry
-#: configuration.xml:660
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "Sets 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&#x00f3;n JDBC. Comprueba "
-"<literal>java.sql.Connection</literal> para valores significativos pero "
-"observa que la mayor&#x00ed;a de las bases de datos no soportan todos los "
-"niveles de aislamiento."
+"Establece el nivel de aislamiento de la transacción JDBC. Comprueba "
+"<interfacename>java.sql.Connection</interfacename> para valores "
+"significativos pero observe que la mayoría de las bases de datos no soportan "
+"todos los niveles de aislamiento y algunos definen nivekes de aislamiento "
+"adicionales y no estándares."
 
 #. Tag: para
-#: configuration.xml:664
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "<emphasis role=\"strong\">e.g.</emphasis> <literal>1, 2, 4, 8</literal>"
-msgstr "<emphasis role=\"strong\">eg.</emphasis> <literal>1, 2, 4, 8</literal>"
+msgstr ""
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>1, 2, 4, 8</literal>"
 
-#. Tag: property
-#: configuration.xml:672
+#. Tag: para
 #, no-c-format
-msgid "hibernate.connection.autocommit"
-msgstr "hibernate.connection.autocommit"
+msgid "<property>hibernate.connection.autocommit</property>"
+msgstr "<property>hibernate.connection.autocommit</property>"
 
-#. Tag: entry
-#: configuration.xml:674
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid "Enables autocommit for JDBC pooled connections (it is not recommended)."
 msgstr ""
-"Habilita compromiso autom&#x00e1;tico (autocommit) para las conexiones JDBC "
-"en pool (no recomendado)."
+"Habilita un guardado automático (autocommit) para las conexiones JDBC en "
+"pool (no se recomienda)."
 
-#. Tag: property
-#: configuration.xml:684
+#. Tag: para
 #, no-c-format
-msgid "hibernate.connection.release_mode"
-msgstr "hibernate.connection.release_mode"
+msgid "<property>hibernate.connection.release_mode</property>"
+msgstr "<property>hibernate.connection.release_mode</property>"
 
-#. Tag: entry
-#: configuration.xml:686
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "Specifies when Hibernate should release JDBC connections. By default, a JDBC "
 "connection is held until the session is explicitly closed or disconnected. "
@@ -1212,493 +1002,445 @@
 "the JTA and CMT transaction strategies and <literal>after_transaction</"
 "literal> for the JDBC transaction strategy."
 msgstr ""
-"Especifica cu&#x00e1;ndo Hibernate debe liberar las conexiones JDBC. Por "
-"defecto, una conexi&#x00f3;n JDBC es retenida hasta que la sesi&#x00f3;n es "
-"cerrada expl&#x00ed;citamente o desconectada. Para un datasource JTA del "
-"servidor de aplicaciones, debes usar <literal>after_statement</literal> para "
-"liberar agresivamente las conexiones despu&#x00e9;s de cada llamada JDBC. "
-"Para una conexi&#x00f3;n no JTA, frecuentemente tiene sentido liberar la "
-"conexi&#x00f3;n al final de cada transacci&#x00f3;n, usando "
-"<literal>after_transaction</literal>. <literal>auto</literal> eligir&#x00e1; "
-"<literal>after_statement</literal> para las estrategias JTA o CMT de "
-"transacci&#x00f3;n y <literal>after_transaction</literal> para la estrategia "
-"JDBC de transacci&#x00f3;n."
+"Especifica el momento en que Hibernate debe liberar las conexiones JDBC. Por "
+"defecto, una conexión JDBC es retenida hasta que la sesión se cierra o se "
+"desconecta explícitamente. Para una fuente de datos JTA del servidor de "
+"aplicaciones, debe utilizar <literal>after_statement</literal> para liberar "
+"agresivamente las conexiones después de cada llamada JDBC. Para una conexión "
+"no JTA, frecuentemente tiene sentido el liberar la conexión al final de cada "
+"transacción, el utilizar<literal>after_transaction</literal>. <literal>auto</"
+"literal> escogerá <literal>after_statement</literal> para las estrategias de "
+"transacción JTA y CMT y <literal>after_transaction</literal> para la "
+"estrategia JDBC de transacción. "
 
 #. Tag: para
-#: configuration.xml:697
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</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 "
-"defecto)| <literal>after_transaction</literal> | <literal>after_statement</"
-"literal> | <literal>auto</literal>"
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>auto</literal> (default) "
+"| <literal>on_close</literal> | <literal>after_transaction</literal> | "
+"<literal>after_statement</literal>"
 
 #. Tag: para
-#: configuration.xml:702
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This setting only affects <literal>Session</literal>s returned from "
 "<literal>SessionFactory.openSession</literal>. For <literal>Session</"
 "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"
+"<literal>Session</literal>s. See <xref linkend=\"architecture-current-session"
+"\" />"
 msgstr ""
-"Note that this setting only affects <literal>Session</literal>s returned "
-"from <literal>SessionFactory.openSession</literal>. For <literal>Session</"
-"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"
+"Esta configuración sólamente afecta las <literal>Session</literal>es "
+"retornadas desde <literal>SessionFactory.openSession</literal>. Para las "
+"<literal>Session</literal>es obtenidas por medio de <literal>SessionFactory."
+"getCurrentSession</literal>, la implementación "
+"<literal>CurrentSessionContext</literal> configurada para utilización "
+"controla el modo de liberación de la conexión para esas <literal>Session</"
+"literal>es. Consulte <xref linkend=\"architecture-current-session\" />."
 
-#. Tag: entry
-#: configuration.xml:713
+#. Tag: para
 #, no-c-format
 msgid ""
 "<property>hibernate.connection.</property><emphasis>&lt;propertyName&gt;</"
 "emphasis>"
-msgstr "hibernate.connection.<emphasis>&lt;propertyName&gt;</emphasis>"
+msgstr ""
+"<property>hibernate.connection.</property><emphasis>&lt;propertyName&gt;</"
+"emphasis>"
 
-#. Tag: entry
-#: configuration.xml:716
+#. Tag: para
 #, no-c-format
 msgid ""
 "Pass the JDBC property <emphasis>&lt;propertyName&gt;</emphasis> to "
 "<literal>DriverManager.getConnection()</literal>."
 msgstr ""
-"Pasa la propiedad JDBC <literal>propertyName</literal> a "
+"Pasar la propiedad JDBC <emphasis>&lt;propertyName&gt;</emphasis> a "
 "<literal>DriverManager.getConnection()</literal>."
 
-#. Tag: entry
-#: configuration.xml:722
+#. Tag: para
 #, no-c-format
 msgid ""
 "<property>hibernate.jndi.</property><emphasis>&lt;propertyName&gt;</emphasis>"
-msgstr "hibernate.jndi.<emphasis>&lt;propertyName&gt;</emphasis>"
+msgstr ""
+"<property>hibernate.jndi.</property><emphasis>&lt;propertyName&gt;</emphasis>"
 
-#. Tag: entry
-#: configuration.xml:725
+#. Tag: para
 #, no-c-format
 msgid ""
 "Pass the property <emphasis>&lt;propertyName&gt;</emphasis> to the JNDI "
 "<literal>InitialContextFactory</literal>."
 msgstr ""
-"Pasa la propiedad <literal>propertyName</literal> a "
-"<literal>InitialContextFactory</literal> de JNDI."
+"Pasar la propiedad <emphasis>&lt;propertyName&gt;</emphasis> al "
+"<literal>InitialContextFactory</literal> JNDI."
 
 #. Tag: title
-#: configuration.xml:735
 #, no-c-format
 msgid "Hibernate Cache Properties"
-msgstr "Propiedades de Cach&#x00e9; de Hibernate"
+msgstr "Propiedades de Caché de Hibernate"
 
-#. Tag: literal
-#: configuration.xml:748
+#. Tag: para
 #, no-c-format
-msgid "hibernate.cache.provider_class"
-msgstr "hibernate.cache.provider_class"
+msgid "<literal>hibernate.cache.provider_class</literal>"
+msgstr "<literal>hibernate.cache.provider_class</literal>"
 
-#. Tag: entry
-#: configuration.xml:750
+#. Tag: para
 #, no-c-format
 msgid "The classname of a custom <literal>CacheProvider</literal>."
 msgstr ""
 "El nombre de clase de un <literal>CacheProvider</literal> personalizado."
 
 #. Tag: para
-#: configuration.xml:752
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> <literal>classname.of."
 "CacheProvider</literal>"
 msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis> <literal>classname.of."
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>classname.of."
 "CacheProvider</literal>"
 
-#. Tag: literal
-#: configuration.xml:760
+#. Tag: para
 #, no-c-format
-msgid "hibernate.cache.use_minimal_puts"
-msgstr "hibernate.cache.use_minimal_puts"
+msgid "<literal>hibernate.cache.use_minimal_puts</literal>"
+msgstr "<literal>hibernate.cache.use_minimal_puts</literal>"
 
-#. Tag: entry
-#: configuration.xml:762
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "Optimizes 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&#x00f3;n del cach&#x00e9; de segundo nivel para "
-"minimizar escrituras, al costo de lecturas m&#x00e1;s frecuentes. Esto es "
-"m&#x00e1;s &#x00fa;til para cach&#x00e9;s en cluster y, en Hibernate3, "
-"est&#x00e1; habilitado por defecto para implementaciones de cach&#x00e9; en "
-"cluster."
+"Optimiza la operación del caché de segundo nivel para minimizar escrituras, "
+"con el costo de lecturas más frecuentes. Esta configuración es más útil para "
+"cachés en clúster y en Hibernate3, está habilitado por defecto para "
+"implementaciones de caché en clúster. "
 
-#. Tag: literal
-#: configuration.xml:775
+#. Tag: para
 #, no-c-format
-msgid "hibernate.cache.use_query_cache"
-msgstr "hibernate.cache.use_query_cache"
+msgid "<literal>hibernate.cache.use_query_cache</literal>"
+msgstr "<literal>hibernate.cache.use_query_cache</literal>"
 
-#. Tag: entry
-#: configuration.xml:777
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "Enables the query cache. Individual queries still have to be set cachable."
 msgstr ""
-"Habilita el cach&#x00e9; de lectura, consultas individuales todav&#x00ed;a "
-"tienen que ponerse cachables."
+"Habilita el caché de consultas. Las consultas individuales todavía tienen "
+"que establecerse con cachés. "
 
-#. Tag: literal
-#: configuration.xml:787
+#. Tag: para
 #, no-c-format
-msgid "hibernate.cache.use_second_level_cache"
-msgstr "hibernate.cache.use_second_level_cache"
+msgid "<literal>hibernate.cache.use_second_level_cache</literal>"
+msgstr "<literal>hibernate.cache.use_second_level_cache</literal>"
 
-#. Tag: entry
-#: configuration.xml:789
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "Can be used to completely disable the second level cache, which is enabled "
 "by default for classes which specify a <literal>&lt;cache&gt;</literal> "
 "mapping."
 msgstr ""
-"Puede ser usado para deshabilitar completamente el cach&#x00e9; de segundo "
-"nivel, que est&#x00e1; habilitado por defecto para clases que especifican un "
-"mapeo <literal>&lt;cache&gt;</literal>."
+"Se puede utilizar para deshabilitar por completo el caché de segundo nivel, "
+"que está habilitado por defecto para clases que especifican un mapeo "
+"<literal>&lt;cache&gt;</literal>. "
 
-#. Tag: literal
-#: configuration.xml:801
+#. Tag: para
 #, no-c-format
-msgid "hibernate.cache.query_cache_factory"
-msgstr "hibernate.cache.query_cache_factory"
+msgid "<literal>hibernate.cache.query_cache_factory</literal>"
+msgstr "<literal>hibernate.cache.query_cache_factory</literal>"
 
-#. Tag: entry
-#: configuration.xml:803
+#. Tag: para
 #, no-c-format
 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 <literal>QueryCache</literal> "
+"El nombre de clase de una interfaz <literal>QueryCache</literal> "
 "personalizada, por defecto al <literal>StandardQueryCache</literal> "
-"prefabricado."
+"incorporado."
 
 #. Tag: para
-#: configuration.xml:806
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> <literal>classname.of.QueryCache</"
 "literal>"
 msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis> <literal>classname.of.QueryCache</"
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>classname.of.QueryCache</"
 "literal>"
 
-#. Tag: literal
-#: configuration.xml:814
+#. Tag: para
 #, no-c-format
-msgid "hibernate.cache.region_prefix"
-msgstr "hibernate.cache.region_prefix"
+msgid "<literal>hibernate.cache.region_prefix</literal>"
+msgstr "<literal>hibernate.cache.region_prefix</literal>"
 
-#. Tag: entry
-#: configuration.xml:816
+#. Tag: para
 #, no-c-format
 msgid "A prefix to use for second-level cache region names."
 msgstr ""
-"Un prefijo a usar para los nombres de regi&#x00f3;n del cach&#x00e9; de "
+"Un prefijo que se debe utilizar para los nombres de región del caché de "
 "segundo nivel."
 
 #. Tag: para
-#: configuration.xml:818
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "<emphasis role=\"strong\">e.g.</emphasis> <literal>prefix</literal>"
-msgstr "<emphasis role=\"strong\">ej.</emphasis> <literal>prefix</literal>"
+msgstr "<emphasis role=\"strong\">e.g.</emphasis> <literal>prefix</literal>"
 
-#. Tag: literal
-#: configuration.xml:826
+#. Tag: para
 #, no-c-format
-msgid "hibernate.cache.use_structured_entries"
-msgstr "hibernate.cache.use_structured_entries"
+msgid "<literal>hibernate.cache.use_structured_entries</literal>"
+msgstr "<literal>hibernate.cache.use_structured_entries</literal>"
 
-#. Tag: entry
-#: configuration.xml:828
+#. Tag: para
 #, no-c-format
 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&#x00e9; de segundo nivel "
-"en un formato m&#x00e1;s amigable al humano."
+"Obliga a Hibernate a almacenar los datos en el caché de segundo nivel en un "
+"formato más amigable para personas."
 
 #. Tag: title
-#: configuration.xml:842
 #, no-c-format
 msgid "Hibernate Transaction Properties"
-msgstr "Propiedades de Transacci&#x00f3;n de Hibernate"
+msgstr "Propiedades de Transacción de Hibernate"
 
-#. Tag: literal
-#: configuration.xml:855
+#. Tag: para
 #, no-c-format
-msgid "hibernate.transaction.factory_class"
-msgstr "hibernate.transaction.factory_class"
+msgid "<literal>hibernate.transaction.factory_class</literal>"
+msgstr "<literal>hibernate.transaction.factory_class</literal>"
 
-#. Tag: entry
-#: configuration.xml:857
+#. Tag: para
 #, no-c-format
 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 <literal>TransactionFactory</literal> a usar con la "
-"API de <literal>Transaction</literal> de Hibernate (por defectoa "
+"El nombre de clase de un <literal>TransactionFactory</literal> a utilizar "
+"con la API de <literal>Transaction</literal> de Hibernate (por defecto es "
 "<literal>JDBCTransactionFactory</literal>)."
 
 #. Tag: para
-#: configuration.xml:861
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> <literal>classname.of."
 "TransactionFactory</literal>"
 msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis> <literal>classname.of."
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>classname.of."
 "TransactionFactory</literal>"
 
-#. Tag: literal
-#: configuration.xml:869
+#. Tag: para
 #, no-c-format
-msgid "jta.UserTransaction"
-msgstr "jta.UserTransaction"
+msgid "<literal>jta.UserTransaction</literal>"
+msgstr "<literal>jta.UserTransaction</literal>"
 
-#. Tag: entry
-#: configuration.xml:871
+#. Tag: para
 #, no-c-format
 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 <literal>JTATransactionFactory</literal> para "
-"obtener la <literal>UserTransaction</literal> JTA del servidor de "
-"aplicaciones."
+"Un nombre JNDI utilizado por <literal>JTATransactionFactory</literal> para "
+"obtener la <literal>UserTransaction</literal> de JTA del servidor de "
+"aplicaciones. "
 
-#. Tag: literal
-#: configuration.xml:883
+#. Tag: para
 #, no-c-format
-msgid "hibernate.transaction.manager_lookup_class"
-msgstr "hibernate.transaction.manager_lookup_class"
+msgid "<literal>hibernate.transaction. manager_lookup_class</literal>"
+msgstr "<literal>hibernate.transaction. manager_lookup_class</literal>"
 
-#. Tag: entry
-#: configuration.xml:885
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "The classname of a <literal>TransactionManagerLookup</literal>. It is "
 "required when JVM-level caching is enabled or when using hilo generator in a "
 "JTA environment."
 msgstr ""
-"El nombre de clase de un <literal>TransactionManagerLookup</literal> "
-"requerido cuando el chach&#x00e9; a nivel de JVM est&#x00e1; habilitado o "
-"cuando se usa un generador alto/bajo en un entorno JTA."
+"El nombre de clase de un <literal>TransactionManagerLookup</literal>. Se "
+"requiere cuando el chaché a nivel de MVJ está habilitado o cuando se utiliza "
+"un generador alto/bajo en un entorno JTA."
 
 #. Tag: para
-#: configuration.xml:889
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> <literal>classname.of."
 "TransactionManagerLookup</literal>"
 msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis> <literal>classname.of."
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>classname.of."
 "TransactionManagerLookup</literal>"
 
-#. Tag: literal
-#: configuration.xml:897
+#. Tag: para
 #, no-c-format
-msgid "hibernate.transaction.flush_before_completion"
-msgstr "hibernate.transaction.flush_before_completion"
+msgid "<literal>hibernate.transaction. flush_before_completion</literal>"
+msgstr "<literal>hibernate.transaction. flush_before_completion</literal>"
 
-#. Tag: entry
-#: configuration.xml:899
+#. Tag: para
 #, no-c-format
 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\"/"
+"management is preferred, see <xref linkend=\"architecture-current-session\" /"
 ">."
 msgstr ""
-"De habilitarse, la sesi&#x00f3;n se limpiar&#x00e1; (flushed) autom&#x00e1;"
-"ticamente durante la fase previa a la compleci&#x00f3;n de la "
-"transacci&#x00f3;n. (Muy &#x00fa;til cuando se usa Hibernate con CMT)."
+"Si está habilitado, la sesión se vaciará automáticamente durante la fase "
+"previa a la finalización de la transacción. Se prefiere la administración "
+"del contexto de sesión automático e incorporado. Consulte <xref linkend="
+"\"architecture-current-session\" />."
 
-#. Tag: literal
-#: configuration.xml:912
+#. Tag: para
 #, no-c-format
-msgid "hibernate.transaction.auto_close_session"
-msgstr "hibernate.transaction.auto_close_session"
+msgid "<literal>hibernate.transaction. auto_close_session</literal>"
+msgstr "<literal>hibernate.transaction. auto_close_session</literal>"
 
-#. Tag: entry
-#: configuration.xml:914
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "If enabled, the session will be automatically closed during the after "
 "completion phase of the transaction. Built-in and automatic session context "
-"management is preferred, see <xref linkend=\"architecture-current-session\"/"
+"management is preferred, see <xref linkend=\"architecture-current-session\" /"
 ">."
 msgstr ""
-"De habilitarse, la sesi&#x00f3;n ser&#x00e1; cerrada autom&#x00e1;ticamente "
-"durante la fase posterior a la compleci&#x00f3;n de la transacci&#x00f3;n. "
-"(Muy &#x00fa;til cuando se usa Hibernate con CMT)."
+"Si se habilita, la sesión se cerrará automáticamente durante la fase "
+"posterior a la finalización de la transacción. Se prefiere la administración "
+"del contexto de sesión automático e incorporado. Consulte <xref linkend="
+"\"architecture-current-session\" />."
 
 #. Tag: title
-#: configuration.xml:930
 #, no-c-format
 msgid "Miscellaneous Properties"
-msgstr "Propiedades Miscel&#x00e1;neas"
+msgstr "Propiedades Misceláneas"
 
-#. Tag: literal
-#: configuration.xml:943
+#. Tag: para
 #, no-c-format
-msgid "hibernate.current_session_context_class"
-msgstr "hibernate.current_session_context_class"
+msgid "<literal>hibernate. current_session_context_class</literal>"
+msgstr "<literal>hibernate. current_session_context_class</literal>"
 
-#. Tag: entry
-#: configuration.xml:945
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 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."
+"\" /> for more information about the built-in strategies."
 msgstr ""
-"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."
+"Proporciona una estrategia personalizada para el alcance de la "
+"<literal>Session</literal> \"actual\". Consulte <xref linkend=\"architecture-"
+"current-session\" /> para obtener más información sobre las estrategias "
+"incorporadas. "
 
 #. Tag: para
-#: configuration.xml:950
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</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\">e.g.</emphasis> <literal>jta</literal> | "
 "<literal>thread</literal> | <literal>managed</literal> | <literal>custom."
 "Class</literal>"
 
-#. Tag: literal
-#: configuration.xml:959
+#. Tag: para
 #, no-c-format
-msgid "hibernate.query.factory_class"
-msgstr "hibernate.query.factory_class"
+msgid "<literal>hibernate.query.factory_class</literal>"
+msgstr "<literal>hibernate.query.factory_class</literal>"
 
-#. Tag: entry
-#: configuration.xml:961
+#. Tag: para
 #, no-c-format
 msgid "Chooses the HQL parser implementation."
-msgstr "Elige la implementaci&#x00f3;n de parser HQL."
+msgstr "Elige la implementación de análisis sintáctico HQL."
 
 #. Tag: para
-#: configuration.xml:963
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</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."
-"ASTQueryTranslatorFactory</literal> or <literal>org.hibernate.hql.classic."
+"ASTQueryTranslatorFactory</literal> o <literal>org.hibernate.hql.classic."
 "ClassicQueryTranslatorFactory</literal>"
 
-#. Tag: literal
-#: configuration.xml:972
+#. Tag: para
 #, no-c-format
-msgid "hibernate.query.substitutions"
-msgstr "hibernate.query.substitutions"
+msgid "<literal>hibernate.query.substitutions</literal>"
+msgstr "<literal>hibernate.query.substitutions</literal>"
 
-#. Tag: entry
-#: configuration.xml:974
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "Is used to map from tokens in Hibernate queries to SQL tokens (tokens might "
 "be function or literal names, for example)."
 msgstr ""
-"Mapeos de s&#x00ed;mbolos en consultas Hibernate a s&#x00ed;mbolos SQL. (los "
-"s&#x00ed;mbolos puedem ser nombres de funci&#x00f3;n o literales, por "
-"ejemplo)."
+"Se utiliza para mapear desde tokens en consultas Hibernate a tokens SQL. "
+"(por ejemplo, los tokens pueden ser nombres de función o literales). "
 
 #. Tag: para
-#: configuration.xml:977
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> <literal>hqlLiteral=SQL_LITERAL, "
 "hqlFunction=SQLFUNC</literal>"
 msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis> <literal>hqlLiteral=SQL_LITERAL, "
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>hqlLiteral=SQL_LITERAL, "
 "hqlFunction=SQLFUNC</literal>"
 
-#. Tag: literal
-#: configuration.xml:985
+#. Tag: para
 #, no-c-format
-msgid "hibernate.hbm2ddl.auto"
-msgstr "hibernate.hbm2ddl.auto"
+msgid "<literal>hibernate.hbm2ddl.auto</literal>"
+msgstr "<literal>hibernate.hbm2ddl.auto</literal>"
 
-#. Tag: entry
-#: configuration.xml:987
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "Automatically validates or exports 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&#x00e1;ticamente DDL de esquema cuando al crear la "
-"<literal>SessionFactory</literal>. Con <literal>create-drop</literal>, el "
-"esquema de base de datos ser&#x00e1; desechado cuando la "
-"<literal>SessionFactory</literal> se cierre expl&#x00ed;citamente."
+"Exporta o valida automáticamente DDL de esquema a la base de datos cuando se "
+"crea la <literal>SessionFactory</literal>. Con <literal>create-drop</"
+"literal> se desechará el esquema de la base de datos cuando la "
+"<literal>SessionFactory</literal> se cierre explícitamente."
 
 #. Tag: para
-#: configuration.xml:993
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis role=\"strong\">e.g.</emphasis> <literal>validate</literal> | "
 "<literal>update</literal> | <literal>create</literal> | <literal>create-"
 "drop</literal>"
 msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis> <literal>update</literal> | "
-"<literal>create</literal> | <literal>create-drop</literal>"
+"<emphasis role=\"strong\">e.g.</emphasis> <literal>validate</literal> | "
+"<literal>update</literal> | <literal>create</literal> | <literal>create-"
+"drop</literal>"
 
-#. Tag: literal
-#: configuration.xml:1002
+#. Tag: para
 #, no-c-format
-msgid "hibernate.cglib.use_reflection_optimizer"
-msgstr "hibernate.cglib.use_reflection_optimizer"
+msgid "<literal>hibernate.cglib. use_reflection_optimizer</literal>"
+msgstr "<literal>hibernate.cglib. use_reflection_optimizer</literal>"
 
-#. Tag: entry
-#: configuration.xml:1004
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "Enables the use of CGLIB instead of runtime reflection (System-level "
 "property). Reflection can sometimes be useful when troubleshooting. "
 "Hibernate always requires CGLIB even if you turn off the optimizer. You "
 "cannot set this property in <literal>hibernate.cfg.xml</literal>."
 msgstr ""
-"Habilita el uso de CGLIB en vez de reflecc&#x00f3;n en tiempo de "
-"ejecuci&#x00f3;n (propiedad a nivel de sistema). La reflecci&#x00f3;n a "
-"veces puede ser &#x00fa;til ante la aparici&#x00f3;n de problemas. Observa "
-"que Hibernate siempre requiere CGLIB incluso si desactivas el optimizador. "
-"No puedes establecer esta propiedad en <literal>hibernate.cfg.xml</literal>."
+"Habilita el uso de CGLIB en vez de reflección en tiempo de ejecución "
+"(propiedad a nivel del sistema). La reflección a veces puede ser útil ante "
+"ciertos problemas. Hibernate siempre requiere CGLIB incluso si desactiva el "
+"optimizador. No puede establecer esta propiedad en <literal>hibernate.cfg."
+"xml</literal>."
 
 #. Tag: title
-#: configuration.xml:1020
 #, no-c-format
 msgid "SQL Dialects"
-msgstr "SQL Dialects"
+msgstr "Dialectos de SQL"
 
 #. Tag: para
-#: configuration.xml:1022
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Always set the <literal>hibernate.dialect</literal> property to the correct "
 "<literal>org.hibernate.dialect.Dialect</literal> subclass for your database. "
@@ -1706,315 +1448,265 @@
 "the other properties listed above. This means that you will not have to "
 "specify them manually."
 msgstr ""
-"You should always set the <literal>hibernate.dialect</literal> property to "
-"the correct <literal>org.hibernate.dialect.Dialect</literal> subclass for "
-"your database. If you specify a dialect, Hibernate will use sensible "
-"defaults for some of the other properties listed above, saving you the "
-"effort of specifying them manually."
+"Siempre configure la propiedad <literal>hibernate.dialect</literal> a la "
+"subclase correcta <literal>org.hibernate.dialect.Dialect</literal> para su "
+"base de datos. Si especifica un dialecto, Hibernate utilizará valores "
+"predeterminados de manera sensible para algunas de las otras propiedades "
+"enumeradas anteriormente, ahorrándole el esfuerzo de especificarlas "
+"manualmente."
 
 #. Tag: title
-#: configuration.xml:1030
 #, no-c-format
 msgid "Hibernate SQL Dialects (<literal>hibernate.dialect</literal>)"
 msgstr "Dialectos SQL de Hibernate(<literal>hibernate.dialect</literal>)"
 
-#. Tag: entry
-#: configuration.xml:1036
+#. Tag: para
 #, no-c-format
 msgid "RDBMS"
 msgstr "RDBMS"
 
-#. Tag: entry
-#: configuration.xml:1037
+#. Tag: para
 #, no-c-format
 msgid "Dialect"
 msgstr "Dialecto"
 
-#. Tag: entry
-#: configuration.xml:1042
+#. Tag: para
 #, no-c-format
-msgid "<entry>DB2</entry>"
-msgstr "<entry>DB2</entry>"
+msgid "DB2"
+msgstr "DB2"
 
-#. Tag: literal
-#: configuration.xml:1042
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.DB2Dialect"
-msgstr "org.hibernate.dialect.DB2Dialect"
+msgid "<literal>org.hibernate.dialect.DB2Dialect</literal>"
+msgstr "<literal>org.hibernate.dialect.DB2Dialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1045
+#. Tag: para
 #, no-c-format
 msgid "DB2 AS/400"
 msgstr "DB2 AS/400"
 
-#. Tag: literal
-#: configuration.xml:1045
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.DB2400Dialect"
-msgstr "org.hibernate.dialect.DB2400Dialect"
+msgid "<literal>org.hibernate.dialect.DB2400Dialect</literal>"
+msgstr "<literal>org.hibernate.dialect.DB2400Dialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1048
+#. Tag: para
 #, no-c-format
 msgid "DB2 OS390"
 msgstr "DB2 OS390"
 
-#. Tag: literal
-#: configuration.xml:1048
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.DB2390Dialect"
-msgstr "org.hibernate.dialect.DB2390Dialect"
+msgid "<literal>org.hibernate.dialect.DB2390Dialect</literal>"
+msgstr "<literal>org.hibernate.dialect.DB2390Dialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1051
+#. Tag: para
 #, no-c-format
 msgid "PostgreSQL"
 msgstr "PostgreSQL"
 
-#. Tag: literal
-#: configuration.xml:1051
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.PostgreSQLDialect"
-msgstr "org.hibernate.dialect.PostgreSQLDialect"
+msgid "<literal>org.hibernate.dialect.PostgreSQLDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.PostgreSQLDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1054
+#. Tag: para
 #, no-c-format
 msgid "MySQL"
 msgstr "MySQL"
 
-#. Tag: literal
-#: configuration.xml:1054
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.MySQLDialect"
-msgstr "org.hibernate.dialect.MySQLDialect"
+msgid "<literal>org.hibernate.dialect.MySQLDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.MySQLDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1057
+#. Tag: para
 #, no-c-format
 msgid "MySQL with InnoDB"
 msgstr "MySQL con InnoDB"
 
-#. Tag: literal
-#: configuration.xml:1057
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.MySQLInnoDBDialect"
-msgstr "org.hibernate.dialect.MySQLInnoDBDialect"
+msgid "<literal>org.hibernate.dialect.MySQLInnoDBDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.MySQLInnoDBDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1060
+#. Tag: para
 #, no-c-format
 msgid "MySQL with MyISAM"
 msgstr "MySQL con MyISAM"
 
-#. Tag: literal
-#: configuration.xml:1060
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.MySQLMyISAMDialect"
-msgstr "org.hibernate.dialect.MySQLMyISAMDialect"
+msgid "<literal>org.hibernate.dialect.MySQLMyISAMDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.MySQLMyISAMDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1063
+#. Tag: para
 #, no-c-format
 msgid "Oracle (any version)"
-msgstr "Oracle (cualquier versi&#x00f3;n)"
+msgstr "Oracle (cualquier versión)"
 
-#. Tag: literal
-#: configuration.xml:1063
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.OracleDialect"
-msgstr "org.hibernate.dialect.OracleDialect"
+msgid "<literal>org.hibernate.dialect.OracleDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.OracleDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1066
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid "Oracle 9i"
-msgstr "Oracle 9i/10g"
+msgstr "Oracle 9i"
 
-#. Tag: literal
-#: configuration.xml:1066
-#, fuzzy, no-c-format
-msgid "org.hibernate.dialect.Oracle9iDialect"
-msgstr "org.hibernate.dialect.Oracle9Dialect"
+#. Tag: para
+#, no-c-format
+msgid "<literal>org.hibernate.dialect.Oracle9iDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.Oracle9iDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1069
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid "Oracle 10g"
-msgstr "Oracle 9i/10g"
+msgstr "Oracle 10g"
 
-#. Tag: literal
-#: configuration.xml:1069
-#, fuzzy, no-c-format
-msgid "org.hibernate.dialect.Oracle10gDialect"
-msgstr "org.hibernate.dialect.OracleDialect"
+#. Tag: para
+#, no-c-format
+msgid "<literal>org.hibernate.dialect.Oracle10gDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.Oracle10gDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1072
+#. Tag: para
 #, no-c-format
 msgid "Sybase"
 msgstr "Sybase"
 
-#. Tag: literal
-#: configuration.xml:1072
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.SybaseDialect"
-msgstr "org.hibernate.dialect.SybaseDialect"
+msgid "<literal>org.hibernate.dialect.SybaseDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.SybaseDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1075
+#. Tag: para
 #, no-c-format
 msgid "Sybase Anywhere"
 msgstr "Sybase Anywhere"
 
-#. Tag: literal
-#: configuration.xml:1075
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.SybaseAnywhereDialect"
-msgstr "org.hibernate.dialect.SybaseAnywhereDialect"
+msgid "<literal>org.hibernate.dialect.SybaseAnywhereDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.SybaseAnywhereDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1078
+#. Tag: para
 #, no-c-format
 msgid "Microsoft SQL Server"
 msgstr "Microsoft SQL Server"
 
-#. Tag: literal
-#: configuration.xml:1078
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.SQLServerDialect"
-msgstr "org.hibernate.dialect.SQLServerDialect"
+msgid "<literal>org.hibernate.dialect.SQLServerDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.SQLServerDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1081
+#. Tag: para
 #, no-c-format
 msgid "SAP DB"
 msgstr "SAP DB"
 
-#. Tag: literal
-#: configuration.xml:1081
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.SAPDBDialect"
-msgstr "org.hibernate.dialect.SAPDBDialect"
+msgid "<literal>org.hibernate.dialect.SAPDBDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.SAPDBDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1084
+#. Tag: para
 #, no-c-format
 msgid "Informix"
 msgstr "Informix"
 
-#. Tag: literal
-#: configuration.xml:1084
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.InformixDialect"
-msgstr "org.hibernate.dialect.InformixDialect"
+msgid "<literal>org.hibernate.dialect.InformixDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.InformixDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1087
+#. Tag: para
 #, no-c-format
 msgid "HypersonicSQL"
 msgstr "HypersonicSQL"
 
-#. Tag: literal
-#: configuration.xml:1087
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.HSQLDialect"
-msgstr "org.hibernate.dialect.HSQLDialect"
+msgid "<literal>org.hibernate.dialect.HSQLDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.HSQLDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1090
+#. Tag: para
 #, no-c-format
 msgid "Ingres"
 msgstr "Ingres"
 
-#. Tag: literal
-#: configuration.xml:1090
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.IngresDialect"
-msgstr "org.hibernate.dialect.IngresDialect"
+msgid "<literal>org.hibernate.dialect.IngresDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.IngresDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1093
+#. Tag: para
 #, no-c-format
 msgid "Progress"
 msgstr "Progress"
 
-#. Tag: literal
-#: configuration.xml:1093
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.ProgressDialect"
-msgstr "org.hibernate.dialect.ProgressDialect"
+msgid "<literal>org.hibernate.dialect.ProgressDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.ProgressDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1096
+#. Tag: para
 #, no-c-format
 msgid "Mckoi SQL"
 msgstr "Mckoi SQL"
 
-#. Tag: literal
-#: configuration.xml:1096
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.MckoiDialect"
-msgstr "org.hibernate.dialect.MckoiDialect"
+msgid "<literal>org.hibernate.dialect.MckoiDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.MckoiDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1099
+#. Tag: para
 #, no-c-format
 msgid "Interbase"
 msgstr "Interbase"
 
-#. Tag: literal
-#: configuration.xml:1099
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.InterbaseDialect"
-msgstr "org.hibernate.dialect.InterbaseDialect"
+msgid "<literal>org.hibernate.dialect.InterbaseDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.InterbaseDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1102
+#. Tag: para
 #, no-c-format
 msgid "Pointbase"
 msgstr "Pointbase"
 
-#. Tag: literal
-#: configuration.xml:1102
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.PointbaseDialect"
-msgstr "org.hibernate.dialect.PointbaseDialect"
+msgid "<literal>org.hibernate.dialect.PointbaseDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.PointbaseDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1105
+#. Tag: para
 #, no-c-format
 msgid "FrontBase"
 msgstr "FrontBase"
 
-#. Tag: literal
-#: configuration.xml:1105
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.FrontbaseDialect"
-msgstr "org.hibernate.dialect.FrontbaseDialect"
+msgid "<literal>org.hibernate.dialect.FrontbaseDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.FrontbaseDialect</literal>"
 
-#. Tag: entry
-#: configuration.xml:1108
+#. Tag: para
 #, no-c-format
 msgid "Firebird"
 msgstr "Firebird"
 
-#. Tag: literal
-#: configuration.xml:1108
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.dialect.FirebirdDialect"
-msgstr "org.hibernate.dialect.FirebirdDialect"
+msgid "<literal>org.hibernate.dialect.FirebirdDialect</literal>"
+msgstr "<literal>org.hibernate.dialect.FirebirdDialect</literal>"
 
 #. Tag: title
-#: configuration.xml:1117
 #, no-c-format
 msgid "Outer Join Fetching"
-msgstr "Recuperaci&#x00f3;n por Uni&#x00f3;n Externa (Outer Join Fetching)"
+msgstr "Recuperación por Unión Externa - Outer Join Fetching"
 
 #. Tag: para
-#: configuration.xml:1119
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If your database supports ANSI, Oracle or Sybase style outer joins, "
 "<emphasis>outer join fetching</emphasis> will often increase performance by "
@@ -2024,18 +1716,15 @@
 "one, one-to-many, many-to-many and one-to-one associations to be retrieved "
 "in a single SQL <literal>SELECT</literal>."
 msgstr ""
-"Si tu base de datos soporta uniones externas del estilo ANSI, Oracle o "
-"Sybase, la <emphasis>recuperaci&#x00f3;n por uni&#x00f3;n externa</emphasis> "
-"aumentar&#x00e1; frecuentemente el rendimiento limitando el n&#x00fa;mero de "
-"llamadas a la base de datos (al costo de m&#x00e1;s trabajo posiblemente "
-"realizado por la base de datos misma). La recuperaci&#x00f3;n por uni&#x00f3;"
-"n externa permite que un grafo completo de objetos conectados por "
-"asociaciones muchos-a-uno, uno-a-muchos, muchos-a-muchos y uno-a-uno sea "
-"tra&#x00ed;do en una sola <literal>SELECT</literal> SQL."
+"Si su base de datos soporta uniones externas del estilo ANSI, Oracle o "
+"Sybase, frecuentemente la <emphasis>recuperación por unión externa</"
+"emphasis> aumentará el rendimiento limitando el número de llamadas a la base "
+"de datos. La recuperación por unión externa permite que un gráfico completo "
+"de objetos conectados por asociaciones muchos-a-uno, uno-a-muchos, muchos-a-"
+"muchos y uno-a-uno sea recuperado en un sólo <literal>SELECT</literal> SQL."
 
 #. Tag: para
-#: configuration.xml:1128
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Outer join fetching can be disabled <emphasis>globally</emphasis> by setting "
 "the property <literal>hibernate.max_fetch_depth</literal> to <literal>0</"
@@ -2043,30 +1732,27 @@
 "fetching for one-to-one and many-to-one associations that have been mapped "
 "with <literal>fetch=\"join\"</literal>."
 msgstr ""
-"La recuperaci&#x00f3;n por uni&#x00f3;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&#x00f3;n por "
-"uni&#x00f3;n externa para asociaciones uno-a-uno y muchos-a-uno que hayan "
-"sido mapeadas con <literal>fetch=\"join\"</literal>."
+"<literal>hibernate.max_fetch_depth</literal> como <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>."
 
 #. Tag: para
-#: configuration.xml:1136
 #, no-c-format
-msgid "See <xref linkend=\"performance-fetching\"/> for more information."
+msgid "See <xref linkend=\"performance-fetching\" /> for more information."
 msgstr ""
-"Ver <xref linkend=\"performance-fetching\"/> para m&#x00e1;s "
-"informaci&#x00f3;n."
+"Consulte <xref linkend=\"performance-fetching\" /> para obtener más "
+"información."
 
 #. Tag: title
-#: configuration.xml:1143
 #, no-c-format
 msgid "Binary Streams"
 msgstr "Flujos Binarios"
 
 #. Tag: para
-#: configuration.xml:1145
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Oracle limits the size of <literal>byte</literal> arrays that can be passed "
 "to and/or from its JDBC driver. If you wish to use large instances of "
@@ -2074,88 +1760,66 @@
 "should enable <literal>hibernate.jdbc.use_streams_for_binary</literal>. "
 "<emphasis>This is a system-level setting only.</emphasis>"
 msgstr ""
-"Oracle limita el tama&#x00f1;o de arrays de <literal>byte</literal> que "
-"puedan ser pasados a/desde su driver JDBC. Si deseas usar instancias grandes "
-"de tipo <literal>binary</literal> o <literal>serializable</literal>, debes "
+"Oracle limita el tamaño de arrays de <literal>byte</literal> que se puedan "
+"pasar a/desde su controlador JDBC. Si desea utilizar instancias grandes de "
+"tipo <literal>binary</literal> o <literal>serializable</literal>, usted debe "
 "habilitar <literal>hibernate.jdbc.use_streams_for_binary</literal>. "
-"<emphasis>Esta es una propiedad a nivel de sistema solamente.</emphasis>"
+"<emphasis>Esta es una configuración a nivel de sistema sólamente.</emphasis>"
 
 #. Tag: title
-#: configuration.xml:1156
 #, no-c-format
 msgid "Second-level and query cache"
-msgstr "Cach&#x00e9; de segundo nivel y de lectura"
+msgstr "Caché de segundo nivel y de lectura"
 
 #. Tag: para
-#: configuration.xml:1158
-#, fuzzy, no-c-format
+#, no-c-format
 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 information."
+"See the <xref linkend=\"performance-cache\" /> for more information."
 msgstr ""
-"Las propiedades prefijadas por <literal>hibernate.cache</literal> te "
-"permiten usar un sistema de cach&#x00e9; de segundo nivel en el &#x00e1;"
-"mbito de un proceso o cluster con Hibernate. Ver <xref linkend=\"performance-"
-"cache\"/> para m&#x00e1;s detalles."
+"Las propiedades prefijadas por <literal>hibernate.cache</literal> le "
+"permiten utilizar un sistema de caché de segundo nivel en el ámbito de un "
+"proceso o clúster con Hibernate. Vea la <xref linkend=\"performance-cache\" /"
+"> para obtener más detalles."
 
 #. Tag: title
-#: configuration.xml:1168
 #, no-c-format
 msgid "Query Language Substitution"
-msgstr "Sustituci&#x00f3;n de Lenguaje de Consulta"
+msgstr "Sustitución de Lenguaje de Consulta"
 
 #. Tag: para
-#: configuration.xml:1170
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can define new Hibernate query tokens using <literal>hibernate.query."
 "substitutions</literal>. For example:"
 msgstr ""
-"Puedes definir nuevos s&#x00ed;mbolos de consulta de Hibernate usando "
+"Puede definir nuevos tokens de consulta de Hibernate utilizando "
 "<literal>hibernate.query.substitutions</literal>. Por ejemplo:"
 
-#. Tag: programlisting
-#: configuration.xml:1175
-#, no-c-format
-msgid "hibernate.query.substitutions true=1, false=0"
-msgstr "hibernate.query.substitutions true=1, false=0"
-
 #. Tag: para
-#: configuration.xml:1177
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This would cause the tokens <literal>true</literal> and <literal>false</"
 "literal> to be translated to integer literals in the generated SQL."
 msgstr ""
-"causar&#x00ed;a que los s&#x00ed;mbolos <literal>true</literal> y "
-"<literal>false</literal> sean traducidos a literales enteros en el SQL "
-"generado."
+"Esto causaría que los tokens <literal>true</literal> y <literal>false</"
+"literal> sean traducidos a literales enteros en el SQL generado."
 
-#. Tag: programlisting
-#: configuration.xml:1182
-#, no-c-format
-msgid "hibernate.query.substitutions toLowercase=LOWER"
-msgstr "hibernate.query.substitutions toLowercase=LOWER"
-
 #. Tag: para
-#: configuration.xml:1184
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This would allow you to rename the SQL <literal>LOWER</literal> function."
 msgstr ""
-"te permitir&#x00ed;a renombrar la funci&#x00f3;n <literal>LOWER</literal> de "
-"SQL."
+"Esto le permitiría renombrar la función <literal>LOWER</literal> de SQL."
 
 #. Tag: title
-#: configuration.xml:1191
 #, no-c-format
 msgid "Hibernate statistics"
-msgstr "Hibernate statistics"
+msgstr "Estadísticas de Hibernate"
 
 #. Tag: para
-#: configuration.xml:1193
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you enable <literal>hibernate.generate_statistics</literal>, Hibernate "
 "exposes a number of metrics that are useful when tuning a running system via "
@@ -2163,22 +1827,19 @@
 "configured to expose these statistics via JMX. Read the Javadoc of the "
 "interfaces in <literal>org.hibernate.stats</literal> for more information."
 msgstr ""
-"Si habilitas <literal>hibernate.generate_statistics</literal>, Hibernate "
-"expondr&#x00e1; un n&#x00fa;mero de m&#x00e9;tricas que son &#x00fa;tiles al "
-"afinar un sistema en ejecuci&#x00f3;n v&#x00ed;a <literal>SessionFactory."
-"getStatistics()</literal>. Hibernate puede incluso ser configurado para "
-"exponer estas estad&#x00ed;sticas v&#x00ed;a JMX. Lee el Javadoc de las "
-"interfaces en <literal>org.hibernate.stats</literal> para m&#x00e1;s "
-"informaci&#x00f3;n."
+"Si habilita <literal>hibernate.generate_statistics</literal>, Hibernate "
+"expondrá un número de métricas que son útiles al afinar un sistema en "
+"ejecución por medio de <literal>SessionFactory.getStatistics()</literal>. "
+"Incluso se puede configurar Hibernate para exponer estas estadísticas por "
+"medio de JMX. Lea el Javadoc de las interfaces en <literal>org.hibernate."
+"stats</literal> para obtener más información."
 
 #. Tag: title
-#: configuration.xml:1205
 #, no-c-format
 msgid "Logging"
 msgstr "Registros de mensajes (Logging)"
 
 #. Tag: para
-#: configuration.xml:1207
 #, no-c-format
 msgid ""
 "Hibernate utilizes <ulink url=\"http://www.slf4j.org/\">Simple Logging "
@@ -2194,10 +1855,22 @@
 "properties file is distributed with Hibernate in the <literal>src/</literal> "
 "directory."
 msgstr ""
+"Hibernate utiliza <ulink url=\"http://www.slf4j.org/\">Simple Logging Facade "
+"for Java</ulink> (SLF4J) con el fin de registrar varios eventos del sistema. "
+"SLF4J puede direccionar su salida de registro a varios marcos de trabajo de "
+"registro (NOP, Simple, log4j versión 1.2, JDK 1.4 logging, JCL o logback) "
+"dependiendo de su enlace escogido. Con el fin de configurar el registro "
+"necesitará <filename>slf4j-api.jar</filename> en su ruta de clase junto con "
+"el archivo jar para su enlace preferido - <filename>slf4j-log4j12.jar</"
+"filename> en el caso de Log4J. Consulte la <ulink url=\"http://www.slf4j.org/"
+"manual.html\">documentación</ulink> SLF4J para obtener mayores detalles. "
+"Para usar Log4j también necesitará poner un archivo <filename>log4j."
+"properties</filename> en su ruta de clase. Un archivo de propiedades de "
+"ejemplo se distribuye junto con Hibernate en el directorio <literal>src/</"
+"literal>."
 
 #. Tag: para
-#: configuration.xml:1218
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is recommended that you familiarize yourself with Hibernate's log "
 "messages. A lot of work has been put into making the Hibernate log as "
@@ -2205,162 +1878,136 @@
 "troubleshooting device. The most interesting log categories are the "
 "following:"
 msgstr ""
-"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&#x00f3;n de problemas. Las "
-"categor&#x00ed;as de registro m&#x00e1;s interesantes son las siguientes:"
+"Le recomendamos bastante que se familiarice con los mensajes de registro de "
+"Hibernate. Se ha trabajado bastante para hacer que los registros de "
+"Hibernate sean tan detallados como sea posible, sin hacerlos ilegibles. Es "
+"un dispositivo esencial en la resolución de problemas. Las categorías de "
+"registro más interesantes son las siguientes: "
 
 #. Tag: title
-#: configuration.xml:1227
 #, no-c-format
 msgid "Hibernate Log Categories"
-msgstr "Categor&#x00ed;as de Registro de Hibernate"
+msgstr "Categorías de Registro de Hibernate"
 
-#. Tag: entry
-#: configuration.xml:1233
+#. Tag: para
 #, no-c-format
 msgid "Category"
-msgstr "Categor&#x00ed;a"
+msgstr "Categoría"
 
-#. Tag: entry
-#: configuration.xml:1234
+#. Tag: para
 #, no-c-format
 msgid "Function"
-msgstr "Funci&#x00f3;n"
+msgstr "Función"
 
-#. Tag: literal
-#: configuration.xml:1239
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.SQL"
-msgstr "org.hibernate.SQL"
+msgid "<literal>org.hibernate.SQL</literal>"
+msgstr "<literal>org.hibernate.SQL</literal>"
 
-#. Tag: entry
-#: configuration.xml:1240
+#. Tag: para
 #, no-c-format
 msgid "Log all SQL DML statements as they are executed"
-msgstr "Registra todas las sentencias DML de SQL a medida que se ejecutan"
+msgstr "Registra todas las declaraciones DML de SQL a medida que se ejecutan"
 
-#. Tag: literal
-#: configuration.xml:1243
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.type"
-msgstr "org.hibernate.type"
+msgid "<literal>org.hibernate.type</literal>"
+msgstr "<literal>org.hibernate.type</literal>"
 
-#. Tag: entry
-#: configuration.xml:1244
+#. Tag: para
 #, no-c-format
 msgid "Log all JDBC parameters"
-msgstr "Registra todos los par&#x00e1;metros JDBC"
+msgstr "Registra todos los parámetros JDBC"
 
-#. Tag: literal
-#: configuration.xml:1247
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.tool.hbm2ddl"
-msgstr "org.hibernate.tool.hbm2ddl"
+msgid "<literal>org.hibernate.tool. hbm2ddl</literal>"
+msgstr "<literal>org.hibernate.tool. hbm2ddl</literal>"
 
-#. Tag: entry
-#: configuration.xml:1248
+#. Tag: para
 #, no-c-format
 msgid "Log all SQL DDL statements as they are executed"
-msgstr "Registra todas las sentencias DDL de SQL a medida que se ejecutan"
+msgstr "Registra todas las declaraciones DDL de SQL a medida que se ejecutan"
 
-#. Tag: literal
-#: configuration.xml:1251
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.pretty"
-msgstr "org.hibernate.pretty"
+msgid "<literal>org.hibernate.pretty</literal>"
+msgstr "<literal>org.hibernate.pretty</literal>"
 
-#. Tag: entry
-#: configuration.xml:1252
+#. Tag: para
 #, no-c-format
 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&#x00e1;ximo de 20 entidades) "
-"asociadas con la sesi&#x00f3;n en tiempo de limpieza (flush)"
+"Registra el estado de todas las entidades (máximo 20 entidades) asociadas "
+"con la sesión en tiempo de limpieza (flush)"
 
-#. Tag: literal
-#: configuration.xml:1258
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.cache"
-msgstr "org.hibernate.cache"
+msgid "<literal>org.hibernate.cache</literal>"
+msgstr "<literal>org.hibernate.cache</literal>"
 
-#. Tag: entry
-#: configuration.xml:1259
+#. Tag: para
 #, no-c-format
 msgid "Log all second-level cache activity"
-msgstr "Registra toda la actividad del cach&#x00e9; de segundo nivel"
+msgstr "Registra toda la actividad del caché de segundo nivel"
 
-#. Tag: literal
-#: configuration.xml:1262
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.transaction"
-msgstr "org.hibernate.transaction"
+msgid "<literal>org.hibernate. transaction</literal>"
+msgstr "<literal>org.hibernate. transaction</literal>"
 
-#. Tag: entry
-#: configuration.xml:1263
+#. Tag: para
 #, no-c-format
 msgid "Log transaction related activity"
-msgstr "Registra la actividad relacionada con la transacci&#x00f3;n"
+msgstr "Registra la actividad relacionada con la transacción"
 
-#. Tag: literal
-#: configuration.xml:1266
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.jdbc"
-msgstr "org.hibernate.jdbc"
+msgid "<literal>org.hibernate.jdbc</literal>"
+msgstr "<literal>org.hibernate.jdbc</literal>"
 
-#. Tag: entry
-#: configuration.xml:1267
+#. Tag: para
 #, no-c-format
 msgid "Log all JDBC resource acquisition"
-msgstr "Registra toda adquisici&#x00f3;n de recursos JDBC"
+msgstr "Registra toda adquisición de recursos JDBC"
 
-#. Tag: literal
-#: configuration.xml:1270
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.hql.ast.AST"
-msgstr "org.hibernate.hql.ast"
+msgid "<literal>org.hibernate.hql. ast.AST</literal>"
+msgstr "<literal>org.hibernate.hql. ast.AST</literal>"
 
-#. Tag: entry
-#: configuration.xml:1271
+#. Tag: para
 #, no-c-format
 msgid "Log HQL and SQL ASTs during query parsing"
-msgstr ""
-"Regista los ASTs de HQL y SQL, as&#x00ed; como otra informaci&#x00f3;n sobre "
-"an&#x00e1;lisis de consultas."
+msgstr "Regista los ASTs de HQL y SQL, durante análisis de consultas."
 
-#. Tag: literal
-#: configuration.xml:1276
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.secure"
-msgstr "org.hibernate.secure"
+msgid "<literal>org.hibernate.secure</literal>"
+msgstr "<literal>org.hibernate.secure</literal>"
 
-#. Tag: entry
-#: configuration.xml:1277
+#. Tag: para
 #, no-c-format
 msgid "Log all JAAS authorization requests"
-msgstr "Registra todas las peticiones de autorizaci&#x00f3;n JAAS"
+msgstr "Registra todas las peticiones de autorización JAAS"
 
-#. Tag: literal
-#: configuration.xml:1280
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate"
-msgstr "org.hibernate"
+msgid "<literal>org.hibernate</literal>"
+msgstr "<literal>org.hibernate</literal>"
 
-#. Tag: entry
-#: configuration.xml:1281
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
 "Log everything. This is a lot of information but it is useful for "
 "troubleshooting"
 msgstr ""
-"Registra todo (mucha informaci&#x00f3;n, pero muy &#x00fa;til para la "
-"resoluci&#x00f3;n de problemas)"
+"Registra todo. Hay mucha información, pero es útil para la resolución de "
+"problemas"
 
 #. Tag: para
-#: configuration.xml:1290
 #, no-c-format
 msgid ""
 "When developing applications with Hibernate, you should almost always work "
@@ -2368,31 +2015,28 @@
 "hibernate.SQL</literal>, or, alternatively, the property <literal>hibernate."
 "show_sql</literal> enabled."
 msgstr ""
-"Al desarrollar aplicacinoes con Hibernate, casi siempre debes trabajar con "
-"<literal>debug</literal> habilitado para la categor&#x0ed;a <literal>org."
-"hibernate.SQL</literal> o, alternativamente, la propiedad <literal>hibernate."
-"show_sql</literal> habilitada."
+"Al desarrollar aplicaciones con Hibernate, casi siempre debe 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."
 
 #. Tag: title
-#: configuration.xml:1300
 #, no-c-format
 msgid "Implementing a <literal>NamingStrategy</literal>"
-msgstr "Implementando una <literal>NamingStrategy</literal>"
+msgstr "Implementación de una <literal>NamingStrategy</literal>"
 
 #. Tag: para
-#: configuration.xml:1302
 #, no-c-format
 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&#x00e1;ndar de nombrado\" para objetos de la base de "
-"datos y elementos de esquema."
+"La interfaz <literal>org.hibernate.cfg.NamingStrategy</literal> le permite "
+"especificar un \"estándar de nombrado\" para objetos de la base de datos y "
+"los elementos del esquema."
 
 #. Tag: para
-#: configuration.xml:1307
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can provide rules for automatically generating database identifiers from "
 "Java identifiers or for processing \"logical\" column and table names given "
@@ -2401,60 +2045,39 @@
 "noise (<literal>TBL_</literal> prefixes, for example). The default strategy "
 "used by Hibernate is quite minimal."
 msgstr ""
-"Puedes proveer reglas para generar autom&#x00e1;ticamente identificadores de "
-"base de datos a partir de identificadores JDBC o para procesar nombres "
-"\"l&#x00f3;gicos\" de columnas y tablas dados en el fichero de mapeo en "
-"nombres \"f&#x00ed;sicos\" de columnas y tablas. Esta funcionalidad ayuda a "
-"reducir la verborragia del documento de mapeo, eliminando ruido repetitivo "
-"(prefijos <literal>TBL_</literal>, por ejemplo). La estrategia por defecto "
-"usada por Hibernate m&#x00ed;nima en absoluto."
+"Puede proveer reglas para generar automáticamente identificadores de la base "
+"de datos a partir de identificadores JDBC o para procesar nombres \"lógicos"
+"\" de columnas y tablas dadas en el archivo de mapeo en nombres \"físicos\" "
+"de columnas y tablas. Esta funcionalidad ayuda a reducir la verborragia del "
+"documento de mapeo, eliminando ruidos repetitivos (por ejemplo, prefijos "
+"<literal>TBL_</literal>). Hibernate utiliza una estrategia por defecto "
+"bastante mínima."
 
 #. Tag: para
-#: configuration.xml:1316
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can specify a different strategy by calling <literal>Configuration."
 "setNamingStrategy()</literal> before adding mappings:"
 msgstr ""
-"Puedes especificar una estrategia diferente llamando a "
-"<literal>Configuration.setNamingStrategy()</literal> antes de agregar los "
-"mapeos:"
+"Puede especificar una estrategia diferente llamando a <literal>Configuration."
+"setNamingStrategy()</literal> antes de agregar los mapeos:"
 
-#. Tag: programlisting
-#: configuration.xml:1321
-#, no-c-format
-msgid ""
-"<![CDATA[SessionFactory sf = new Configuration()\n"
-"    .setNamingStrategy(ImprovedNamingStrategy.INSTANCE)\n"
-"    .addFile(\"Item.hbm.xml\")\n"
-"    .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:1323
 #, no-c-format
 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 &#x00fa;til para "
-"algunas aplicaciones."
+"estrategia incorporada que puede ser un punto de partida útil para algunas "
+"aplicaciones."
 
 #. Tag: title
-#: configuration.xml:1331
 #, no-c-format
 msgid "XML configuration file"
-msgstr "Fichero de configuraci&#x00f3;n XML"
+msgstr "Archivo de configuración XML"
 
 #. Tag: para
-#: configuration.xml:1333
 #, no-c-format
 msgid ""
 "An alternative approach to configuration is to specify a full configuration "
@@ -2462,108 +2085,24 @@
 "as a replacement for the <literal>hibernate.properties</literal> file or, if "
 "both are present, to override properties."
 msgstr ""
-"Un enfoque alternativo de configuraci&#x00f3;n es especificar una "
-"configuraci&#x00f3;n completa en un fichero llamado <literal>hibernate.cfg."
-"xml</literal>. Este fichero puede ser usado como un remplazo del fichero "
-"<literal>hibernate.properties</literal> o, si ambos est&#x00e1;n presentes, "
-"para sobrescribir propiedades."
+"Un enfoque alternativo de configuración es especificar una configuración "
+"completa en un archivo llamado <literal>hibernate.cfg.xml</literal>. Este "
+"archivo se puede utilizar como un remplazo del archivo <literal>hibernate."
+"properties</literal> o en el caso de que ambos se encuentren presentes, para "
+"sobrescribir propiedades."
 
 #. Tag: para
-#: configuration.xml:1340
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The XML configuration file is by default expected to be in the root of your "
 "<literal>CLASSPATH</literal>. Here is an example:"
 msgstr ""
-"El fichero de configuraci&#x00f3;n XML se espera por defecto en la ra&#x00ed;"
-"z o tu <literal>CLASSPATH</literal>. He aqu&#x00ed; un ejemplo:"
+"El archivo de configuración XML por defecto se espera en la raíz de su "
+"<literal>CLASSPATH</literal>. Este es un ejemplo:"
 
-#. Tag: programlisting
-#: configuration.xml:1345
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:1347
-#, fuzzy, no-c-format
-msgid ""
 "The advantage of this approach is the externalization of the mapping file "
 "names to configuration. The <literal>hibernate.cfg.xml</literal> is also "
 "more convenient once you have to tune the Hibernate cache. It is your choice "
@@ -2571,65 +2110,38 @@
 "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&#x00f3;n de "
-"los nombres de los fichero de mapeo a configuraci&#x00f3;n. El "
-"<literal>hibernate.cfg.xml</literal> es tambi&#x00e9;n m&#x00e1;s "
-"conveniente una vez que hayas afinado el cach&#x00e9; de Hibernate. Observa "
-"que elecci&#x00f3;n tuya usar ya sea <literal>hibernate.properties</literal> "
-"o <literal>hibernate.cfg.xml</literal>, ambos son equivalentes, excepto por "
-"los beneficios de usar la sintaxis XML arriba mencionados."
+"La ventaja de este enfoque es la externalización de los nombres de los "
+"archivos de mapeo a la configuración. El <literal>hibernate.cfg.xml</"
+"literal> también es más práctico una vez que haya afinado el caché de "
+"Hibernate. Puede escoger ya sea <literal>hibernate.properties</literal> o "
+"<literal>hibernate.cfg.xml</literal>. Ambos son equivalentes, excepto por "
+"los beneficios de utilizar la sintaxis XML que mencionados anteriormente."
 
 #. Tag: para
-#: configuration.xml:1356
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "With the XML configuration, starting Hibernate is then as simple as:"
-msgstr "Con la configuraci&#x00f3;n XML, arrancar Hibernate es tan simple como"
+msgstr "Con la configuración XML, iniciar Hibernate es tan simple como:"
 
-#. Tag: programlisting
-#: configuration.xml:1360
-#, no-c-format
-msgid ""
-"<![CDATA[SessionFactory sf = new Configuration().configure()."
-"buildSessionFactory();]]>"
-msgstr ""
-"<![CDATA[SessionFactory sf = new Configuration().configure()."
-"buildSessionFactory();]]>"
-
 #. Tag: para
-#: configuration.xml:1362
-#, fuzzy, no-c-format
-msgid "You can select a different XML configuration file using:"
-msgstr "Puedes tomar un fichero XML diferente usando"
-
-#. Tag: programlisting
-#: configuration.xml:1366
 #, no-c-format
-msgid ""
-"<![CDATA[SessionFactory sf = new Configuration()\n"
-"    .configure(\"catdb.cfg.xml\")\n"
-"    .buildSessionFactory();]]>"
+msgid "You can select a different XML configuration file using:"
 msgstr ""
-"<![CDATA[SessionFactory sf = new Configuration()\n"
-"    .configure(\"catdb.cfg.xml\")\n"
-"    .buildSessionFactory();]]>"
+"Puede seleccionar un fichero de configuración XML diferente utilizando:"
 
 #. Tag: title
-#: configuration.xml:1371
 #, no-c-format
 msgid "J2EE Application Server integration"
-msgstr "Integraci&#x00f3; con Servidores de Aplicaciones J2EE"
+msgstr "Integración con Servidores de Aplicaciones J2EE"
 
 #. Tag: para
-#: configuration.xml:1373
 #, no-c-format
 msgid "Hibernate has the following integration points for J2EE infrastructure:"
 msgstr ""
-"Hibernate tiene los siguientes puntos de integraci&#x00f3;n con la "
-"infraestructura J2EE:"
+"Hibernate tiene los siguientes puntos de integración con la infraestructura "
+"J2EE:"
 
 #. Tag: para
-#: configuration.xml:1379
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Container-managed datasources</emphasis>: Hibernate can use JDBC "
 "connections managed by the container and provided through JNDI. Usually, a "
@@ -2640,30 +2152,27 @@
 "(BMT), or you might want to use the optional Hibernate <literal>Transaction</"
 "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&#x00e9;s "
-"de JNDI. Usualmente, un <literal>TransactionManager</literal> compatible con "
-"JTA y un <literal>ResourceManager</literal> cuidan del manejo de "
-"transacciones (CMT), esp. manejo de transacciones distribu&#x00ed;das a "
-"trav&#x00e9;s de varios datasources. Puedes tambi&#x00e9;n, por supuesto, "
-"demarcar los l&#x00ed;mites de las transacciones program&#x00e1;ticamente "
-"(BMT) o podr&#x00ed;as querer usar para esto la API opcional de "
-"<literal>Transaction</literal> de Hibernate para mantener tu c&#x00f3;digo "
-"portable."
+"<emphasis>Fuentes de datos administrados por el contenedor</emphasis>: "
+"Hibernate puede utilizar conexiones JDBC administradas por el contenedor y "
+"provistas a través de JNDI. Usualmente, un <literal>TransactionManager</"
+"literal> compatible con JTA y un <literal>ResourceManager</literal> se "
+"ocupan de la administración de transacciones (CMT), especialmente del manejo "
+"de transacciones distribuídas a través de varias fuentes de datos. También "
+"puede demarcar los límites de las transacciones programáticamente (BMT) o "
+"puede que quiera utilizar para esto la API opcional de <literal>Transaction</"
+"literal> de Hibernate para mantener portátil su código."
 
 #. Tag: para
-#: configuration.xml:1394
 #, no-c-format
 msgid ""
 "<emphasis>Automatic JNDI binding</emphasis>: Hibernate can bind its "
 "<literal>SessionFactory</literal> to JNDI after startup."
 msgstr ""
-"<emphasis>Ligamento Autom&#x00e1;tico JNDI</emphasis>: Hibernate puede ligar "
-"sus <literal>SessionFactory</literal> a JNDI despu&#x00e9;s del arranque."
+"<emphasis>Vinculación Automática JNDI</emphasis>: Hibernate puede vincular "
+"sus <literal>SessionFactory</literal> a JNDI después del inicio."
 
 #. Tag: para
-#: configuration.xml:1403
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>JTA Session binding:</emphasis> the Hibernate <literal>Session</"
 "literal> can be automatically bound to the scope of JTA transactions. Simply "
@@ -2673,18 +2182,16 @@
 "demarcation is either declarative (CMT) or programmatic (BMT/"
 "UserTransaction)."
 msgstr ""
-"<emphasis>Ligamento de Sesi&#x00f3;n JTA:</emphasis> La <literal>Session</"
-"literal> de Hibernate puede ser ligada autom&#x00e1;ticamente al &#x00e1;"
-"mbito de transacciones JTA si usas EJBs. Simplemente busca la "
-"<literal>SessionFactory</literal> de JNDI y obt&#x00e9;n la "
-"<literal>Session</literal> actual. Deja que Hibernate cuide de limpiar y "
-"cerrar la <literal>Session</literal> cuando se complete tu transacci&#x00f3;"
-"n JTA. La demarcaci&#x00f3;n de transacci&#x00f3;n es declarativa, en "
-"descriptores de despliegue de EJB."
+"<emphasis>Vinculación de Sesión JTA:</emphasis> La <literal>Session</"
+"literal> de Hibernate se puede vincular automáticamente al ámbito de "
+"transacciones JTA. Simplemente busque la <literal>SessionFactory</literal> "
+"de JNDI y obténga la <literal>Session</literal> actual. Deje que Hibernate "
+"se ocupe de vaciar y cerrar la <literal>Session</literal> cuando se complete "
+"su transacción JTA. La demarcación de transacción puede ser declarativa "
+"(CMT) o programática (BMT/UserTransaction)."
 
 #. Tag: para
-#: configuration.xml:1416
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>JMX deployment:</emphasis> if you have a JMX capable application "
 "server (e.g. JBoss AS), you can choose to deploy Hibernate as a managed "
@@ -2694,37 +2201,34 @@
 "take care of service dependencies (datasource has to be available before "
 "Hibernate starts, etc)."
 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&#x00f3;digo de una l&#x00ed;nea "
-"de arranque para construir tu <literal>SessionFactory</literal> desde una "
-"<literal>Configuration</literal>. El contenedor arrancar&#x00e1; tu "
-"<literal>HibernateService</literal>, e idealmente tambi&#x00e9;n "
-"cuidar&#x00e1; de las dependencias entre servicios (El datasource debe estar "
-"disponible antes que arranque Hibernate, etc)."
+"<emphasis>Despliegue JMX:</emphasis> Si tiene un servidor de aplicaciones "
+"con capacidad para JMX (por ejemplo, JBoss AS), puede escoger el desplegar "
+"Hibernate como un MBean administrado. Esto le ahorra el código de una línea "
+"de inicio para construir su <literal>SessionFactory</literal> desde una "
+"<literal>Configuration</literal>. El contenedor iniciará su "
+"<literal>HibernateService</literal>, e idealmente también cuidará de las "
+"dependencias entre servicios (la fuente de datos debe estar disponible antes "
+"de que Hibernate inicie, etc)."
 
 #. Tag: para
-#: configuration.xml:1427
 #, no-c-format
 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&#x00ed;as tener que establecer la "
-"opci&#x00f3;n de configuraci&#x00f3;n <literal>hibernate.connection."
-"aggressive_release</literal> a true si tu servidor de aplicaciones muestra "
-"excepciones \"connection containment\"."
+"Dependiendo de su entorno, podría tener que establecer la opción de "
+"configuración <literal>hibernate.connection.aggressive_release</literal> "
+"como true si su servidor de aplicaciones muestra excepciones \"contención de "
+"conexión\"."
 
 #. Tag: title
-#: configuration.xml:1434
 #, no-c-format
 msgid "Transaction strategy configuration"
-msgstr "Configuraci&#x00f3;n de la estrategia de transacci&#x00f3;n"
+msgstr "Configuración de la estrategia de transacción"
 
 #. Tag: para
-#: configuration.xml:1436
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The Hibernate <literal>Session</literal> API is independent of any "
 "transaction demarcation system in your architecture. If you let Hibernate "
@@ -2734,15 +2238,14 @@
 "and <literal>UserTransaction</literal> when needed."
 msgstr ""
 "La API de <literal>Session</literal> de Hibernate es independiente de "
-"cualquier demarcaci&#x00f3;n de transacci&#x00f3;n en tu arquitectura. Si "
-"dejas que Hibernate use JDBC directamente, a trav&#x00e9;s de un pool de "
-"conexiones. puedes comenzar y acabar tus transacciones llamando la API de "
-"JDBC. Si ejecutas en un servidor de aplicaciones J2EE, podr&#x00e9;as querer "
-"usar transacciones manejadas por bean y llamar la API de JTA y "
+"cualquier demarcación de transacción en su arquitectura. Si deja que "
+"Hibernate utilice JDBC directamente, a través de un pool de conexiones, "
+"puede comenzar y acabar sus transacciones llamando la API de JDBC. Si "
+"ejecuta en un servidor de aplicaciones J2EE, puede que quiera utilizar "
+"transacciones administradas por bean y llamar la API de JTA y "
 "<literal>UserTransaction</literal> cuando sea necesario."
 
 #. Tag: para
-#: configuration.xml:1444
 #, no-c-format
 msgid ""
 "To keep your code portable between these two (and other) environments we "
@@ -2752,75 +2255,66 @@
 "configuration property <literal>hibernate.transaction.factory_class</"
 "literal>."
 msgstr ""
-"Para mantener tu c&#x00f3;digo portable entre estos dos (y otros) entornos "
+"Para mantener su código portable entre estos dos (y otros) entornos le "
 "recomendamos la API de <literal>Transaction</literal> de Hibernate, que "
-"envuelve y oculta el sistema subyacente. Tienes que especificar una clase "
-"f&#x00e1;brica para las instancias de <literal>Transaction</literal> "
-"estableciendo la propiedad de configuraci&#x00f3;n <literal>hibernate."
-"transaction.factory_class</literal> de Hibernate."
+"envuelve y oculta el sistema subyacente. Tiene 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."
 
 #. Tag: para
-#: configuration.xml:1451
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "There are three standard, or built-in, choices:"
-msgstr "Hay tres elecciones est&#x00e1;ndar (prefabricadas):"
+msgstr "Existen tres opciones estándares o incorporadas:"
 
-#. Tag: literal
-#: configuration.xml:1457
+#. Tag: term
 #, no-c-format
-msgid "org.hibernate.transaction.JDBCTransactionFactory"
-msgstr "org.hibernate.transaction.JDBCTransactionFactory"
+msgid "<literal>org.hibernate.transaction.JDBCTransactionFactory</literal>"
+msgstr "<literal>org.hibernate.transaction.JDBCTransactionFactory</literal>"
 
 #. Tag: para
-#: configuration.xml:1459
 #, no-c-format
 msgid "delegates to database (JDBC) transactions (default)"
-msgstr "delega a transacciones de base de datos (JDBC) (por defecto)"
+msgstr "delega a transacciones de bases de datos (JDBC) (por defecto)"
 
-#. Tag: literal
-#: configuration.xml:1463
+#. Tag: term
 #, no-c-format
-msgid "org.hibernate.transaction.JTATransactionFactory"
-msgstr "org.hibernate.transaction.JTATransactionFactory"
+msgid "<literal>org.hibernate.transaction.JTATransactionFactory</literal>"
+msgstr "<literal>org.hibernate.transaction.JTATransactionFactory</literal>"
 
 #. Tag: para
-#: configuration.xml:1465
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "delegates to container-managed transactions if an existing transaction is "
 "underway in this context (for example, EJB session bean method). Otherwise, "
 "a new transaction is started and bean-managed transactions are used."
 msgstr ""
-"delega a transacciones manejadas por contenedor si una transacci&#x00f3;n "
-"existente est&#x00f3; por debajo en este contexto (ej. m&#x00e9;todo de un "
-"bean de sesi&#x00f3;n EJB), en otro caso una nueva transacci&#x00f3;n es "
-"comenzada y se usan transacciones manejadas por bean."
+"delega a transacciones administradas por el contenedor si una transacción "
+"existente se encuentra en proceso en este contexto (por ejemplo, un método "
+"de bean de sesión EJB). De otra manera, se inicia una nueva transacción y se "
+"utilizan las transacciones administradas por bean."
 
-#. Tag: literal
-#: configuration.xml:1473
+#. Tag: term
 #, no-c-format
-msgid "org.hibernate.transaction.CMTTransactionFactory"
-msgstr "org.hibernate.transaction.CMTTransactionFactory"
+msgid "<literal>org.hibernate.transaction.CMTTransactionFactory</literal>"
+msgstr "<literal>org.hibernate.transaction.CMTTransactionFactory</literal>"
 
 #. Tag: para
-#: configuration.xml:1475
 #, no-c-format
 msgid "delegates to container-managed JTA transactions"
-msgstr "delega a transacciones JTA manejadas por contenedor"
+msgstr "delega a transacciones JTA administradas por el contenedor"
 
 #. Tag: para
-#: configuration.xml:1480
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can also define your own transaction strategies (for a CORBA transaction "
 "service, for example)."
 msgstr ""
-"Puedes definir tambi&#x00e9;n tus propias estrategias de transacci&#x00f3;n "
-"(para un servicio de transacci&#x00f3;n CORBA, por ejemplo)."
+"También puede definir sus propias estrategias de transacción (por ejemplo, "
+"para un servicio de transacción CORBA)."
 
 #. Tag: para
-#: configuration.xml:1485
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Some features in Hibernate (i.e., the second level cache, Contextual "
 "Sessions with JTA, etc.) require access to the JTA "
@@ -2829,175 +2323,175 @@
 "have to specify how Hibernate should obtain a reference to the "
 "<literal>TransactionManager</literal>:"
 msgstr ""
-"Algunas funcionalidades en Hibernate (ej, el cach&#x00e9; de segundo nivel, "
-"ligamento autom&#x00e1;tico de JTA y Session, etc.) requieren acceso al "
-"<literal>TransactionManager</literal> de JTA en un entorno manejado. En un "
-"servidor de aplicaciones tienes que especificar c&#x00f3;mo Hibernate debe "
-"obtener una referencia al <literal>TransactionManager</literal>, pues J2EE "
-"no estandariza un solo mecanismo:"
+"Algunas funcionalidades en Hibernate (por ejemplo, el caché de segundo "
+"nivel, las sesiones contextuales, etc.) requieren acceso al "
+"<literal>TransactionManager</literal> de JTA en un entorno administrado. En "
+"un servidor de aplicaciones tiene que especificar cómo Hibernate debe "
+"obtener una referencia al <literal>TransactionManager</literal>, ya que J2EE "
+"no estandariza un sólo mecanismo:"
 
 #. Tag: title
-#: configuration.xml:1493
 #, no-c-format
 msgid "JTA TransactionManagers"
 msgstr "TransactionManagers de JTA"
 
-#. Tag: entry
-#: configuration.xml:1499
+#. Tag: para
 #, no-c-format
 msgid "Transaction Factory"
 msgstr "Transaction Factory"
 
-#. Tag: entry
-#: configuration.xml:1500
+#. Tag: para
 #, no-c-format
 msgid "Application Server"
 msgstr "Servidor de Aplicaciones"
 
-#. Tag: literal
-#: configuration.xml:1505
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.transaction.JBossTransactionManagerLookup"
-msgstr "org.hibernate.transaction.JBossTransactionManagerLookup"
+msgid ""
+"<literal>org.hibernate.transaction. JBossTransactionManagerLookup</literal>"
+msgstr ""
+"<literal>org.hibernate.transaction. JBossTransactionManagerLookup</literal>"
 
-#. Tag: entry
-#: configuration.xml:1506
+#. Tag: para
 #, no-c-format
 msgid "JBoss"
 msgstr "JBoss"
 
-#. Tag: literal
-#: configuration.xml:1509
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.transaction.WeblogicTransactionManagerLookup"
-msgstr "org.hibernate.transaction.WeblogicTransactionManagerLookup"
+msgid ""
+"<literal>org.hibernate.transaction. WeblogicTransactionManagerLookup</"
+"literal>"
+msgstr ""
+"<literal>org.hibernate.transaction. WeblogicTransactionManagerLookup</"
+"literal>"
 
-#. Tag: entry
-#: configuration.xml:1510
+#. Tag: para
 #, no-c-format
 msgid "Weblogic"
 msgstr "Weblogic"
 
-#. Tag: literal
-#: configuration.xml:1513
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.transaction.WebSphereTransactionManagerLookup"
-msgstr "org.hibernate.transaction.WebSphereTransactionManagerLookup"
+msgid ""
+"<literal>org.hibernate.transaction. WebSphereTransactionManagerLookup</"
+"literal>"
+msgstr ""
+"<literal>org.hibernate.transaction. WebSphereTransactionManagerLookup</"
+"literal>"
 
-#. Tag: entry
-#: configuration.xml:1514
+#. Tag: para
 #, no-c-format
 msgid "WebSphere"
 msgstr "WebSphere"
 
-#. Tag: literal
-#: configuration.xml:1517
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"
-msgstr "org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"
+msgid ""
+"<literal>org.hibernate.transaction. WebSphereExtendedJTATransactionLookup</"
+"literal>"
+msgstr ""
+"<literal>org.hibernate.transaction. WebSphereExtendedJTATransactionLookup</"
+"literal>"
 
-#. Tag: entry
-#: configuration.xml:1518
+#. Tag: para
 #, no-c-format
 msgid "WebSphere 6"
 msgstr "WebSphere 6"
 
-#. Tag: literal
-#: configuration.xml:1521
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.transaction.OrionTransactionManagerLookup"
-msgstr "org.hibernate.transaction.OrionTransactionManagerLookup"
+msgid ""
+"<literal>org.hibernate.transaction. OrionTransactionManagerLookup</literal>"
+msgstr ""
+"<literal>org.hibernate.transaction. OrionTransactionManagerLookup</literal>"
 
-#. Tag: entry
-#: configuration.xml:1522
+#. Tag: para
 #, no-c-format
 msgid "Orion"
 msgstr "Orion"
 
-#. Tag: literal
-#: configuration.xml:1525
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.transaction.ResinTransactionManagerLookup"
-msgstr "org.hibernate.transaction.ResinTransactionManagerLookup"
+msgid ""
+"<literal>org.hibernate.transaction. ResinTransactionManagerLookup</literal>"
+msgstr ""
+"<literal>org.hibernate.transaction. ResinTransactionManagerLookup</literal>"
 
-#. Tag: entry
-#: configuration.xml:1526
+#. Tag: para
 #, no-c-format
 msgid "Resin"
 msgstr "Resin"
 
-#. Tag: literal
-#: configuration.xml:1529
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.transaction.JOTMTransactionManagerLookup"
-msgstr "org.hibernate.transaction.JOTMTransactionManagerLookup"
+msgid ""
+"<literal>org.hibernate.transaction. JOTMTransactionManagerLookup</literal>"
+msgstr ""
+"<literal>org.hibernate.transaction. JOTMTransactionManagerLookup</literal>"
 
-#. Tag: entry
-#: configuration.xml:1530
+#. Tag: para
 #, no-c-format
 msgid "JOTM"
 msgstr "JOTM"
 
-#. Tag: literal
-#: configuration.xml:1533
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.transaction.JOnASTransactionManagerLookup"
-msgstr "org.hibernate.transaction.JOnASTransactionManagerLookup"
+msgid ""
+"<literal>org.hibernate.transaction. JOnASTransactionManagerLookup</literal>"
+msgstr ""
+"<literal>org.hibernate.transaction. JOnASTransactionManagerLookup</literal>"
 
-#. Tag: entry
-#: configuration.xml:1534
+#. Tag: para
 #, no-c-format
 msgid "JOnAS"
 msgstr "JOnAS"
 
-#. Tag: literal
-#: configuration.xml:1537
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.transaction.JRun4TransactionManagerLookup"
-msgstr "org.hibernate.transaction.JRun4TransactionManagerLookup"
+msgid ""
+"<literal>org.hibernate.transaction. JRun4TransactionManagerLookup</literal>"
+msgstr ""
+"<literal>org.hibernate.transaction. JRun4TransactionManagerLookup</literal>"
 
-#. Tag: entry
-#: configuration.xml:1538
+#. Tag: para
 #, no-c-format
 msgid "JRun4"
 msgstr "JRun4"
 
-#. Tag: literal
-#: configuration.xml:1541
+#. Tag: para
 #, no-c-format
-msgid "org.hibernate.transaction.BESTransactionManagerLookup"
-msgstr "org.hibernate.transaction.BESTransactionManagerLookup"
+msgid ""
+"<literal>org.hibernate.transaction. BESTransactionManagerLookup</literal>"
+msgstr ""
+"<literal>org.hibernate.transaction. BESTransactionManagerLookup</literal>"
 
-#. Tag: entry
-#: configuration.xml:1542
+#. Tag: para
 #, no-c-format
 msgid "Borland ES"
 msgstr "Borland ES"
 
 #. Tag: title
-#: configuration.xml:1551
 #, no-c-format
 msgid "JNDI-bound <literal>SessionFactory</literal>"
-msgstr "<literal>SessionFactory</literal> ligada a JNDI"
+msgstr "<literal>SessionFactory</literal> enlazado a JNDI"
 
 #. Tag: para
-#: configuration.xml:1553
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A JNDI-bound Hibernate <literal>SessionFactory</literal> can simplify the "
 "lookup function of the factory and create new <literal>Session</literal>s. "
 "This is not, however, related to a JNDI bound <literal>Datasource</literal>; "
 "both simply use the same registry."
 msgstr ""
-"Una <literal>SessionFactory</literal> de Hibernate ligada a JNDI puede "
-"simplificar la obtenci&#x00f3;n de la f&#x00e1;brica y la creaci&#x00f3;n de "
-"nuevas <literal>Session</literal>s. Observa que esto no est&#x00e1; "
-"relacionado a un <literal>Datasource</literal> ligado a JNDI, simplemente "
-"ambos usan el mismo registro!"
+"Una <literal>SessionFactory</literal> de Hibernate vinculada a JNDI puede "
+"simplificar la búsqueda de la fábrica y la creación de nuevas "
+"<literal>Session</literal>es. Sin embargo, esto no se relaciona con un "
+"<literal>Datasource</literal> vinculado a JNDI; simplemente que ambos "
+"utilizan el mismo registro."
 
 #. Tag: para
-#: configuration.xml:1560
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you wish to have the <literal>SessionFactory</literal> bound to a JNDI "
 "namespace, specify a name (e.g. <literal>java:hibernate/SessionFactory</"
@@ -3006,16 +2500,15 @@
 "will not be bound to JNDI. This is especially useful in environments with a "
 "read-only JNDI default implementation (in Tomcat, for example)."
 msgstr ""
-"Si deseas tener la <literal>SessionFactory</literal> ligada a un espacio de "
-"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&#x00e1; ligada a JNDI (Esto es "
-"especialmente &#x00fa;til en entornos con una implementaci&#x00f3; JNDI de "
-"s&#x00f3;lo lectura por defecto, ej. Tomcat.)"
+"Si desea tener la <literal>SessionFactory</literal> vinculada a un espacio "
+"de nombres de JNDI, especifique un nombre (por ejemplo, <literal>java:"
+"hibernate/SessionFactory</literal>) utilizando la propiedad "
+"<literal>hibernate.session_factory_name</literal>. Si se omite esta "
+"propiedad, la <literal>SessionFactory</literal> no será vinculada a JNDI. "
+"Esto es particularmente útil en entornos con una implementación JNDI de sólo "
+"lectura por defecto (por ejemplo, en Tomcat)."
 
 #. Tag: para
-#: configuration.xml:1568
 #, no-c-format
 msgid ""
 "When binding the <literal>SessionFactory</literal> to JNDI, Hibernate will "
@@ -3023,15 +2516,13 @@
 "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&#x00e1; "
+"Al vincular la <literal>SessionFactory</literal> a JNDI, Hibernate utilizará "
 "los valores de <literal>hibernate.jndi.url</literal>, <literal>hibernate."
-"jndi.class</literal> para instanciar un contexto inicial. Si &#x00e9;tos no "
-"se especifican, se usar&#x00e1; el <literal>InitialContext</literal> por "
-"defecto."
+"jndi.class</literal> para instanciar un contexto inicial. Si éstos no se "
+"especifican, se utilizará el <literal>InitialContext</literal> por defecto."
 
 #. Tag: para
-#: configuration.xml:1575
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate will automatically place the <literal>SessionFactory</literal> in "
 "JNDI after you call <literal>cfg.buildSessionFactory()</literal>. This means "
@@ -3040,28 +2531,26 @@
 "<literal>HibernateService</literal> (this is discussed later in greater "
 "detail)."
 msgstr ""
-"Hibernate colocar&#x00e1; autom&#x00e1;ticamente la <literal>SessionFactory</"
-"literal> en JNDI despu&#x00e9;s que llames a <literal>cfg.buildSessionFactory"
-"()</literal>. Esto significa que tendr&#x00e1;s al menos esta llamada en "
-"alg&#x00fa;n c&#x00f3;digo de arranque (o clase de utilidad) en tu "
-"aplicaci&#x00f3;n, a menos qie uses el despliegue JMX con el "
-"<literal>HibernateService</literal> (discutido luego)."
+"Hibernate colocará automáticamente la <literal>SessionFactory</literal> en "
+"JNDI después de que llame a <literal>cfg.buildSessionFactory()</literal>. "
+"Esto significa que tendrá al menos esta llamada en algún código de inicio o "
+"clase de utilidad en su aplicación, a menos de que utilice el despliegue JMX "
+"con el <literal>HibernateService</literal> (esto se discute más adelante en "
+"mayor detalle)."
 
 #. Tag: para
-#: configuration.xml:1582
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you use a JNDI <literal>SessionFactory</literal>, an EJB or any other "
 "class, you can obtain the <literal>SessionFactory</literal> using a JNDI "
 "lookup."
 msgstr ""
-"UNTRANSLATED! If you use a JNDI <literal>SessionFactory</literal>, an EJB or "
-"any other class may obtain the <literal>SessionFactory</literal> using a "
-"JNDI lookup."
+"Si utiliza una <literal>SessionFactory</literal> JNDI, un EJB or cualquier "
+"otra clase puede llegar a obtener el <literal>SessionFactory</literal> "
+"utilizando una búsqueda JNDI."
 
 #. Tag: para
-#: configuration.xml:1587
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is recommended that you bind the <literal>SessionFactory</literal> to "
 "JNDI in a managed environment and use a <literal>static</literal> singleton "
@@ -3071,28 +2560,26 @@
 "()</literal>. Note that such a class is also a convenient way to startup "
 "Hibernate&mdash;see chapter 1."
 msgstr ""
-"Si usas una <literal>SessionFactory</literal> de JNDI, un EJB o cualquier "
-"otra clase puede obtener la <literal>SessionFactory</literal> usando una "
-"b&#x00fa;squeda JNDI. Observa que esta configuraci&#x00f3;n no es necesaria "
-"si usas la clase de ayuda <literal>HibernateUtil</literal> introducida en el "
-"cap&#x00ed;tulo uno, que act&#x00fa;a como un registro Singleton. Sin "
-"embargo, <literal>HibernateUtil</literal> es m&#x00e1;s com&#x00fa;n en un "
-"entorno no manejado."
+"Le recomendamos que vincule el <literal>SessionFactory</literal> a JNDI en "
+"un entorno administrado y que de otra manera, use un singleton "
+"<literal>static</literal>. Para proteger su código de aplicación de estos "
+"detalles, también le recomendamos que esconda el código de búsqueda real "
+"para una <literal>SessionFactory</literal> en una clase de ayuda como "
+"<literal>HibernateUtil.getSessionFactory()</literal>. Note que dicha clase "
+"también es una manera práctica de iniciar Hibernate&mdash; vea el capítulo 1."
 
 #. Tag: title
-#: configuration.xml:1599
 #, no-c-format
 msgid "Current Session context management with JTA"
-msgstr "Ligado autom&#x00e1;tico de JTA y Session"
+msgstr "Administración de contexto de Sesión Actual con JTA"
 
 #. Tag: para
-#: configuration.xml:1601
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The easiest way to handle <literal>Sessions</literal> and transactions is "
 "Hibernate's automatic \"current\" <literal>Session</literal> management. For "
 "a discussion of contextual sessions see <xref linkend=\"architecture-current-"
-"session\"/>. Using the <literal>\"jta\"</literal> session context, if there "
+"session\" />. Using the <literal>\"jta\"</literal> session context, if there "
 "is no Hibernate <literal>Session</literal> associated with the current JTA "
 "transaction, one will be started and associated with that JTA transaction "
 "the first time you call <literal>sessionFactory.getCurrentSession()</"
@@ -3109,35 +2596,35 @@
 "in an EJB container, declarative transaction demarcation with CMT is "
 "preferred."
 msgstr ""
-"UNTRANSLATED! The easiest way to handle <literal>Session</literal>s and "
-"transactions is Hibernates automatic \"current\" <literal>Session</literal> "
-"management. See the discussion of <link linkend=\"architecture-current-"
-"session\">current sessions</link>. Using the <literal>\"jta\"</literal> "
-"session context, if there is no Hibernate <literal>Session</literal> "
-"associated with the current JTA transaction, one will be started and "
-"associated with that JTA transaction the first time you call "
-"<literal>sessionFactory.getCurrentSession()</literal>. The <literal>Session</"
-"literal>s retrieved via <literal>getCurrentSession()</literal> in <literal>"
-"\"jta\"</literal> context will be set to automatically flush before the "
-"transaction completes, close after the transaction completes, and "
-"aggressively release JDBC connections after each statement. This allows the "
-"<literal>Session</literal>s to be managed by the life cycle of the JTA "
-"transaction to which it is associated, keeping user code clean of such "
-"management concerns. Your code can either use JTA programmatically through "
-"<literal>UserTransaction</literal>, or (recommended for portable code) use "
-"the Hibernate <literal>Transaction</literal> API to set transaction "
-"boundaries. If you run in an EJB container, declarative transaction "
-"demarcation with CMT is preferred."
+"La manera más fácil de manejar <literal>Session</literal>es y transacciones "
+"es la administración de <literal>Session</literal> \"actual\" automática de "
+"Hibernate. Vea la discusión sobre las sesiones contextuales en <xref linkend="
+"\"architecture-current-session\"/>. Al utilizar el contexto de sesión de "
+"<literal>\"jta\"</literal>, si no hay una <literal>Session</literal> de "
+"Hibernate asociada con la transacción JTA actual, se iniciará y se asociará "
+"una con esa transacción JTA la primera vez que llame a "
+"<literal>sessionFactory.getCurrentSession()</literal>. Las <literal>Session</"
+"literal>es recuperadas por medio de <literal>getCurrentSession()</literal> "
+"en el contexto <literal>\"jta\"</literal> se configurarán con un vaciado "
+"automático antes de que la transacción se complete, se cerrará después de "
+"completar la transacción y liberará conexiones JDBC agresivamente para cada "
+"declaración. Esto permite que las <literal>Session</literal>es sean "
+"administradas por el ciclo de vida de la transacción JTA a la cual se "
+"encuentra asociada, manteniendo el código del usuario limpio de esas "
+"preocupaciones de administración. Su código puede utilizar JTA "
+"programáticamente por medio de <literal>UserTransaction</literal>, o "
+"(recomendable para el código portable) utilizar el API <literal>Transaction</"
+"literal> de Hibernate para establecer límites de transacciones. Si ejecuta "
+"un contenedor EJB, se prefiere una demarcación de transacción declarativa "
+"con CTM."
 
 #. Tag: title
-#: configuration.xml:1624
 #, no-c-format
 msgid "JMX deployment"
 msgstr "Despliegue JMX"
 
 #. Tag: para
-#: configuration.xml:1626
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The line <literal>cfg.buildSessionFactory()</literal> still has to be "
 "executed somewhere to get a <literal>SessionFactory</literal> into JNDI. You "
@@ -3145,16 +2632,14 @@
 "the one in <literal>HibernateUtil</literal>, or you can deploy Hibernate as "
 "a <emphasis>managed service</emphasis>."
 msgstr ""
-"La l&#x00ed;nea <literal>cfg.buildSessionFactory()</literal> todav&#x00ed;a "
-"tiene que ser ejecutada en algun sitio para obtener una "
-"<literal>SessionFactory</literal> en JNDI. Puedes hacer esto bien en un "
-"bloque inicializador <literal>static</literal> (como aquel en "
-"<literal>HibernateUtil</literal>) o bien despliegas Hibernate como un "
-"<emphasis>servicio manejado</emphasis>."
+"La línea <literal>cfg.buildSessionFactory()</literal> todavía se tiene que "
+"ejecutar en algún sitio para obtener una <literal>SessionFactory</literal> "
+"en JNDI. Puede hacer esto ya sea en un bloque inicializador <literal>static</"
+"literal> (como aquel en <literal>HibernateUtil</literal>) o bien puede "
+"desplegar Hibernate como un <emphasis>servicio administrado</emphasis>."
 
 #. Tag: para
-#: configuration.xml:1634
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate is distributed with <literal>org.hibernate.jmx.HibernateService</"
 "literal> for deployment on an application server with JMX capabilities, such "
@@ -3162,111 +2647,14 @@
 "Here is an example <literal>jboss-service.xml</literal> for JBoss 4.0.x:"
 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&#x00f3;n reales son "
-"espec&#x00ed;ficos del vendedor. He aqu&#x00ed; un <literal>jboss-service."
-"xml</literal> de ejemplo para JBoss 4.0.x:"
+"literal> para desplegar 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 ejemplo de <literal>jboss-service.xml</literal> para "
+"JBoss 4.0.x: "
 
-#. Tag: programlisting
-#: configuration.xml:1641
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:1643
-#, fuzzy, no-c-format
-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 "
 "archive). You also need to package Hibernate, its required third-party "
@@ -3277,39 +2665,13 @@
 "JBoss AS documentation for more information about JMX service and EJB "
 "deployment."
 msgstr ""
-"Este fichero es desplegado en un directorio llamado <literal>META-INF</"
-"literal> y empaquetado en un fichero JAR con la extensi&#x00f3;n <literal>."
-"sar</literal> (fichero de servicio). Tambi&#x00e9;n necesitas empaquetar "
-"Hibernate, sus bibliotecas de terceros requeridas, tus clases persistentes "
-"compiladas, as&#x00ed; como tus ficheros de mapeo en el mismo fichero. Tus "
-"beans de empresa (usualmente beans de sesi&#x00f3;n) pueden ser mantenidos "
-"en su propio fichero JAR, pero debes incluir este fichero EJB JAR en el "
-"fichero de servicio principal para obtener una unidad desplegable (en "
-"caliente). Consulta la documentaci&#x00f3;n de JBoss AS para m&#x00e1;s "
-"informaci&#x00f3;n sobre el servicio JMX y despliegue de EJB."
-
-#~ msgid "Hibernate logs various events using Apache commons-logging."
-#~ msgstr "Hibernate registra varios eventos usando commons-logging de Apache."
-
-#~ 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 "
-#~ "logging (if running under JDK1.4 or above). You may download Log4j from "
-#~ "<literal>http://jakarta.apache.org</literal>. To use Log4j you will need "
-#~ "to place a <literal>log4j.properties</literal> file in your classpath, an "
-#~ "example properties file is distributed with Hibernate in the <literal>src/"
-#~ "</literal> directory."
-#~ msgstr ""
-#~ "El servicio de commons-logging saldr&#x00e1; directamente ya sea a Log4J "
-#~ "(si incluyes <literal>log4j.jar</literal> in your classpath) o JDK1.4 "
-#~ "logging (al ejecutar bajo JDK1.4 o superior). Puedes descargar Log4J "
-#~ "desde <literal>http://logging.apache.org</literal>. Para usar Log4J "
-#~ "necesitar&#x00e1;s colocar un fichero <literal>log4j.properties</literal> "
-#~ "en tu classpath. Un fichero de propiedades de ejemplo se distribuye con "
-#~ "Hibernate en el directorio <literal>src/</literal>."
-
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+"Este archivo se implementa en un directorio llamado <literal>META-INF</"
+"literal> y se encuentra empacado en un archivo JAR con la extensión "
+"<literal>.sar</literal> (archivo de servicio). También necesita empacar "
+"Hibernate, sus bibliotecas de terceros requeridas, sus clases persistentes "
+"compiladas, así como sus archivos de mapeo en el mismo archivo. Sus beans "
+"empresariales (usualmente beans de sesión) se pueden dejar en su propio "
+"archivo JAR, pero puede incluir este archivo EJB JAR en el archivo de "
+"servicio principal para obtener una unidad desplegable en vivo (sin "
+"apagarlo). Consulte la documentación de JBoss AS para obtener más "
+"información sobre el servicio JMX y la implementación de EJB."

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

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/example_mappings.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/example_mappings.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/example_mappings.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,34 +1,46 @@
-#, fuzzy
+# translation of example_mappings.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: example_mappings\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-10 21:02+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2009-12-03T00:15:26\n"
+"PO-Revision-Date: 2009-11-03 12:36+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: example_mappings.xml:29
 #, no-c-format
 msgid "Example: Various Mappings"
-msgstr "Ejemplo: Varios Mapeos"
+msgstr "Ejemplo: mapeos varios"
 
 #. Tag: para
-#: example_mappings.xml:32
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "This chapters explores some more complex association mappings."
 msgstr ""
-"Este cap&#x00ed;tulo muestra mapeos de asociaciones m&#x00e1;s complejos."
+"Este capítulo explora algunos de los mapeos de asociaciones más complejos."
 
 #. Tag: title
-#: example_mappings.xml:37
 #, no-c-format
 msgid "Employer/Employee"
 msgstr "Empleador/Empleado"
 
 #. Tag: para
-#: example_mappings.xml:39
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The following model of the relationship between <literal>Employer</literal> "
 "and <literal>Employee</literal> uses an entity class (<literal>Employment</"
@@ -36,218 +48,31 @@
 "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&#x00f3;n entre <literal>Employer</literal> "
-"y <literal>Employee</literal> usa una clase de entidad real "
-"(<literal>Employment</literal>) para representar la asociaci&#x00f3;n. Esto "
-"se ha hecho esto porque podr&#x00ed;a haber m&#x00e1;s de un per&#x00ed;odo "
-"de empleo para los mismos dos participantes. Se usan componentes para "
-"modelar valores monetarios y nombres de empleado."
+"El siguiente modelo de la relación entre <literal>Employer</literal> y "
+"<literal>Employee</literal> utiliza una clase de entidad "
+"(<literal>Employment</literal>) para representar la asociación. Puede hacer "
+"esto cuando podría haber más de un período de empleo para los dos mismos "
+"participantes. Se utilizan componentes para modelar los valores monetarios y "
+"los nombres de los empleados."
 
 #. Tag: para
-#: example_mappings.xml:56
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Here is a possible mapping document:"
-msgstr "He aqu&#x00ed; un documento de mapeo posible:"
+msgstr "He aquí un posible documento de mapeo: "
 
-#. Tag: programlisting
-#: example_mappings.xml:60
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:62
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Here is the table schema generated by <literal>SchemaExport</literal>."
 msgstr ""
-"Y he aqu&#x00ed; el esquema de tablas generado por <literal>SchemaExport</"
-"literal>."
+"Este es el esquema de tablas generado por <literal>SchemaExport</literal>."
 
-#. Tag: programlisting
-#: example_mappings.xml:66
-#, no-c-format
-msgid ""
-"<![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]]>"
-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:71
 #, no-c-format
 msgid "Author/Work"
 msgstr "Autor/Obra"
 
 #. Tag: para
-#: example_mappings.xml:73
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Consider the following model of the relationships between <literal>Work</"
 "literal>, <literal>Author</literal> and <literal>Person</literal>. In the "
@@ -257,232 +82,44 @@
 "literal> is represented as one-to-one association. Another possibility would "
 "be to have <literal>Author</literal> extend <literal>Person</literal>."
 msgstr ""
-"Considera el siguiente modelo de las relaciones entre <literal>Work</"
-"literal>, <literal>Author</literal> y <literal>Person</literal>. "
-"Representamos la relaci&#x00f3;n entre <literal>Work</literal> y "
-"<literal>Author</literal> como una asociaci&#x00f3;n muchos-a-muchos. "
-"Elegimos representar la relaci&#x00f3;n entre <literal>Author</literal> y "
-"<literal>Person</literal> como una asociaci&#x00f3;n uno-a-uno. Otra "
-"posibilidad hubiese sido que <literal>Author</literal> extendiera "
-"<literal>Person</literal>."
+"Considere el siguiente modelo de las relaciones entre <literal>Work</"
+"literal>, <literal>Author</literal> y <literal>Person</literal>. En el "
+"ejemplo representamos la relación entre <literal>Work</literal> y "
+"<literal>Author</literal> como una asociación muchos-a-muchos y la relación "
+"entre <literal>Author</literal> y <literal>Person</literal> como una "
+"asociación uno-a-uno. Otra posibilidad sería que <literal>Author</literal> "
+"extendiera <literal>Person</literal>."
 
 #. Tag: para
-#: example_mappings.xml:91
 #, no-c-format
 msgid ""
 "The following mapping document correctly represents these relationships:"
 msgstr ""
-"El siguiente documento de mapeo representa estas relaciones correctamente:"
+"El siguiente documento de mapeo representa estas relaciones de manera "
+"correcta:"
 
-#. Tag: programlisting
-#: example_mappings.xml:95
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:97
-#, fuzzy, no-c-format
-msgid ""
 "There are four tables in this mapping: <literal>works</literal>, "
 "<literal>authors</literal> and <literal>persons</literal> hold work, author "
 "and person data respectively. <literal>author_work</literal> is an "
 "association table linking authors to works. Here is the table schema, as "
 "generated by <literal>SchemaExport</literal>:"
 msgstr ""
-"Hay cuatro tablas en este mapeo. <literal>works</literal>, <literal>authors</"
+"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&#x00f3;n enlazando autores a obras. He aqu&#x00ed; el esquema de "
-"tablas, tal como fue generado por <literal>SchemaExport</literal>."
+"asociación enlazando los autores a las obras. Este es el esquema de tablas, "
+"tal como fue generado por <literal>SchemaExport</literal>:"
 
-#. Tag: programlisting
-#: example_mappings.xml:105
-#, no-c-format
-msgid ""
-"<![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]]>"
-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:110
 #, no-c-format
 msgid "Customer/Order/Product"
 msgstr "Cliente/Orden/Producto"
 
 #. Tag: para
-#: example_mappings.xml:112
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "In this section we consider a model of the relationships between "
 "<literal>Customer</literal>, <literal>Order</literal>, <literal>Line Item</"
@@ -494,105 +131,22 @@
 "between <literal>Order</literal> and <literal>Product</literal>. In "
 "Hibernate this is called a composite element."
 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&#x00f3;n uno-a-muchos entre "
-"<literal>Customer</literal> y <literal>Order</literal>, pero, &#x00bf;"
-"c&#x00f3;mo deber&#x00ed;amos representar <literal>Order</literal> / "
-"<literal>LineItem</literal> / <literal>Product</literal>? He elegido mapear "
-"<literal>LineItem</literal> como una clase de asociaci&#x00f3;n "
-"representando la asociaci&#x00f3;n muchos-a-muchos entre <literal>Order</"
-"literal> y <literal>Product</literal>. En Hibernate, esto se llama un "
-"elemento compuesto."
+"En esta sección consideramos un modelo de las relaciones entre "
+"<literal>Customer</literal>, <literal>Order</literal>, <literal>Line Item</"
+"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>? En el ejemplo, <literal>LineItem</"
+"literal> se mapea 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:132
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "The mapping document will look like this:"
-msgstr "El documento de mapeo:"
+msgstr "El documento de mapeo se verá así:"
 
-#. Tag: programlisting
-#: example_mappings.xml:136
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:138
 #, no-c-format
 msgid ""
 "<literal>customers</literal>, <literal>orders</literal>, "
@@ -602,714 +156,1120 @@
 msgstr ""
 "<literal>customers</literal>, <literal>orders</literal>, "
 "<literal>line_items</literal> y <literal>products</literal> tienen los datos "
-"de cliente, orden, &#x00ed;tem de l&#x00ed;nea de orden y producto "
-"respectivamente. Adem&#x00e1;s <literal>line_items</literal> act&#x00fa;a "
-"como una tabla de asociaci&#x00f3;n enlazando &#x00f3;rdenes con productos."
+"de cliente, orden, ítem de línea de orden y producto respectivamente. Además "
+"<literal>line_items</literal> también actúa como una tabla de asociación "
+"enlazando órdenes con productos."
 
-#. Tag: programlisting
-#: example_mappings.xml:145
-#, no-c-format
-msgid ""
-"<![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]]>"
-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:150
 #, no-c-format
 msgid "Miscellaneous example mappings"
-msgstr "Mapeos miscel&#x00e1;neos de ejemplo"
+msgstr "Mapeos varios de ejemplo"
 
 #. Tag: para
-#: example_mappings.xml:152
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "These examples are available from the Hibernate test suite. You will find "
 "many other useful example mappings there by searching in the <literal>test</"
 "literal> folder of the Hibernate distribution."
 msgstr ""
-"Todos estos ejemplos est&#x00e1;n tomados de la bater&#x00ed;a de pruebas de "
-"Hibernate. Encontrar&#x00e1;s muchos otros mapeos de ejemplo &#x00fa;tiles "
-"all&#x00ed;. Mira en la carpeta <literal>test</literal> de la "
-"distribuci&#x00f3;n de Hibernate."
+"Estos ejemplos están disponibles en la suite de pruebas de Hibernate. Allí "
+"encontrará muchos otros mapeos de ejemplos útiles en la carpeta "
+"<literal>test</literal> de la distribución de Hibernate."
 
 #. Tag: title
-#: example_mappings.xml:161
 #, no-c-format
 msgid "\"Typed\" one-to-one association"
-msgstr "Asociaci&#x00f3;n uno-a-uno \"Tipificada\""
+msgstr "Asociación uno-a-uno \"Tipificada\""
 
-#. Tag: programlisting
-#: example_mappings.xml:162
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:166
 #, no-c-format
 msgid "Composite key example"
 msgstr "Ejemplo de clave compuesta"
 
-#. Tag: programlisting
-#: example_mappings.xml:167
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:171
 #, no-c-format
 msgid "Many-to-many with shared composite key attribute"
-msgstr "Muchos-a-muchos con atributo de clave compuesta compartido"
+msgstr "Muchos-a-muchos con atributo compartido de clave compuesta"
 
-#. Tag: programlisting
-#: example_mappings.xml:172
-#, no-c-format
-msgid ""
-"<![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"
-"]]>"
-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:176
 #, no-c-format
 msgid "Content based discrimination"
-msgstr "Discriminaci&#x00f3;n basada en contenido"
+msgstr "Discriminación basada en contenido"
 
-#. Tag: programlisting
-#: example_mappings.xml:177
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:181
 #, no-c-format
 msgid "Associations on alternate keys"
 msgstr "Asociaciones sobre claves alternativas"
 
-#. Tag: programlisting
-#: example_mappings.xml:182
-#, no-c-format
-msgid ""
-"<![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\"/>\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>]]>"
-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 ""
+#~ "<![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>]]>"
+#~ 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>]]>"
 
-#~ msgid "TODO: put words around this stuff"
-#~ msgstr "POR HACER: poner palabras alrededor de este material"
+#~ msgid ""
+#~ "<![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]]>"
+#~ 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]]>"
 
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid ""
+#~ "<![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>]]>"
+#~ 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>]]>"
 
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid ""
+#~ "<![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]]"
+#~ ">"
+#~ 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]]"
+#~ ">"
+
+#~ msgid ""
+#~ "<![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>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![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]]>"
+#~ 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]]>"
+
+#~ msgid ""
+#~ "<![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>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![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>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![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"
+#~ "]]>"
+#~ 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"
+#~ "]]>"
+
+#~ msgid ""
+#~ "<![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>]]>"
+#~ 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>]]>"
+
+#~ msgid ""
+#~ "<![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\"/>\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>]]>"
+#~ 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\"/>\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>]]>"

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

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

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/inheritance_mapping.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/inheritance_mapping.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/inheritance_mapping.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,68 +1,74 @@
-#, fuzzy
+# translation of inheritance_mapping.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: inheritance_mapping\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-16 18:47+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-01-08T04:07:19\n"
+"PO-Revision-Date: 2010-01-08 11:55+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: inheritance_mapping.xml:29
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Inheritance mapping"
-msgstr "Mapeo de Herencia"
+msgstr "Mapeo de herencia"
 
 #. Tag: title
-#: inheritance_mapping.xml:32
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "The three strategies"
-msgstr "Las Tres Estrategias"
+msgstr "Las tres estrategias"
 
 #. Tag: para
-#: inheritance_mapping.xml:34
 #, no-c-format
 msgid "Hibernate supports the three basic inheritance mapping strategies:"
-msgstr ""
-"Hibernate soporta las tres estrategias b&#x00e1;sicas de mapeo de herencia:"
+msgstr "Hibernate soporta las tres estrategias básicas de mapeo de herencia:"
 
 #. Tag: para
-#: inheritance_mapping.xml:40
 #, no-c-format
 msgid "table per class hierarchy"
-msgstr "<para>tabla por jerarqu&#x00ed;a de clases</para>"
+msgstr "tabla por jerarquía de clases"
 
 #. Tag: para
-#: inheritance_mapping.xml:45
 #, no-c-format
-msgid "<para>table per subclass</para>"
-msgstr "<para>tabla por subclase</para>"
+msgid "table per subclass"
+msgstr "tabla por subclase"
 
 #. Tag: para
-#: inheritance_mapping.xml:50
 #, no-c-format
 msgid "table per concrete class"
 msgstr "tabla por clase concreta"
 
 #. Tag: para
-#: inheritance_mapping.xml:56
 #, no-c-format
 msgid ""
 "In addition, Hibernate supports a fourth, slightly different kind of "
 "polymorphism:"
 msgstr ""
-"En adici&#x00f3;n, Hibernate soporta un cuarto, ligeramente diferente tipo "
-"de polimorfismo:"
+"Además, Hibernate soporta un cuarto, un tipo ligeramente diferente de "
+"polimorfismo:"
 
 #. Tag: para
-#: inheritance_mapping.xml:63
 #, no-c-format
 msgid "implicit polymorphism"
-msgstr "polimorfismo impl&#x00ed;cito"
+msgstr "polimorfismo implícito"
 
 #. Tag: para
-#: inheritance_mapping.xml:69
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is possible to use different mapping strategies for different branches of "
 "the same inheritance hierarchy. You can then make use of implicit "
@@ -75,20 +81,20 @@
 "literal> element, by combining the <literal>&lt;subclass&gt;</literal> and "
 "<literal>&lt;join&gt;</literal> elements (see below for an example)."
 msgstr ""
-"UNTRANSLATED! It is possible to define <literal>subclass</literal>, "
-"<literal>union-subclass</literal>, and <literal>joined-subclass</literal> "
-"mappings in separate mapping documents, directly beneath <literal>hibernate-"
-"mapping</literal>. This allows you to extend a class hierachy just by adding "
-"a new mapping file. You must specify an <literal>extends</literal> attribute "
-"in the subclass mapping, naming a previously mapped superclass. Note: "
-"Previously this feature made the ordering of the mapping documents "
-"important. Since Hibernate3, the ordering of mapping files does not matter "
-"when using the extends keyword. The ordering inside a single mapping file "
-"still needs to be defined as superclasses before subclasses."
+"Es posible utilizar estrategias de mapeo diferentes para diferentes "
+"ramificaciones de la misma jerarquía de herencia. Luego puede usar un "
+"polimorfismo implícito para conseguir polimorfismo a través de toda la "
+"jerarquía. Sin embargo, Hibernate no soporta la mezcla de mapeos "
+"<literal>&lt;subclass&gt;</literal>, <literal>&lt;joined-subclass&gt;</"
+"literal> y <literal>&lt;union-subclass&gt;</literal> bajo el mismo elemento "
+"<literal>&lt;class&gt;</literal> raíz. Es posible mezclar las estrategias de "
+"tabla por jerarquía y tabla por subclase bajo el mismo elemento <literal>&lt;"
+"class&gt;</literal>, combinando los elementos <literal>&lt;subclass&gt;</"
+"literal> y <literal>&lt;join&gt;</literal> (a continuación encontrará un "
+"ejemplo)."
 
 #. Tag: para
-#: inheritance_mapping.xml:83
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is possible to define <literal>subclass</literal>, <literal>union-"
 "subclass</literal>, and <literal>joined-subclass</literal> mappings in "
@@ -101,193 +107,75 @@
 "extends keyword. The ordering inside a single mapping file still needs to be "
 "defined as superclasses before subclasses."
 msgstr ""
-"<![CDATA[\n"
-"                                 <hibernate-mapping>\n"
-"                                         <subclass name=\"DomesticCat\" "
-"extends=\"Cat\" discriminator-value=\"D\">\n"
-"                                                 <property name=\"name\" "
-"type=\"string\"/>\n"
-"                                         </subclass>\n"
-" </hibernate-mapping>]]>"
+"Es posible definir los mapeos <literal>subclass</literal>, <literal>union-"
+"subclass</literal>, y <literal>joined-subclass</literal> en documentos de "
+"mapeo separados, directamente debajo de <literal>hibernate-mapping</"
+"literal>. Esto le permite extender une jerarquía de clase sólamente "
+"añadiendo un nuevo archivo de mapeo. Tiene que especificar un atributo "
+"<literal>extends</literal> en la subclase de mapeo, nombrando una superclase "
+"mapeada previamente. Nota: Anteriormente esta característica hacia que el "
+"orden de los documentos de mapeo fuera importante. Desde Hibernate3, el "
+"orden de los archivos de mapeo no tiene relevancia cuando se utiliza la "
+"palabra clave extends. El orden dentro de un sólo archivo de mapeo todavía "
+"necesita ser definido como superclases antes de subclases."
 
-#. Tag: programlisting
-#: inheritance_mapping.xml:94
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-" <hibernate-mapping>\n"
-"     <subclass name=\"DomesticCat\" extends=\"Cat\" discriminator-value=\"D"
-"\">\n"
-"          <property name=\"name\" type=\"string\"/>\n"
-"     </subclass>\n"
-" </hibernate-mapping>]]>"
-msgstr ""
-"Es posible usar estrategias de mapeo diferentes para diferentes "
-"ramificaciones de la misma jerarqu&#x00ed;a de herencia, y entonces usar "
-"polimorfismo impl&#x00ed;cito para conseguir polimorfismo a trav&#x00e9;s de "
-"toda la jerarqu&#x00ed;a. Sin embargo, Hibernate no soporta la mezcla de "
-"mapeos <literal>&lt;subclass&gt;</literal>, y <literal>&lt;joined-"
-"subclass&gt;</literal> y <literal>&lt;union-subclass&gt;</literal> bajo el "
-"mismo elemento <literal>&lt;class&gt;</literal> ra&#x00ed;z. Es posible "
-"mezclar juntas las estrategias de tabla por jerarqu&#x00ed;a y tabla por "
-"subclase, bajo el mismo elemento <literal>&lt;class&gt;</literal>, "
-"combinando los elementos <literal>&lt;subclass&gt;</literal> y <literal>&lt;"
-"join&gt;</literal> (ver debajo)."
-
 #. Tag: title
-#: inheritance_mapping.xml:98
 #, no-c-format
 msgid "Table per class hierarchy"
-msgstr "Tabla por jerarqu&#x00ed;a de clases"
+msgstr "Tabla por jerarquía de clases"
 
 #. Tag: para
-#: inheritance_mapping.xml:100
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Suppose we have an interface <literal>Payment</literal> with the "
 "implementors <literal>CreditCardPayment</literal>, <literal>CashPayment</"
 "literal>, and <literal>ChequePayment</literal>. The table per hierarchy "
 "mapping would display in the following way:"
 msgstr ""
-"Sup&#x00f3;n que tenemos una interface <literal>Payment</literal>, con los "
+"Suponga que tenemos una interfaz <literal>Payment</literal>, con los "
 "implementadores <literal>CreditCardPayment</literal>, <literal>CashPayment</"
-"literal>, <literal>ChequePayment</literal>. El mapeo de tabla por "
-"jerarqu&#x00ed;a se ver&#x00ed;a as&#x00ed;:"
+"literal>, <literal>ChequePayment</literal>. El mapeo de tabla por jerarquía "
+"se vería así: "
 
-#. Tag: programlisting
-#: inheritance_mapping.xml:107
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:109
-#, fuzzy, no-c-format
-msgid ""
 "Exactly one table is required. There is a limitation of this mapping "
 "strategy: columns declared by the subclasses, such as <literal>CCTYPE</"
 "literal>, cannot have <literal>NOT NULL</literal> constraints."
 msgstr ""
-"Se requiere exactamente una tabla. Hay una gran limitaci&#x00f3;n de esta "
-"estrategia de mapeo: las columnas declaradas por las subclases, como "
-"<literal>CCTYPE</literal>, no pueden tener restricciones <literal>NOT NULL</"
-"literal>."
+"Se requiere exactamente una tabla. Hay una limitación de esta estrategia de "
+"mapeo: las columnas declaradas por las subclases tal como <literal>CCTYPE</"
+"literal>, no pueden tener restricciones <literal>NOT NULL</literal>."
 
 #. Tag: title
-#: inheritance_mapping.xml:118
 #, no-c-format
 msgid "Table per subclass"
 msgstr "Tabla por subclase"
 
 #. Tag: para
-#: inheritance_mapping.xml:120
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "A table per subclass mapping looks like this:"
-msgstr "Un mapeo de tabla por sublclase se ver&#x00ed;a as&#x00ed;:"
+msgstr "Un mapeo de tabla por subclase se vería así: "
 
-#. Tag: programlisting
-#: inheritance_mapping.xml:124
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:126
-#, fuzzy, no-c-format
-msgid ""
 "Four tables are required. The three subclass tables have primary key "
 "associations to the superclass table so the relational model is actually a "
 "one-to-one association."
 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&#x00f3;n uno-a-uno)."
+"Se necesitan cuatro tablas. Las tres tablas de subclase tienen asociaciones "
+"de clave principal a la tabla de superclase de modo que en el modelo "
+"relacional es realmente una asociación uno-a-uno."
 
 #. Tag: title
-#: inheritance_mapping.xml:135
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Table per subclass: using a discriminator"
-msgstr "Tabla por subclase, usando un discriminador"
+msgstr "Tabla por subclase: utilizando un discriminador"
 
 #. Tag: para
-#: inheritance_mapping.xml:137
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate's implementation of table per subclass does not require a "
 "discriminator column. Other object/relational mappers use a different "
@@ -298,242 +186,77 @@
 "strategy, you can combine the use of <literal>&lt;subclass&gt;</literal> and "
 "<literal>&lt;join&gt;</literal>, as follows:"
 msgstr ""
-"Observa que la implementaci&#x00f3;n de Hibernate de tabla por subclase no "
-"requiere ninguna columna discriminadora. Otros mapeadores objeto/relacional "
-"usan una implementaci&#x00f3;n diferente de tabla por subclase que requiere "
-"una columna discriminadora de tipo en la tabla de superclase. Este enfoque "
-"es mucho m&#x00e1;s dif&#x00ed;cil de implementar pero discutiblemente "
-"m&#x00e1;s correcto desde un punto de vista relacional. Si quisieras usar "
-"una columna discriminadora con la estrategia de tabla por subclase, puedes "
-"combinar el uso de <literal>&lt;subclass&gt;</literal> y <literal>&lt;"
-"join&gt;</literal>, como sigue:"
+"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 necesita 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 quisiere utilizar una columna discriminadora con la "
+"estrategia de tabla por subclase, puede combinar el uso de <literal>&lt;"
+"subclass&gt;</literal> y <literal>&lt;join&gt;</literal>, así:"
 
-#. Tag: programlisting
-#: inheritance_mapping.xml:149
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:151
 #, no-c-format
 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&#x00f3;n opcional <literal>fetch=\"select\"</literal> dice a "
+"La declaración opcional <literal>fetch=\"select\"</literal> le dice a "
 "Hibernate que no recupere los datos de la subclase <literal>ChequePayment</"
-"literal> usando una uni&#x00f3;n externa (outer join) al consultar la "
+"literal> utilizando una unión externa (outer join) al consultar la "
 "superclase."
 
 #. Tag: title
-#: inheritance_mapping.xml:160
 #, no-c-format
 msgid "Mixing table per class hierarchy with table per subclass"
-msgstr "Mezclando tabla por jerarqu&#x00ed;a de clases con tabla por subclase"
+msgstr "Mezcla de tabla por jerarquía de clases con tabla por subclase"
 
 #. Tag: para
-#: inheritance_mapping.xml:162
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can even mix the table per hierarchy and table per subclass strategies "
 "using the following approach:"
 msgstr ""
-"Puedes incluso mezclar las estrategias de tabla po jerarqu&#x00ed;a y tabla "
-"por subclase usando este enfoque:"
+"Incluso puede mezclar las estrategias de tabla por jerarquía y tabla por "
+"subclase utilizando este enfoque: "
 
-#. Tag: programlisting
-#: inheritance_mapping.xml:167
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:169
 #, no-c-format
 msgid ""
 "For any of these mapping strategies, a polymorphic association to the root "
 "<literal>Payment</literal> class is mapped using <literal>&lt;many-to-one&gt;"
 "</literal>."
 msgstr ""
-"Para cualquiera de estas estrategias de mapeo, una asociaci&#x00f3;n "
-"polim&#x00f3;rfica a la clase ra&#x00ed;z <literal>Payment</literal> es "
-"mapeada usando <literal>&lt;many-to-one&gt;</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>&lt;many-"
+"to-one&gt;</literal>."
 
-#. Tag: programlisting
-#: inheritance_mapping.xml:175
-#, no-c-format
-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:180
 #, no-c-format
 msgid "Table per concrete class"
 msgstr "Tabla por clase concreta"
 
 #. Tag: para
-#: inheritance_mapping.xml:182
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "There are two ways we can map the table per concrete class strategy. First, "
 "you can use <literal>&lt;union-subclass&gt;</literal>."
 msgstr ""
-"Podr&#x00ed;amos ir de dos maneras a la estrategia de mapeo de tabla por "
-"clase concreta. La primera es usar <literal>&lt;union-subclass&gt;</literal>."
+"Hay dos maneras de mapear la tabla por estrategia de clase concreta. La "
+"primera es utilizar <literal>&lt;union-subclass&gt;</literal>."
 
-#. Tag: programlisting
-#: inheritance_mapping.xml:187
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:189
 #, no-c-format
 msgid ""
 "Three tables are involved for the subclasses. Each table defines columns for "
 "all properties of the class, including inherited properties."
 msgstr ""
-"Est&#x00e1;n implicadas tres tablas. Cada tabla define columnas para todas "
-"las propiedades de la clase, inccluyendo las propiedades heredadas."
+"Hay tres tablas involucradas. Cada tabla define columnas para todas las "
+"propiedades de la clase, incluyendo las propiedades heredadas."
 
 #. Tag: para
-#: inheritance_mapping.xml:194
-#, fuzzy, no-c-format
+#, no-c-format
 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. The "
@@ -541,94 +264,36 @@
 "The primary key seed has to be shared across all unioned subclasses of a "
 "hierarchy."
 msgstr ""
-"La limitaci&#x00f3;n de este enfoque es que si una propiedad es mapeada en "
-"la superclase, el nombre de columna debe ser el mismo en todas las tablas de "
-"subclase. (Podr&#x00ed;amos relajar esto en un lanzamiento futuro de "
-"Hibernate.) La estrategia de generador de indentidad no est&#x00e1; "
-"permitida en la herencia de uni&#x00f3;n de subclase, de hecho la semilla de "
-"clave primaria tiene que ser compartida a trav&#x00e9;s de todas las "
-"subclases unidas de una jerarqu&#x00ed;a."
+"La limitación de este enfoque es que si una propiedad se mapea en la "
+"superclase, el nombre de la columna debe ser el mismo en todas las tablas de "
+"subclase. La estrategia del generador de identidad no está permitida en la "
+"herencia de unión de subclase. La semilla de la clave principal tiene que "
+"compartirse a través de todas las subclases unidas de una jerarquía."
 
 #. Tag: para
-#: inheritance_mapping.xml:203
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If your superclass is abstract, map it with <literal>abstract=\"true\"</"
 "literal>. If it is not abstract, an additional table (it defaults to "
 "<literal>PAYMENT</literal> in the example above), is needed to hold "
 "instances of the superclass."
 msgstr ""
-"UNTRANSLATED! If your superclass is abstract, map it with <literal>abstract="
-"\"true\"</literal>. Of course, if it is not abstract, an additional table "
-"(defaults to <literal>PAYMENT</literal> in the example above) is needed to "
-"hold instances of the superclass."
+"Si su superclase es abstracta, mapeéla con <literal>abstract=\"true\"</"
+"literal>. Si no es abstracta, se necesita una tabla adicional (en el ejemplo "
+"anterior, por defecto es <literal>PAYMENT</literal>) para mantener las "
+"instancias de la superclase."
 
 #. Tag: title
-#: inheritance_mapping.xml:213
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Table per concrete class using implicit polymorphism"
-msgstr "Tabla por clase concreta, usando polimorfismo impl&#x00ed;cito"
+msgstr "Tabla por clase concreta utilizando polimorfismo implícito"
 
 #. Tag: para
-#: inheritance_mapping.xml:215
 #, no-c-format
 msgid "An alternative approach is to make use of implicit polymorphism:"
-msgstr "Un enfoque alternativo es hacer uso de polimorfismo impl&#x00ed;cito:"
+msgstr "Un enfoque alternativo es para hacer uso del polimorfismo implícito:"
 
-#. Tag: programlisting
-#: inheritance_mapping.xml:219
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:221
 #, fuzzy, no-c-format
 msgid ""
 "Notice that the <literal>Payment</literal> interface is not mentioned "
@@ -636,66 +301,42 @@
 "mapped in each of the subclasses. If you want to avoid duplication, consider "
 "using XML entities (for example, <literal>[ &lt;!ENTITY allproperties SYSTEM "
 "\"allproperties.xml\"&gt; ]</literal> in the <literal>DOCTYPE</literal> "
-"declaration and <literal>&amp;allproperties;</literal> in the mapping)."
+"declaration and <literal>&amp;allproperties&semi;</literal> in the mapping)."
 msgstr ""
-"Nota que en ning&#x00fa;n sitio mencionamos la interface <literal>Payment</"
-"literal> expl&#x00ed;citamente. Nota adem&#x00e1;s que las propiedades de "
-"<literal>Payment</literal> son mapeadas en cada una de las subclases. Si "
-"quieres evitar duplicaci&#x00f3;n, considera usar entidades XML. (por "
-"ejemplo, <literal>[ &lt;!ENTITY allproperties SYSTEM \"allproperties.xml"
-"\"&gt; ]</literal> en la declaraci&#x00f3;n <literal>DOCTYPE</literal> y "
-"<literal>&amp;allproperties;</literal> en el mapeo)."
+"Observe que la interfaz <literal>Payment</literal> no se menciona "
+"explícitamente. También note que las propiedades de <literal>Payment</"
+"literal> se mapean en cada una de las subclases. Si quiere evitar la "
+"duplicación, considere el usar entidades XML (por ejemplo, <literal>[ &lt;!"
+"ENTITY allproperties SYSTEM \"allproperties.xml\"&gt; ]</literal> en la "
+"declaración <literal>DOCTYPE</literal> y <literal>&amp;allproperties&semi;</"
+"literal> en el mapeo). "
 
 #. Tag: para
-#: inheritance_mapping.xml:231
 #, no-c-format
 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&#x00f3;rficas."
+"literal>es de SQL al realizar consultas polimórficas. "
 
 #. Tag: para
-#: inheritance_mapping.xml:236
 #, no-c-format
 msgid ""
 "For this mapping strategy, a polymorphic association to <literal>Payment</"
 "literal> is usually mapped using <literal>&lt;any&gt;</literal>."
 msgstr ""
-"Para esta estrategia de mapeo, una asociaci&#x00f3;n polim&#x00f3;rfica a "
-"<literal>Payment</literal> es mapeada generalmente usando <literal>&lt;"
+"Para esta estrategia de mapeo, una asociación polimórfica a "
+"<literal>Payment</literal> es mapeada generalmente utilizando <literal>&lt;"
 "any&gt;</literal>."
 
-#. Tag: programlisting
-#: inheritance_mapping.xml:241
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:246
 #, no-c-format
 msgid "Mixing implicit polymorphism with other inheritance mappings"
-msgstr "Mezclando polimorfismo impl&#x00ed;cito con otros mapeos de herencia"
+msgstr "Mezcla de polimorfismo implícito con otros mapeos de herencia"
 
 #. Tag: para
-#: inheritance_mapping.xml:248
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Since the subclasses are each mapped in their own <literal>&lt;class&gt;</"
 "literal> element, and since <literal>Payment</literal> is just an "
@@ -703,77 +344,15 @@
 "inheritance hierarchy. You can still use polymorphic queries against the "
 "<literal>Payment</literal> interface."
 msgstr ""
-"Hay una cosa m&#x00e1;s por notar acerca de este mapeo. Ya que las subclases "
-"se mapean cada una en su propio elemento <literal>&lt;class&gt;</literal> (y "
-"ya que <literal>Payment</literal> es s&#x00f3;lo una interface), cada una de "
-"las subclases podr&#x00ed;a ser parte de otra jerarqu&#x00ed;a de herencia! "
-"(Y todav&#x00ed;a puedes seguir usando consultas polim&#x00f3;rficas contra "
-"la interface <literal>Payment</literal>.)"
+"Ya que las subclases se mapean cada una en su propio elemento <literal>&lt;"
+"class&gt;</literal> y debido a que <literal>Payment</literal> es sólo una "
+"interfaz, cada una de las subclases podría ser fácilmente parte de otra "
+"jerarquía de herencia. Todavía puede seguir usando consultas polimórficas "
+"contra la interfaz <literal>Payment</literal>."
 
-#. Tag: programlisting
-#: inheritance_mapping.xml:256
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:258
-#, fuzzy, no-c-format
-msgid ""
 "Once again, <literal>Payment</literal> is not mentioned explicitly. If we "
 "execute a query against the <literal>Payment</literal> interface, for "
 "example <literal>from Payment</literal>, Hibernate automatically returns "
@@ -782,221 +361,129 @@
 "literal> and <literal>ChequePayment</literal>, but not instances of "
 "<literal>NonelectronicTransaction</literal>."
 msgstr ""
-"Una vez m&#x00e1;s, no mencionamos a <literal>Payment</literal> expl&#x00ed;"
-"citamente. Si ejecutamos una consulta contra la interface <literal>Payment</"
-"literal> - por ejemplo, <literal>from Payment</literal> - Hibernate devuelve "
-"autom&#x00e1;ticamente instancias de <literal>CreditCardPayment</literal> (y "
-"sus subclases, ya que ellas tambi&#x00e9;n implementan <literal>Payment</"
-"literal>), <literal>CashPayment</literal> y <literal>ChequePayment</literal> "
-"pero no instancias de <literal>NonelectronicTransaction</literal>."
+"Una vez más, no mencionamos a <literal>Payment</literal> explícitamente. Si "
+"ejecutamos una consulta frente a la interfaz <literal>Payment</literal> - "
+"por ejemplo, <literal>from Payment</literal>, Hibernate retorna "
+"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 "
+"las instancias de <literal>NonelectronicTransaction</literal>."
 
 #. Tag: title
-#: inheritance_mapping.xml:273
 #, no-c-format
 msgid "Limitations"
 msgstr "Limitaciones"
 
 #. Tag: para
-#: inheritance_mapping.xml:275
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "There are limitations to the \"implicit polymorphism\" approach to the table "
 "per concrete-class mapping strategy. There are somewhat less restrictive "
 "limitations to <literal>&lt;union-subclass&gt;</literal> mappings."
 msgstr ""
-"Existen ciertas limitaciones al enfoque de \"polimorfismo impl&#x00ed;cito\" "
-"en la estrategia de mapeo de tabla por clase concreta. Existen limitaciones "
-"algo menos restrictivas a los mapeos <literal>&lt;union-subclass&gt;</"
-"literal>."
+"Existen ciertas limitaciones al enfoque de \"polimorfismo implícito\" en la "
+"estrategia de mapeo de tabla por clase concreta. Existen limitaciones un "
+"poco menos restrictivas a los mapeos <literal>&lt;union-subclass&gt;</"
+"literal>. "
 
 #. Tag: para
-#: inheritance_mapping.xml:282
 #, no-c-format
 msgid ""
-"The following table shows the limitations of table per concrete-class "
+"The following list 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&#x00ed;cito, en Hibernate."
+"La siguiente tabla muestra las limitaciones de los mapeos de tabla por clase "
+"concreta y del polimorfismo implícito en Hibernate."
 
-#. Tag: title
-#: inheritance_mapping.xml:288
+#. Tag: term
 #, no-c-format
-msgid "Features of inheritance mappings"
-msgstr "Funcionalidades de mapeo de herencia"
+msgid "table per class-heirarchy"
+msgstr "tabla por jerarquía de clases "
 
-#. Tag: entry
-#: inheritance_mapping.xml:301
+#. Tag: para
 #, no-c-format
-msgid "Inheritance strategy"
-msgstr "Estrategia de herencia"
+msgid "Polymorphic many-to-one: <code>&lt;many-to-one&gt;</code>"
+msgstr "Polimórfico muchos-a-uno: <code>&lt;many-to-one&gt;</code>"
 
-#. Tag: entry
-#: inheritance_mapping.xml:302
+#. Tag: para
 #, no-c-format
-msgid "Polymorphic many-to-one"
-msgstr "muchos-a-uno polim&#x00f3;rfica"
+msgid "Polymorphic one-to-one: <code>&lt;one-to-one&gt;</code>"
+msgstr "Polimórfico uno-a-uno: <code>&lt;one-to-one&gt;</code>"
 
-#. Tag: entry
-#: inheritance_mapping.xml:303
+#. Tag: para
 #, no-c-format
-msgid "Polymorphic one-to-one"
-msgstr "uno-a-uno polim&#x00f3;rfica"
+msgid "Polymorphic one-to-many: <code>&lt;one-to-many&gt;</code>"
+msgstr "Polimórfico uno-a-muchos: <code>&lt;one-to-many&gt;</code>"
 
-#. Tag: entry
-#: inheritance_mapping.xml:304
+#. Tag: para
 #, no-c-format
-msgid "Polymorphic one-to-many"
-msgstr "uno-a-muchos polim&#x00f3;rfica"
+msgid "Polymorphic many-to-many: <code>&lt;many-to-many&gt;</code>"
+msgstr "Polimórfico muchos-a-muchos: <code>&lt;many-to-many&gt;</code>"
 
-#. Tag: entry
-#: inheritance_mapping.xml:305
+#. Tag: para
 #, no-c-format
-msgid "Polymorphic many-to-many"
-msgstr "mushos-a-muchos polim&#x00f3;rfica"
+msgid ""
+"Polymorphic <literal>load()</literal> or <literal>get()</literal>: <code>s."
+"get(Payment.class, id)</code>"
+msgstr ""
+"Polimórfico <literal>load()</literal> o <literal>get()</literal>: <code>s.get"
+"(Payment.class, id)</code>"
 
-#. Tag: entry
-#: inheritance_mapping.xml:306
+#. Tag: para
 #, no-c-format
-msgid "Polymorphic <literal>load()/get()</literal>"
-msgstr "<literal>load()/get()</literal> polim&#x00f3;rficos"
+msgid "Polymorphic queries: <code>from Payment p</code>"
+msgstr "Consultas polimórficas: <code>from Payment p</code>"
 
-#. Tag: entry
-#: inheritance_mapping.xml:307
+#. Tag: para
 #, no-c-format
-msgid "Polymorphic queries"
-msgstr "Consultas polim&#x00f3;rficas"
+msgid "Polymorphic joins: <code>from Order o join o.payment p</code>"
+msgstr "Uniones polimórficas: <code>from Order o join o.payment p</code>"
 
-#. Tag: entry
-#: inheritance_mapping.xml:308
+#. Tag: para
 #, no-c-format
-msgid "Polymorphic joins"
-msgstr "Uniones polim&#x00f3;rficas"
+msgid "Outer join fetching is supported."
+msgstr "Se soporta la recuperación por unión externa."
 
-#. Tag: entry
-#: inheritance_mapping.xml:309
+#. Tag: term
 #, no-c-format
-msgid "Outer join fetching"
-msgstr "Recuperaci&#x00f3;n por uni&#x00f3;n externa (outer join)"
-
-#. Tag: entry
-#: inheritance_mapping.xml:314
-#, no-c-format
-msgid "table per class-hierarchy"
-msgstr "tabla por jerarqu&#x00ed;a de clases"
-
-#. Tag: literal
-#: inheritance_mapping.xml:315 inheritance_mapping.xml:326
-#: inheritance_mapping.xml:337
-#, no-c-format
-msgid "&lt;many-to-one&gt;"
-msgstr "&lt;many-to-one&gt;"
-
-#. Tag: literal
-#: inheritance_mapping.xml:316 inheritance_mapping.xml:327
-#: inheritance_mapping.xml:338
-#, no-c-format
-msgid "&lt;one-to-one&gt;"
-msgstr "&lt;one-to-one&gt;"
-
-#. Tag: literal
-#: inheritance_mapping.xml:317 inheritance_mapping.xml:328
-#, no-c-format
-msgid "&lt;one-to-many&gt;"
-msgstr "&lt;one-to-many&gt;"
-
-#. Tag: literal
-#: inheritance_mapping.xml:318 inheritance_mapping.xml:329
-#: inheritance_mapping.xml:340
-#, no-c-format
-msgid "&lt;many-to-many&gt;"
-msgstr "&lt;many-to-many&gt;"
-
-#. Tag: literal
-#: inheritance_mapping.xml:319 inheritance_mapping.xml:330
-#: inheritance_mapping.xml:341
-#, no-c-format
-msgid "s.get(Payment.class, id)"
-msgstr "s.get(Payment.class, id)"
-
-#. Tag: literal
-#: inheritance_mapping.xml:320 inheritance_mapping.xml:331
-#: inheritance_mapping.xml:342 inheritance_mapping.xml:353
-#, no-c-format
-msgid "from Payment p"
-msgstr "from Payment p"
-
-#. Tag: literal
-#: inheritance_mapping.xml:321 inheritance_mapping.xml:332
-#: inheritance_mapping.xml:343
-#, no-c-format
-msgid "from Order o join o.payment p"
-msgstr "from Order o join o.payment p"
-
-#. Tag: emphasis
-#: inheritance_mapping.xml:322 inheritance_mapping.xml:333
-#: inheritance_mapping.xml:344
-#, no-c-format
-msgid "supported"
-msgstr "soportada"
-
-#. Tag: entry
-#: inheritance_mapping.xml:325
-#, no-c-format
-msgid "<entry>table per subclass</entry>"
-msgstr "<entry>tabla por subclase</entry>"
-
-#. Tag: entry
-#: inheritance_mapping.xml:336
-#, no-c-format
 msgid "table per concrete-class (union-subclass)"
 msgstr "tabla por clase concreta (union-subclass)"
 
-#. Tag: entry
-#: inheritance_mapping.xml:339
+#. Tag: para
 #, no-c-format
 msgid ""
-"<literal>&lt;one-to-many&gt;</literal> (for <literal>inverse=\"true\"</"
-"literal> only)"
+"Polymorphic one-to-many: <code>&lt;one-to-many&gt;</code> (for <code>inverse="
+"\"true\"</code> only)"
 msgstr ""
-"<literal>&lt;one-to-many&gt;</literal> (para <literal>inverse=\"true\"</"
-"literal> solamente)"
+"Polimórfico uno-a-muchos: <code>&lt;one-to-many&gt;</code> (solo para "
+"<code>inverse=\"true\"</code>)"
 
-#. Tag: entry
-#: inheritance_mapping.xml:347
+#. Tag: term
 #, no-c-format
-msgid "table per concrete class (implicit polymorphism)"
-msgstr "tabla por clase concreta (polimorfismo impl&#x00ed;cito)"
+msgid "table per concrete class (implicit polymorphism"
+msgstr "tabla por clase concreta (polimorfismo implícito) "
 
-#. Tag: literal
-#: inheritance_mapping.xml:348
+#. Tag: para
 #, no-c-format
-msgid "&lt;any&gt;"
-msgstr "&lt;any&gt;"
+msgid "Polymorphic many-to-one: <code>&lt;any&gt;</code>"
+msgstr "Polimórfico muchos-a-uno: <code>&lt;any&gt;</code>"
 
-#. Tag: emphasis
-#: inheritance_mapping.xml:349 inheritance_mapping.xml:350
-#: inheritance_mapping.xml:354 inheritance_mapping.xml:355
+#. Tag: para
 #, no-c-format
-msgid "not supported"
-msgstr "no soportada"
+msgid ""
+"Polymorphic <literal>load()</literal> or <literal>get()</literal>: <code>s."
+"createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()</"
+"code>"
+msgstr ""
+"Polimórfico <literal>load()</literal> o <literal>get()</literal>: <code>s."
+"createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()</"
+"code>"
 
-#. Tag: literal
-#: inheritance_mapping.xml:351
+#. Tag: para
 #, no-c-format
-msgid "&lt;many-to-any&gt;"
-msgstr "&lt;many-to-any&gt;"
-
-#. Tag: literal
-#: inheritance_mapping.xml:352
-#, no-c-format
 msgid ""
-"s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()"
+"Polymorphic one-to-one, polymorphic one-to-many, polymorphic joins, and "
+"outer join fetching are not supported."
 msgstr ""
-"s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()"
-
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+"No se soporta polimórfico uno-a-uno, polimórfico uno-a-muchos, uniones "
+"polimórficas y búsquedas de unión externa."

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/performance.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/performance.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/performance.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,77 +1,84 @@
-#, fuzzy
+# translation of performance.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: performance\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-10 21:02+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2009-12-03T00:15:26\n"
+"PO-Revision-Date: 2010-01-04 15:23+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: performance.xml:29
 #, no-c-format
 msgid "Improving performance"
-msgstr "Mejorando el rendimiento"
+msgstr "Mejoramiento del rendimiento"
 
 #. Tag: title
-#: performance.xml:32
 #, no-c-format
 msgid "Fetching strategies"
-msgstr "Estrategias de recuperaci&#x00f3;n"
+msgstr "Estrategias de recuperación"
 
 #. Tag: para
-#: performance.xml:34
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate uses a <emphasis>fetching strategy</emphasis> to retrieve "
 "associated objects if the application needs to navigate the association. "
 "Fetch strategies can 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&#x00f3;n</emphasis> es la estrategia "
-"que usar&#x00e1; Hibernate para recuperar los objetos asociados cuando la "
-"aplicaci&#x00f3;n necesite navegar la asociaci&#x00f3;n. Las estrategias de "
-"recuperaci&#x00f3;n pueden ser declaradas en los metadatos de mapeo O/R, o "
-"sobrescritas por una consulta HQL o <literal>Criteria</literal> en "
-"particular."
+"Hibernate utiliza una <emphasis>estrategia de recuperación</emphasis> para "
+"recuperar los objetos asociados cuando la aplicación necesita navegar la "
+"asociación. Las estrategias de recuperación se pueden declarar en los "
+"metadatos de mapeo O/R, o se pueden sobrescribir por medio de una HQL "
+"particular o una petición <literal>Criteria</literal>."
 
 #. Tag: para
-#: performance.xml:41
 #, no-c-format
 msgid "Hibernate3 defines the following fetching strategies:"
-msgstr "Hibernate3 define las siguientes estrategias de recuperaci&#x00f3;n:"
+msgstr "Hibernate3 define las siguientes estrategias de recuperación:"
 
 #. Tag: para
-#: performance.xml:47
-#, fuzzy, no-c-format
+#, no-c-format
 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&#x00f3;n por uni&#x00f3;n (join fetching)</emphasis> - "
-"Hibernate recupera la instancia asociada o colecci&#x00f3;n en la misma "
-"<literal>SELECT</literal>, usando una <literal>OUTER JOIN</literal>."
+"<emphasis>Recuperación por unión (join fetching)</emphasis>: Hibernate "
+"recupera la instancia asociada o la colección en el mismo <literal>SELECT</"
+"literal>, utilizando un <literal>OUTER JOIN</literal>."
 
 #. Tag: para
-#: performance.xml:54
-#, fuzzy, no-c-format
+#, no-c-format
 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 access the association."
 msgstr ""
-"<emphasis>Recuperaci&#x00f3;n por selecci&#x00f3;n (select fetching)</"
-"emphasis> - se usa una segunda <literal>SELECT</literal> para recuperar la "
-"entidad asociada o colecci&#x00f3;n. A menos que deshabilites expl&#x00ed;"
-"citamente la recuperaci&#x00f3;n perezosa especificando <literal>lazy=\"false"
-"\"</literal>, la segunda selecci&#x00f3;n s&#x00f3;lo ser&#x00e1; ejecutada "
-"cuando realmente accedas a la asociaci&#x00f3;n."
+"<emphasis>Recuperación por selección (select fetching)</emphasis>: se "
+"utiliza un segundo <literal>SELECT</literal> para recuperar la entidad o "
+"colección asocidas. A menos que deshabilite explícitamente la recuperación "
+"perezosa especificando <literal>lazy=\"false\"</literal>, la segunda "
+"selección sólo será ejecutada cuando acceda a la asociación."
 
 #. Tag: para
-#: performance.xml:63
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Subselect fetching</emphasis>: a second <literal>SELECT</literal> "
 "is used to retrieve the associated collections for all entities retrieved in "
@@ -79,88 +86,78 @@
 "specifying <literal>lazy=\"false\"</literal>, this second select will only "
 "be executed when you access the association."
 msgstr ""
-"<emphasis>Recuperaci&#x00f3;n por subselecci&#x00f3;n (subselect fetching)</"
-"emphasis> - se usa una segunda <literal>SELECT</literal> para recuperar las "
-"colecciones asociadas de todas las entidades recuperadas en una consulta o "
-"recuperaci&#x00f3;n previa. A menos que deshabilites expl&#x00ed;citamente "
-"la recuperaci&#x00f3;n perezosa especificando <literal>lazy=\"false\"</"
-"literal>, esta segunda selecci&#x00f3;n s&#x00f3;lo ser&#x00e1; ejecutada "
-"cuando realmente accedas a la asociaci&#x00f3;n."
+"<emphasis>Recuperación por subselección (subselect fetching)</emphasis>: se "
+"utiliza un segundo <literal>SELECT</literal> para recuperar las colecciones "
+"asociadas de todas las entidades recuperadas en una consulta o recuperación "
+"previa. A menos de que deshabilite explícitamente la recuperación perezosa "
+"especificando <literal>lazy=\"false\"</literal>, esta segunda selección sólo "
+"se ejecutará cuando acceda a la asociación."
 
 #. Tag: para
-#: performance.xml:72
-#, fuzzy, no-c-format
+#, no-c-format
 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 or "
 "foreign keys."
 msgstr ""
-"<emphasis>Recuperaci&#x00f3;n en lote</emphasis> - una estrategia de "
-"optimizaci&#x00f3;n para la recuperaci&#x00f3;n por selecci&#x00f3;n - "
-"Hibernate recupera un lote de instancias de entidad o colecciones en una "
-"sola <literal>SELECT</literal>, especificando una lista de claves primarias "
-"o de claves for&#x00e1;neas."
+"<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 un solo <literal>SELECT</literal>, especificando "
+"una lista de claves principales o de claves foráneas."
 
 #. Tag: para
-#: performance.xml:81
 #, no-c-format
 msgid "Hibernate also distinguishes between:"
-msgstr "Hibernate tambi&#x00e9;n distingue entre:"
+msgstr "Hibernate también distingue entre:"
 
 #. Tag: para
-#: performance.xml:87
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Immediate fetching</emphasis>: an association, collection or "
 "attribute is fetched immediately when the owner is loaded."
 msgstr ""
-"<emphasis>Recuperaci&#x00f3;n inmediata</emphasis> - una asociaci&#x00f3;n, "
-"colecci&#x00f3;n o atributo es recuperado inmediatamente, cuando el "
-"due&#x00f1;o es cargado."
+"<emphasis>Recuperación inmediata</emphasis>: una asociación, colección o "
+"atributo se recupera inmediatamente cuando se carga el dueño."
 
 #. Tag: para
-#: performance.xml:93
-#, fuzzy, no-c-format
+#, no-c-format
 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&#x00f3;n perezosa de colecciones</emphasis> - se "
-"recupera una colecci&#x00f3;n cuando la aplicaci&#x00f3;n invoca una "
-"operaci&#x00f3;n sobre la colecci&#x00f3;n. (Esto es por defecto para las "
-"colecciones.)"
+"<emphasis>Recuperación perezosa de colecciones</emphasis>: una colección se "
+"recupera cuando la aplicación invoca una operación sobre esa colección. Este "
+"es el valor predeterminado para las colecciones."
 
 #. Tag: para
-#: performance.xml:100
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>\"Extra-lazy\" collection fetching</emphasis>: individual elements "
 "of the collection are accessed from the database as needed. Hibernate tries "
 "not to fetch the whole collection into memory unless absolutely needed. It "
 "is suitable for large collections."
 msgstr ""
-"<emphasis>\"Extra-lazy\" collection fetching</emphasis> - individual "
-"elements of the collection are accessed from the database as needed. "
-"Hibernate tries not to fetch the whole collection into memory unless "
-"absolutely needed (suitable for very large collections)"
+"<emphasis>Recuperación de colección \"extra-perezoza\" </emphasis>: se "
+"accede a elementos individuales desde la base de datos cuando se necesita. "
+"Hibernate intenta no recuperar toda la colección en la memoria a menos de "
+"que sea absolutamente necesario. Esto es apropiado para colecciones muy "
+"grandes."
 
 #. Tag: para
-#: performance.xml:108
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Proxy fetching</emphasis>: a single-valued association is fetched "
 "when a method other than the identifier getter is invoked upon the "
 "associated object."
 msgstr ""
-"<emphasis>Proxy fetching</emphasis> - a single-valued association is fetched "
-"when a method other than the identifier getter is invoked upon the "
-"associated object."
+"<emphasis>Recuperación por proxy</emphasis>: una asociación monovaluada se "
+"recupera cuando se invoca un método que no sea el getter del identificador "
+"sobre el objeto asociado."
 
 #. Tag: para
-#: performance.xml:115
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>\"No-proxy\" fetching</emphasis>: a single-valued association is "
 "fetched when the instance variable is accessed. Compared to proxy fetching, "
@@ -169,26 +166,28 @@
 "visible to the application. This approach requires buildtime bytecode "
 "instrumentation and is rarely necessary."
 msgstr ""
-"<emphasis>Recuperaci&#x00f3;n por proxy</emphasis> - se recupera una "
-"asociaci&#x00f3;n monovaluada cuando se invoca un m&#x00e9;todo que no sea "
-"el getter del identificador sobre el objeto asociado."
+"<emphasis> Recuperación \"no-proxy\" </emphasis>: una asociación monovaluada "
+"se recupera cuando se accede a la variable de la instancia. Comparado con la "
+"recuperación por proxy, este enfoque es menos perezozo; la asociación se "
+"recupera cuando se accede sólamente al identificador. También es más "
+"transparente ya que para la aplicación no hay proxies visibles. Este enfoque "
+"requiere instrumentación del código byte del tiempo estimado de construcción "
+"y se necesita muy raramente."
 
 #. Tag: para
-#: performance.xml:125
-#, fuzzy, no-c-format
+#, no-c-format
 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&#x00f3;n perezosa de atributos</emphasis> - se recupera "
-"un atributo o una asociaci&#x00f3;n monovaluada cuando se accede a la "
-"variable de instancia (requiere instrumentaci&#x00f3;n del bytecode en "
-"tiempo de ejecuci&#x00f3;n). Este enfoque es raramente necesario."
+"<emphasis>Recuperación perezosa de atributos</emphasis>: un atributo o una "
+"asociación monovaluada se recuperan cuando se accede a la variable de la "
+"instancia. Este enfoque requiere instrumentación del código byte en tiempo "
+"estimado de construcción y se necesita muy raramente."
 
 #. Tag: para
-#: performance.xml:134
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "We have two orthogonal notions here: <emphasis>when</emphasis> is the "
 "association fetched and <emphasis>how</emphasis> is it fetched. It is "
@@ -197,108 +196,68 @@
 "for what data is always available in any detached instance of a particular "
 "class."
 msgstr ""
-"Aqu&#x00ed; tenemos dos nociones ortogonales: <emphasis>cu&#x00e1;ndo</"
-"emphasis> se recupera la aplicaci&#x00f3;n, y <emphasis>c&#x00f3;mo</"
-"emphasis> es recuperada (qu&#x00e9; SQL es usado). &#x00a1;No las confundas! "
-"Usamos <literal>fetch</literal> para afinar el rendimiento. Podemos usar "
-"<literal>lazy</literal> para definir un contrato sobre qu&#x00e9; datos "
-"est&#x00e1;n siempre disponibles en cualquier instancia separada de una "
-"clase en particular."
+"Aquí tenemos dos nociones ortogonales: <emphasis>cuándo</emphasis> se "
+"recupera la aplicación, y <emphasis>cómo</emphasis> se recupera. Es "
+"importante que no las confunda. Utilizamos <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:143
 #, no-c-format
 msgid "Working with lazy associations"
-msgstr "Trabajando con asociaciones perezosas"
+msgstr "Trabajo con asociaciones perezosas"
 
 #. Tag: para
-#: performance.xml:145
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "By default, Hibernate3 uses lazy select fetching for collections and lazy "
 "proxy fetching for single-valued associations. These defaults make sense for "
 "most associations in the majority of applications."
 msgstr ""
-"Por defecto, Hibernate3 usa una recuperaci&#x00f3;n perezosa por "
-"selecci&#x00f3;n para colecciones y una recuperaci&#x00f3;n por proxy "
-"perezosa para asociaciones monovaluadas. Estas pol&#x00ed;ticas por defecto "
-"tienen sentido para casi todas las asociaciones en casi todas las "
-"aplicaciones."
+"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 predeterminadas tienen sentido para casi todas "
+"las asociaciones en la mayoría de las aplicaciones."
 
 #. Tag: para
-#: performance.xml:151
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you set <literal>hibernate.default_batch_fetch_size</literal>, Hibernate "
 "will use the batch fetch optimization for lazy fetching. This optimization "
 "can also be enabled at a more granular level."
 msgstr ""
-"<emphasis>Nota:</emphasis> si estableces <literal>hibernate."
-"default_batch_fetch_size</literal>, Hibernate usar&#x00e1; la "
-"optimizaci&#x00f3;n de recuperaci&#x00f3;n en lotes para recuperaci&#x00f3;n "
-"perezosa (esta optimizaci&#x00f3;n tambi&#x00e9;n puede ser habilitada a un "
-"nivel m&#x00e1;s granularizado)."
+"Si configura <literal>hibernate.default_batch_fetch_size</literal>, "
+"Hibernate utilizará la optimización de recuperación en lotes para "
+"recuperación perezosa. Esta optimización también se puede habilitar en un "
+"nivel más detallado."
 
 #. Tag: para
-#: performance.xml:158
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Please be aware that 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&#x00f3;n perezosa plantea un problema del que "
-"tienes que estar al tanto. Acceder a una asociaci&#x00f3;n perezosa fuera "
-"del contexto de una sesi&#x00f3;n de Hibernate abierta resultar&#x00e1; en "
-"una excepci&#x00f3;n. Por ejemplo:"
+"Note que el 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:164
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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!]]>"
-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:166
-#, fuzzy, no-c-format
-msgid ""
 "Since the permissions collection was not initialized when the "
 "<literal>Session</literal> was closed, the collection will not be able to "
 "load its state. <emphasis>Hibernate does not support lazy initialization for "
 "detached objects</emphasis>. This can be fixed by moving the code that reads "
 "from the collection to just before the transaction is committed."
 msgstr ""
-"Ya que la colecci&#x00f3;n de permisos no fue inicializada cuando se "
-"cerr&#x00f3; la <literal>Session</literal>, la colecci&#x00f3;n no "
-"ser&#x00e1; capaz de cargar su estado. <emphasis>Hibernate no soporta la "
-"inicializaci&#x00f3;n perezosa de objetos separados</emphasis>. La "
-"soluci&#x00f3;n es mover el c&#x00f3;digo que lee de la colecci&#x00f3;n a "
-"justo antes que la transacci&#x00f3;n sea comprometida."
+"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 de que se guarde la transacción."
 
 #. Tag: para
-#: performance.xml:174
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Alternatively, you can use a non-lazy collection or association, by "
 "specifying <literal>lazy=\"false\"</literal> for the association mapping. "
@@ -307,17 +266,15 @@
 "in your object model, Hibernate will fetch the entire database into memory "
 "in every transaction."
 msgstr ""
-"Alternativamente, podr&#x00ed;amos usar una colecci&#x00f3;n no perezosa o "
-"asociaci&#x00f3;n, especificando <literal>lazy=\"false\"</literal> para el "
-"mapeo de asociaci&#x00f3;n. Sin embargo, est&#x00e1; pensado que la "
-"inicializaci&#x00f3;n perezosa sea usada para casi todas las colecciones y "
-"asociaciones. &#x00a1;Si defines demasiadas asociaciones no perezosas en tu "
-"modelo de objetos, Hibernate terminar&#x00e1; necesitando recuperar la base "
-"de datos entera en cada transacci&#x00f3;n!"
+"Opcionalmente puede utilizar una colección no perezosa o asociación, "
+"especificando <literal>lazy=\"false\"</literal> para el mapeo de asociación. "
+"Sin embargo, el propósito de la inicialización perezosa es que se utilice "
+"para casi todas las colecciones y asociaciones. ¡Si define demasiadas "
+"asociaciones no perezosas en su modelo de objetos, Hibernate recuperará la "
+"base de datos entera en toda transacción."
 
 #. Tag: para
-#: performance.xml:183
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "On the other hand, you can use join fetching, which is non-lazy by nature, "
 "instead of select fetching in a particular transaction. We will now explain "
@@ -325,108 +282,75 @@
 "choosing a fetch strategy are identical for single-valued associations and "
 "collections."
 msgstr ""
-"Por otro lado, frecuentemente necesitamos elegir la recuperaci&#x00f3;n por "
-"uni&#x00f3;n (que es no perezosa por naturaleza) en vez de la "
-"recuperaci&#x00f3;n por selecci&#x00f3;n en una transacci&#x00f3;n en "
-"particular. Veremos ahora c&#x00f3;mo personalizar la estrategia de "
-"recuperaci&#x00f3;n. En Hibernate3, los mecanismos para elegir una "
-"estrategia de recuperaci&#x00f3;n son id&#x00e9;nticas a las de las "
-"asociaciones monovaluadas y colecciones."
+"Por otro lado, puede utilizar la recuperación por unión, la cual no es "
+"perezosa por naturaleza, en lugar 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 para las de las asociaciones monovaluadas y las "
+"colecciones."
 
 #. Tag: title
-#: performance.xml:194
 #, no-c-format
 msgid "Tuning fetch strategies"
-msgstr "Afinando las estrategias de recuperaci&#x00f3;n"
+msgstr "Afinación de las estrategias de recuperación"
 
 #. Tag: para
-#: performance.xml:196
 #, no-c-format
 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&#x00f3;n por selecci&#x00f3;n (la preestablecida) es "
-"extremadamente vulnerable a problemas de selecci&#x00f3;n N+1, de modo "
-"querr&#x00ed;amos habilitar la recuperaci&#x00f3;n por uni&#x00f3;n (join "
-"fetching) en el documento de mapeo:"
+"La recuperación por selección (la preestablecida) es extremadamente "
+"vulnerable a problemas de selección N+1, de modo que puede que queramos "
+"habilitar la recuperación por unión (join fetching) en el documento de mapeo:"
 
-#. Tag: programlisting
-#: performance.xml:201
-#, no-c-format
-msgid ""
-"<![CDATA[<set name=\"permissions\" \n"
-"            fetch=\"join\">\n"
-"    <key column=\"userId\"/>\n"
-"    <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:203
-#, no-c-format
-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:205
 #, no-c-format
 msgid ""
 "The <literal>fetch</literal> strategy defined in the mapping document "
 "affects:"
 msgstr ""
-"La estrategia de recuperaci&#x00f3;n definida en el documento de mapeo "
-"afecta a:"
+"La estrategia de <literal>recuperación</literal> definida en el documento de "
+"mapeo afecta a:"
 
 #. Tag: para
-#: performance.xml:211
 #, no-c-format
 msgid "retrieval via <literal>get()</literal> or <literal>load()</literal>"
 msgstr ""
-"las recuperaciones v&#x00ed;a <literal>get()</literal> o <literal>load()</"
+"las recuperaciones por medio de <literal>get()</literal> o <literal>load()</"
 "literal>"
 
 #. Tag: para
-#: performance.xml:216
 #, no-c-format
 msgid "retrieval that happens implicitly when an association is navigated"
 msgstr ""
-"las recuperaciones que ocurren impl&#x00ed;citamente cuando se navega una "
-"asociaci&#x00f3;n (recuperaci&#x00f3;n perezosa)"
+"las recuperaciones que ocurren implícitamente cuando se navega una "
+"asociación (recuperación perezosa)"
 
 #. Tag: para
-#: performance.xml:221
 #, no-c-format
 msgid "<literal>Criteria</literal> queries"
 msgstr "las consultas de <literal>Criteria</literal>"
 
 #. Tag: para
-#: performance.xml:226
 #, no-c-format
 msgid "HQL queries if <literal>subselect</literal> fetching is used"
-msgstr "HQL queries if <literal>subselect</literal> fetching is used"
+msgstr "las consultas HQL si se utiliza la recuperación <literal>subselect</literal>"
 
 #. Tag: para
-#: performance.xml:232
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Irrespective of the fetching strategy you use, the defined non-lazy graph is "
 "guaranteed to be loaded into memory. This might, however, result in several "
 "immediate selects being used to execute a particular HQL query."
 msgstr ""
-"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 "
-"immediate selects being used to execute a particular HQL query."
+"Sin importar que estrategia de recuperación utilice, se garantiza que la "
+"gráfica no-perezoza definida será cargada en la memoria. Sin embargo, esto "
+"puede causar la utilización de varias selecciones inmediatas para ejecutar "
+"una consulta HQL en particular."
 
 #. Tag: para
-#: performance.xml:238
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Usually, the mapping document is not used to customize fetching. Instead, we "
 "keep the default behavior, and override it for a particular transaction, "
@@ -435,70 +359,50 @@
 "the <literal>Criteria</literal> query API, you would use "
 "<literal>setFetchMode(FetchMode.JOIN)</literal>."
 msgstr ""
-"Usualmente, no usamos el documento de mapeo para personalizar la "
-"recuperaci&#x00f3;n. En cambio, mantenemos el comportamiento por defecto, y "
-"lo sobrescribimos para una transacci&#x00f3;n en particular, usando "
-"<literal>left join fetch</literal> en HQL. Esto le dice a Hibernate que "
-"recupere la asociaci&#x00f3;n tempranamente en la primera selecci&#x00f3;n, "
-"usando una uni&#x00f3;n externa. En la API de consulta de <literal>Criteria</"
-"literal>, usar&#x00ed;as <literal>setFetchMode(FetchMode.JOIN)</literal>."
+"Usualmente, no utilizamos 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, utilizando <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>, usted utilizaría "
+"<literal>setFetchMode(FetchMode.JOIN)</literal>."
 
 #. Tag: para
-#: performance.xml:247
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you want to change the fetching strategy used by <literal>get()</literal> "
 "or <literal>load()</literal>, you can use a <literal>Criteria</literal> "
 "query. For example:"
 msgstr ""
-"Si acaso lo deseases, podr&#x00ed;as cambiar la estrategia de "
-"recuperaci&#x00f3;n usada por <literal>get()</literal> or <literal>load()</"
-"literal>; simplemente usa una consulta <literal>Criteria</literal>, por "
-"ejemplo:"
+"Si quiere cambiar la estrategia de recuperación utilizada por <literal>get()"
+"</literal> o <literal>load()</literal>; utilice una consulta "
+"<literal>Criteria</literal>. Por ejemplo:"
 
-#. Tag: programlisting
-#: performance.xml:253
+#. Tag: para
 #, no-c-format
 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:255
-#, fuzzy, no-c-format
-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&#x00f3;n\".)"
+"Esto es el equivalente de Hibernate de lo que otras soluciones ORM denominan "
+"un \"plan de recuperación\"."
 
 #. Tag: para
-#: performance.xml:259
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A completely different approach to 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&#x00e9; de segundo nivel."
+"Un enfoque completamente diferente de evitar problemas con selecciones N+1 "
+"es usar el caché de segundo nivel."
 
 #. Tag: title
-#: performance.xml:267
 #, no-c-format
 msgid "Single-ended association proxies"
-msgstr "Proxies de asociaciones de un solo extremo"
+msgstr "Proxies de asociaciones de un sólo extremo"
 
 #. Tag: para
-#: performance.xml:269
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Lazy fetching for collections is implemented using Hibernate's own "
 "implementation of persistent collections. However, a different mechanism is "
@@ -507,31 +411,27 @@
 "proxies for persistent objects using runtime bytecode enhancement which is "
 "accessed via the CGLIB library."
 msgstr ""
-"La recuperaci&#x00f3;n perezosa de colecciones est&#x00e1; implementada "
-"usando la implementaci&#x00f3;n de colecciones persistentes propia de "
-"Hibernate. Sin embargo, se necesita un mecanismo diferente para un "
-"comportamiento perezoso en las asociaciones de un solo extremo. La entidad "
-"objetivo de la asociaci&#x00f3;n debe ser tratada con proxies. Hibernate "
-"implementa proxies de inicializaci&#x00f3;n perezosa para objetos "
-"persistentes usando mejora del bytecode en tiempo de ejecuci&#x00f3;n (por "
-"medio de la excelente biblioteca CGLIB)."
+"La recuperación perezosa de colecciones está implementada utilizando 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 sólo extremo. La entidad destino de la asociación se debe "
+"tratar con proxies. Hibernate implementa proxies de inicialización perezosa "
+"para objetos persistentes utilizando la mejora del código byte en tiempo de "
+"ejecución por medio de la biblioteca CGLIB)."
 
 #. Tag: para
-#: performance.xml:277
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "At startup, Hibernate3 generates proxies by default 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&#x00f3;n perezosa "
-"de asociaciones <literal>muchos-a-uno</literal> y <literal>uno-a-uno</"
-"literal>."
+"En el arranque, Hibernate3 genera proxies por defecto 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>."
 
 #. Tag: para
-#: performance.xml:283
-#, fuzzy, no-c-format
+#, no-c-format
 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, "
@@ -539,147 +439,73 @@
 "implement a default constructor with at least package visibility. This "
 "constructor is recommended for all persistent classes</emphasis>."
 msgstr ""
-"El fichero de mapeo puede declarar una interface a usar como interface de "
+"El archivo de mapeo puede declarar una interfaz a utilizar como interfaz de "
 "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. &#x00a1;Recomendamos este constructor para todas las "
-"clases persistentes!</emphasis>"
+"Hibernate usa una subclase de la clase. <emphasis>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>."
 
 #. Tag: para
-#: performance.xml:290
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "There are potential problems to note when extending this approach to "
 "polymorphic classes.For example:"
 msgstr ""
-"Hay algunos puntos a tener en cuenta al extender este enfoque a clases "
-"polim&#x00f3;rficas, por ejemplo."
+"Hay problemas potenciales que se deben tener en cuenta al extender este "
+"enfoque a las clases polimórficas. Por ejemplo:"
 
-#. Tag: programlisting
-#: performance.xml:294
-#, no-c-format
-msgid ""
-"<![CDATA[<class name=\"Cat\" proxy=\"Cat\">\n"
-"    ......\n"
-"    <subclass name=\"DomesticCat\">\n"
-"        .....\n"
-"    </subclass>\n"
-"</class>]]>"
-msgstr ""
-"<![CDATA[<class name=\"Cat\" proxy=\"Cat\">\n"
-"    ......\n"
-"    <subclass name=\"DomesticCat\">\n"
-"        .....\n"
-"    </subclass>\n"
-"</class>]]>"
-
 #. Tag: para
-#: performance.xml:296
 #, no-c-format
 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&#x00e1;n objeto "
-"de un cast a <literal>DomesticCat</literal>, incluso aunque la instancia "
-"subyacente sea instancia de <literal>DomesticCat</literal>:"
+"Primero, las instancias de <literal>Cat</literal> nunca serán objeto de un "
+"cast a <literal>DomesticCat</literal>, incluso aunque la instancia "
+"subyacente sea una instancia de <literal>DomesticCat</literal>:"
 
-#. Tag: programlisting
-#: performance.xml:302
-#, no-c-format
-msgid ""
-"<![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"
-"}]]>"
-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:304
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Secondly, it is possible to break proxy <literal>==</literal>:"
-msgstr ""
-"Segundo, es posible romper con el operador <literal>==</literal> de un proxy."
+msgstr "Segundo, es posible romper el proxy <literal>==</literal>:"
 
-#. Tag: programlisting
-#: performance.xml:308
-#, no-c-format
-msgid ""
-"<![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]]>"
-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:310
 #, no-c-format
 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&#x00f3;n no en absoluta tan mala como parece. Aunque "
+"Sin embargo, la situación no es en absoluto tan mala como parece. Aunque "
 "tenemos ahora dos referencias a objetos proxy diferentes, la instancia "
-"subyacente ser&#x00e1; a&#x00fa;n el mismo objeto:"
+"subyacente será aún el mismo objeto:"
 
-#. Tag: programlisting
-#: performance.xml:315
+#. Tag: para
 #, no-c-format
 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:317
-#, fuzzy, no-c-format
-msgid ""
 "Third, you cannot 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&#x00fa;n m&#x00e9;todo <literal>final</literal>."
+"Tercero, no puede usar un proxy CGLIB para una clase <literal>final</"
+"literal> o una clase con algún método <literal>final</literal>."
 
 #. Tag: para
-#: performance.xml:322
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Finally, if your persistent object acquires any resources upon instantiation "
 "(e.g. in initializers or default constructor), then those resources will "
 "also be acquired by the proxy. The proxy class is an actual subclass of the "
 "persistent class."
 msgstr ""
-"Finalmente, si tu objeto persistente adquiere cualquier recurso bajo "
-"instanciaci&#x00f3;n (por ejemplo, en inicializadores o constructores por "
-"defecto), entonces esos recursos ser&#x00e1;n adquiridos tambi&#x00e9;n por "
-"el proxy. La clase del proxy es una subclase real de la clase persistente."
+"Finalmente, si su 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. "
 
 #. Tag: para
-#: performance.xml:328
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "These problems are all due to fundamental limitations in Java's single "
 "inheritance model. To avoid these problems your persistent classes must each "
@@ -690,163 +516,118 @@
 "<literal>DomesticCat</literal>. For example:"
 msgstr ""
 "Estos problemas se deben a limitaciones fundamentales en el modelo de "
-"herencia &#x00fa;nica de Java. Si deseas evitar estos problemas cada una de "
-"tus clases persistentes deben implementar una interface que declare sus "
-"m&#x00e9;todos de negocio. Debes especificar estas interfaces en el fichero "
-"de mapeo. Por ejemplo:"
+"herencia única de Java. Si desea evitar estos problemas cada una de sus "
+"clases persistentes deben implementar una interfaz que declare sus métodos "
+"de negocio. Debe especificar estas interfaces en el archivo de mapeo en "
+"donde <literal>CatImpl</literal> implementa la interfaz <literal>Cat</"
+"literal> y <literal>DomesticCatImpl</literal> implementa la interfaz "
+"<literal>DomesticCat</literal>. Por ejemplo:"
 
-#. Tag: programlisting
-#: performance.xml:336
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"CatImpl\" proxy=\"Cat\">\n"
-"    ......\n"
-"    <subclass name=\"DomesticCatImpl\" proxy=\"DomesticCat\">\n"
-"        .....\n"
-"    </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:338
-#, fuzzy, no-c-format
-msgid ""
 "Then proxies for instances of <literal>Cat</literal> and "
 "<literal>DomesticCat</literal> can be returned by <literal>load()</literal> "
 "or <literal>iterate()</literal>."
 msgstr ""
-"Primero, las instancias de <literal>Cat</literal> nunca ser&#x00e1;n objeto "
-"de un cast a <literal>DomesticCat</literal>, incluso aunque la instancia "
-"subyacente sea instancia de <literal>DomesticCat</literal>:"
+"Entonces los proxies para las instancias de <literal>Cat</literal> y "
+"<literal>DomesticCat</literal> pueden ser retornadas por <literal>load()</"
+"literal> o <literal>iterate()</literal>."
 
-#. Tag: programlisting
-#: performance.xml:343
-#, no-c-format
-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: title
-#: performance.xml:346
 #, no-c-format
 msgid "Note"
-msgstr ""
+msgstr "Nota"
 
 #. Tag: para
-#: performance.xml:347
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "<literal>list()</literal> does not usually return proxies."
-msgstr "las consultas de <literal>Criteria</literal>"
+msgstr "<literal>list()</literal> usualmente no retorna proxies."
 
 #. Tag: para
-#: performance.xml:352
 #, no-c-format
 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&#x00e9;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 "
+"debe declarar cualquier propiedad como de tipo <literal>Cat</literal>, no "
+"<literal>CatImpl</literal>."
 
 #. Tag: para
-#: performance.xml:357
-#, fuzzy, no-c-format
-msgid ""
-"Certain operations do <emphasis>not</emphasis> require proxy initialization:"
+#, no-c-format
+msgid "Certain operations do <emphasis>not</emphasis> require proxy initialization:"
 msgstr ""
-"Ciertas operaciones <emphasis>no</emphasis> requieren inicializaci&#x00f3;n "
-"de proxies."
+"Ciertas operaciones <emphasis>no</emphasis> requieren inicialización de "
+"proxies:"
 
 #. Tag: para
-#: performance.xml:363
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>equals()</literal>: if the persistent class does not override "
 "<literal>equals()</literal>"
 msgstr ""
 "<literal>equals()</literal>, si la clase persistente no sobrescribe "
-"<literal>equals()</literal>"
+"<literal>equals()</literal> "
 
 #. Tag: para
-#: performance.xml:369
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>hashCode()</literal>: if the persistent class does not override "
 "<literal>hashCode()</literal>"
 msgstr ""
 "<literal>hashCode()</literal>, si la clase persistente no sobrescribe "
-"<literal>hashCode()</literal>"
+"<literal>hashCode()</literal> "
 
 #. Tag: para
-#: performance.xml:375
 #, no-c-format
 msgid "The identifier getter method"
-msgstr "El m&#x00e9;todo getter del identificador"
+msgstr "El método getter del identificador"
 
 #. Tag: para
-#: performance.xml:381
 #, no-c-format
 msgid ""
 "Hibernate will detect persistent classes that override <literal>equals()</"
 "literal> or <literal>hashCode()</literal>."
 msgstr ""
-"Hibernate detectar&#x00e1; las clase persistentes que sobrescriban "
-"<literal>equals()</literal> o <literal>hashCode()</literal>."
+"Hibernate detectará las clases persistentes que sobrescriban <literal>equals"
+"()</literal> o <literal>hashCode()</literal>."
 
 #. Tag: para
-#: performance.xml:386
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "By choosing <literal>lazy=\"no-proxy\"</literal> instead of the default "
 "<literal>lazy=\"proxy\"</literal>, you can avoid problems associated with "
 "typecasting. However, buildtime bytecode instrumentation is required, and "
 "all operations will result in immediate proxy initialization."
 msgstr ""
-"UNTRANSLATED!!! By choosing <literal>lazy=\"no-proxy\"</literal> instead of "
-"the default <literal>lazy=\"proxy\"</literal>, we can avoid the problems "
-"associated with typecasting. However, we will require buildtime bytecode "
-"instrumentation, and all operations will result in immediate proxy "
-"initialization."
+"Al escoger <literal>lazy=\"no-proxy\"</literal> en vez del <literal>lazy="
+"\"proxy\"</literal> predeterminado, podemos evitar los problemas asociados "
+"con conversión de tipos (typecasting). Sin embargo, requiere la "
+"instrumentación de código byte en tiempo estimado de construcción y todas "
+"las operaciones resultarán en una inicialización de proxies inmediata."
 
 #. Tag: title
-#: performance.xml:396
 #, no-c-format
 msgid "Initializing collections and proxies"
-msgstr "Inicializando colecciones y proxies"
+msgstr "Inicialización de colecciones y proxies"
 
 #. Tag: para
-#: performance.xml:398
-#, fuzzy, no-c-format
+#, no-c-format
 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>, i.e., when the entity owning the collection "
 "or having the reference to the proxy is in the detached state."
 msgstr ""
-"Una <literal>LazyInitializationException</literal> ser&#x00e1; lanzada por "
-"Hibernate si una colecci&#x00f3;n o proxy sin inicializar es accedido fuera "
-"del &#x00e1;mbito de la <literal>Session</literal>, es decir, cuando la "
-"entidad que posee la colecci&#x00f3;n o que tiene la referencia al proxy "
-"est&#x00e9; en el estado separada."
+"Hibernate lanzará una <literal>LazyInitializationException</literal> si se "
+"accede a una colección o proxy sin acceder fuera del ámbito de la "
+"<literal>Session</literal>, por ejemplo, cuando la entidad que posee la "
+"colección o que tiene la referencia al proxy esté en el estado separado."
 
 #. Tag: para
-#: performance.xml:404
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Sometimes a proxy or collection needs to be initialized before closing the "
 "<literal>Session</literal>. You can force initialization by calling "
@@ -854,16 +635,14 @@
 "literal>, for example. However, this can be confusing to readers of the code "
 "and it is not convenient for generic code."
 msgstr ""
-"A veces necesitamos asegurarnos que un proxy o colecci&#x00f3;n est&#x00e9; "
-"inicializado antes de cerrar la <literal>Session</literal>. Por supuesto, "
-"siempre podemos forzar la inicializaci&#x00f3;n llamando a <literal>cat."
-"getSex()</literal> o <literal>cat.getKittens().size()</literal>, por "
-"ejemplo. Pero esto es confuso a lectores del c&#x00f3;digo y no es "
-"conveniente para c&#x00f3;digo gen&#x00e9;rico."
+"A veces es necesario inicializar un proxy o una colección antes de cerrar la "
+"<literal>Session</literal>. Puede forzar la inicialización llamando a "
+"<literal>cat.getSex()</literal> o <literal>cat.getKittens().size()</"
+"literal>, por ejemplo. Sin embargo, esto puede ser confuso para los lectores "
+"del código y no es conveniente para el código genérico."
 
 #. Tag: para
-#: performance.xml:411
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The static methods <literal>Hibernate.initialize()</literal> and "
 "<literal>Hibernate.isInitialized()</literal>, provide the application with a "
@@ -873,18 +652,17 @@
 "literal> is still open. <literal>Hibernate.initialize( cat.getKittens() )</"
 "literal> has a similar effect for the collection of kittens."
 msgstr ""
-"Los m&#x00e9;todos est&#x00e1;ticos <literal>Hibernate.initialize()</"
-"literal> y <literal>Hibernate.isInitialized()</literal> proveen a la "
-"aplicaci&#x00f3;n de una forma conveniente de trabajar con colecciones o "
-"proxies inicializados perezosamente. <literal>Hibernate.initialize(cat)</"
-"literal> forzar&#x00e1; la inicializaci&#x00f3;n de un proxy, <literal>cat</"
-"literal>, en tanto su <literal>Session</literal> est&#x00e9; todav&#x00ed;a "
-"abierta. <literal>Hibernate.initialize( cat.getKittens() )</literal> tiene "
-"un efecto similar para la colecci&#x00f3;n de gatitos."
+"Los métodos estáticos <literal>Hibernate.initialize()</literal> y "
+"<literal>Hibernate.isInitialized()</literal> proporcionan a la aplicación "
+"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:420
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Another option is to keep the <literal>Session</literal> open until all "
 "required collections and proxies have been loaded. In some application "
@@ -894,19 +672,16 @@
 "<literal>Session</literal> is open when a collection is initialized. There "
 "are two basic ways to deal with this issue:"
 msgstr ""
-"Otra opci&#x00f3;n es mantener la <literal>Session</literal> abierta hasta "
-"que todas las colecciones y proxies necesarios hayan sido cargados. En "
-"algunas arquitecturas de aplicaci&#x00f3;n, particularmente en aquellas "
-"donde el c&#x00f3;digo que accede a los datos usando Hibernate, y el "
-"c&#x00f3;digo que los usa est&#x00e1;n en capas de aplicaci&#x00f3;n "
-"diferentes o procesos f&#x00ed;sicos diferentes, puede ser un problema "
-"asegurar que la <literal>Session</literal> est&#x00e9; abierta cuando se "
-"inicializa una colecci&#x00f3;n. Existen dos formas b&#x00e1;sicas de tratar "
-"este tema:"
+"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 utiliza 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 para abordar este tema: "
 
 #. Tag: para
-#: performance.xml:431
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "In a web-based application, a servlet filter can be used to close the "
 "<literal>Session</literal> only at the end of a user request, once the "
@@ -918,25 +693,19 @@
 "rendering of the view. See the Hibernate Wiki for examples of this \"Open "
 "Session in View\" pattern."
 msgstr ""
-"En una aplicaci&#x00f3;n basada web, puede usarse un filtro de servlets para "
-"cerrar la <literal>Session</literal> s&#x00f3;lo bien al final de una "
-"petici&#x00f3;n de usuario, una vez que el rendering de la vista est&#x00e9; "
-"completa (el patr&#x00f3;n <emphasis>Sesi&#x00f3;n Abierta en Vista (Open "
-"Session in View)</emphasis>). Por supuesto, estos sitios requieren una "
-"fuerte demanda de correcci&#x00f3;n del manejo de excepciones de tu "
-"infraestructura de aplicaci&#x00f3;n. Es de una importancia vital que la "
-"<literal>Session</literal> est&#x00e9; cerrada y la transacci&#x00f3;n "
-"terminada antes de volver al usuario, incluso cuando ocurra una "
-"excepci&#x00f3;n durante el rendering de la p&#x00e1;gina. Para este "
-"enfoque, el filtro de servlet tiene que ser capaz de accceder la "
-"<literal>Session</literal>. Recomendamos que se use una variable "
-"<literal>ThreadLocal</literal> para tener la <literal>Session</literal> "
-"actual (ver el cap&#x00ed;tulo 1, <xref linkend=\"quickstart-playingwithcats"
-"\"/>, para una implementaci&#x00f3;n de ejemplo)."
+"En una aplicación basada en la web se puede utilizar un filtro de servlets "
+"para cerrar la <literal>Session</literal> sólamente al final de una petición "
+"del usuario, una vez que la entrega 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 la infraestructura de su aplicación. Es de una vital "
+"importancia que la <literal>Session</literal> esté cerrada y la transacción "
+"terminada antes de volver al usuario, incluso cuando ocurra una excepción "
+"durante le entrega de la vista. Refiérase a la Wiki de Hibernate para ver "
+"ejemplos de este patrón \"Open Session in View\" (sesión abierta en vista). "
 
 #. Tag: para
-#: performance.xml:444
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "In an application with a separate business tier, the business logic must "
 "\"prepare\" all collections that the web tier needs before returning. This "
@@ -950,24 +719,22 @@
 "literal>. This is usually easier if you adopt the <emphasis>Command</"
 "emphasis> pattern instead of a <emphasis>Session Facade</emphasis>."
 msgstr ""
-"En una aplciaci&#x00f3;n con una grada de negocios separada, la l&#x00f3;"
-"gica de negocio debe \"preparar\" todas las colecciones que se vayan a "
-"necesitar por la grada web antes de volver. Esto significa que la grada de "
-"negocios debe cargar todos los datos y devolver a la grada de "
-"presentaci&#x00f3;n web todos los datos que se requieran para un caso de uso "
-"en particular ya inicializados. Usualmente, la aplicaci&#x00f3;n llama a "
-"<literal>Hibernate.initialize()</literal> para cada colecci&#x00f3;n que se "
-"necesitar&#x00e1; en la grada web (esta llamada debe ocurrir antes que la "
-"sesi&#x00f3;n sea cerrada) o recupera la colecci&#x00f3;n tempranamente "
-"usando una consulta de Hibernate con una cl&#x00e1;usula <literal>FETCH</"
-"literal> o una <literal>FetchMode.JOIN</literal> en <literal>Criteria</"
-"literal>. Esto es usualmente m&#x00e1;s f&#x00e1;cil si adoptas el "
-"patr&#x00f3;n <emphasis>Comando</emphasis> en vez de un <emphasis>Fachada de "
-"Sesi&#x00f3;n</emphasis>."
+"En una aplicación con una capa de negocios separada, la lógica empresarial "
+"tiene que \"preparar\" todas las colecciones que la capa web va a necesitar "
+"antes de retornar. Esto significa que la capa empresarial debe cargar todos "
+"los datos y devolver a la capa web/presentación todos los datos ya "
+"inicializados que se requieran para un caso de uso en particular. "
+"Usualmente, la aplicación llama a <literal>Hibernate.initialize()</literal> "
+"para cada colección que se necesitará en la capa web (esta llamada debe "
+"tener lugar antes de que se cierre la sesión) o recupera la colección "
+"tempranamente utilizando una consulta de Hibernate con una cláusula "
+"<literal>FETCH</literal> o una <literal>FetchMode.JOIN</literal> en "
+"<literal>Criteria</literal>. Usualmente, esto es más fácil si adopta el "
+"patrón <emphasis>Comando</emphasis> en vez de una <emphasis>Fachada de "
+"Sesión</emphasis>."
 
 #. Tag: para
-#: performance.xml:459
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can also attach a previously loaded object to a new <literal>Session</"
 "literal> with <literal>merge()</literal> or <literal>lock()</literal> before "
@@ -975,92 +742,64 @@
 "and certainly <emphasis>should</emphasis> not, do this automatically since "
 "it would introduce impromptu transaction semantics."
 msgstr ""
-"Puedes tambi&#x00e9;n adjuntar un objeto cargado previamente a una nueva "
+"También puede 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). "
-"&#x00a1;No, Hibernate no, y ciertamente <emphasis>no debe</emphasis> hacer "
-"esto autom&#x00e1;ticamente, ya que introducir&#x00ed;a sem&#x00e1;nticas de "
-"transacci&#x00f3;n ad hoc!"
+"literal> antes de acceder a colecciones no inicializadas u otros proxies. "
+"Hibernate no y ciertamente <emphasis>no debe</emphasis> hacer esto "
+"automáticamente ya que introduciría semánticas de transacción improvisadas."
 
 #. Tag: para
-#: performance.xml:469
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Sometimes you do not want to initialize a large collection, but still need "
 "some information about it, like its size, for example, or a subset of the "
 "data."
 msgstr ""
-"A veces no quieres inicializar una colecci&#x00f3;n grande, pero necesitas "
-"a&#x00fa;n alguna informacion sobre ella (como su tama&#x00f1;o) o un "
-"subconjunto de los datos."
+"A veces no quiere inicializar una colección grande, pero todavía necesita "
+"alguna información sobre ella como por ejemplo, su tamaño o un subconjunto "
+"de los datos."
 
 #. Tag: para
-#: performance.xml:474
 #, no-c-format
 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&#x00f1;o de una "
-"colecci&#x00f3;n sin inicializarla:"
+"Puede utilizar un filtro de colecciones para obtener el tamaño de una "
+"colección sin inicializarla:"
 
-#. Tag: programlisting
-#: performance.xml:478
-#, no-c-format
-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:480
 #, no-c-format
 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&#x00e9;todo <literal>createFilter()</literal> se usa tambi&#x00e9;n "
-"para recuperar eficientemente subconjuntos de una colecci&#x00f3;n sin "
-"necesidad de inicializar toda la colecci&#x00f3;n:"
+"El método <literal>createFilter()</literal> también se utiliza para "
+"recuperar eficientemente subconjuntos de una colección sin necesidad de "
+"inicializar toda la colección:"
 
-#. Tag: programlisting
-#: performance.xml:485
-#, no-c-format
-msgid ""
-"<![CDATA[s.createFilter( lazyCollection, \"\").setFirstResult(0)."
-"setMaxResults(10).list();]]>"
-msgstr ""
-"<![CDATA[s.createFilter( lazyCollection, \"\").setFirstResult(0)."
-"setMaxResults(10).list();]]>"
-
 #. Tag: title
-#: performance.xml:490
 #, no-c-format
 msgid "Using batch fetching"
-msgstr "Usando recuperaci&#x00f3;n en lotes"
+msgstr "Utilización de recuperación de lotes"
 
 #. Tag: para
-#: performance.xml:492
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Using batch fetching, Hibernate can load several uninitialized proxies if "
 "one proxy is accessed. Batch fetching is an optimization of the lazy select "
 "fetching strategy. There are two ways you can configure batch fetching: on "
 "the class level and the collection level."
 msgstr ""
-"Hibernate puede hacer un uso eficiente de la recuperaci&#x00f3;n en lotes, "
-"esto es, Hibernate puede cargar muchos proxies sin inicializar si se accede "
-"a un proxy (o colecciones). La recuperaci&#x00f3;n en lotes es una "
-"optimizaci&#x00f3;n de la estrategia de recuperaci&#x00f3;n por "
-"selecci&#x00f3;n perezosa. Hay dos formas en que puedes afinar la "
-"recuperaci&#x00f3;n en lotes: a nivel de la clase o de la colecci&#x00f3;n."
+"Usando la recuperación por lotes, Hibernate puede cargar varios proxies sin "
+"inicializar si se accede a un proxy. La recuperación en lotes es una "
+"optimización de la estrategia de recuperación por selección perezosa. Hay "
+"dos formas en que puede configurar la recuperación en lotes: a nivel de la "
+"clase y a nivel de colección."
 
 #. Tag: para
-#: performance.xml:498
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Batch fetching for classes/entities is easier to understand. Consider the "
 "following example: at runtime you have 25 <literal>Cat</literal> instances "
@@ -1073,38 +812,26 @@
 "can tune this behavior by specifying a <literal>batch-size</literal> in the "
 "mapping of <literal>Person</literal>:"
 msgstr ""
-"La recuperaci&#x00f3;n en lotes para clases/entidades es m&#x00e1;s f&#x00e1;"
-"cil de entender. Imagina que tienes la siguiente situaci&#x00f3;n en tiempo "
-"de ejecuci&#x00f3;n: Tienes 25 instancias de <literal>Cat</literal> cargadas "
-"en una <literal>Session</literal>, cada <literal>Cat</literal> tiene una "
-"referencia a su <literal>owner</literal>, una <literal>Person</literal>. La "
-"clase <literal>Person</literal> est&#x00e1; mapeada con un proxy, "
-"<literal>lazy=\"true\"</literal>. Si ahora iteras a trav&#x00e9;s de todos "
-"los gatos y llamas a <literal>getOwner()</literal> para cada uno, Hibernate "
-"por defecto ejecutar&#x00e1; 25 sentencias <literal>SELECT</literal> para "
-"traer los due&#x00f1;os tratados con proxies. Puedes afinar este "
-"comportamiento especificando un <literal>batch-size</literal> en el mapeo de "
+"La recuperación en lotes para clases/entidades es más fácil de entender. "
+"Considere el siguiente ejemplo: en tiempo de ejecución tiene 25 instancias "
+"de <literal>Cat</literal> cargadas en una <literal>Session</literal> y 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 itera a "
+"través de todos los cats y llama a <literal>getOwner()</literal> para cada "
+"uno, Hibernate por defecto, ejecutará 25 declaraciones <literal>SELECT</"
+"literal> para recuperar los dueños proxies. Puede afinar este comportamiento "
+"especificando un <literal>batch-size</literal> en el mapeo de "
 "<literal>Person</literal>:"
 
-#. Tag: programlisting
-#: performance.xml:508
+#. Tag: para
 #, no-c-format
-msgid "<![CDATA[<class name=\"Person\" batch-size=\"10\">...</class>]]>"
-msgstr "<![CDATA[<class name=\"Person\" batch-size=\"10\">...</class>]]>"
+msgid "Hibernate will now execute only three queries: the pattern is 10, 10, 5."
+msgstr "Hibernate ahora ejecutará sólamente tres consultas: el patrón es 10, 10, 5."
 
 #. Tag: para
-#: performance.xml:510
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
-"Hibernate will now execute only three queries: the pattern is 10, 10, 5."
-msgstr ""
-"Hibernate ahora ejecutar&#x00e1; s&#x00f3;lo tres consultas, el patr&#x00f3;"
-"n es 10, 10, 5."
-
-#. Tag: para
-#: performance.xml:514
-#, fuzzy, no-c-format
-msgid ""
 "You can also enable batch fetching of collections. For example, if each "
 "<literal>Person</literal> has a lazy collection of <literal>Cat</literal>s, "
 "and 10 persons are currently loaded in the <literal>Session</literal>, "
@@ -1113,34 +840,16 @@
 "fetching for the <literal>cats</literal> collection in the mapping of "
 "<literal>Person</literal>, Hibernate can pre-fetch collections:"
 msgstr ""
-"Tambi&#x00e9;n puedes habilitar la recuperaci&#x00f3;n en lotes para "
-"colecciones. Por ejemplo, si cada <literal>Person</literal> tiene una "
-"colecci&#x00f3;n perezosa de <literal>Cat</literal>s, y hay 10 personas "
-"actualmente cargadas en la <literal>Session</literal>, iterar a trav&#x00e9;"
-"s de las 10 personas generar&#x00e1; 10 <literal>SELECT</literal>s, una para "
-"cada llamada a <literal>getCats()</literal>. Si habilitas la "
-"recuperaci&#x00f3;n en lotes para la colecci&#x00f3;n de <literal>cats</"
-"literal> en el mapeo de <literal>Person</literal>, Hibernate puede recuperar "
-"por adelantado las colecciones:"
+"También puede 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, uno para cada llamada a <literal>getCats()</"
+"literal>. Si habilita 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:523
-#, no-c-format
-msgid ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <set name=\"cats\" batch-size=\"3\">\n"
-"        ...\n"
-"    </set>\n"
-"</class>]]>"
-msgstr ""
-"<![CDATA[<class name=\"Person\">\n"
-"    <set name=\"cats\" batch-size=\"3\">\n"
-"        ...\n"
-"    </set>\n"
-"</class>]]>"
-
 #. Tag: para
-#: performance.xml:525
 #, no-c-format
 msgid ""
 "With a <literal>batch-size</literal> of 3, Hibernate will load 3, 3, 3, 1 "
@@ -1148,55 +857,49 @@
 "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&#x00e1; 3, 3, 3, "
-"1 colecciones en cuatro <literal>SELECT</literal>s. Una vez m&#x00e1;s, el "
-"valor del atributo depende del n&#x00fa;mero esperado de colecciones sin "
-"inicializar en una <literal>Session</literal> en particular."
+"Con un <literal>batch-size</literal> de 3, Hibernate cargará las colecciones "
+"3, 3, 3, 1 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:531
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Batch fetching of collections is particularly useful if you have a nested "
 "tree of items, i.e. the typical bill-of-materials pattern. However, a "
 "<emphasis>nested set</emphasis> or a <emphasis>materialized path</emphasis> "
 "might be a better option for read-mostly trees."
 msgstr ""
-"La recuperaci&#x00f3;n de coleccione en lotes es particularmente &#x00fa;til "
-"si tienes un &#x00e1;rbol anidado de &#x00ed;tems, es decir, el t&#x00ed;"
-"pico patr&#x00f3;n de cuenta de materiales. (Aunque un <emphasis>conjunto "
-"anidado</emphasis> o una <emphasis>ruta materializada</emphasis> podr&#x00ed;"
-"a ser una mejor opci&#x00f3;n para &#x00e1;rboles que sean de lectura en la "
-"mayor&#x00ed;a de los casos.)"
+"La recuperación de colecciones en lotes es particularmente útil si tiene un "
+"árbol anidado de ítems, por ejemplo, el típico patrón de cuenta de "
+"materiales. Sin embargo, 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:540
 #, no-c-format
 msgid "Using subselect fetching"
-msgstr "Usando recuperaci&#x00f3;n por subselecci&#x00f3;n"
+msgstr "Utilización de la recuperación por subselección"
 
 #. Tag: para
-#: performance.xml:542
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If one lazy collection or single-valued proxy has to be fetched, Hibernate "
 "will load all of them, re-running the original query in a subselect. This "
 "works in the same way as batch-fetching but without the piecemeal loading."
 msgstr ""
-"Si una colecci&#x00f3;n perezosa o proxy monovaluado tiene que ser "
-"recuperado, Hibernate los carga a todos, volviendo a ejecutar la consulta "
-"original en una subselecci&#x00f3;n. Esto funciona de la misma forma que la "
-"recuperaci&#x00f3;n en lotes, sin carga fragmentaria."
+"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:553
 #, no-c-format
 msgid "Using lazy property fetching"
-msgstr "Usando recuperaci&#x00f3;n perezosa de propiedades"
+msgstr "Utilización de la recuperación perezosa de propiedades"
 
 #. Tag: para
-#: performance.xml:555
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate3 supports the lazy fetching of individual properties. This "
 "optimization technique is also known as <emphasis>fetch groups</emphasis>. "
@@ -1206,141 +909,71 @@
 "when legacy tables have hundreds of columns and the data model cannot be "
 "improved."
 msgstr ""
-"Hibernate3 soporta la recuperaci&#x00f3;n perezosa de propiedades "
-"individuales. Esta t&#x00e9;cnica de optimizaci&#x00f3;n es tambi&#x00e9;n "
-"conocida como <emphasis>grupos de recuperaci&#x00f3;n (fetch groups)</"
-"emphasis>. Por favor, nota que &#x00e9;ste es mayormente un aspecto de "
-"marketing, ya que en la pr&#x00e1;ctica, optimizar lecturas de filas es "
-"mucho m&#x00e1;s importante que la optimizaci&#x00f3;n de lectura de "
-"columnas. Sin embargo, cargar s&#x00f3;lo algunas propiedades de una clase "
-"podr&#x00ed;a ser &#x00fa;til en casos extremos, cuando tablas heredadas "
-"tienen cientos de columnas y el modelo de datos no puede ser mejorado."
+"Hibernate3 soporta la recuperación perezosa de propiedades individuales. "
+"Esta técnica de optimización también es conocida como <emphasis>grupos de "
+"recuperación (fetch groups)</emphasis>. Por favor, note que éste es "
+"principalmente un aspecto de marketing, ya que en la práctica, optimizar las "
+"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. Por ejemplo, cuando las tablas heredadas tienen "
+"cientos de columnas y el modelo de datos no puede ser mejorado."
 
 #. Tag: para
-#: performance.xml:564
 #, no-c-format
 msgid ""
 "To enable lazy property loading, set the <literal>lazy</literal> attribute "
 "on your particular property mappings:"
 msgstr ""
-"Para habilitar la carga perezosa de propiedades, establece el atributo "
-"<literal>lazy</literal> en tus mapeos de propiedades:"
+"Para habilitar la carga perezosa de propiedades, establezca el atributo "
+"<literal>lazy</literal> en sus mapeos de propiedades:"
 
-#. Tag: programlisting
-#: performance.xml:569
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:571
-#, fuzzy, no-c-format
-msgid ""
 "Lazy property loading requires buildtime bytecode instrumentation. If your "
 "persistent classes are not enhanced, Hibernate will ignore lazy property "
 "settings and return to immediate fetching."
 msgstr ""
-"&#x00a1;La carga perezosa de propiedades requiere la instrumentaci&#x00f3;n "
-"del bytecode en tiempo de construcci&#x00f3;n! Si tus clases persistentes no "
-"son mejoradas, Hibernate ignorar&#x00e1; silenciosamente la "
-"configuraci&#x00f3;n perezosa de propiedades y caer&#x00e1; en "
-"recuperaci&#x00f3;n inmediata."
+"La carga perezosa de propiedades requiere la instrumentación del código byte "
+"en tiempo de construcción. Si sus clases persistentes no se mejoran, "
+"Hibernate ignorará la configuración perezosa de propiedades y retornará a la "
+"recuperación inmediata."
 
 #. Tag: para
-#: performance.xml:577
 #, no-c-format
 msgid "For bytecode instrumentation, use the following Ant task:"
-msgstr ""
-"Para la instrumentaci&#x00f3;n del bytecode, usa la siguiente tarea Ant:"
+msgstr "Para la instrumentación del código byte, utilice la siguiente tarea Ant:"
 
-#. Tag: programlisting
-#: performance.xml:581
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:583
-#, fuzzy, no-c-format
-msgid ""
 "A different way of avoiding 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 "
 "preferred solution."
 msgstr ""
-"Una forma diferente (&#x00bf;mejor?) de evitar lecturas innecesarias de "
-"columnas, al menos para transacciones de s&#x00f3;lo lectura es usar las "
-"funcionalidades de proyecci&#x00f3;n de consultas HQL o Criteria. Esto evita "
-"la necesidad de procesar el bytecode en tiempo de construcci&#x00f3;n y "
-"ciertamente es una soluci&#x00f3;n preferida."
+"Una forma diferente de evitar lecturas innecesarias de columnas, al menos "
+"para transacciones de sólo lectura es utilizar las funcionalidades de "
+"proyección de consultas HQL o Criteria. Esto evita la necesidad de procesar "
+"el código byte en tiempo de construcción y ciertamente es la solución "
+"preferida."
 
 #. Tag: para
-#: performance.xml:590
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can force the usual eager fetching of properties using <literal>fetch "
 "all properties</literal> in HQL."
 msgstr ""
-"Puedes forzar la usual recuperaci&#x00f3;n temprana de propiedades usando "
+"Puede forzar la usual recuperación temprana de propiedades utilizando "
 "<literal>fetch all properties</literal> en HQL."
 
 #. Tag: title
-#: performance.xml:600
 #, no-c-format
 msgid "The Second Level Cache"
-msgstr "El Cach&#x00e9; de Segundo Nivel"
+msgstr "El Caché de Segundo Nivel"
 
 #. Tag: para
-#: performance.xml:602
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A Hibernate <literal>Session</literal> is a transaction-level cache of "
 "persistent data. It is possible to configure a cluster or JVM-level "
@@ -1350,18 +983,17 @@
 "another application. They can, however, be configured to regularly expire "
 "cached data."
 msgstr ""
-"Una <literal>Session</literal> de Hibernate es una cach&#x00e9; de datos "
-"persistentes a nivel de transacci&#x00f3;n. Es posible configurar un cluster "
-"o cach&#x00e9; a nivel de JVM (a nivel de <literal>SessionFactory</literal>) "
-"sobre una base de clase-a-clase o colecci&#x00f3;n-a-colecci&#x00f3;n. "
-"Puedes incluso enchufar una cach&#x00e9; en cluster. S&#x00e9; cuidadoso. "
-"Las cach&#x00e9;s nunca est&#x00e1;n al tanto de los cambios hechos por otra "
-"aplicaci&#x00f3;n al almac&#x00e9;n persistente (aunque pueden ser "
-"configurados para expirar regularmente los datos en cach&#x00e9;)."
+"Una <literal>Session</literal> de Hibernate es un caché de datos "
+"persistentes a nivel de transacción. Es posible configurar un clúster o "
+"caché a nivel de MVJ (a nivel de <literal>SessionFactory</literal>) sobre "
+"una base de clase-por-clase o colección-por-colección. Incluso puede "
+"enchufar un caché en clúster. Tenga en cuenta de que los cachés nunca están "
+"al tanto de los cambios que otra aplicación haya realizado al almacén "
+"persistente. Sin embargo, se pueden configurar para que los datos en caché "
+"expiren regularmente."
 
 #. Tag: para
-#: performance.xml:610
-#, fuzzy, no-c-format
+#, no-c-format
 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."
@@ -1371,311 +1003,243 @@
 "can also implement your own and plug it in as outlined above. Note that "
 "versions prior to 3.2 use EhCache as the default cache provider."
 msgstr ""
-"Por defecto, Hibernate usa EHCache para caching a nivel de JVM. (El soporte "
-"a JCS ahora est&#x00e1; despreciado y ser&#x00e1; quitado en una futura "
-"versi&#x00f3;n de Hibernate.) Puedes elegir una implementaci&#x00f3;n "
-"diferente estableciendo el nombre de una clase que implemente <literal>org."
-"hibernate.cache.CacheProvider</literal> usando la propiedad "
-"<literal>hibernate.cache.provider_class</literal>."
+"Tiene la opción de decirle a Hibernate cual implementación de caché utilizar "
+"al especificar el nombre de una clase que implemente <literal>org.hibernate."
+"cache.CacheProvider</literal> utilizando la propiedad <literal>hibernate."
+"cache.provider_class</literal>. Hibernate viene vinculada con un número de "
+"integraciones incorporadas con los proveedores caché de código abierto "
+"enumerados a continuación. Además puede implementar el suyo y enchufarlo "
+"como se explicó anteriormente. Observe que las versiones anteriores a 3.2 "
+"por defecto utilizan EhCache como proveedor de caché."
 
 #. Tag: title
-#: performance.xml:621
 #, no-c-format
 msgid "Cache Providers"
-msgstr "Proveedores de Cach&#x00e9;"
+msgstr "Proveedores de Caché"
 
 #. Tag: entry
-#: performance.xml:630 performance.xml:818
 #, no-c-format
 msgid "Cache"
-msgstr "Cach&#x00e9;"
+msgstr "Caché"
 
 #. Tag: entry
-#: performance.xml:631
 #, no-c-format
 msgid "Provider class"
-msgstr "clase del Provedor"
+msgstr "Clase del Provedor"
 
 #. Tag: entry
-#: performance.xml:632
 #, no-c-format
 msgid "Type"
 msgstr "Tipo"
 
 #. Tag: entry
-#: performance.xml:633
 #, no-c-format
 msgid "Cluster Safe"
-msgstr "Cluster Seguro"
+msgstr "Clúster Seguro"
 
 #. Tag: entry
-#: performance.xml:634
 #, no-c-format
 msgid "Query Cache Supported"
-msgstr "Cach&#x00e9; de Consultas Soportado"
+msgstr "Caché de Consultas Soportado"
 
 #. Tag: entry
-#: performance.xml:639 performance.xml:827
 #, no-c-format
 msgid "Hashtable (not intended for production use)"
-msgstr "Hashtable (no pensado para uso en producci&#x00f3;n)"
+msgstr "Hashtable (no fue pensado para la utilización en producción)"
 
-#. Tag: literal
-#: performance.xml:640
+#. Tag: entry
 #, no-c-format
-msgid "org.hibernate.cache.HashtableCacheProvider"
-msgstr "org.hibernate.cache.HashtableCacheProvider"
+msgid "<literal>org.hibernate.cache.HashtableCacheProvider</literal>"
+msgstr "<literal>org.hibernate.cache.HashtableCacheProvider</literal>"
 
 #. Tag: entry
-#: performance.xml:641
 #, no-c-format
 msgid "memory"
 msgstr "memoria"
 
 #. Tag: entry
-#: performance.xml:643 performance.xml:650 performance.xml:657
-#: performance.xml:828 performance.xml:829 performance.xml:830
-#: performance.xml:835 performance.xml:836 performance.xml:837
-#: performance.xml:842 performance.xml:843 performance.xml:844
-#: performance.xml:849 performance.xml:850 performance.xml:856
-#: performance.xml:859 performance.xml:863 performance.xml:866
 #, no-c-format
-msgid "<entry>yes</entry>"
-msgstr "<entry>si</entry>"
+msgid "yes"
+msgstr "si"
 
 #. Tag: entry
-#: performance.xml:646 performance.xml:834
 #, no-c-format
 msgid "EHCache"
 msgstr "EHCache"
 
-#. Tag: literal
-#: performance.xml:647
+#. Tag: entry
 #, no-c-format
-msgid "org.hibernate.cache.EhCacheProvider"
-msgstr "org.hibernate.cache.EhCacheProvider"
+msgid "<literal>org.hibernate.cache.EhCacheProvider</literal>"
+msgstr "<literal>org.hibernate.cache.EhCacheProvider</literal>"
 
 #. Tag: entry
-#: performance.xml:648 performance.xml:655
 #, no-c-format
 msgid "memory, disk"
 msgstr "memoria, disco"
 
 #. Tag: entry
-#: performance.xml:653 performance.xml:841
 #, no-c-format
 msgid "OSCache"
 msgstr "OSCache"
 
-#. Tag: literal
-#: performance.xml:654
+#. Tag: entry
 #, no-c-format
-msgid "org.hibernate.cache.OSCacheProvider"
-msgstr "org.hibernate.cache.OSCacheProvider"
+msgid "<literal>org.hibernate.cache.OSCacheProvider</literal>"
+msgstr "<literal>org.hibernate.cache.OSCacheProvider</literal>"
 
 #. Tag: entry
-#: performance.xml:660 performance.xml:848
 #, no-c-format
 msgid "SwarmCache"
 msgstr "SwarmCache"
 
-#. Tag: literal
-#: performance.xml:661
+#. Tag: entry
 #, no-c-format
-msgid "org.hibernate.cache.SwarmCacheProvider"
-msgstr "org.hibernate.cache.SwarmCacheProvider"
+msgid "<literal>org.hibernate.cache.SwarmCacheProvider</literal>"
+msgstr "<literal>org.hibernate.cache.SwarmCacheProvider</literal>"
 
 #. Tag: entry
-#: performance.xml:662
 #, no-c-format
 msgid "clustered (ip multicast)"
-msgstr "clusterizado (ip multicast)"
+msgstr "en clúster (ip multicast)"
 
 #. Tag: entry
-#: performance.xml:663
 #, no-c-format
 msgid "yes (clustered invalidation)"
-msgstr "s&#x00ed; (invalidaci&#x00f3;n en cluster)"
+msgstr "sí (invalidación en clúster)"
 
 #. Tag: entry
-#: performance.xml:667 performance.xml:855
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "JBoss Cache 1.x"
-msgstr "TreeCache de JBoss"
+msgstr "JBoss Cache 1.x"
 
-#. Tag: literal
-#: performance.xml:668
+#. Tag: entry
 #, no-c-format
-msgid "org.hibernate.cache.TreeCacheProvider"
-msgstr "org.hibernate.cache.TreeCacheProvider"
+msgid "<literal>org.hibernate.cache.TreeCacheProvider</literal>"
+msgstr "<literal>org.hibernate.cache.TreeCacheProvider</literal>"
 
 #. Tag: entry
-#: performance.xml:669 performance.xml:676
 #, no-c-format
 msgid "clustered (ip multicast), transactional"
-msgstr "clusterizado (ip multicast), transaccional"
+msgstr "en clúster (ip multicast), transaccional"
 
 #. Tag: entry
-#: performance.xml:670
 #, no-c-format
 msgid "yes (replication)"
-msgstr "s&#x00ed; (replicaci&#x00f3;n)"
+msgstr "sí (replicación)"
 
 #. Tag: entry
-#: performance.xml:671 performance.xml:678
 #, no-c-format
 msgid "yes (clock sync req.)"
-msgstr "s&#x00ed; (requiere sincronizaci&#x00f3;n de reloj)"
+msgstr "sí (requiere sincronización de reloj)"
 
 #. Tag: entry
-#: performance.xml:674 performance.xml:862
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "JBoss Cache 2"
-msgstr "TreeCache de JBoss"
+msgstr "JBoss Cache 2"
 
-#. Tag: literal
-#: performance.xml:675
-#, fuzzy, no-c-format
-msgid "org.hibernate.cache.jbc2.JBossCacheRegionFactory"
-msgstr "org.hibernate.cache.EhCacheProvider"
+#. Tag: entry
+#, no-c-format
+msgid "<literal>org.hibernate.cache.jbc2.JBossCacheRegionFactory</literal>"
+msgstr "<literal>org.hibernate.cache.jbc2.JBossCacheRegionFactory</literal>"
 
 #. Tag: entry
-#: performance.xml:677
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "yes (replication or invalidation)"
-msgstr "s&#x00ed; (invalidaci&#x00f3;n en cluster)"
+msgstr "sí (replicación o invalidación)"
 
 #. Tag: title
-#: performance.xml:685
 #, no-c-format
 msgid "Cache mappings"
-msgstr "Mapeos de cach&#x00e9;"
+msgstr "Mapeos de caché"
 
 #. Tag: para
-#: performance.xml:687
 #, no-c-format
 msgid ""
 "The <literal>&lt;cache&gt;</literal> element of a class or collection "
 "mapping has the following form:"
 msgstr ""
-"El elemento <literal>&lt;cache&gt;</literal> de una mapeo de clase o "
-"colecci&#x00f3;n tiene la siguiente forma:"
+"El elemento <literal>&lt;cache&gt;</literal> de un mapeo de clase o "
+"colección tiene la siguiente forma:"
 
-#. Tag: programlisting
-#: performance.xml:698
-#, no-c-format
-msgid ""
-"<![CDATA[<cache \n"
-"    usage=\"transactional|read-write|nonstrict-read-write|read-only\"\n"
-"    region=\"RegionName\"\n"
-"    include=\"all|non-lazy\"\n"
-"/>]]>"
-msgstr ""
-"<![CDATA[<cache \n"
-"    usage=\"transactional|read-write|nonstrict-read-write|read-only\"\n"
-"/>]]>"
-
 #. Tag: para
-#: performance.xml:701
 #, no-c-format
 msgid ""
 "<literal>usage</literal> (required) specifies the caching strategy: "
 "<literal>transactional</literal>, <literal>read-write</literal>, "
 "<literal>nonstrict-read-write</literal> or <literal>read-only</literal>"
 msgstr ""
-"<literal>usage</literal> especifica la estrategia de caching: "
+"<literal>usage</literal> especifica la estrategia de caché: "
 "<literal>transactional</literal>, <literal>read-write</literal>, "
 "<literal>nonstrict-read-write</literal> o <literal>read-only</literal>"
 
 #. Tag: para
-#: performance.xml:710
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>region</literal> (optional: defaults to the class or collection "
 "role name): specifies the name of the second level cache region"
 msgstr ""
-"<literal>region</literal> (optional, defaults to the class or collection "
-"role name) specifies the name of the second level cache region"
+"<literal>region</literal> (opcional: por defecto es el nombre del rol de la "
+"clase o colección): especifica el nombre de la región de caché de segundo "
+"nivel."
 
 #. Tag: para
-#: performance.xml:717
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>include</literal> (optional: defaults to <literal>all</literal>) "
 "<literal>non-lazy</literal>: specifies that properties of the entity mapped "
 "with <literal>lazy=\"true\"</literal> cannot be cached when attribute-level "
 "lazy fetching is enabled"
 msgstr ""
-"<literal>include</literal> (optional, defaults to <literal>all</literal>) "
-"<literal>non-lazy</literal> specifies that properties of the entity mapped "
-"with <literal>lazy=\"true\"</literal> may not be cached when attribute-level "
-"lazy fetching is enabled"
+"<literal>include</literal> (opcional: por defecto es <literal>all</literal>) "
+"<literal>non-lazy</literal>: especifica que las propiedades de la entidad "
+"mapeadas con <literal>lazy=\"true\"</literal> no se pueden poner en caché "
+"cuando se habilita la recuperación perezoza a nivel de atributos."
 
 #. Tag: para
-#: performance.xml:727
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Alternatively, you can specify <literal>&lt;class-cache&gt;</literal> and "
 "<literal>&lt;collection-cache&gt;</literal> elements in <literal>hibernate."
 "cfg.xml</literal>."
 msgstr ""
-"Alternativamente (&#x00bf;preferiblemente?), puedes especificar los "
-"elementos <literal>&lt;class-cache&gt;</literal> y <literal>&lt;collection-"
-"cache&gt;</literal> en <literal>hibernate.cfg.xml</literal>."
+"Opcionalmente, puede especificar los elementos <literal>&lt;class-cache&gt;</"
+"literal> y <literal>&lt;collection-cache&gt;</literal> en <literal>hibernate."
+"cfg.xml</literal>."
 
 #. Tag: para
-#: performance.xml:732
 #, no-c-format
 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&#x00e9;</emphasis>."
+"concurrencia al caché</emphasis>."
 
 #. Tag: title
-#: performance.xml:739
 #, no-c-format
 msgid "Strategy: read only"
-msgstr "Estrategia: s&#x00f3;lo lectura (read only)"
+msgstr "Estrategia: sólo lectura"
 
 #. Tag: para
-#: performance.xml:741
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If your application needs to read, but not modify, instances of a persistent "
 "class, a <literal>read-only</literal> cache can be used. This is the "
 "simplest and optimal performing strategy. It is even safe for use in a "
 "cluster."
 msgstr ""
-"Si tu aplicaci&#x00f3;n necesita leer pero nunca modificar las instancias de "
-"una clase persistente, puede usarse un cach&#x00e9; <literal>read-only</"
-"literal>. Esta es la mejor y m&#x00e1;s simple estrategia. Es incluso "
-"perfectamente segura de usar en un cluster."
+"Si su aplicación necesita leer pero no modificar las instancias de una clase "
+"persistente, puede utilizar un caché <literal>read-only</literal> (de sólo "
+"lectura). Esta es la mejor estrategia y la más simple. Incluso es totalmente "
+"segura para utilizar en un clúster."
 
-#. Tag: programlisting
-#: performance.xml:747
-#, no-c-format
-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:753
 #, no-c-format
 msgid "Strategy: read/write"
 msgstr "Estrategia: lectura/escritura (read/write)"
 
 #. Tag: para
-#: performance.xml:755
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
@@ -1689,51 +1253,26 @@
 "should ensure that the underlying cache implementation supports locking. The "
 "built-in cache providers <emphasis>do not</emphasis> support locking."
 msgstr ""
-"Si la aplicaci&#x00f3;n necesita actualizar datos, un cach&#x00e9; "
-"<literal>read-write</literal> podr&#x00ed;a ser apropiado. Esta estrategia "
-"de cach&#x00e9; nunca debe ser usada si se requiere nivel de aislamiento "
-"serializable de transacciones. Si el cach&#x00e9; es usado en un entorno "
-"JTA, debes especificar la propiedad <literal>hibernate.transaction."
-"manager_lookup_class</literal>, mencionando una estrategia para obtener el "
-"<literal>TransactionManager</literal> de JTA. En otros entornos, debes "
-"asegurarte que la transacci&#x00f3;n est&#x00e9; completada cuando se llame "
-"a <literal>Session.close()</literal> o <literal>Session.disconnect()</"
-"literal>. Si deseas usar esta estrategia en un cluster, debes asegurarte que "
-"la implementaci&#x00f3;n de cach&#x00e9; subyacente soporta bloqueos. Los "
-"provedores de cach&#x00e9; internos predeterminados <emphasis>no</emphasis> "
-"no lo soportan."
+"Si la aplicación necesita actualizar datos, un caché <literal>read-write</"
+"literal> puede ser apropiado. Esta estrategia de caché nunca se debe "
+"utilizar si se requiere un nivel de aislamiento serializable de "
+"transacciones. Si el caché se usa en un entorno JTA, tiene que especificar "
+"la propiedad <literal>hibernate.transaction.manager_lookup_class</literal>, "
+"mencionando una estrategia para obtener el <literal>TransactionManager</"
+"literal> de JTA. En otros entornos, debe asegurarse de que la transacción "
+"esté completada cuando se llame a <literal>Session.close()</literal> o "
+"<literal>Session.disconnect()</literal>. Si desea utilizar esta estrategia "
+"en un clúster, debe asegurarse de que la implementación de caché subyacente "
+"soporta bloqueos. Los provedores de caché internos <emphasis>no</emphasis> "
+"soportan bloqueos."
 
-#. Tag: programlisting
-#: performance.xml:766
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:771
 #, no-c-format
 msgid "Strategy: nonstrict read/write"
-msgstr "Estrategia: lectura/escritura no estricta (nonstrict read/write)"
+msgstr "Estrategia: lectura/escritura no estricta"
 
 #. Tag: para
-#: performance.xml:773
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If the application only occasionally needs to update data (i.e. if it is "
 "extremely unlikely that two transactions would try to update the same item "
@@ -1744,103 +1283,87 @@
 "should ensure that the transaction is completed when <literal>Session.close()"
 "</literal> or <literal>Session.disconnect()</literal> is called."
 msgstr ""
-"Si la aplicaci&#x00f3;n necesita s&#x00f3;lo ocasionalmente actualizar datos "
-"(es decir, es extremadamente inprobable que dos transacciones intenten "
-"actualizar el mismo &#x00ed;tem simult&#x00e1;neamente) y no se requiere de "
-"un aislamiento de transacciones estricto, un cach&#x00e9; <literal>nonstrict-"
-"read-write</literal> podr&#x00ed;a ser apropiado. Si se usa el cach&#x00e9; "
-"en un entorno JTA, debes especificar <literal>hibernate.transaction."
-"manager_lookup_class</literal>. En otros entornos, debes asegurarte que la "
-"transacci&#x00f3;n se haya completado cuando se llame a <literal>Session."
-"close()</literal> o <literal>Session.disconnect()</literal>."
+"Si la aplicación necesita sólo ocasionalmente actualizar datos (es decir, es "
+"extremadamente improbable 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 utiliza el caché en un entorno JTA, tiene que especificar "
+"<literal>hibernate.transaction.manager_lookup_class</literal>. En otros "
+"entornos, debe asegurarse que se haya completado la transacción cuando se "
+"llame a <literal>Session.close()</literal> o <literal>Session.disconnect()</"
+"literal>."
 
 #. Tag: title
-#: performance.xml:785
 #, no-c-format
 msgid "Strategy: transactional"
 msgstr "Estrategia: transaccional"
 
 #. Tag: para
-#: performance.xml:787
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>transactional</literal> cache strategy provides support for "
 "fully transactional cache providers such as JBoss TreeCache. Such a cache "
 "can only be used in a JTA environment and you must specify "
 "<literal>hibernate.transaction.manager_lookup_class</literal>."
 msgstr ""
-"La estrategia de cach&#x00e9; <literal>transactional</literal> brinda "
-"soporte a provedores de cach&#x00e9;s completamente transaccionales como "
-"TreeCache de JBoss. Un cach&#x00e9; as&#x00ed;, puede s&#x00f3;lo ser usado "
-"en un entorno JTA y debes especificar <literal>hibernate.transaction."
-"manager_lookup_class</literal>."
+"La estrategia de caché <literal>transactional</literal> brinda soporte a "
+"provedores de cachés completamente transaccionales como JBoss TreeCache. Un "
+"caché así, sólo se puede utilizar en un entorno JTA y tiene que especificar "
+"<literal>hibernate.transaction.manager_lookup_class</literal>."
 
 #. Tag: title
-#: performance.xml:796
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Cache-provider/concurrency-strategy compatibility"
-msgstr "Soporte a Estrategia de Concurrencia a Cach&#x00e9;"
+msgstr "Compatibilidad de proveedor de caché/estrategia de concurrencia"
 
 #. Tag: para
-#: performance.xml:799
-#, fuzzy, no-c-format
-msgid ""
-"None of the cache providers support all of the cache concurrency strategies."
+#, no-c-format
+msgid "None of the cache providers support all of the cache concurrency strategies."
 msgstr ""
-"Ninguno de los provedores de cach&#x00e9; soporta todas las estrategias de "
-"concurrencia al cach&#x00e9;. La siguiente tabla muestra qu&#x00e9; "
-"provedores son compatibles con qu&#x00e9; estrategias de concurrencia."
+"Ninguno de los provedores de caché soporta todas las estrategias de "
+"concurrencia al caché. "
 
 #. Tag: para
-#: performance.xml:804
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The following table shows which providers are compatible with which "
 "concurrency strategies."
 msgstr ""
-"Ninguno de los provedores de cach&#x00e9; soporta todas las estrategias de "
-"concurrencia al cach&#x00e9;. La siguiente tabla muestra qu&#x00e9; "
-"provedores son compatibles con qu&#x00e9; estrategias de concurrencia."
+"La siguiente tabla muestra qué provedores son compatibles con qué "
+"estrategias de concurrencia."
 
 #. Tag: title
-#: performance.xml:809
 #, no-c-format
 msgid "Cache Concurrency Strategy Support"
-msgstr "Soporte a Estrategia de Concurrencia a Cach&#x00e9;"
+msgstr "Soporte a Estrategia de Concurrencia a Caché"
 
 #. Tag: entry
-#: performance.xml:819
 #, no-c-format
 msgid "read-only"
 msgstr "read-only"
 
 #. Tag: entry
-#: performance.xml:820
 #, no-c-format
 msgid "nonstrict-read-write"
 msgstr "nonstrict-read-write"
 
 #. Tag: entry
-#: performance.xml:821
 #, no-c-format
 msgid "read-write"
 msgstr "read-write"
 
 #. Tag: entry
-#: performance.xml:822
 #, no-c-format
 msgid "transactional"
 msgstr "transactional"
 
 #. Tag: title
-#: performance.xml:877
 #, no-c-format
 msgid "Managing the caches"
-msgstr "Gestionando los cach&#x00e9;s"
+msgstr "Gestión de cachés"
 
 #. Tag: para
-#: performance.xml:879
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Whenever you pass an object to <literal>save()</literal>, <literal>update()</"
 "literal> or <literal>saveOrUpdate()</literal>, and whenever you retrieve an "
@@ -1849,16 +1372,15 @@
 "</literal>, that object is added to the internal cache of the "
 "<literal>Session</literal>."
 msgstr ""
-"Siempre que pases un objeto a <literal>save()</literal>, <literal>update()</"
-"literal> o <literal>saveOrUpdate()</literal> y siempre que recuperes un "
-"objeto usando <literal>load()</literal>, <literal>get()</literal>, "
+"Siempre que pase un objeto a <literal>save()</literal>, <literal>update()</"
+"literal> o <literal>saveOrUpdate()</literal> y siempre que recupere un "
+"objeto utilizando <literal>load()</literal>, <literal>get()</literal>, "
 "<literal>list()</literal>, <literal>iterate()</literal> o <literal>scroll()</"
-"literal>, ese objeto es agregado al cach&#x00e9; interno de la "
-"<literal>Session</literal>."
+"literal>, ese objeto se agrega al caché interno de la <literal>Session</"
+"literal>."
 
 #. Tag: para
-#: performance.xml:886
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
@@ -1867,212 +1389,131 @@
 "can be used to remove the object and its collections from the first-level "
 "cache."
 msgstr ""
-"Cuando subsecuentemente se llame a <literal>flush()</literal>, el estado de "
-"ese objeto ser&#x00e1; sincronizado con la base de datos. Si no quieres que "
-"ocurra esta sincronizaci&#x00f3;n o si est&#x00e1;s procesando un n&#x00fa;"
-"mero enorme de objetos y necesitas gestionar la memoria eficientemente, "
-"puede usarse el m&#x00e9;todo <literal>evict()</literal> para quitar el "
-"objeto y sus colecciones del cach&#x00e9; de primer nivel."
+"Cuando luego se llame a <literal>flush()</literal>, el estado de ese objeto "
+"será sincronizado con la base de datos. Si no quiere que ocurra esta "
+"sincronización o si está procesando un número enorme de objetos y necesita "
+"gestionar la memoria eficientemente, puede utilizar el método <literal>evict"
+"()</literal> para quitar el objeto y sus colecciones del caché de primer "
+"nivel. "
 
-#. Tag: programlisting
-#: performance.xml:894
-#, no-c-format
-msgid ""
-"<![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"
-"}]]>"
-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:896
 #, no-c-format
 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&#x00e9;n provee un m&#x00e9;todo "
-"<literal>contains()</literal> para determinar si una instancia pertenece al "
-"cach&#x00e9; de la sesi&#x00f3;n."
+"La <literal>Session</literal> también proporciona un método <literal>contains"
+"()</literal> para determinar si una instancia pertenece al caché de la "
+"sesión."
 
 #. Tag: para
-#: performance.xml:901
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "To evict all objects from the session cache, call <literal>Session.clear()</"
 "literal>"
 msgstr ""
-"Para desahuciar (evict) todos los objetos del cach&#x00e9; de sesi&#x00f3;n, "
-"llama a <literal>Session.clear()</literal>."
+"Para expulsar todos los objetos del caché de sesión, llame a "
+"<literal>Session.clear()</literal>. "
 
 #. Tag: para
-#: performance.xml:905
 #, no-c-format
 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&#x00e9; de segundo nivel, hay m&#x00e9;todos definidos en "
-"<literal>SessionFactory</literal> para desahuciar el estado en cach&#x00e9; "
-"de una instancia, clase entera, instancia de colecci&#x00f3;n o rol enter de "
-"colecci&#x00f3;n."
+"Para el caché de segundo nivel, hay métodos definidos en "
+"<literal>SessionFactory</literal> para explusar el estado en caché de una "
+"instancia, clase entera, instancia de colección o rol entero de colección."
 
-#. Tag: programlisting
-#: performance.xml:911
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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]]>"
-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:913
-#, fuzzy, no-c-format
-msgid ""
 "The <literal>CacheMode</literal> controls how a particular session interacts "
 "with the second-level cache:"
 msgstr ""
-"El <literal>CacheMode</literal> controla c&#x00f3;mo una sesi&#x00f3;n en "
-"particular interact&#x00fa;a con el cach&#x00e9; de segundo nivel."
+"El <literal>CacheMode</literal> controla la manera en que interactúa una "
+"sesión en particular con el caché de segundo nivel:"
 
 #. Tag: para
-#: performance.xml:920
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>CacheMode.NORMAL</literal>: will read items from and write items to "
 "the second-level cache"
 msgstr ""
-"<literal>CacheMode.NORMAL</literal> - lee &#x00ed;tems desde y escribe "
-"&#x00ed;tems hacia el cach&#x00e9; de segundo nivel"
+"<literal>CacheMode.NORMAL</literal>: lee ítems desde y escribe ítems hacia "
+"el caché del segundo nivel"
 
 #. Tag: para
-#: performance.xml:925
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>CacheMode.GET</literal>: will read items from the second-level "
 "cache. Do not write to the second-level cache except when updating data"
 msgstr ""
-"<literal>CacheMode.GET</literal> - lee &#x00ed;tems del cach&#x00e9; de "
-"segundo nivel, pero no escribe al cach&#x00e9; de segundo nivel excepto al "
-"actualizar datos"
+"<literal>CacheMode.GET</literal>: lee ítems del caché del segundo nivel. No "
+"escribe al caché de segundo nivel excepto cuando actualiza datos"
 
 #. Tag: para
-#: performance.xml:931
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>CacheMode.PUT</literal>: will write items to the second-level "
 "cache. Do not read from the second-level cache"
 msgstr ""
-"<literal>CacheMode.PUT</literal> - escribe &#x00ed;tems al cach&#x00e9; de "
-"segundo nivel, pero no lee del cach&#x00e9; de segundo nivel"
+"<literal>CacheMode.PUT</literal>: escribe ítems al caché de segundo nivel. "
+"No lee del caché de segundo nivel"
 
 #. Tag: para
-#: performance.xml:937
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>CacheMode.REFRESH</literal>: will write items to the second-level "
 "cache. Do not 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 &#x00ed;tems al cach&#x00e9; "
-"de segundo nivel, pero no lee del cach&#x00e9; de segundo nivel, salt&#x00e1;"
-"ndose el efecto de <literal>hibernate.cache.use_minimal_puts</literal>, "
-"forzando un refresco del cach&#x00e9; de segundo nivel para todos los "
-"&#x00ed;tems le&#x00ed;dos de la base de datos"
+"<literal>CacheMode.REFRESH</literal>: escribe ítems al caché de segundo "
+"nivel. No lee del caché de segundo nivel, saltándose el efecto de "
+"<literal>hibernate.cache.use_minimal_puts</literal>, forzando la "
+"actualización del caché de segundo nivel para todos los ítems leídos de la "
+"base de datos"
 
 #. Tag: para
-#: performance.xml:945
 #, no-c-format
 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&#x00f3;n de cach&#x00e9; 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, use la API de <literal>Statistics</literal>:"
 
-#. Tag: programlisting
-#: performance.xml:950
+#. Tag: para
 #, no-c-format
 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:952
-#, fuzzy, no-c-format
-msgid ""
 "You will need to enable statistics and, optionally, force Hibernate to keep "
 "the cache entries in a more readable format:"
 msgstr ""
-"Necesitar&#x00e1;s habilitar las estad&#x00ed;sticas y, opcionalmente, "
-"forzar a Hibernate para que guarde las entradas del cach&#x00e9; en un "
-"formato m&#x00e1;s entendible por humanos:"
+"Necesitará habilitar las estadísticas y, opcionalmente, forzar a Hibernate "
+"para que guarde las entradas del caché en un formato más fácil de entender "
+"para humanos: "
 
-#. Tag: programlisting
-#: performance.xml:957
-#, no-c-format
-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:962
 #, no-c-format
 msgid "The Query Cache"
-msgstr "El Cach&#x00e9; de Consultas"
+msgstr "El Caché de Consultas"
 
 #. Tag: para
-#: performance.xml:964
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Query result sets can also be cached. This is only useful for queries that "
 "are run frequently with the same parameters. You will first need to enable "
 "the query cache:"
 msgstr ""
-"Los conjuntos resultado de consultas tambi&#x00e9;n pueden tratarse en "
-"cach&#x00e9;. Esto s&#x00f3;lo es &#x00fa;til para consultas que se ejecutan "
-"frecuentemente con los mismos par&#x00e1;metros. Para usar el cach&#x00e9; "
-"de consultas primero debes habilitarlo:"
+"Los conjuntos de resultados de peticiones también pueden ponerse en caché. "
+"Esto sólamente es útil para consultas que se ejecutan frecuentemente con los "
+"mismos parámetros. Para utilizar el caché de consultas primero tiene que "
+"habilitarlo:"
 
-#. Tag: programlisting
-#: performance.xml:969
-#, no-c-format
-msgid "<![CDATA[hibernate.cache.use_query_cache true]]>"
-msgstr "<![CDATA[hibernate.cache.use_query_cache true]]>"
-
 #. Tag: para
-#: performance.xml:971
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This setting creates two new cache regions: one holding cached query result "
 "sets (<literal>org.hibernate.cache.StandardQueryCache</literal>), the other "
@@ -2082,68 +1523,43 @@
 "result set; it caches only identifier values and results of value type. The "
 "query cache should always be used in conjunction with the second-level cache."
 msgstr ""
-"Esta configuraci&#x00f3;n causa la creaci&#x00f3;n de dos nuevas regiones de "
-"cach&#x00e9; - una teniendo en cach&#x00e9; conjuntos resultado de consulta "
-"(<literal>org.hibernate.cache.StandardQueryCache</literal>), el otro "
-"teniendo timestamps de las actualizaciones m&#x00e1;s recientes a tablas "
-"consultables (<literal>org.hibernate.cache.UpdateTimestampsCache</literal>). "
-"Nota que el cach&#x00e9; de consultas no pone en cach&#x00e9; el estado de "
-"las entidades reales en el conjunto resultado; s&#x00f3;lo tiene en "
-"cach&#x00e9; valores indentificadores y resultados de tipo de valor. De modo "
-"que el cach&#x00e9; de consultas siempre debe ser usado en conjunci&#x00f3;n "
-"con el cach&#x00e9; de segundo nivel."
+"Esta configuración crea dos nuevas regiones de caché: una que tiene en caché "
+"los conjuntos resultados de consultas (<literal>org.hibernate.cache."
+"StandardQueryCache</literal>), el otro tiene los sellos de fecha de las "
+"actualizaciones más recientes a las tablas consultables (<literal>org."
+"hibernate.cache.UpdateTimestampsCache</literal>). Note que el caché de "
+"consultas no pone en caché el estado de las entidades reales en el conjunto "
+"que resulta; sólo tiene en caché los valores indentificadores y los "
+"resultados de tipo de valor. De modo que el caché de consultas siempre debe "
+"ser utilizado en conjunto con el caché de segundo nivel."
 
 #. Tag: para
-#: performance.xml:981
-#, fuzzy, no-c-format
+#, no-c-format
 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&#x00ed;a de consultas no se benefician del tratamiento en "
-"cach&#x00e9;, de modo que por defecto las consultas no son tratadas en "
-"cach&#x00e9;. Para habilitar el tratamiento en cach&#x00e9;, llama a "
-"<literal>Query.setCacheable(true)</literal>. Esta llamada permite a la "
-"consulta buscar resultados existentes en cach&#x00e9; o agregar sus "
-"resultados al cach&#x00e9; cuando se ejecuta."
+"La mayoría de consultas no se benefician del caché, de modo que por defecto "
+"las consultas no se ponen en caché. Para habilitar el caché, llame a "
+"<literal>Query.setCacheable(true)</literal>. Esta llamada permite que la "
+"consulta busque resultados existentes en caché o que agregue sus resultados "
+"al caché cuando se ejecuta."
 
 #. Tag: para
-#: performance.xml:988
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you require fine-grained control over query cache expiration policies, "
 "you can 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&#x00ed;ticas "
-"de expiraci&#x00f3;n del cach&#x00e9; de consultas, puedes especificar una "
-"regi&#x00f3;n de cach&#x00e9; con nombre para una consulta en particular "
-"llamando a <literal>Query.setCacheRegion()</literal>."
+"Si necesita un control muy detallado sobre las políticas de expiración del "
+"caché de consultas, puede especificar una región de caché con nombre para "
+"una consulta en particular llamando a <literal>Query.setCacheRegion()</"
+"literal>."
 
-#. Tag: programlisting
-#: performance.xml:994
-#, no-c-format
-msgid ""
-"<![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();]]>"
-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:996
 #, no-c-format
 msgid ""
 "If the query should force a refresh of its query cache region, you should "
@@ -2154,63 +1570,57 @@
 "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&#x00f3;n del cach&#x00e9; "
-"de consultas, debes llamar a <literal>Query.setCacheMode(CacheMode.REFRESH)</"
-"literal>. Esto es particularmente &#x00fa;til en casos donde los datos "
-"subyacentes pueden haber sido actualizados por medio de un proceso separado "
-"(es decir, no modificados a trav&#x00e9;s de Hibernate) y permite a la "
-"aplicaci&#x00f3;n refrescar selectivamente conjuntos resultado de consultas "
-"en particular. Esto es una alternativa m&#x00e1;s eficient al "
-"desahuciamiento de una regi&#x00f3;n del cach&#x00e9; de consultas v&#x00ed;"
-"a <literal>SessionFactory.evictQueries()</literal>."
+"Si la consulta debe forzar un refresco de su región del caché de consultas, "
+"usteddebe 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 que que expulsión de una región del caché de "
+"consultas vía <literal>SessionFactory.evictQueries()</literal>."
 
 #. Tag: title
-#: performance.xml:1008
 #, no-c-format
 msgid "Understanding Collection performance"
-msgstr "Entendiendo el rendimiento de Colecciones"
+msgstr "Comprensión del rendimiento de Colecciones"
 
 #. Tag: para
-#: performance.xml:1010
 #, no-c-format
 msgid ""
 "In the previous sections we have covered collections and their applications. "
 "In this section we explore some more issues in relation to collections at "
 "runtime."
 msgstr ""
+"En las secciones anteriores hemos abordado las colecciones y sus "
+"aplicaciones. En esta sección exploramos algunos puntos en relación con las "
+"colecciones en tiempo de ejecución. "
 
 #. Tag: title
-#: performance.xml:1017
 #, no-c-format
 msgid "Taxonomy"
-msgstr "Taxonomia"
+msgstr "Taxonomía"
 
 #. Tag: para
-#: performance.xml:1019
 #, no-c-format
 msgid "Hibernate defines three basic kinds of collections:"
-msgstr "Hibernate define tres tipos b&#x00e1;sicos de colecciones:"
+msgstr "Hibernate define tres tipos básicos de colecciones:"
 
 #. Tag: para
-#: performance.xml:1023
 #, no-c-format
 msgid "collections of values"
 msgstr "colecciones de valores"
 
 #. Tag: para
-#: performance.xml:1026
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "one-to-many associations"
-msgstr "asociaciones uno a muchos"
+msgstr "Asociaciones uno-a-muchos "
 
 #. Tag: para
-#: performance.xml:1029
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "many-to-many associations"
-msgstr "asociaciones muchos a muchos"
+msgstr "Aociaciones muchos-a-muchos"
 
 #. Tag: para
-#: performance.xml:1033
 #, no-c-format
 msgid ""
 "This classification distinguishes the various table and foreign key "
@@ -2220,35 +1630,30 @@
 "primary key that is used by Hibernate to update or delete collection rows. "
 "This suggests the following classification:"
 msgstr ""
-"Esta clasificaci&#x00f3;n distingue las varias tablas y relaciones de clave "
-"for&#x00e1;nea pero no nos dice absolutamente todo lo que necesitamos saber "
-"sobre el modelo relacional. Para entender completamente la estructura "
-"relacional y las caracter&#x00ed;sticas de rendimiento, debemos considerar "
-"la estructura de la clave primaria que es usada por Hibernate para "
-"actualizar o borrar filas de colecci&#x00f3;n. Esto sugiere la siguiente "
-"clasificaci&#x00f3;n:"
+"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 Hibernate utiliza para actualizar o borrar filas de colección. "
+"Esto sugiere la siguiente clasificación:"
 
 #. Tag: para
-#: performance.xml:1044
 #, no-c-format
 msgid "indexed collections"
 msgstr "colecciones indexadas"
 
 #. Tag: para
-#: performance.xml:1047
 #, no-c-format
 msgid "sets"
 msgstr "conjuntos (sets)"
 
 #. Tag: para
-#: performance.xml:1050
 #, no-c-format
 msgid "bags"
 msgstr "bolsas (bags)"
 
 #. Tag: para
-#: performance.xml:1054
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "All indexed collections (maps, lists, and arrays) have a primary key "
 "consisting of the <literal>&lt;key&gt;</literal> and <literal>&lt;index&gt;</"
@@ -2256,16 +1661,15 @@
 "The primary key can be efficiently indexed and a particular row can be "
 "efficiently located when Hibernate tries to update or delete it."
 msgstr ""
-"Todas las colecciones indexadas (mapas, listas, arrays) tienen una clave "
-"primaria consistente de las columnas <literal>&lt;key&gt;</literal> y "
+"Todas las colecciones indexadas (mapas, listas y arrays) tienen una clave "
+"principal que consiste de las columnas <literal>&lt;key&gt;</literal> e "
 "<literal>&lt;index&gt;</literal>. En este caso las actualizaciones de "
-"colecciones son usualmente extremadamente eficientes. La clave primaria "
-"puede ser indexada f&#x00e1;cilmente y una fila en particular puede ser "
-"localizada cuando Hibernate intenta actualizarla o borrarla."
+"colecciones son extremadamente eficientes. La clave principal puede ser "
+"indexada eficientemente y una fila en particular puede ser localizada cuando "
+"Hibernate intenta actualizarla o borrarla."
 
 #. Tag: para
-#: performance.xml:1062
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Sets have a primary key consisting of <literal>&lt;key&gt;</literal> and "
 "element columns. This can be less efficient for some types of collection "
@@ -2277,21 +1681,19 @@
 "<literal>&lt;set&gt;</literal>, you must declare all columns as <literal>not-"
 "null=\"true\"</literal>."
 msgstr ""
-"Los conjuntos (sets) tienen una clave primaria consistente en <literal>&lt;"
-"key&gt;</literal> y columnas de elemento. Esto puede ser menos eficiente "
-"para algunos tipos de elemento de colecci&#x00f3;n, particularmente "
-"elementos compuestos o texto largo, o campos binarios. La base de datos "
-"puede no ser capaz de indexar una clave primaria compleja eficientemente. "
-"Por otra parte, para asociaciones uno a muchos o muchos a muchos, "
-"particularmente en el caso de identificadores sint&#x00e9;ticos, es probable "
-"que s&#x00f3;lo sea tan eficiente. (Nota al m&#x00e1;rgen: si quieres que "
-"<literal>SchemaExport</literal> realmente cree la clave primaria de un "
-"<literal>&lt;set&gt;</literal> por ti, debes declarar todas las columnas "
-"como <literal>not-null=\"true\"</literal>.)"
+"Los conjuntos tienen una clave principal que consiste de <literal>&lt;key&gt;"
+"</literal> y columnas de elementos. Esto puede ser menos eficiente para "
+"algunos tipos de elementos de colección, particularmente elementos "
+"compuestos o texto largo o campos binarios ya que la base de datos puede no "
+"ser capaz de indexar una clave principal compleja eficientemente. Sin "
+"embargo, para asociaciones uno a muchos o muchos a muchos, particularmente "
+"en el caso de los identificadores sintéticos, es probable que sólo sea igual "
+"de eficiente. Si quiere que <literal>SchemaExport</literal> realmente cree "
+"la clave principal de un <literal>&lt;set&gt;</literal>, tiene que declarar "
+"todas las columnas como <literal>not-null=\"true\"</literal>."
 
 #. Tag: para
-#: performance.xml:1073
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>&lt;idbag&gt;</literal> mappings define a surrogate key, so they "
 "are efficient to update. In fact, they are the best case."
@@ -2301,8 +1703,7 @@
 "mejor caso."
 
 #. Tag: para
-#: performance.xml:1078
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Bags are the worst case since they permit duplicate element values and, as "
 "they have no index column, no primary key can be defined. Hibernate has no "
@@ -2310,53 +1711,46 @@
 "problem by completely removing in a single <literal>DELETE</literal> and "
 "recreating the collection whenever it changes. This can be inefficient."
 msgstr ""
-"Los bags son el peor caso. Ya que un bag permite valores de elementos "
-"duplicados y no tiene ninguna columna &#x00ed;ndice, no puede definirse "
-"ninguna clave primaria. Hibernate no tiene forma de distinguir entre filas "
-"duplicadas. Hibernate resuelve este problema quitando completamente (en un "
-"solo <literal>DELETE</literal>) y recreando la colecci&#x00f3;n siempre que "
-"cambia. Esto podr&#x00ed;a ser muy ineficiente."
+"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 principal. Hibernate no tiene forma de distinguir entre filas "
+"duplicadas. Hibernate resuelve este problema quitando por completo con un "
+"sólo <literal>DELETE</literal> y recreando la colección siempre que cambia. "
+"Esto puede ser muy ineficiente."
 
 #. Tag: para
-#: performance.xml:1086
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "For a one-to-many association, the \"primary key\" may not be the physical "
 "primary key of the database table. Even in this case, the above "
 "classification is still useful. It reflects how Hibernate \"locates\" "
 "individual rows of the collection."
 msgstr ""
-"Nota que para una asociaci&#x00f3;n uno-a-muchos, la \"clave primaria\" "
-"puede no ser la clave primaria f&#x00ed;sica de la tabla de base de datos; "
-"pero incluso en este caso, la clasificaci&#x00f3;n anterior es &#x00fa;til "
-"todav&#x00ed;a. (A&#x00fa;n refleja c&#x00f3;mo Hibernate \"localiza\" filas "
-"individuales de la colecci&#x00f3;n.)"
+"Para una asociación uno-a-muchos, la \"clave principal\" puede no ser la "
+"clave principal física de la tabla de la base de datos. Incluso en este "
+"caso, la clasificación anterior es útil todavía. Refleja cómo Hibernate "
+"\"localiza\" filas individuales de la colección."
 
 #. Tag: title
-#: performance.xml:1096
 #, no-c-format
-msgid ""
-"Lists, maps, idbags and sets are the most efficient collections to update"
+msgid "Lists, maps, idbags and sets are the most efficient collections to update"
 msgstr ""
-"Las listas, mapas, idbags y conjuntos son las colecciones m&#x00e1;s "
-"eficientes de actualizar"
+"Las listas, mapas, idbags y conjuntos son las colecciones más eficientes de "
+"actualizar"
 
 #. Tag: para
-#: performance.xml:1098
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "From the discussion above, it should be clear that indexed collections and "
 "sets allow the most efficient operation in terms of adding, removing and "
 "updating elements."
 msgstr ""
-"Desde la discusi&#x00f3;n anterior, debe quedar claro que las colecciones "
-"indexadas y (usualmente) los conjuntos permiten la operaci&#x00f3;n m&#x00e1;"
-"s eficiente en t&#x00e9;rminos de a&#x00f1;adir, quitar y actualizar "
-"elementos."
+"De la discusión anterior, debe quedar claro que las colecciones indexadas y "
+"los conjuntos permiten una operación más eficiente en términos de agregar, "
+"quitar y actualizar elementos."
 
 #. Tag: para
-#: performance.xml:1104
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
@@ -2366,18 +1760,17 @@
 "literal> of individual rows. Once again, this consideration does not apply "
 "to one-to-many associations."
 msgstr ""
-"Hay, discutiblemente, una ventaja m&#x00e1;s que las colecciones indexadas "
-"tienen sobre otros conjuntos para las asociaciones muchos a muchos o "
-"colecciones de valores. Debido a la estructura de un <literal>Set</literal>, "
-"Hibernate ni siquiera actualiza una fila con <literal>UPDATE</literal> "
-"cuando se \"cambia\" un elemento. Los cambios a un <literal>Set</literal> "
-"siempre funcionan por medio de <literal>INSERT</literal> y <literal>DELETE</"
-"literal> (de filas individuales). Una vez m&#x00e1;s, esta "
-"consideraci&#x00f3;n no se aplica a las asociaciones uno a muchos."
+"Discutiblemente, hay una ventaja más de las colecciones indexadas 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:1113
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "After observing that arrays cannot be lazy, you can conclude that lists, "
 "maps and idbags are the most performant (non-inverse) collection types, with "
@@ -2385,17 +1778,15 @@
 "collection in Hibernate applications. This is because the \"set\" semantics "
 "are most natural in the relational model."
 msgstr ""
-"Despu&#x00e9;s de observar que los arrays no pueden ser perezosos, "
-"podr&#x00ed;amos concluir que las listas, mapas e idbags son los tipos "
-"m&#x00e1;s eficientes de colecciones (no inversas), con los conjuntos (sets) "
-"no muy por detr&#x00e1;s. Se espera que los sets sean el tipo m&#x00e1;s "
-"com&#x00fa;n de colecci&#x00f3;n en las aplicaciones de Hibernate. Esto es "
-"debido a que la sem&#x00e1;ntica de los sets es la m&#x00e1;s natural en el "
-"modelo relacional."
+"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 atrás. Se espera "
+"que los sets sean el tipo más común de colección en las aplicaciones de "
+"Hibernate. Esto se debe a que la semántica de los sets es la más natural en "
+"el modelo relacional."
 
 #. Tag: para
-#: performance.xml:1121
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "However, in well-designed Hibernate domain models, most collections are in "
 "fact one-to-many associations with <literal>inverse=\"true\"</literal>. For "
@@ -2403,24 +1794,20 @@
 "association, and so considerations of collection update performance simply "
 "do not apply."
 msgstr ""
-"Sin embargo, en modelos de dominio de Hibernate bien die&#x00f1;ados, "
-"usualmente vemos que la mayor&#x00ed;a de las colecciones son de hecho "
-"asociaciones uno-a-muchos con <literal>inverse=\"true\"</literal>. Para "
-"estas asociaciones, la actualizaci&#x00f3;n es manejada por el extremo "
-"muchos-a-uno de la asociaci&#x00f3;n, y las consideraciones de este tipo "
-"sobre el rendimiento de actualizaci&#x00f3;n de colecciones simplemente no "
-"se aplican."
+"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 la actualización de "
+"las colecciones simplemente no se aplican."
 
 #. Tag: title
-#: performance.xml:1131
 #, no-c-format
 msgid "Bags and lists are the most efficient inverse collections"
-msgstr ""
-"Los Bags y las listas son las colecciones inversas m&#x00e1;s eficientes"
+msgstr "Los Bags y las listas son las colecciones inversas más eficientes"
 
 #. Tag: para
-#: performance.xml:1133
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "There is a particular case, however, in which bags, and also lists, are much "
 "more performant than sets. For a collection with <literal>inverse=\"true\"</"
@@ -2431,143 +1818,109 @@
 "literal> must always return true for a bag or <literal>List</literal>. This "
 "can make the following common code 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&#x00e1;s eficientes que los "
-"conjuntos. Para una colecci&#x00f3;n con <literal>inverse=\"true\"</literal> "
-"(el idioma est&#x00e1;ndar de relaciones uno-a-muchos bidireccionales, por "
-"ejemplo) &#x00a1;podemos a&#x00f1;adir elementos a un bag o lista sin "
-"necesidad de inicializar (fetch) los elementos del bag! Esto se debe a que "
-"<literal>Collection.add()</literal> o <literal>Collection.addAll()</literal> "
-"siempre deben devolver true para un bag o <literal>List</literal> (no como "
-"un <literal>Set</literal>). Esto puede hacer el siguiente c&#x00f3;digo "
-"com&#x00fa;n mucho m&#x00e1;s r&#x00e1;pido."
+"Hay un caso en particular en el que los bags y también las listas son mucho "
+"más eficientes que los conjuntos. Para una colección con <literal>inverse="
+"\"true\"</literal>, por ejemplo, el idioma estándar de relaciones uno-a-"
+"muchos bidireccionales, podemos agregar elementos a un bag o lista sin "
+"necesidad de inicializar (recuperar) los elementos del bag. Esto se debe a "
+"que, a manera opuesta de <literal>Collection.add()</literal> o "
+"<literal>Collection.addAll()</literal> siempre deben retornar verdadero 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:1143
-#, no-c-format
-msgid ""
-"<![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();]]>"
-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:1148
 #, no-c-format
 msgid "One shot delete"
-msgstr "Borrado de un solo tiro"
+msgstr "Borrado de un sólo tiro"
 
 #. Tag: para
-#: performance.xml:1150
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Deleting collection elements one by one can sometimes be extremely "
 "inefficient. Hibernate knows not to do that in the case of an newly-empty "
 "collection (if you called <literal>list.clear()</literal>, for example). In "
 "this case, Hibernate will issue a single <literal>DELETE</literal>."
 msgstr ""
-"Ocasionalmente, borrar los elementos de una colecci&#x00f3;n uno a uno puede "
-"ser extremadamente ineficiente. Hibernate no es completamente est&#x00fa;"
-"pido, de modo que sabe no hacer eso, en el caso de una colecci&#x00f3;n "
-"nueva-vac&#x00ed;a (si has llamado a <literal>list.clear()</literal>, por "
-"ejemplo). En este caso, Hibernate publicar&#x00e1; una sola <literal>DELETE</"
-"literal>, &#x00a1;y listo!"
+"Borrar los elementos de una colección uno por uno a veces puede ser "
+"extremadamente ineficiente. Hibernate sabe que no debe hacer eso, en el caso "
+"de una colección nueva-vacía (si ha llamado a <literal>list.clear()</"
+"literal>, por ejemplo). En este caso, Hibernate publicará un sólo "
+"<literal>DELETE</literal>."
 
 #. Tag: para
-#: performance.xml:1157
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Suppose you added 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&#x00f3;n que a&#x00f1;adimos un solo elemento a una colecci&#x00f3;n de "
-"tama&#x00f1;o veinte y luego quitamos dos elementos. Hibernate "
-"publicar&#x00e1; una sentencia <literal>INSERT</literal> y dos sentencias "
-"<literal>DELETE</literal> (a menos que la colecci&#x00f3;n sea un bag). Esto "
-"es ciertamente deseable."
+"Suponga que agrega un solo elemento a una colección de tamaño veinte y luego "
+"quitamos dos elementos. Hibernate publicará una declaración <literal>INSERT</"
+"literal> y dos declaraciones <literal>DELETE</literal> a menos que la "
+"colección sea un bag. Esto ciertamente es deseable."
 
 #. Tag: para
-#: performance.xml:1163
 #, no-c-format
 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&#x00f3;n que quitamos dieciocho elementos, dejando dos y "
-"luego a&#x00f1;adimos tres nuevos elementos. Hay dos formas posibles de "
-"proceder"
+"Sin embargo, supónga que quitamos dieciocho elementos, dejando dos y luego "
+"añadimos tres elementos nuevos. Hay dos formas posibles de proceder"
 
 #. Tag: para
-#: performance.xml:1170
 #, no-c-format
 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:1173
-#, fuzzy, no-c-format
+#, no-c-format
 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&#x00f3;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 sólo <literal>DELETE</literal> de SQL e "
+"insertar todos los cinco elementos actuales uno por uno"
 
 #. Tag: para
-#: performance.xml:1178
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate cannot know that the second option is probably quicker. It would "
 "probably be undesirable for Hibernate to be that intuitive as such behavior "
 "might confuse database triggers, etc."
 msgstr ""
-"Hibernate no es lo suficientemente inteligente para saber que la segunda "
-"opci&#x00f3;n es probablemente m&#x00e1;s r&#x00e1;pida en este caso. (Y que "
-"ser&#x00ed;a probablemente indeseable para Hibernate ser tan inteligente; "
-"este comportamiento podr&#x00ed;a confundir a disparadores de base de datos, "
-"etc.)"
+"Hibernate no sabe que la segunda opción es probablemente la más rápida. "
+"Probablemente no sería deseable que Hibernate fuese tan intuitivo ya que tal "
+"comportamiento podría confundir a disparadores de la base de datos, etc."
 
 #. Tag: para
-#: performance.xml:1184
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Fortunately, you can force this behavior (i.e. the second strategy) at any "
 "time by discarding (i.e. dereferencing) the original collection and "
 "returning a newly instantiated collection with all the current elements."
 msgstr ""
-"Afortunadamente, puedes forzar este comportamiento (es decir, la segunda "
-"estrategia) en cualquier momento descartando (es decir, desreferenciando) la "
-"colecci&#x00f3;n original y devolviendo una colecci&#x00f3;n nuevamente "
-"instanciada con todos los elementos actuales. Esto puede ser muy &#x00fa;til "
-"y potente de vez en cuando."
+"Afortunadamente, puede forzar este comportamiento (por ejemplo, la segunda "
+"estrategia) en cualquier momento descartando (por ejemplo, desreferenciando) "
+"la colección original y retornando una colección nuevamente instanciada con "
+"todos los elementos actuales."
 
 #. Tag: para
-#: performance.xml:1190
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "One-shot-delete does not apply to collections mapped <literal>inverse=\"true"
 "\"</literal>."
 msgstr ""
-"Por supuesto, el borrado-de-un-solo-tiro no se aplica a colecciones mapeadas "
+"El borrado-de-un-sólo-tiro no se aplica a las colecciones mapeadas "
 "<literal>inverse=\"true\"</literal>."
 
 #. Tag: title
-#: performance.xml:1199
 #, no-c-format
 msgid "Monitoring performance"
-msgstr "Monitoreando el rendimiento"
+msgstr "Control del rendimiento"
 
 #. Tag: para
-#: performance.xml:1201
 #, no-c-format
 msgid ""
 "Optimization is not much use without monitoring and access to performance "
@@ -2575,191 +1928,128 @@
 "operations. Statistics in Hibernate are available per "
 "<literal>SessionFactory</literal>."
 msgstr ""
-"La optimizaci&#x00f3;n no es de mucho uso sin el monitoreo y el acceso a "
-"n&#x00fa;meros de rendimiento. Hibernate provee un rango completo de figuras "
-"sobre sus operaciones internas. Las estad&#x00ed;sticas en Hibernate "
-"est&#x00e1;n disponibles por <literal>SessionFactory</literal>."
+"La optimización no es de mucho uso sin el monitoreo y el acceso a números de "
+"rendimiento. Hibernate brinda un rango completo de números sobre sus "
+"operaciones internas. Las estadísticas en Hibernate están disponibles por "
+"<literal>SessionFactory</literal>."
 
 #. Tag: title
-#: performance.xml:1208
 #, no-c-format
 msgid "Monitoring a SessionFactory"
-msgstr "Monitoreando una SessionFactory"
+msgstr "Control de una SessionFactory"
 
 #. Tag: para
-#: performance.xml:1210
 #, no-c-format
 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&#x00e9;tricas de <literal>SessionFactory</literal> de "
-"dos formas. Tu primera opci&#x00f3;n es llamar a <literal>sessionFactory."
-"getStatistics()</literal> y leer o mostrar por pantalla la "
-"<literal>Statistics</literal> por ti mismo."
+"Puede acceder a las métricas de <literal>SessionFactory</literal> de dos "
+"formas. Su primera opción es llamar a <literal>sessionFactory.getStatistics()"
+"</literal> y leer o mostrar por pantalla la <literal>Statistics</literal> "
+"por sí mismo."
 
 #. Tag: para
-#: performance.xml:1216
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate can also use JMX to publish metrics if you enable the "
 "<literal>StatisticsService</literal> MBean. You can 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&#x00e9;n usar JMX para publicar las m&#x00e9;tricas si "
-"habilitas el MBean <literal>StatisticsService</literal>. Puede habilitar un "
-"solo MBean para todas tus <literal>SessionFactory</literal> o una por "
-"f&#x00e1;brica. Mira el siguiente c&#x00f3;digo para ejemplos de "
-"configuraci&#x00f3;n minimalistas:"
+"Hibernate también puede utilizar JMX para publicar las métricas si habilita "
+"el MBean <literal>StatisticsService</literal>. Puede habilitar un sólo MBean "
+"para todas sus <literal>SessionFactory</literal> o una por fábrica. Véa el "
+"siguiente código para ver ejemplos de configuración minimalistas:"
 
-#. Tag: programlisting
-#: performance.xml:1223
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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]]>"
-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:1226
-#, no-c-format
-msgid ""
-"<![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]]>"
-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:1233
-#, fuzzy, no-c-format
-msgid ""
 "You can activate and deactivate the monitoring for a "
 "<literal>SessionFactory</literal>:"
 msgstr ""
-"Puedes (des)activar el monitoreo de una <literal>SessionFactory</literal>"
+"Puede activar y desactivar el monitoreo de una <literal>SessionFactory</"
+"literal>"
 
 #. Tag: para
-#: performance.xml:1238
 #, no-c-format
 msgid ""
 "at configuration time, set <literal>hibernate.generate_statistics</literal> "
 "to <literal>false</literal>"
 msgstr ""
-"en tiempo de configuraci&#x00f3;n, establece <literal>hibernate."
-"generate_statistics</literal> a <literal>false</literal>"
+"en tiempo de configuración, establezca <literal>hibernate."
+"generate_statistics</literal> como <literal>false</literal>"
 
 #. Tag: para
-#: performance.xml:1245
 #, no-c-format
 msgid ""
 "at runtime: <literal>sf.getStatistics().setStatisticsEnabled(true)</literal> "
 "or <literal>hibernateStatsBean.setStatisticsEnabled(true)</literal>"
 msgstr ""
-"en tiempo de ejecuci&#x00f3;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:1252
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Statistics can be reset programmatically 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&#x00ed;sticas pueden ser reajustadas program&#x00e1;ticamente "
-"usando el m&#x00e9;todo <literal>clear()</literal>. Puede enviarse un "
-"resumen a un logger (nivel info) usando el m&#x00e9;todo <literal>logSummary"
-"()</literal>."
+"Las estadísticas pueden ser reajustadas programáticamente utilizando el "
+"método <literal>clear()</literal>. Puede enviarse un resumen a un registro "
+"(a nivel de información) utilizando el método <literal>logSummary()</"
+"literal>. "
 
 #. Tag: title
-#: performance.xml:1261
 #, no-c-format
 msgid "Metrics"
-msgstr "M&#x00e9;tricas"
+msgstr "Métricas"
 
 #. Tag: para
-#: performance.xml:1263
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate provides a number of metrics, from basic information to more "
 "specialized information that is 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&#x00fa;mero de m&#x00e9;tricas, desde informaci&#x00f3;"
-"n muy b&#x00e1;sica a la especializada s&#x00f3;lo relevante en ciertos "
-"escenarios. Todos los contadores disponibles se describen en la API de la "
-"interface <literal>Statistics</literal>, en tres categor&#x00ed;as:"
+"Hibernate proporciona un número de métricas, desde información muy básica "
+"hasta la más especializada sólamente relevante en ciertos escenarios. Todos "
+"los contadores disponibles se describen en la API de la interfaz "
+"<literal>Statistics</literal>, en tres categorías:"
 
 #. Tag: para
-#: performance.xml:1270
 #, no-c-format
 msgid ""
 "Metrics related to the general <literal>Session</literal> usage, such as "
 "number of open sessions, retrieved JDBC connections, etc."
 msgstr ""
-"M&#x00e9;tricas relacionadas al uso general de <literal>Session</literal> "
-"usage, tales como n&#x00fa;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:1276
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Metrics related to the entities, collections, queries, and caches as a whole "
 "(aka global metrics)."
 msgstr ""
-"M&#x00e9;tricas relacionadas a las entidades, colecciones, consultas, y "
-"cach&#x00e9;s como un todo. (tambi&#x00e9;n conocidas como m&#x00e9;tricas "
-"globales)."
+"Métricas relacionadas con las entidades, colecciones, consultas y cachés "
+"como un todo (también conocidas como métricas globales)."
 
 #. Tag: para
-#: performance.xml:1282
 #, no-c-format
 msgid ""
 "Detailed metrics related to a particular entity, collection, query or cache "
 "region."
 msgstr ""
-"M&#x00e9;tricas detalladas relacionadas a una entidad, colecci&#x00f3;n, "
-"consulta o regi&#x00f3;n de cach&#x00e9; en particular."
+"Métricas detalladas relacionadas con una entidad, colección, consulta o "
+"región de caché en particular."
 
 #. Tag: para
-#: performance.xml:1289
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "For example, you can check the cache hit, miss, and put ratio of entities, "
 "collections and queries, and the average time a query needs. Be aware that "
@@ -2767,17 +2057,14 @@
 "tied to the JVM precision and on some platforms this might only be accurate "
 "to 10 seconds."
 msgstr ""
-"Por ejemplo, puedes comprobar el acceso, p&#x00e9;rdida, y radio de "
-"colocaci&#x00f3;n de entidades, colecciones y consultas en el cach&#x00e9;, "
-"y el tiempo promedio que necesita una consulta. Ten en cuenta que el "
-"n&#x00fa;mero de milisegundos est&#x00e1; sujeto a aproximaci&#x00f3;n en "
-"Java. Hibernate est&#x00e1; pegado a la precisi&#x00f3;n de la JVM, en "
-"algunas plataformas esto podr&#x00ed;a incuso ser tener s&#x00f3;lo una "
-"exactitud de 10 segundos."
+"Por ejemplo, puede comprobar el acceso, pérdida y radio de colecciones de "
+"entidades y consultas en el caché, y el tiempo promedio que necesita una "
+"consulta. Tenga en cuenta que el número de milisegundos está sujeto a una "
+"aproximación en Java. Hibernate está vinculado a la precisión de la MVJ, en "
+"algunas plataformas esto podría tener incluso una exactitud de 10 segundos."
 
 #. Tag: para
-#: performance.xml:1296
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
@@ -2789,60 +2076,20 @@
 "literal> API Javadoc for more information. The following code is a simple "
 "example:"
 msgstr ""
-"Se usan getters simples para acceder a las m&#x00e9;tricas globales (es "
-"decir, no pegadas a una entidad, colecci&#x00f3;n, regi&#x00f3;n de "
-"cach&#x00e9;, etc, en particular). Puedes acceder a las m&#x00e9;tricas de "
-"una entidad, colecci&#x00f3;n, regi&#x00f3;n de cach&#x00e9; en particular a "
-"trav&#x00e9;s de su nombre, y a trav&#x00e9;s de su representaci&#x00f3;n "
-"HQL o SQL para las consultas. Por favor refi&#x00e9;rete al Javadoc de la "
-"API de <literal>Statistics</literal>, <literal>EntityStatistics</literal>, "
+"Se usan getters simples para acceder a la métrica global (por ejemplo, no "
+"vinculadas en particular a una entidad, colección, región de caché, etc). "
+"Puede 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érase al Javadoc de la API de "
+"<literal>Statistics</literal>, <literal>EntityStatistics</literal>, "
 "<literal>CollectionStatistics</literal>, "
 "<literal>SecondLevelCacheStatistics</literal>, y <literal>QueryStatistics</"
-"literal> para m&#x00e1;s informaci&#x00f3;n. El siguiente c&#x00f3;digo "
-"muestra un ejemplo sencillo:"
+"literal> para obtener más información. El siguiente código es un ejemplo "
+"sencillo:"
 
-#. Tag: programlisting
-#: performance.xml:1306
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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\"  );]]>"
-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:1308
-#, fuzzy, no-c-format
-msgid ""
 "You can work on all entities, collections, queries and region caches, by "
 "retrieving the list of names of entities, collections, queries and region "
 "caches using the following methods: <literal>getQueries()</literal>, "
@@ -2850,51 +2097,9 @@
 "literal>, and <literal>getSecondLevelCacheRegionNames()</literal>."
 msgstr ""
 "Para trabajar sobre todas las entidades, colecciones, consultas y regiones "
-"de cach&#x00e9;s, puedes recuperar la lista de nombres de entidades, "
-"colecciones, consultas y regiones de cach&#x00e9;s con los siguientes "
-"m&#x00e9;todos: <literal>getQueries()</literal>, <literal>getEntityNames()</"
-"literal>, <literal>getCollectionRoleNames()</literal>, y "
+"de cachés, recuperando 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 ""
-#~ "where <literal>CatImpl</literal> implements the interface <literal>Cat</"
-#~ "literal> and <literal>DomesticCatImpl</literal> implements the interface "
-#~ "<literal>DomesticCat</literal>. Then proxies for instances of "
-#~ "<literal>Cat</literal> and <literal>DomesticCat</literal> may be returned "
-#~ "by <literal>load()</literal> or <literal>iterate()</literal>. (Note that "
-#~ "<literal>list()</literal> does not usually return proxies.)"
-#~ msgstr ""
-#~ "donde <literal>CatImpl</literal> implementa la interface <literal>Cat</"
-#~ "literal> y <literal>DomesticCatImpl</literal> implementa la interface "
-#~ "<literal>DomesticCat</literal>. Entonces <literal>load()</literal> o "
-#~ "<literal>iterate()</literal> pueden devolver instancias de <literal>Cat</"
-#~ "literal> y <literal>DomesticCat</literal>. (Nota que <literal>list()</"
-#~ "literal> usualmente no devuelve proxies.)"
-
-#~ 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&#x00f3;n resaltaremos un par de temas m&#x00e1;s sobre c&#x00f3;mo "
-#~ "las colecciones se comportan en tiempo de ejecuci&#x00f3;n."
-
-#~ 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 session factory is held before using it. Use "
-#~ "<literal>hibernateStatsBean.setSessionFactoryJNDIName(\"my/JNDI/Name\")</"
-#~ "literal>"
-#~ 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&#x00e1;brica de sesiones antes de usarlo. Usa "
-#~ "<literal>hibernateStatsBean.setSessionFactoryJNDIName(\"my/JNDI/Name\")</"
-#~ "literal>"
-
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/persistent_classes.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/persistent_classes.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/persistent_classes.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,21 +1,35 @@
-#, fuzzy
+# translation of persistent_classes.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: persistent_classes\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-10 21:02+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-01-08T04:07:19\n"
+"PO-Revision-Date: 2010-01-07 06:20+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: persistent_classes.xml:29
 #, no-c-format
 msgid "Persistent Classes"
-msgstr "Clases Persistentes"
+msgstr "Clases persistentes"
 
 #. Tag: para
-#: persistent_classes.xml:31
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
@@ -23,15 +37,14 @@
 "in the persistent state. For example, an instance can instead be transient "
 "or detached."
 msgstr ""
-"Clases presistentes son clases en una aplicaci&#x00f3;n que implementan las "
-"entidades del problema de negocio (por ejemplo, Customer y Order en una "
-"aplicaci&#x00f3;n de comercio electr&#x00f3;nico). No todas las instancias "
-"de una clase persistente se considera que est&#x00e9;n en el estado "
-"persistente, una instancia puede en cambio ser transitoria o estar separada."
+"Las clases presistentes son clases en una aplicación que implementan las "
+"entidades del problema empresarial (por ejemplo, Customer y Order en una "
+"aplicación de comercio electrónico). No se considera que todas las "
+"instancias de una clase persistente estén en estado persistente. Por "
+"ejemplo, una instancia puede ser transitoria o separada."
 
 #. Tag: para
-#: persistent_classes.xml:38
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
@@ -39,209 +52,43 @@
 "about the nature of your persistent objects. You can express a domain model "
 "in other ways (using trees of <literal>Map</literal> instances, for example)."
 msgstr ""
-"Hibernate funciona mejor si las clases siguen algunas simples reglas, "
-"tambi&#x00e9;n conocidas como el modelo de programaci&#x00f3;n de Viejas "
-"Clases Java Planas (Plain Old Java Object o POJO). Sin embargo, ninguna de "
-"estas reglas son requerimientos r&#x00ed;gidos. En cambio, Hibernate3 asume "
-"muy poco acerca de la naturaleza de tus objetos persistentes. Puedes "
-"expresar un modelo de dominio en otras formas: usando &#x00e1;rboles de "
-"instancias de <literal>Map</literal>, por ejemplo."
+"Hibernate funciona mejor si estas clases siguen algunas reglas simples, "
+"también conocidas como el modelo de programación POJO (Plain Old Java "
+"Object). Sin embargo, ninguna de estas reglas son requerimientos rígidos. De "
+"hecho, Hibernate3 asume muy poco acerca de la naturaleza de sus objetos "
+"persistentes. Puede expresar un modelo de dominio en otras formas (por "
+"ejemplo, utilizando árboles de instancias de <literal>Map</literal>)."
 
 #. Tag: title
-#: persistent_classes.xml:47
 #, no-c-format
 msgid "A simple POJO example"
-msgstr "Un ejemplo simple de POJO"
+msgstr "Ejemplo simple de POJO"
 
 #. Tag: para
-#: persistent_classes.xml:49
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Most Java applications require a persistent class representing felines. For "
 "example:"
 msgstr ""
-"La mayor&#x00ed;a de aplicaciones Java requieren una clase representando "
-"felinos."
+"La mayoría de aplicaciones Java requieren una clase persistente que "
+"represente a los felinos. Por ejemplo:"
 
-#. Tag: programlisting
-#: persistent_classes.xml:53
-#, no-c-format
-msgid ""
-"<![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"
-"}]]>"
-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:55
 #, no-c-format
 msgid ""
 "The four main rules of persistent classes are explored in more detail in the "
 "following sections."
 msgstr ""
+"En las siguientes secciones vamos a explorar en mayor detalle las cuatro "
+"reglas principales de las clases persistentes. "
 
 #. Tag: title
-#: persistent_classes.xml:61
 #, no-c-format
 msgid "Implement a no-argument constructor"
-msgstr "Implementa un constructor sin argumentos"
+msgstr "Implemente un constructor sin argumentos"
 
 #. Tag: para
-#: persistent_classes.xml:63
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>Cat</literal> has a no-argument constructor. All persistent classes "
 "must have a default constructor (which can be non-public) so that Hibernate "
@@ -251,22 +98,19 @@
 "Hibernate."
 msgstr ""
 "<literal>Cat</literal> tiene un contructor sin argumentos. Todas las clases "
-"persistentes deben tener un constructor por defecto (que puede no ser "
-"p&#x00fa;blico) de modo que Hibernate pueda instanciarlas usando "
-"<literal>Constructor.newInstance()</literal>. Recomendamos fuertemente tener "
-"un constructor por defecto con al menos visibilidad de <emphasis>package</"
-"emphasis> para la generaci&#x00f3;n de proxies en tiempo de ejecuci&#x00f3;n "
-"en Hibernate."
+"persistentes deben tener un constructor predeterminado (el cual puede ser no-"
+"público) de modo que Hibernate pueda instanciarlas usando "
+"<literal>Constructor.newInstance()</literal>. Le recomendamos contar con un "
+"constructor por defecto con al menos una visibilidad de <emphasis>paquete</"
+"emphasis> para la generación de proxies en tiempo de ejecución en Hibernate."
 
 #. Tag: title
-#: persistent_classes.xml:73
 #, no-c-format
 msgid "Provide an identifier property (optional)"
-msgstr "Provee una propiedad identificadora (opcional)"
+msgstr "Proporcione una propiedad identificadora (opcional)"
 
 #. Tag: para
-#: persistent_classes.xml:75
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
@@ -277,105 +121,94 @@
 "types (see the section on composite identifiers later in the chapter.)"
 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&#x00ed;a llamarse cualquierCosa, y su tipo "
-"podr&#x00ed;a haber sido cualquier tipo primitivo, cualquier tipo de "
-"\"envoltura\" primitivo, <literal>java.lang.String</literal> o <literal>java."
-"util.Date</literal>. (Si tu tabla de base de datos heredada tiene claves "
-"compuestas, puedes incluso usar una clase definida por el usuario con "
-"propiedades de estos tipos, ver la secci&#x00f3;n sobre identificadores "
-"compuestos luego.)"
+"Esta propiedad mapea a la columna de la llave principal de la tabla de la "
+"base de datos. La propiedad podría llamarse de cualquier manera y su tipo "
+"podría haber sido cualquier tipo primitivo, cualquier tipo de \"wrapper\" "
+"primitivo, <literal>java.lang.String</literal> o <literal>java.util.Date</"
+"literal>. Si su tabla de base de datos heredada tiene claves compuestas, "
+"puede utilizar una clase definida por el usuario con propiedades de estos "
+"tipos (vea la sección sobre identificadores compuestos más adelante en este "
+"capítulo)."
 
 #. Tag: para
-#: persistent_classes.xml:84
 #, no-c-format
 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 "
 "this, however."
 msgstr ""
-"La propiedad identificadora es estrictamente opcional. Puedes olvidarla y "
+"La propiedad identificadora es estrictamente opcional. Puede olvidarla y "
 "dejar que Hibernate siga internamente la pista de los identificadores del "
-"objeto. Sin embargo, no recomendamos esto."
+"objeto. Sin embargo, no recomendamos que esto suceda."
 
 #. Tag: para
-#: persistent_classes.xml:89
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "In fact, some functionality is available only to classes that declare an "
 "identifier property:"
 msgstr ""
-"De hecho, alguna funcionalidad est&#x00e1; disponible s&#x00f3;lo para "
-"clases que declaran una propiedad identificadora:"
+"De hecho, algunas funcionalidades se encuentran disponibles sólamente para "
+"clases que declaran una propiedad identificadora: "
 
 #. Tag: para
-#: persistent_classes.xml:96
 #, no-c-format
 msgid ""
 "Transitive reattachment for detached objects (cascade update or cascade "
-"merge) - see"
+"merge) - see <xref linkend=\"objectstate-transitive\" />"
 msgstr ""
-"Reasociaci&#x00f3;n transitiva de objetos separados (actualizaciones o "
-"fusiones en cascada) - ver"
+"Reasociación transitiva de objetos separados (actualizaciones o fusiones en "
+"cascada) - consulte <xref linkend=\"objectstate-transitive\" />"
 
-#. Tag: literal
-#: persistent_classes.xml:103
+#. Tag: para
 #, no-c-format
-msgid "Session.saveOrUpdate()"
-msgstr "Session.saveOrUpdate()"
+msgid "<literal>Session.saveOrUpdate()</literal>"
+msgstr "<literal>Session.saveOrUpdate()</literal>"
 
-#. Tag: literal
-#: persistent_classes.xml:108
+#. Tag: para
 #, no-c-format
-msgid "Session.merge()"
-msgstr "Session.merge()"
+msgid "<literal>Session.merge()</literal>"
+msgstr "<literal>Session.merge()</literal>"
 
 #. Tag: para
-#: persistent_classes.xml:113
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "We recommend that you declare consistently-named identifier properties on "
 "persistent classes and that you use a nullable (i.e., non-primitive) type."
 msgstr ""
-"Recomendamos que declares propiedades identificadoras nombradas-"
-"consistentemente en clases persistentes. Mas a&#x00fa;n, recomendamos que "
-"uses un tipo nulable (es decir, no primitivo)."
+"Le recomendamos que declare propiedades identificadoras nombradas-"
+"consistentemente en clases persistentes. y que utilice un tipo nulable (por "
+"ejemplo, no primitivo)."
 
 #. Tag: title
-#: persistent_classes.xml:120
 #, no-c-format
 msgid "Prefer non-final classes (optional)"
-msgstr "Prefiere las clases no finales (opcional)"
+msgstr "Prefiera las clases no finales (opcional)"
 
 #. Tag: para
-#: persistent_classes.xml:121
 #, no-c-format
 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&#x00f3;n de una interface que declare todos los m&#x00e9;todos "
-"p&#x00fa;blicos."
+"Un aspecto central de Hibernate, los <emphasis>proxies</emphasis>, dependen "
+"de que las clases persistentes sean no finales o de la implementación de una "
+"interfaz que declare todos los métodos públicos."
 
 #. Tag: para
-#: persistent_classes.xml:126
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can persist <literal>final</literal> classes that do not implement an "
 "interface with Hibernate. You will not, however, be able to use proxies for "
 "lazy association fetching which will ultimately limit your options for "
 "performance tuning."
 msgstr ""
-"Puedes persistir con Hibernate clases <literal>final</literal> que no "
-"implementen una interface, pero no ser&#x00e1;s capaz de usar proxies para "
-"recuperaci&#x00f3;n perezosa de asociaciones, lo que limitar&#x00e1; tus "
-"opciones para afinar el rendimiento."
+"Con Hibernate puede persistir las clases <literal>final</literal>es que no "
+"implementen una interfaz. Sin embargo, no podrá utilizar proxies para "
+"recuperación perezosa de asociaciones, lo cual limitará sus opciones para "
+"afinar el rendimiento."
 
 #. Tag: para
-#: persistent_classes.xml:131
 #, no-c-format
 msgid ""
 "You should also avoid declaring <literal>public final</literal> methods on "
@@ -383,22 +216,20 @@
 "final</literal> method, you must explicitly disable proxying by setting "
 "<literal>lazy=\"false\"</literal>."
 msgstr ""
-"Debes tambi&#x00e9;n evitar declarar m&#x00e9;todos <literal>public final</"
-"literal> en clases non-final. Si quieres usar una clase con un m&#x00e9;todo "
-"<literal>public final</literal>, debes deshabilitar expl&#x00ed;citamente el "
-"uso de proxies estableciendo <literal>lazy=\"false\"</literal>."
+"También debe evitar el declarar métodos <literal>public final</literal> en "
+"las clases no-finales. Si quiere utilizar una clase con un método "
+"<literal>public final</literal>, debe deshabilitar explícitamente el uso de "
+"proxies estableciendo <literal>lazy=\"false\"</literal>."
 
 #. Tag: title
-#: persistent_classes.xml:139
 #, no-c-format
 msgid "Declare accessors and mutators for persistent fields (optional)"
 msgstr ""
-"Declara m&#x00e9;todos de acceso y modificaci&#x00f3;n para los campos "
-"persistentes (opcional)"
+"Declare métodos de acceso y de modificación para los campos persistentes "
+"(opcional)"
 
 #. Tag: para
-#: persistent_classes.xml:141
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>Cat</literal> declares accessor methods for all its persistent "
 "fields. Many other ORM tools directly persist instance variables. It is "
@@ -408,75 +239,42 @@
 "literal>, <literal>isFoo</literal> and <literal>setFoo</literal>. If "
 "required, you can switch to direct field access for particular properties."
 msgstr ""
-"<literal>Cat</literal> declara m&#x00e9;todos de acceso para todos sus "
-"campos persistente. Muchas otras herramientas ORM persisten directamente "
-"variables de instancia. Creemos que es mejor proveer una indirecci&#x00f3;n "
-"entre el esquema relacional y las estructuras internas de la clase. Por "
-"defecto, Hibernate persiste propiedades del estilo JavaBeans, y reconoce "
-"nombres de m&#x00e9;todo de la forma <literal>getFoo</literal>, "
-"<literal>isFoo</literal> y <literal>setFoo</literal>. Puedes cambiar a "
-"acceso directo a campos para propiedades en particular, de ser necesario."
+"<literal>Cat</literal> declara métodos de acceso para todos sus campos "
+"persistentes. Muchas otras herramientas ORM persisten directamente variables "
+"de instancia. Es mejor proporcionar una indirección entre el esquema "
+"relacional y las estructuras de datos internos de la clase. Por defecto, "
+"Hibernate persiste las propiedades del estilo JavaBeans, y reconoce los "
+"nombres de método de la forma <literal>getFoo</literal>, <literal>isFoo</"
+"literal> y <literal>setFoo</literal>. De ser necesario, puede cambiarse al "
+"acceso directo a campos para propiedades específicas."
 
 #. Tag: para
-#: persistent_classes.xml:151
 #, no-c-format
 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&#x00fa;"
-"blicas. Hibernate puede persistir una propiedad con un par get / set "
+"<emphasis>No</emphasis> es necesario declarar públicas las propiedades. "
+"Hibernate puede persistir una propiedad con un par get / set "
 "<literal>protected</literal> o <literal>private</literal>."
 
 #. Tag: title
-#: persistent_classes.xml:162
 #, no-c-format
 msgid "Implementing inheritance"
-msgstr "Implementando herencia"
+msgstr "Implementación de herencia"
 
 #. Tag: para
-#: persistent_classes.xml:164
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A subclass must also observe the first and second rules. It inherits its "
 "identifier property from the superclass, <literal>Cat</literal>. For example:"
 msgstr ""
-"Una subclase puede a su vez observar la primera y segunda regla. Hereda su "
-"propiedad identificadora de la superclase, <literal>Cat</literal>."
+"Una subclase también tiene que cumplir con la primera y la segunda regla. "
+"Hereda su propiedad identificadora de la superclase <literal>Cat</literal>. "
+"Por ejemplo:"
 
-#. Tag: programlisting
-#: persistent_classes.xml:169
-#, no-c-format
-msgid ""
-"<![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"
-"}]]>"
-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:173
 #, no-c-format
 msgid ""
 "Implementing <literal>equals()</literal> and <literal>hashCode()</literal>"
@@ -484,36 +282,32 @@
 "Implementando <literal>equals()</literal> y <literal>hashCode()</literal>"
 
 #. Tag: para
-#: persistent_classes.xml:175
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You have to override the <literal>equals()</literal> and <literal>hashCode()"
 "</literal> methods if you:"
 msgstr ""
-"Tienes que sobrescribir los m&#x00e9;todos <literal>equals()</literal> y "
-"<literal>hashCode()</literal> si :"
+"Tiene que sobrescribir los métodos <literal>equals()</literal> y "
+"<literal>hashCode()</literal> si:"
 
 #. Tag: para
-#: persistent_classes.xml:181
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "intend to put instances of persistent classes in a <literal>Set</literal> "
 "(the recommended way to represent many-valued associations); <emphasis>and</"
 "emphasis>"
 msgstr ""
-"piensas poner instancias de clases persistentes en un <literal>Set</literal> "
-"(la forma recomendada de representar asociaciones multivaluadas) "
+"piensa poner instancias de clases persistentes en un <literal>Set</literal> "
+"(la forma recomendada de representar asociaciones multivaluadas); "
 "<emphasis>y</emphasis>"
 
 #. Tag: para
-#: persistent_classes.xml:188
 #, no-c-format
 msgid "intend to use reattachment of detached instances"
-msgstr "piensas usar reasociaci&#x00f3;n de instancias separadas."
+msgstr "piensa utilizar reasociación de instancias separadas."
 
 #. Tag: para
-#: persistent_classes.xml:194
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate guarantees equivalence of persistent identity (database row) and "
 "Java identity only inside a particular session scope. When you mix instances "
@@ -522,15 +316,14 @@
 "semantics for <literal>Set</literal>s."
 msgstr ""
 "Hibernate garantiza la equivalencia de identidad persistente (fila de base "
-"de datos) y identidad Java s&#x00f3;lo dentro del &#x00e1;mbito de una "
-"sesi&#x00f3;n en particular. De modo que en el momento que mezclamos "
-"instancias recuperadas en sesiones diferentes, debemos implementar "
-"<literal>equals()</literal> y <literal>hashCode()</literal> si deseamos "
-"tener una sem&#x00e1;ntica significativa de <literal>Set</literal>s."
+"de datos) y de identidad Java sólamente dentro del ámbito de una sesión en "
+"particular. De modo que en el momento en que mezcla instancias recuperadas "
+"en sesiones diferentes, tiene que implementar <literal>equals()</literal> y "
+"<literal>hashCode()</literal> si desea tener una semántica significativa "
+"para <literal>Set</literal>s."
 
 #. Tag: para
-#: persistent_classes.xml:202
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The most obvious way is to implement <literal>equals()</literal>/"
 "<literal>hashCode()</literal> by comparing the identifier value of both "
@@ -547,27 +340,25 @@
 "the Hibernate website for a full discussion of this problem. This is not a "
 "Hibernate issue, but normal Java semantics of object identity and equality."
 msgstr ""
-"La forma m&#x00e1;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&#x00f3;lo tendremos un elemento en el <literal>Set</literal>). "
-"Desafortunadamente, no podemos usar este enfoque con identificadores "
-"generados! Hibernate s&#x00f3;lo asignar&#x00e1; valores identificadores a "
-"objetos que son persistentes, una instancia reci&#x00e9;n creada no "
-"tendr&#x00e1; ning&#x00fa;n valor identificador! Adem&#x00e1;s, si una "
-"instancia no est&#x00e1; salvada y est&#x00e1; actualmente en un "
-"<literal>Set</literal>, salvarla asignar&#x00e1; un valor identificador al "
-"objeto. Si <literal>equals()</literal> and <literal>hashCode()</literal> "
-"est&#x00e1;n basados en el valor identificador, el c&#x00f3;digo hash "
-"podr&#x00ed;a cambiar, rompiendo el contrato de <literal>Set</literal>. Ver "
-"el sitio web de Hibernate para una discusi&#x00f3;n completa de este "
-"problema. Observa que esto no es una incidencia de Hibernate, sino la "
-"sem&#x00e1;ntica normal de Java de identidad de objeto e igualdad."
+"objetos. Si el valor es el mismo, ambos deben ser la misma fila de la base "
+"de datos ya que son iguales. Si ambos son agregados a un <literal>Set</"
+"literal>, sólo tendremos un elemento en el <literal>Set</literal>). "
+"Desafortunadamente, no puede utilizar 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 se encuentra guardada y está "
+"actualmente en un <literal>Set</literal>, al guardarla se asignará un valor "
+"identificador al objeto. Si <literal>equals()</literal> y <literal>hashCode()"
+"</literal> están basados en el valor identificador, el código hash podría "
+"cambiar, rompiendo el contrato del <literal>Set</literal>. Consulte el sitio "
+"web de Hibernate y allí encontrará una discusión completa sobre este "
+"problema. Este no es un problema de Hibernate, sino de la semántica normal "
+"de Java de identidad de objeto e igualdad."
 
 #. Tag: para
-#: persistent_classes.xml:216
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is recommended that you implement <literal>equals()</literal> and "
 "<literal>hashCode()</literal> using <emphasis>Business key equality</"
@@ -576,104 +367,47 @@
 "that would identify our instance in the real world (a <emphasis>natural</"
 "emphasis> candidate key):"
 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&#x00e9;"
-"todo <literal>equals()</literal> compara s&#x00f3;lo las propiedades que "
-"forman la clave de negocio, una clave que podr&#x00ed;a identificar nuestra "
+"Le recomendamos implementar <literal>equals()</literal> y <literal>hashCode()"
+"</literal> utilizando <emphasis>igualdad de clave empresarial (Business key "
+"equality)</emphasis>. Igualdad de clave empresarial significa que el método "
+"<literal>equals()</literal> sólamente compara las propiedades que forman la "
+"clave empresarial. Esta es una clave que podría identificar nuestra "
 "instancia en el mundo real (una clave candidata <emphasis>natural</"
 "emphasis>):"
 
-#. Tag: programlisting
-#: persistent_classes.xml:224
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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"
-"}]]>"
-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:226
-#, fuzzy, no-c-format
-msgid ""
 "A business key does not have to be as solid as a database primary key "
-"candidate (see <xref linkend=\"transactions-basics-identity\"/>). Immutable "
+"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&#x00f3;lida como una "
-"clave primaria candidata de base de datos (ver <xref linkend=\"transactions-"
-"basics-identity\"/>). Las propiedades inmutables o &#x00fa;nicas son "
-"usualmente buenas candidatas para una clave de negocio."
+"Una clave empresarial no tiene que ser tan sólida como una clave principal "
+"candidata de la base de datos (consulte la <xref linkend=\"transactions-"
+"basics-identity\" />). Las propiedades inmutables o únicas usualmente son "
+"buenas candidatas para una clave empresarial."
 
 #. Tag: title
-#: persistent_classes.xml:236
 #, no-c-format
 msgid "Dynamic models"
-msgstr "Modelos din&#x00e1;micos"
+msgstr "Modelos dinámicos"
 
 #. Tag: title
-#: persistent_classes.xml:239
 #, no-c-format
 msgid "Note"
-msgstr ""
+msgstr "Nota"
 
-#. Tag: emphasis
-#: persistent_classes.xml:241
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid ""
-"The following features are currently considered experimental and may change "
-"in the near future."
+"<emphasis>The following features are currently considered experimental and "
+"may change in the near future.</emphasis>"
 msgstr ""
-"Ten en cuenta que las siguientes funcionalidades est&#x00e1;n consideradas "
-"actualmente experimentales y pueden cambiar en el futuro cercano."
+"<emphasis>Las siguientes funcionalidades se consideran actualmente como "
+"experimentales y pueden cambiar pronto.</emphasis>"
 
 #. Tag: para
-#: persistent_classes.xml:246
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Persistent entities do not necessarily have to be represented as POJO "
 "classes or as JavaBean objects at runtime. Hibernate also supports dynamic "
@@ -682,189 +416,63 @@
 "do not 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&#x00f3;n. "
-"Hibernate soporta adem&#x00e1;s modelos din&#x00e1;micos (usando "
-"<literal>Map</literal>s de <literal>Map</literal>s en tiempo de "
-"ejecuci&#x00f3;n) y la representaci&#x00f3;n de entidades como &#x00e1;"
-"rboles de DOM4J. Con este enfoque no escribes clases persistentes, s&#x00f3;"
-"lo ficheros de mapeo."
+"como clases POJO o como objetos JavaBean en tiempo de ejecución. Hibernate "
+"también soporta modelos dinámicos (utilizando <literal>Map</literal>eos de "
+"<literal>Map</literal>eos en tiempo de ejecución) y la representación de "
+"entidades como árboles de DOM4J. No escriba clases persistentes con este "
+"enfoque, sólamente archivos de mapeo. "
 
 #. Tag: para
-#: persistent_classes.xml:254
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "By default, Hibernate works in normal POJO mode. You can set a default "
 "entity representation mode for a particular <literal>SessionFactory</"
 "literal> using the <literal>default_entity_mode</literal> configuration "
-"option (see <xref linkend=\"configuration-optional-properties\"/>)."
+"option (see <xref linkend=\"configuration-optional-properties\" />)."
 msgstr ""
-"Por defecto, Hibernate funciona en modo POJO normal. Puedes establecer una "
-"representaci&#x00f3;n de entidad por defecto para una "
-"<literal>SessionFactory</literal> en particular usando la opci&#x00f3;n de "
-"configuraci&#x00f3;n <literal>default_entity_mode</literal> (ver <xref "
-"linkend=\"configuration-optional-properties\"/>)."
+"Por defecto, Hibernate funciona en modo POJO normal. Puede establecer un "
+"modo de representación de entidad predeterminado para una "
+"<literal>SessionFactory</literal> en particular utilizando la opción de "
+"configuración <literal>default_entity_mode</literal> (consulte <xref linkend="
+"\"configuration-optional-properties\" />)."
 
 #. Tag: para
-#: persistent_classes.xml:261
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The following examples demonstrate 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&#x00f3;n usando "
-"<literal>Map</literal>s. Primero, en el fichero de mapeo, tiene que "
-"declararse un <literal>entity-name</literal> en vez de (o como agregado a) "
-"un nombre de clase:"
+"Los siguientes ejemplos demuestran la representación utilizando "
+"<literal>Map</literal>eos. Primero, en el archivo de mapeo tiene que "
+"declararse un <literal>entity-name</literal> en lugar de, o además de un "
+"nombre de clase:"
 
-#. Tag: programlisting
-#: persistent_classes.xml:267
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:269
-#, fuzzy, no-c-format
-msgid ""
 "Even though associations are declared using target class names, the target "
 "type of associations can 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&#x00f3;n puede ser "
-"adem&#x00e1;s una entidad din&#x00e1;mica en vez de un POJO."
+"Aunque las asociaciones se declaran utilizando nombres de clase destino, el "
+"tipo destino de una asociación puede ser además una entidad dinámica en "
+"lugar de un POJO."
 
 #. Tag: para
-#: persistent_classes.xml:276
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "After setting the default entity mode to <literal>dynamic-map</literal> for "
 "the <literal>SessionFactory</literal>, you can, at runtime, work with "
 "<literal>Map</literal>s of <literal>Map</literal>s:"
 msgstr ""
-"Despu&#x00e9;s de establecer el modo de entidad por defecto a "
+"Después de establecer el modo de entidad predeterminado como "
 "<literal>dynamic-map</literal> para la <literal>SessionFactory</literal>, "
-"podemos trabajar en tiempo de ejecuci&#x00f3;n con <literal>Map</literal>s "
-"de <literal>Map</literal>s:"
+"puede trabajar en tiempo de ejecución con <literal>Map</literal>eos de "
+"<literal>Map</literal>eos: "
 
-#. Tag: programlisting
-#: persistent_classes.xml:282
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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();]]>"
-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:284
-#, fuzzy, no-c-format
-msgid ""
 "One of the main advantages of dynamic mapping is quick turnaround time for "
 "prototyping, without the need for entity class implementation. However, you "
 "lose compile-time type checking and will likely deal with many exceptions at "
@@ -872,58 +480,26 @@
 "easily be normalized and sound, allowing to add a proper domain model "
 "implementation on top later on."
 msgstr ""
-"Las ventajas de un mapeo din&#x00e1;mico es r&#x00e1;pido tiempo de ciclo de "
-"prototipado sin la necesidad de implementaci&#x00f3;n de clases de entidad. "
-"Sin embargo, pierdes chequeo de tipos en tiempo de compilaci&#x00f3;n y muy "
-"probablemente tratar&#x00e1;s con muchas excepciones en tiempo de "
-"ejecuci&#x00f3;n. Gracias al mapeo de Hibernate, el esquema de base de datos "
-"puede estar facilmente sano y normalizado, permitiendo agregar una "
-"implementaci&#x00f3;n apropiada del modelo de dominio m&#x00e1;s tarde."
+"Una de las ventajas principales de un mapeo dinámico es el rápido tiempo de "
+"entrega del prototipado sin la necesidad de implementar clases de entidad. "
+"Sin embargo, pierde el chequeo de tipos en tiempo de compilación y muy "
+"probablemente tendrá que tratar con muchas excepciones en tiempo de "
+"ejecución. Gracias al mapeo de Hibernate, el esquema de base de datos se "
+"puede normalizar y volver sólido, permitiendo añadir una implementación "
+"apropiada del modelo de dominio más adelante."
 
 #. Tag: para
-#: persistent_classes.xml:292
 #, no-c-format
 msgid ""
 "Entity representation modes can also be set on a per <literal>Session</"
 "literal> basis:"
 msgstr ""
-"Los modos de representaci&#x00f3;n de entidad pueden ser establecidos por "
+"Los modos de representación de entidad se pueden establecer por "
 "<literal>Session</literal>:"
 
-#. Tag: programlisting
-#: persistent_classes.xml:297
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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"
-"]]>"
-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:300
-#, fuzzy, no-c-format
-msgid ""
 "Please note that the call to <literal>getSession()</literal> using an "
 "<literal>EntityMode</literal> is on the <literal>Session</literal> API, not "
 "the <literal>SessionFactory</literal>. That way, the new <literal>Session</"
@@ -933,35 +509,31 @@
 "literal>, and also leave the transaction and connection handling to the "
 "primary unit of work."
 msgstr ""
-"Por favor, ten en cuenta que la llamada a <literal>getSession()</literal> "
-"usando un <literal>EntityMode</literal> est&#x00e1; en la API de "
-"<literal>Session</literal>, no en la de <literal>SessionFactory</literal>. "
-"De esta forma, la nueva <literal>Session</literal> comparte la conexi&#x00f3;"
-"n JDBC, transacci&#x00f3;n y otra informaci&#x00f3;n de contexto. Esto "
-"significa que no tienes que llamar a <literal>flush()</literal> ni a "
-"<literal>close()</literal> en la <literal>Session</literal> secundaria, y "
-"tembi&#x00e9;n dejar el manejo de la transacci&#x00f3;n y de la "
-"conexi&#x00f3;n a la unidad de trabajo primaria."
+"Tenga en cuenta que la llamada a <literal>getSession()</literal> utilizando "
+"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, la transacción y "
+"otra información de contexto. Esto significa que no tiene que llamar a "
+"<literal>flush()</literal> ni a <literal>close()</literal> en la "
+"<literal>Session</literal> secundaria, y también tiene que dejar el manejo "
+"de la transacción y de la conexión a la unidad de trabajo primaria. "
 
 #. Tag: para
-#: persistent_classes.xml:310
 #, no-c-format
 msgid ""
 "More information about the XML representation capabilities can be found in "
-"<xref linkend=\"xml\"/>."
+"<xref linkend=\"xml\" />."
 msgstr ""
-"Puede encontrarse m&#x00e1;s informaci&#x00f3;n sobre las capacidades de "
-"representaci&#x00f3;n XML en <xref linkend=\"xml\"/>."
+"Puede encontrar más información sobre las capacidades de representación de "
+"XML en <xref linkend=\"xml\" />."
 
 #. Tag: title
-#: persistent_classes.xml:318
 #, no-c-format
 msgid "Tuplizers"
-msgstr "UNTRANSLATED!!! Tuplizers"
+msgstr "Tuplizers"
 
 #. Tag: para
-#: persistent_classes.xml:320
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>org.hibernate.tuple.Tuplizer</literal>, and its sub-interfaces, are "
 "responsible for managing a particular representation of a piece of data "
@@ -973,23 +545,17 @@
 "through its constructor. It also knows how to access the POJO properties "
 "using the defined property accessors."
 msgstr ""
-"<literal>org.hibernate.tuple.Tuplizer</literal>, and its sub-interfaces, are "
-"responsible for managing a particular representation of a piece of data, "
-"given that representation's <literal>org.hibernate.EntityMode</literal>. If "
-"a given piece of data is thought of as a data structure, then a tuplizer is "
-"the thing which knows how to create such a data structure and how to extract "
-"values from and inject values into such a data structure. For example, for "
-"the POJO entity mode, the correpsonding tuplizer knows how create the POJO "
-"through its constructor and how to access the POJO properties using the "
-"defined property accessors. There are two high-level types of Tuplizers, "
-"represented by the <literal>org.hibernate.tuple.entity.EntityTuplizer</"
-"literal> and <literal>org.hibernate.tuple.component.ComponentTuplizer</"
-"literal> interfaces. <literal>EntityTuplizer</literal>s are responsible for "
-"managing the above mentioned contracts in regards to entities, while "
-"<literal>ComponentTuplizer</literal>s do the same for components."
+"<literal>org.hibernate.tuple.Tuplizer</literal> y sus subinterfaces son las "
+"responsables de administrar una representación en particular de un dato, "
+"dadas las representaciones de <literal>org.hibernate.EntityMode</literal>. "
+"Si un dato dado se considera como una estructura de datos entonces un "
+"tuplizer es la cosa que sabe como crear tal estructura de datos y sabe como "
+"extraer e insertar valores en dicha estructura de datos. Por ejemplo, para "
+"el modo de entidad POJO, el tuplizer correspondiente sabe como crear el POJO "
+"por medio de su constructor. También sabe como acceder a las propiedades "
+"POJO utilizando los accesores de propiedad definidos. "
 
 #. Tag: para
-#: persistent_classes.xml:330
 #, no-c-format
 msgid ""
 "There are two high-level types of Tuplizers, represented by the <literal>org."
@@ -999,10 +565,16 @@
 "mentioned contracts in regards to entities, while "
 "<literal>ComponentTuplizer</literal>s do the same for components."
 msgstr ""
+"Hay dos tipos altos de niveles de Tuplizers, representados por las "
+"interfaces <literal>org.hibernate.tuple.entity.EntityTuplizer</literal> y "
+"<literal>org.hibernate.tuple.component.ComponentTuplizer</literal>. Los "
+"<literal>EntityTuplizer</literal>s son los responsables de administrar los "
+"contratos mencionados anteriormente en relación con las entidades mientras "
+"que los <literal>ComponentTuplizer</literal>s hacen lo mismo para los "
+"componentes."
 
 #. Tag: para
-#: persistent_classes.xml:338
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Users can also plug in their own tuplizers. Perhaps you require that a "
 "<literal>java.util.Map</literal> implementation other than <literal>java."
@@ -1013,105 +585,22 @@
 "mapping they are meant to manage. Going back to the example of our customer "
 "entity:"
 msgstr ""
-"Users may also plug in their own tuplizers. Perhaps you require that a "
-"<literal>java.util.Map</literal> implementation other than <literal>java."
-"util.HashMap</literal> be used while in the dynamic-map entity-mode; or "
-"perhaps you need to define a different proxy generation strategy than the "
-"one used by default. Both would be achieved by defining a custom tuplizer "
-"implementation. Tuplizers definitions are attached to the entity or "
-"component mapping they are meant to manage. Going back to the example of our "
-"customer entity:"
+"Los usuarios también pueden enchufar sus propios tuplizers. Tal vez necesite "
+"que una implementación <literal>java.util.Map</literal> diferente de "
+"<literal>java.util.HashMap</literal> se utilice en el modo de entidad de "
+"mapeo dinámico. O quizás necesite definir una estrategia de generación proxy "
+"diferente de la que se utiliza por defecto. Se pueden obtener ambas al "
+"definir una implementación tuplizer personalizada. Las definiciones de los "
+"tuplizers se encuentran sujetas a la entidad o componente de mapeo que se "
+"supone que tienen que administrar. Regresando al ejemplo de nuestra entidad "
+"de cliente:"
 
-#. Tag: programlisting
-#: persistent_classes.xml:347
-#, no-c-format
-msgid ""
-"<![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"
-"}]]>"
-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: title
-#: persistent_classes.xml:353
 #, no-c-format
 msgid "EntityNameResolvers"
-msgstr ""
+msgstr "EntityNameResolvers"
 
 #. Tag: para
-#: persistent_classes.xml:355
 #, no-c-format
 msgid ""
 "The <interfacename>org.hibernate.EntityNameResolver</interfacename> "
@@ -1128,158 +617,41 @@
 "dynamicentity.tuplizer2</package>. Here is some of the code from that "
 "package for illustration."
 msgstr ""
+"La interfaz <interfacename>org.hibernate.EntityNameResolver</interfacename> "
+"es un contrato para resolver el nombre de la entidad de una instancia de "
+"entidad dada. La interfaz define un solo método "
+"<methodname>resolveEntityName</methodname>, el cual se le pasa la instancia "
+"entidad y se espera que retorne el nombre de entidad apropriado (se permite "
+"nulo e indicaría que el resolvedor no sabe cómo resolver el nombre de la "
+"entidad de la instancia de entidad dada). Generalmente hablando, un "
+"<interfacename>org.hibernate.EntityNameResolver</interfacename> será más "
+"útil en el caso de modelos dinámicos. Un ejemplo puede ser el usar "
+"interfaces con proxis como su modelo de dominio. La suite de prueba de "
+"hibernate tiene un ejemplo de este estilo exacto de uso bajo el <package>org."
+"hibernate.test.dynamicentity.tuplizer2</package>. Aquí está algo del código "
+"de ese paquete para su ilustración."
 
-#. Tag: programlisting
-#: persistent_classes.xml:367
-#, no-c-format
-msgid ""
-"/**\n"
-" * A very trivial JDK Proxy InvocationHandler implementation where we proxy "
-"an interface as\n"
-" * the domain model and simply store persistent state in an internal Map.  "
-"This is an extremely\n"
-" * trivial example meant only for illustration.\n"
-" */\n"
-"public final class DataProxyHandler implements InvocationHandler {\n"
-"        private String entityName;\n"
-"        private HashMap data = new HashMap();\n"
-"\n"
-"        public DataProxyHandler(String entityName, Serializable id) {\n"
-"                this.entityName = entityName;\n"
-"                data.put( \"Id\", id );\n"
-"        }\n"
-"\n"
-"        public Object invoke(Object proxy, Method method, Object[] args) "
-"throws Throwable {\n"
-"                String methodName = method.getName();\n"
-"                if ( methodName.startsWith( \"set\" ) ) {\n"
-"                        String propertyName = methodName.substring( 3 );\n"
-"                        data.put( propertyName, args[0] );\n"
-"                }\n"
-"                else if ( methodName.startsWith( \"get\" ) ) {\n"
-"                        String propertyName = methodName.substring( 3 );\n"
-"                        return data.get( propertyName );\n"
-"                }\n"
-"                else if ( \"toString\".equals( methodName ) ) {\n"
-"                        return entityName + \"#\" + data.get( \"Id\" );\n"
-"                }\n"
-"                else if ( \"hashCode\".equals( methodName ) ) {\n"
-"                        return new Integer( this.hashCode() );\n"
-"                }\n"
-"                return null;\n"
-"        }\n"
-"\n"
-"        public String getEntityName() {\n"
-"                return entityName;\n"
-"        }\n"
-"\n"
-"        public HashMap getData() {\n"
-"                return data;\n"
-"        }\n"
-"}\n"
-"\n"
-"/**\n"
-" *\n"
-" */\n"
-"public class ProxyHelper {\n"
-"    public static String extractEntityName(Object object) {\n"
-"        // Our custom java.lang.reflect.Proxy instances actually bundle\n"
-"        // their appropriate entity name, so we simply extract it from "
-"there\n"
-"        // if this represents one of our proxies; otherwise, we return null\n"
-"        if ( Proxy.isProxyClass( object.getClass() ) ) {\n"
-"            InvocationHandler handler = Proxy.getInvocationHandler"
-"( object );\n"
-"            if ( DataProxyHandler.class.isAssignableFrom( handler.getClass"
-"() ) ) {\n"
-"                DataProxyHandler myHandler = ( DataProxyHandler ) handler;\n"
-"                return myHandler.getEntityName();\n"
-"            }\n"
-"        }\n"
-"        return null;\n"
-"    }\n"
-"\n"
-"    // various other utility methods ....\n"
-"\n"
-"}\n"
-"\n"
-"/**\n"
-" * The EntityNameResolver implementation.\n"
-" * IMPL NOTE : An EntityNameResolver really defines a strategy for how "
-"entity names should be\n"
-" * resolved.  Since this particular impl can handle resolution for all of "
-"our entities we want to\n"
-" * take advantage of the fact that SessionFactoryImpl keeps these in a Set "
-"so that we only ever\n"
-" * have one instance registered.  Why?  Well, when it comes time to resolve "
-"an entity name,\n"
-" * Hibernate must iterate over all the registered resolvers.  So keeping "
-"that number down\n"
-" * helps that process be as speedy as possible.  Hence the equals and "
-"hashCode impls\n"
-" */\n"
-"public class MyEntityNameResolver implements EntityNameResolver {\n"
-"    public static final MyEntityNameResolver INSTANCE = new "
-"MyEntityNameResolver();\n"
-"\n"
-"    public String resolveEntityName(Object entity) {\n"
-"        return ProxyHelper.extractEntityName( entity );\n"
-"    }\n"
-"\n"
-"    public boolean equals(Object obj) {\n"
-"        return getClass().equals( obj.getClass() );\n"
-"    }\n"
-"\n"
-"    public int hashCode() {\n"
-"        return getClass().hashCode();\n"
-"    }\n"
-"}\n"
-"\n"
-"public class MyEntityTuplizer extends PojoEntityTuplizer {\n"
-"        public MyEntityTuplizer(EntityMetamodel entityMetamodel, "
-"PersistentClass mappedEntity) {\n"
-"                super( entityMetamodel, mappedEntity );\n"
-"        }\n"
-"\n"
-"        public EntityNameResolver[] getEntityNameResolvers() {\n"
-"                return new EntityNameResolver[] { MyEntityNameResolver."
-"INSTANCE };\n"
-"        }\n"
-"\n"
-"    public String determineConcreteSubclassEntityName(Object entityInstance, "
-"SessionFactoryImplementor factory) {\n"
-"        String entityName = ProxyHelper.extractEntityName"
-"( entityInstance );\n"
-"        if ( entityName == null ) {\n"
-"            entityName = super.determineConcreteSubclassEntityName"
-"( entityInstance, factory );\n"
-"        }\n"
-"        return entityName;\n"
-"    }\n"
-"\n"
-"    ...\n"
-"}"
-msgstr ""
-
 #. Tag: para
-#: persistent_classes.xml:369
 #, no-c-format
 msgid ""
 "In order to register an <interfacename>org.hibernate.EntityNameResolver</"
 "interfacename> users must either:"
 msgstr ""
+"Con el fin de registrar un <interfacename>org.hibernate.EntityNameResolver</"
+"interfacename> los usuarios deben:"
 
 #. Tag: para
-#: persistent_classes.xml:373
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
-"Implement a custom <link linkend=\"persistent-classes-tuplizers\">Tuplizer</"
-"link>, implementing the <methodname>getEntityNameResolvers</methodname> "
-"method."
+"Implement a custom Tupelizer implementing the "
+"<methodname>getEntityNameResolvers</methodname> method (see <xref linkend="
+"\"persistent-classes-tuplizers\" />)."
 msgstr ""
+"Implementar un <xref linkend=\"persistent-classes-tuplizers\" /> "
+"personalizado, implementando el método <methodname>getEntityNameResolvers</"
+"methodname>."
 
 #. Tag: para
-#: persistent_classes.xml:379
 #, no-c-format
 msgid ""
 "Register it with the <classname>org.hibernate.impl.SessionFactoryImpl</"
@@ -1287,18 +659,7 @@
 "hibernate.SessionFactory</interfacename>) using the "
 "<methodname>registerEntityNameResolver</methodname> method."
 msgstr ""
-
-#~ msgid "There are four main rules to follow here:"
-#~ msgstr "Aqu&#x00ed; hay cuatro reglas principales a seguir:"
-
-#~ 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-->"
+"Registrarlo con el <classname>org.hibernate.impl.SessionFactoryImpl</"
+"classname> (el cual es la clase de implementación para <interfacename>org."
+"hibernate.SessionFactory</interfacename>) usando el método "
+"<methodname>registerEntityNameResolver</methodname>."

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

Deleted: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/preface.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/preface.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/preface.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,222 +0,0 @@
-#, fuzzy
-msgid ""
-msgstr ""
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-16 18:47+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-
-#. Tag: title
-#: preface.xml:29
-#, no-c-format
-msgid "Preface"
-msgstr "Prefacio"
-
-#. Tag: para
-#: preface.xml:31
-#, fuzzy, no-c-format
-msgid ""
-"Working with object-oriented software and a relational database can be "
-"cumbersome and time consuming in today's enterprise environments. Hibernate "
-"is an Object/Relational Mapping tool for Java environments. The term Object/"
-"Relational Mapping (ORM) refers to the technique of mapping a data "
-"representation from an object model to a relational data model with a SQL-"
-"based schema."
-msgstr ""
-"Trabajar con software orientado a objetos y una base de datos relacional "
-"puede ser inc&#x00f3;modo y consumir tiempo en los entornos de empresa de "
-"hoy. Hibernate es una herramienta de mapeo objeto/relacional para entornos "
-"Java. El t&#x00e9;rmino mapeo objeto/relacional (MOR) hace referencia a la "
-"t&#x00e9;cnica de mapear una representaci&#x00f3;n de datos desde un modelo "
-"de objetos a un modelo de datos relacional con un esquema basado en SQL."
-
-#. Tag: para
-#: preface.xml:39
-#, fuzzy, no-c-format
-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. It can also significantly reduce development "
-"time otherwise spent with manual data handling in SQL and JDBC."
-msgstr ""
-"Hibernate no s&#x00f3;lo se encarga de mapear de clases Java a tablas de "
-"base de datos (y de tipos de datos de Java a tipos de datos SQL), sino que "
-"tambi&#x00e9;n provee facilidades de consulta y recuperaci&#x00f3;n de datos "
-"y puede reducir significativamente el tiempo de desarrollo que de otra forma "
-"se gasta en el manejo de los datos en SQL y JDBC."
-
-#. Tag: para
-#: preface.xml:46
-#, fuzzy, no-c-format
-msgid ""
-"Hibernate's goal is to relieve the developer from 95 percent of common data "
-"persistence related programming tasks. Hibernate may not be the best "
-"solution for data-centric applications that only use stored-procedures to "
-"implement the business logic in the database, it is most useful with object-"
-"oriented domain models and business logic in the Java-based middle-tier. "
-"However, Hibernate can certainly help you to remove or encapsulate vendor-"
-"specific SQL code and will help with the common task of result set "
-"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&#x00f3;n de la persistencia de "
-"los datos. Hibernate puede no ser la mejor soluci&#x00f3;n para aplicaciones "
-"que usan solamente procedimientos almacenados para implementar la l&#x00f3;"
-"gica de negocio en la base de datos, es mas &#x00fa;til con modelos de "
-"dominio orientados a objetos y l&#x00f3;gica de negocio en middle-tier "
-"basada en Java. Sin embargo, Hibernate ciertamente puede ayudarte a quitar o "
-"encapsular c&#x00f3;digo SQL espec&#x00ed;fico de vendedor y ayudar&#x00e1; "
-"con la tarea com&#x00fa;n de traducci&#x00f3;n de resultados desde una "
-"representaci&#x00f3;n tabular a un grafo de objetos."
-
-#. Tag: para
-#: preface.xml:56
-#, no-c-format
-msgid ""
-"If you are new to Hibernate and Object/Relational Mapping or even Java, "
-"please follow these steps:"
-msgstr ""
-"Si eres nuevo en Hibernate y lo del Mapeo Objeto/Relacional o incluso en "
-"Java, sigue por favor estos pasos:"
-
-#. Tag: para
-#: preface.xml:63
-#, no-c-format
-msgid ""
-"Read <xref linkend=\"tutorial\"/> for a tutorial with step-by-step "
-"instructions. The source code for the tutorial is included in the "
-"distribution in the <literal>doc/reference/tutorial/</literal> directory."
-msgstr ""
-"Lee <xref linkend=\"tutorial\"/> para un tutorial de 30 minutos, usando "
-"Tomcat."
-
-#. Tag: para
-#: preface.xml:71
-#, no-c-format
-msgid ""
-"Read <xref linkend=\"architecture\"/> to understand the environments where "
-"Hibernate can be used."
-msgstr ""
-"Lee <xref linkend=\"architecture\"/> para entender los entornos en los que "
-"puede ser usado Hibernate."
-
-#. Tag: para
-#: preface.xml:77
-#, fuzzy, no-c-format
-msgid ""
-"View the <literal>eg/</literal> directory in the Hibernate distribution. It "
-"contains a simple standalone application. Copy your JDBC driver to the "
-"<literal>lib/</literal> directory and edit <literal>etc/hibernate."
-"properties</literal>, specifying correct values for your database. 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&#x00f3;"
-"n de Hibernate, contiene una aplicaci&#x00f3;n independiente simple. Copia "
-"tu driver JDBC al directorio <literal>lib/</literal> y edita <literal>etc/"
-"hibernate.properties</literal>, especificando los valores correctos para tu "
-"base de datos. Desde l&#x00ed;nea de comandos en el directorio de la "
-"distribuci&#x00f3;n, tipea <literal>ant eg</literal> (usando Ant), o bajo "
-"Windows, tipea <literal>build eg</literal>."
-
-#. Tag: para
-#: preface.xml:88
-#, fuzzy, no-c-format
-msgid ""
-"Use this reference documentation as your primary source of information. "
-"Consider reading <biblioref linkend=\"biblio-JPwH\"></biblioref> if you need "
-"more help with application design, or if you prefer a step-by-step tutorial. "
-"Also visit <ulink url=\"http://caveatemptor.hibernate.org\"></ulink> and "
-"download the example application from <biblioref linkend=\"biblio-JPwH\"></"
-"biblioref>."
-msgstr ""
-"Usa esta documentaci&#x00f3;n de referencia como tu fuente de "
-"informaci&#x00f3;n primaria. Ten en consideraci&#x00f3;n leer <emphasis>Java "
-"Persistence with Hibernate</emphasis> (http://www.manning.com/bauer2) si "
-"necesitas mas ayuda con el dise&#x00f1;o de aplicaciones o si prefieres un "
-"tutorial paso a paso. Visita tambi&#x00e9;n http://caveatemptor.hibernate."
-"org y descarga la aplicaci&#x00f3;n de ejemplo para Java Persistence with "
-"Hibernate."
-
-#. Tag: para
-#: preface.xml:98
-#, no-c-format
-msgid "FAQs are answered on the Hibernate website."
-msgstr "Los FAQs son respondidos en el sitio web de Hibernate."
-
-#. Tag: para
-#: preface.xml:103
-#, fuzzy, no-c-format
-msgid ""
-"Links to third party demos, examples, and tutorials are maintained on the "
-"Hibernate website."
-msgstr ""
-"En el sitio web de Hibernate hay enlaces a demos de terceros, ejemplos y "
-"tutoriales."
-
-#. Tag: para
-#: preface.xml:109
-#, no-c-format
-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&#x00f1;o y varias soluciones de integraci&#x00f3;n (Tomcat, "
-"JBoss, Struts, EJB, etc.)."
-
-#. Tag: para
-#: preface.xml:117
-#, fuzzy, no-c-format
-msgid ""
-"If you have questions, use the user forum linked on the Hibernate website. "
-"We also provide a JIRA issue tracking system for bug reports and feature "
-"requests. If you are interested in the development of Hibernate, join the "
-"developer mailing list. If you are interested in translating this "
-"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&#x00e9;n proveemos un sistema de seguimiento JIRA para "
-"reportes de defectos y peticiones de nuevas caracter&#x00ed;sticas. Si estas "
-"interesado en el desarrollo de Hibernate, &#x00fa;nete a la lista de correo "
-"de desarrolladores. Si estas interesado en traducir esta documentaci&#x00f3;"
-"n a tu lenguaje, cont&#x00e1;ctanos en la lista de correo de desarrolladores."
-
-#. Tag: para
-#: preface.xml:125
-#, no-c-format
-msgid ""
-"Commercial development support, production support, and training for "
-"Hibernate is available through JBoss Inc. (see http://www.hibernate.org/"
-"SupportTraining/). Hibernate is a Professional Open Source project and a "
-"critical component of the JBoss Enterprise Middleware System (JEMS) suite of "
-"products."
-msgstr ""
-"A trav&#x00e9;s de JBoss Inc. (see http://www.hibernate.org/"
-"SupportTraining/) hay disponibilidad de soporte comercial de desarrollo, "
-"soporte de producci&#x00f3;n y entrenamiento en Hibernate. Hibernate es un "
-"proyecto de la suite de productos de c&#x00f3;digo abierto JBoss "
-"Professional."
-
-#. Tag: title
-#: preface.xml:133
-#, no-c-format
-msgid "Feedback"
-msgstr ""
-
-#. Tag: para
-#: preface.xml:134
-#, no-c-format
-msgid ""
-"Use <ulink url=\"http://opensource.atlassian.com/projects/hibernate"
-"\">Hibernate JIRA</ulink> to report errors or request enhacements to this "
-"documentation."
-msgstr ""
-
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/query_criteria.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/query_criteria.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/query_criteria.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,64 +1,62 @@
-#, fuzzy
+# translation of query_criteria.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: query_criteria\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-10 21:02+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2009-12-03T00:15:27\n"
+"PO-Revision-Date: 2010-01-05 17:44+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: query_criteria.xml:29
 #, no-c-format
 msgid "Criteria Queries"
-msgstr "Consultas por Criterios"
+msgstr "Consultas por criterios"
 
 #. Tag: para
-#: query_criteria.xml:31
 #, no-c-format
 msgid "Hibernate features an intuitive, extensible criteria query API."
 msgstr ""
-"Acompa&#x00f1;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:36
 #, no-c-format
 msgid "Creating a <literal>Criteria</literal> instance"
-msgstr "Creando una instancia de <literal>Criteria</literal>"
+msgstr "Creación de una instancia <literal>Criteria</literal>"
 
 #. Tag: para
-#: query_criteria.xml:38
 #, no-c-format
 msgid ""
 "The interface <literal>org.hibernate.Criteria</literal> represents a query "
 "against a particular persistent class. The <literal>Session</literal> is a "
 "factory for <literal>Criteria</literal> instances."
 msgstr ""
-"La interface <literal>org.hibernate.Criteria</literal> representa una "
+"La interfaz <literal>org.hibernate.Criteria</literal> representa una "
 "consulta contra una clase persistente en particular. La <literal>Session</"
-"literal> es una f&#x00e1;brica de instancias de <literal>Criteria</literal>."
+"literal> es una fábrica de instancias de <literal>Criteria</literal>."
 
-#. Tag: programlisting
-#: query_criteria.xml:44
-#, no-c-format
-msgid ""
-"<![CDATA[Criteria crit = sess.createCriteria(Cat.class);\n"
-"crit.setMaxResults(50);\n"
-"List cats = crit.list();]]>"
-msgstr ""
-"<![CDATA[Criteria crit = sess.createCriteria(Cat.class);\n"
-"crit.setMaxResults(50);\n"
-"List cats = crit.list();]]>"
-
 #. Tag: title
-#: query_criteria.xml:49
 #, no-c-format
 msgid "Narrowing the result set"
-msgstr "Estrechando el conjunto resultado"
+msgstr "Límitando el conjunto de resultados"
 
 #. Tag: para
-#: query_criteria.xml:51
 #, no-c-format
 msgid ""
 "An individual query criterion is an instance of the interface <literal>org."
@@ -66,275 +64,92 @@
 "criterion.Restrictions</literal> defines factory methods for obtaining "
 "certain built-in <literal>Criterion</literal> types."
 msgstr ""
-"Un criterio individual de consulta es una instancia de la interface "
+"Un criterio individual de consulta es una instancia de la interfaz "
 "<literal>org.hibernate.criterion.Criterion</literal>. La clase <literal>org."
-"hibernate.criterion.Restrictions</literal> define m&#x00e9;todos de f&#x00e1;"
-"brica para obtener ciertos tipos prefabricados de <literal>Criterion</"
-"literal>."
+"hibernate.criterion.Restrictions</literal> define métodos de fábrica para "
+"obtener ciertos tipos incorporados de <literal>Criterion</literal>."
 
-#. Tag: programlisting
-#: query_criteria.xml:59
-#, no-c-format
-msgid ""
-"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-"    .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
-"    .add( Restrictions.between(\"weight\", minWeight, maxWeight) )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:61
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Restrictions can be grouped logically."
-msgstr "Las restricciones pueden ser agrupadas l&#x00f3;gicamente."
+msgstr "Las restricciones se pueden agrupar lógicamente. "
 
-#. Tag: programlisting
-#: query_criteria.xml:65
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-"    .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
-"    .add( Restrictions.or(\n"
-"        Restrictions.eq( \"age\", new Integer(0) ),\n"
-"        Restrictions.isNull(\"age\")\n"
-"    ) )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:67
-#, no-c-format
-msgid ""
-"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-"    .add( Restrictions.in( \"name\", new String[] { \"Fritz\", \"Izi\", \"Pk"
-"\" } ) )\n"
-"    .add( Restrictions.disjunction()\n"
-"        .add( Restrictions.isNull(\"age\") )\n"
-"        .add( Restrictions.eq(\"age\", new Integer(0) ) )\n"
-"        .add( Restrictions.eq(\"age\", new Integer(1) ) )\n"
-"        .add( Restrictions.eq(\"age\", new Integer(2) ) )\n"
-"    ) )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:69
-#, fuzzy, no-c-format
-msgid ""
 "There are a range of built-in criterion types (<literal>Restrictions</"
 "literal> subclasses). One of the most useful allows you to specify SQL "
 "directly."
 msgstr ""
-"Hay un gran rango de tipos de criterio prefabricados (subclases de "
-"<literal>Restrictions</literal>), pero uno que es especialmente útil te deja "
+"Hay un rango de tipos de criterios incorporados (subclases de "
+"<literal>Restrictions</literal>). Uno de los más útiles le permite "
 "especificar SQL directamente."
 
-#. Tag: programlisting
-#: query_criteria.xml:74
-#, no-c-format
-msgid ""
-"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-"    .add( Restrictions.sqlRestriction(\"lower({alias}.name) like lower(?)\", "
-"\"Fritz%\", Hibernate.STRING) )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:76
 #, no-c-format
 msgid ""
 "The <literal>{alias}</literal> placeholder with be replaced by the row alias "
 "of the queried entity."
 msgstr ""
-"El sitio <literal>{alias}</literal> ser&#x00e1; 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:81
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can also obtain a criterion from a <literal>Property</literal> instance. "
 "You can create a <literal>Property</literal> by calling <literal>Property."
 "forName()</literal>:"
 msgstr ""
-"Un enfoque alternativo para obtener un criterio es tomarlo de una instancia "
-"de <literal>Property</literal>. Puedes crear una <literal>Property</literal> "
-"llamando a <literal>Property.forName()</literal>."
+"También puede obtener un criterio de una instancia <literal>Property</"
+"literal>. Puede crear una <literal>Property</literal> llamando a "
+"<literal>Property.forName()</literal>."
 
-#. Tag: programlisting
-#: query_criteria.xml:87
-#, no-c-format
-msgid ""
-"<![CDATA[\n"
-"Property age = Property.forName(\"age\");\n"
-"List cats = sess.createCriteria(Cat.class)\n"
-"    .add( Restrictions.disjunction()\n"
-"        .add( age.isNull() )\n"
-"        .add( age.eq( new Integer(0) ) )\n"
-"        .add( age.eq( new Integer(1) ) )\n"
-"        .add( age.eq( new Integer(2) ) )\n"
-"    ) )\n"
-"    .add( Property.forName(\"name\").in( new String[] { \"Fritz\", \"Izi\", "
-"\"Pk\" } ) )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:92
 #, no-c-format
 msgid "Ordering the results"
-msgstr "Ordenando los resultados"
+msgstr "Orden de los resultados"
 
 #. Tag: para
-#: query_criteria.xml:94
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can order the results using <literal>org.hibernate.criterion.Order</"
 "literal>."
 msgstr ""
-"Puedes ordenar los resultados usando <literal>org.hibernate.criterion.Order</"
+"Puede ordenar los resultados usando <literal>org.hibernate.criterion.Order</"
 "literal>."
 
-#. Tag: programlisting
-#: query_criteria.xml:98
-#, no-c-format
-msgid ""
-"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-"    .add( Restrictions.like(\"name\", \"F%\")\n"
-"    .addOrder( Order.asc(\"name\") )\n"
-"    .addOrder( Order.desc(\"age\") )\n"
-"    .setMaxResults(50)\n"
-"    .list();]]>"
-msgstr ""
-"<![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:100
-#, no-c-format
-msgid ""
-"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-"    .add( Property.forName(\"name\").like(\"F%\") )\n"
-"    .addOrder( Property.forName(\"name\").asc() )\n"
-"    .addOrder( Property.forName(\"age\").desc() )\n"
-"    .setMaxResults(50)\n"
-"    .list();]]>"
-msgstr ""
-"<![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:105
 #, no-c-format
 msgid "Associations"
 msgstr "Asociaciones"
 
 #. Tag: para
-#: query_criteria.xml:107
 #, no-c-format
 msgid ""
 "By navigating associations using <literal>createCriteria()</literal> you can "
 "specify constraints upon related entities:"
 msgstr ""
+"Al navegar asociaciones usando <literal>createCriteria()</literal> puede "
+"especificar restricciones en entidades relacionadas:"
 
-#. Tag: programlisting
-#: query_criteria.xml:112
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-"    .add( Restrictions.like(\"name\", \"F%\") )\n"
-"    .createCriteria(\"kittens\")\n"
-"        .add( Restrictions.like(\"name\", \"F%\") )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:114
-#, fuzzy, no-c-format
-msgid ""
 "The second <literal>createCriteria()</literal> returns a new instance of "
 "<literal>Criteria</literal> that refers to the elements of the "
 "<literal>kittens</literal> collection."
 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&#x00f3;n <literal>kittens</literal>."
+"El segundo <literal>createCriteria()</literal> retorna una nueva instancia "
+"de <literal>Criteria</literal>, que se refiere a los elementos de la "
+"colección <literal>kittens</literal>."
 
 #. Tag: para
-#: query_criteria.xml:120
-#, fuzzy, no-c-format
-msgid ""
-"There is also an alternate form that is useful in certain circumstances:"
-msgstr "La siguiente forma alternativa es útil en ciertas circunstancias."
-
-#. Tag: programlisting
-#: query_criteria.xml:124
 #, no-c-format
-msgid ""
-"<![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();]]>"
-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();]]>"
+msgid "There is also an alternate form that is useful in certain circumstances:"
+msgstr "Hay una alternativa que es útil en ciertas circunstancias:"
 
 #. Tag: para
-#: query_criteria.xml:126
 #, no-c-format
 msgid ""
 "(<literal>createAlias()</literal> does not create a new instance of "
@@ -344,303 +159,117 @@
 "<literal>Criteria</literal>.)"
 
 #. Tag: para
-#: query_criteria.xml:131
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "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 want to retrieve just the kittens that "
 "match the criteria, you must use a <literal>ResultTransformer</literal>."
 msgstr ""
-"&#x00a1;Observa que las colecciones de gatitos tenidas por las instancias de "
-"<literal>Cat</literal> devueltas por las dos consultas previas <emphasis>no</"
-"emphasis> est&#x00e1;n prefiltradas por los criterios! Si deseas recuperar "
-"s&#x00f3;lo los gatitos que emparejen los criterios, debes usar "
-"<literal>returnMaps()</literal>."
+"Las colecciones de gatitos de las instancias <literal>Cat</literal> "
+"retornadas por las dos consultas previas <emphasis>no</emphasis> están "
+"prefiltradas por los criterios. Si desea recuperar sólo los gatitos que "
+"coincidan con los criterios debe usar un <literal>ResultTransformer</"
+"literal>."
 
-#. Tag: programlisting
-#: query_criteria.xml:138
-#, no-c-format
-msgid ""
-"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-"    .createCriteria(\"kittens\", \"kt\")\n"
-"        .add( Restrictions.eq(\"name\", \"F%\") )\n"
-"    .setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP)\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"
-"}]]>"
-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:143
 #, no-c-format
 msgid "Dynamic association fetching"
-msgstr "Recuperaci&#x00f3;n din&#x00e1;mica de asociaciones"
+msgstr "Recuperación dinámica de asociaciones"
 
 #. Tag: para
-#: query_criteria.xml:145
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can specify association fetching semantics at runtime using "
 "<literal>setFetchMode()</literal>."
 msgstr ""
-"Puedes especificar la sem&#x00e1;ntica de recuperaci&#x00f3;n de "
-"asociaciones en tiempo de ejecuci&#x00f3;n usando <literal>setFetchMode()</"
-"literal>."
+"Puede especificar la semántica de recuperación de asociaciones en tiempo de "
+"ejecución usando <literal>setFetchMode()</literal>. "
 
-#. Tag: programlisting
-#: query_criteria.xml:150
-#, no-c-format
-msgid ""
-"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
-"    .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
-"    .setFetchMode(\"mate\", FetchMode.EAGER)\n"
-"    .setFetchMode(\"kittens\", FetchMode.EAGER)\n"
-"    .list();]]>"
-msgstr ""
-"<![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:152
 #, no-c-format
 msgid ""
 "This query will fetch both <literal>mate</literal> and <literal>kittens</"
-"literal> by outer join. See <xref linkend=\"performance-fetching\"/> for "
+"literal> by outer join. See <xref linkend=\"performance-fetching\" /> for "
 "more information."
 msgstr ""
-"Esta consulta recuperar&#x00e1; tanto <literal>mate</literal> como "
-"<literal>kittens</literal> por uni&#x00f3;n exterior (outer join). Ver <xref "
-"linkend=\"performance-fetching\"/> para m&#x00e1;s informaci&#x00f3;n."
+"Esta consulta recuperará tanto <literal>mate</literal> como "
+"<literal>kittens</literal> por unión exterior (outer join). Consulte la "
+"<xref linkend=\"performance-fetching\" /> para obtener más información."
 
 #. Tag: title
-#: query_criteria.xml:160
 #, no-c-format
 msgid "Example queries"
-msgstr "Consultas por ejemplos"
+msgstr "Consultas ejemplo"
 
 #. Tag: para
-#: query_criteria.xml:162
 #, no-c-format
 msgid ""
 "The class <literal>org.hibernate.criterion.Example</literal> allows you to "
 "construct a query criterion from a given instance."
 msgstr ""
-"La clase <literal>org.hibernate.criterion.Example</literal> te permite "
+"La clase <literal>org.hibernate.criterion.Example</literal> le permite "
 "construir un criterio de consulta a partir de una instancia dada."
 
-#. Tag: programlisting
-#: query_criteria.xml:167
-#, no-c-format
-msgid ""
-"<![CDATA[Cat cat = new Cat();\n"
-"cat.setSex('F');\n"
-"cat.setColor(Color.BLACK);\n"
-"List results = session.createCriteria(Cat.class)\n"
-"    .add( Example.create(cat) )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:169
 #, no-c-format
 msgid ""
 "Version properties, identifiers and associations are ignored. By default, "
 "null valued properties are excluded."
 msgstr ""
-"Las propiedades de versi&#x00f3;n, los identificadores y las asociaciones "
-"son ignorados. Por defecto, las propiedades valuadas a nulo son exclu&#x00ed;"
-"das."
+"Las propiedades de versión, los identificadores y las asociaciones se "
+"ignoran. Por defecto, las propiedades valuadas como nulas se excluyen."
 
 #. Tag: para
-#: query_criteria.xml:174
 #, no-c-format
 msgid "You can adjust how the <literal>Example</literal> is applied."
-msgstr "Puedes ajustar c&#x00f3;mo se aplica el <literal>Example</literal>."
+msgstr "Puede modificar la aplicación del <literal>Example</literal>."
 
-#. Tag: programlisting
-#: query_criteria.xml:178
-#, no-c-format
-msgid ""
-"<![CDATA[Example example = Example.create(cat)\n"
-"    .excludeZeroes()           //exclude zero valued properties\n"
-"    .excludeProperty(\"color\")  //exclude the property named \"color\"\n"
-"    .ignoreCase()              //perform case insensitive string "
-"comparisons\n"
-"    .enableLike();             //use like for string comparisons\n"
-"List results = session.createCriteria(Cat.class)\n"
-"    .add(example)\n"
-"    .list();]]>"
-msgstr ""
-"<![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:180
 #, no-c-format
 msgid "You can even use examples to place criteria upon associated objects."
-msgstr ""
-"Puedes incluso usar ejemplos para colocar criterios sobre objetos asociados."
+msgstr "Puede incluso usar ejemplos para colocar criterios sobre objetos asociados."
 
-#. Tag: programlisting
-#: query_criteria.xml:184
-#, no-c-format
-msgid ""
-"<![CDATA[List results = session.createCriteria(Cat.class)\n"
-"    .add( Example.create(cat) )\n"
-"    .createCriteria(\"mate\")\n"
-"        .add( Example.create( cat.getMate() ) )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:189
 #, no-c-format
 msgid "Projections, aggregation and grouping"
-msgstr "Proyecciones, agregaci&#x00f3;n y agrupamiento"
+msgstr "Proyecciones, agregación y agrupamiento"
 
 #. Tag: para
-#: query_criteria.xml:190
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The class <literal>org.hibernate.criterion.Projections</literal> is a "
 "factory for <literal>Projection</literal> instances. You can apply a "
 "projection to a query by calling <literal>setProjection()</literal>."
 msgstr ""
 "La clase <literal>org.hibernate.criterion.Projections</literal> es una "
-"f&#x00e1;brica de instancias de <literal>Projection</literal>. Aplicamos una "
-"proyecci&#x00f3;n a una consulta llamando a <literal>setProjection()</"
-"literal>."
+"fábrica de instancias de <literal>Projection</literal>. Puede aplicar una "
+"proyección a una consulta llamando a <literal>setProjection()</literal>."
 
-#. Tag: programlisting
-#: query_criteria.xml:196
-#, no-c-format
-msgid ""
-"<![CDATA[List results = session.createCriteria(Cat.class)\n"
-"    .setProjection( Projections.rowCount() )\n"
-"    .add( Restrictions.eq(\"color\", Color.BLACK) )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:198
-#, no-c-format
-msgid ""
-"<![CDATA[List results = session.createCriteria(Cat.class)\n"
-"    .setProjection( Projections.projectionList()\n"
-"        .add( Projections.rowCount() )\n"
-"        .add( Projections.avg(\"weight\") )\n"
-"        .add( Projections.max(\"weight\") )\n"
-"        .add( Projections.groupProperty(\"color\") )\n"
-"    )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:200
 #, no-c-format
 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&#x00ed;cito en una consulta por "
+"No es necesario ningún \"agrupamiento por\" explícito en una consulta por "
 "criterios. Ciertos tipos de proyecciones son definidos para ser "
-"<emphasis>proyecciones agrupadas</emphasis>, que adem&#x00e1;s aparecen en "
-"la cl&#x00e1;usula SQL <literal>group by</literal>."
+"<emphasis>proyecciones agrupadas</emphasis>, que además aparecen en la "
+"cláusula SQL <literal>group by</literal>."
 
 #. Tag: para
-#: query_criteria.xml:206
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "An alias can be assigned to a projection so that the projected value can be "
 "referred to in restrictions or orderings. Here are two different ways to do "
 "this:"
 msgstr ""
-"Puede opcionalmente asignarse un alias a una proyecci&#x00f3;n, de modo que "
-"el valor proyectado pueda ser referido en restricciones u ordenamientos. "
-"Aqu&#x00ed; hay dos formas diferentes de hacer esto:"
+"Puede asignar 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:212
-#, no-c-format
-msgid ""
-"<![CDATA[List results = session.createCriteria(Cat.class)\n"
-"    .setProjection( Projections.alias( Projections.groupProperty(\"color\"), "
-"\"colr\" ) )\n"
-"    .addOrder( Order.asc(\"colr\") )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:214
-#, no-c-format
-msgid ""
-"<![CDATA[List results = session.createCriteria(Cat.class)\n"
-"    .setProjection( Projections.groupProperty(\"color\").as(\"colr\") )\n"
-"    .addOrder( Order.asc(\"colr\") )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:216
 #, no-c-format
 msgid ""
 "The <literal>alias()</literal> and <literal>as()</literal> methods simply "
@@ -648,233 +277,60 @@
 "<literal>Projection</literal>. As a shortcut, you can assign an alias when "
 "you add the projection to a projection list:"
 msgstr ""
-"Los m&#x00e9;todos <literal>alias()</literal> y <literal>as()</literal> "
-"simplemente envuelven una instancia de proyecci&#x00f3;n en otra instancia "
-"de <literal>Projection</literal> con alias. Como un atajo, puedes asignar un "
-"alias cuando agregas la proyecci&#x00f3;n a una lista de proyecciones:"
+"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 atajo, puede asignar un alias "
+"cuando agregue la proyección a una lista de proyecciones:"
 
-#. Tag: programlisting
-#: query_criteria.xml:223
-#, no-c-format
-msgid ""
-"<![CDATA[List results = session.createCriteria(Cat.class)\n"
-"    .setProjection( Projections.projectionList()\n"
-"        .add( Projections.rowCount(), \"catCountByColor\" )\n"
-"        .add( Projections.avg(\"weight\"), \"avgWeight\" )\n"
-"        .add( Projections.max(\"weight\"), \"maxWeight\" )\n"
-"        .add( Projections.groupProperty(\"color\"), \"color\" )\n"
-"    )\n"
-"    .addOrder( Order.desc(\"catCountByColor\") )\n"
-"    .addOrder( Order.desc(\"avgWeight\") )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:225
-#, no-c-format
-msgid ""
-"<![CDATA[List results = session.createCriteria(Domestic.class, \"cat\")\n"
-"    .createAlias(\"kittens\", \"kit\")\n"
-"    .setProjection( Projections.projectionList()\n"
-"        .add( Projections.property(\"cat.name\"), \"catName\" )\n"
-"        .add( Projections.property(\"kit.name\"), \"kitName\" )\n"
-"    )\n"
-"    .addOrder( Order.asc(\"catName\") )\n"
-"    .addOrder( Order.asc(\"kitName\") )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:227
 #, no-c-format
 msgid ""
 "You can also use <literal>Property.forName()</literal> to express "
 "projections:"
 msgstr ""
-"Puedes tambi&#x00e9;n usar <literal>Property.forName()</literal> para "
-"expresar proyecciones:"
+"También puede usar <literal>Property.forName()</literal> para expresar "
+"proyecciones:"
 
-#. Tag: programlisting
-#: query_criteria.xml:231
-#, no-c-format
-msgid ""
-"<![CDATA[List results = session.createCriteria(Cat.class)\n"
-"    .setProjection( Property.forName(\"name\") )\n"
-"    .add( Property.forName(\"color\").eq(Color.BLACK) )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:233
-#, no-c-format
-msgid ""
-"<![CDATA[List results = session.createCriteria(Cat.class)\n"
-"    .setProjection( Projections.projectionList()\n"
-"        .add( Projections.rowCount().as(\"catCountByColor\") )\n"
-"        .add( Property.forName(\"weight\").avg().as(\"avgWeight\") )\n"
-"        .add( Property.forName(\"weight\").max().as(\"maxWeight\") )\n"
-"        .add( Property.forName(\"color\").group().as(\"color\" )\n"
-"    )\n"
-"    .addOrder( Order.desc(\"catCountByColor\") )\n"
-"    .addOrder( Order.desc(\"avgWeight\") )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:238
 #, no-c-format
 msgid "Detached queries and subqueries"
 msgstr "Consultas y subconsultas separadas"
 
 #. Tag: para
-#: query_criteria.xml:239
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>DetachedCriteria</literal> class allows you to create a query "
 "outside the scope of a session and then execute it using an arbitrary "
 "<literal>Session</literal>."
 msgstr ""
-"La clase <literal>DetachedCriteria</literal> te deja crear una consulta "
-"fuera del &#x00e1;mbito de una sesi&#x00f3;n, y entonces ejecutarla luego "
-"usando alguna <literal>Session</literal> arbitraria."
+"La clase <literal>DetachedCriteria</literal> le permite crear una consulta "
+"fuera del ámbito de una sesión y luego ejecutarla usando una "
+"<literal>Session</literal> arbitraria."
 
-#. Tag: programlisting
-#: query_criteria.xml:244
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[DetachedCriteria query = DetachedCriteria.forClass(Cat.class)\n"
-"    .add( Property.forName(\"sex\").eq('F') );\n"
-"    \n"
-"Session session = ....;\n"
-"Transaction txn = session.beginTransaction();\n"
-"List results = query.getExecutableCriteria(session).setMaxResults(100).list"
-"();\n"
-"txn.commit();\n"
-"session.close();]]>"
-msgstr ""
-"<![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:246
-#, fuzzy, no-c-format
-msgid ""
 "A <literal>DetachedCriteria</literal> can also be used to express a "
 "subquery. Criterion instances involving subqueries can be obtained via "
 "<literal>Subqueries</literal> or <literal>Property</literal>."
 msgstr ""
-"Tambi&#x00e9;n una <literal>DetachedCriteria</literal> puede usarse para "
-"expresar una subconsulta. Las instancias de Criterion implicando "
-"subconsultas pueden obtenerse v&#x00ed;a <literal>Subqueries</literal> o "
+"También puede utilizar una <literal>DetachedCriteria</literal> para expresar "
+"una subconsulta. Las instancias de Criterion involucrando subconsultas se "
+"pueden obtener por medio de <literal>Subqueries</literal> o "
 "<literal>Property</literal>."
 
-#. Tag: programlisting
-#: query_criteria.xml:252
-#, no-c-format
-msgid ""
-"<![CDATA[DetachedCriteria avgWeight = DetachedCriteria.forClass(Cat.class)\n"
-"    .setProjection( Property.forName(\"weight\").avg() );\n"
-"session.createCriteria(Cat.class)\n"
-"    .add( Property.forName(\"weight\").gt(avgWeight) )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:254
-#, no-c-format
-msgid ""
-"<![CDATA[DetachedCriteria weights = DetachedCriteria.forClass(Cat.class)\n"
-"    .setProjection( Property.forName(\"weight\") );\n"
-"session.createCriteria(Cat.class)\n"
-"    .add( Subqueries.geAll(\"weight\", weights) )\n"
-"    .list();]]>"
-msgstr ""
-"<![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:256
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Correlated subqueries are also possible:"
-msgstr "Incluso son posibles las subconsultas correlacionadas:"
+msgstr "Las subconsultas correlacionadas tambień son posibles:"
 
-#. Tag: programlisting
-#: query_criteria.xml:260
-#, no-c-format
-msgid ""
-"<![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();]]>"
-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:269
 #, no-c-format
 msgid "Queries by natural identifier"
 msgstr "Consultas por identificador natural"
 
 #. Tag: para
-#: query_criteria.xml:271
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "For most queries, including criteria queries, the query cache is not "
 "efficient because query cache invalidation occurs too frequently. However, "
@@ -883,106 +339,40 @@
 "applications, this kind of query occurs frequently. The criteria API "
 "provides special provision for this use case."
 msgstr ""
-"Para la mayor&#x00ed;a de consultas, incluyendo las consultas por criterios, "
-"el cach&#x00e9; de consulta no es muy eficiente, debido a que la "
-"invalidaci&#x00f3;n del cach&#x00e9; de consulta ocurre demasiado "
-"frecuentemente. Sin embargo, hay un tipo especial de consulta donde podemos "
-"optimizar el algoritmo de invalidaci&#x00f3;n de cach&#x00e9;: búsquedas por "
-"una clave natural constante. En algunas aplicaciones, este tipo de consulta, "
-"ocurre frecuentemente. La API de criterios brinda especial provisi&#x00f3;n "
-"para este caso de uso."
+"Para la mayoría de las 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 con demasiada frecuencia. Sin embargo, hay un tipo "
+"especial de consulta donde podemos optimizar el algoritmo de invalidación de "
+"caché: búsquedas de una clave natural constante. En algunas aplicaciones, "
+"este tipo de consulta, ocurre frecuentemente. La API de criterios brinda una "
+"provisión especial para este caso."
 
 #. Tag: para
-#: query_criteria.xml:279
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "First, map the natural key of your entity using <literal>&lt;natural-id&gt;</"
 "literal> and enable use of the second-level cache."
 msgstr ""
-"Primero, debes mapear la clave natural de tu entidad usando <literal>&lt;"
-"natural-id&gt;</literal>, y habilitar el uso del cach&#x00e9; de segundo "
-"nivel."
+"Primero, mapee la clave natural de su entidad utilizando <literal>&lt;"
+"natural-id&gt;</literal> y habilite el uso del caché de segundo nivel."
 
-#. Tag: programlisting
-#: query_criteria.xml:284
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<class name=\"User\">\n"
-"    <cache usage=\"read-write\"/>\n"
-"    <id name=\"id\">\n"
-"        <generator class=\"increment\"/>\n"
-"    </id>\n"
-"    <natural-id>\n"
-"        <property name=\"name\"/>\n"
-"        <property name=\"org\"/>\n"
-"    </natural-id>\n"
-"    <property name=\"password\"/>\n"
-"</class>]]>"
-msgstr ""
-"<![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:286
-#, fuzzy, no-c-format
-msgid ""
 "This functionality is not intended for use with entities with "
 "<emphasis>mutable</emphasis> natural keys."
 msgstr ""
-"Nota que esta funcionalidad no est&#x00e1; pensada para uso con entidades "
-"con claves naturales <emphasis>mutable</emphasis>."
+"Esta funcionalidad no está pensada para uso con entidades con claves "
+"naturales <emphasis>mutables</emphasis>."
 
 #. Tag: para
-#: query_criteria.xml:291
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Once you have enabled the Hibernate query cache, the <literal>Restrictions."
 "naturalId()</literal> allows you to make use of the more efficient cache "
 "algorithm."
 msgstr ""
-"Ahora, <literal>Restrictions.naturalId()</literal> nos permite hacer uso de "
-"el algoritmo de cach&#x00e9; m&#x00e1;s eficiente."
+"Una vez que haya habilitado el caché de consulta de Hibernate, "
+"<literal>Restrictions.naturalId()</literal> le permite hacer uso del "
+"algoritmo de caché más eficiente."
 
-#. Tag: programlisting
-#: query_criteria.xml:297
-#, no-c-format
-msgid ""
-"<![CDATA[session.createCriteria(User.class)\n"
-"    .add( Restrictions.naturalId()\n"
-"        .set(\"name\", \"gavin\")\n"
-"        .set(\"org\", \"hb\") \n"
-"    ).setCacheable(true)\n"
-"    .uniqueResult();]]>"
-msgstr ""
-"<![CDATA[session.createCriteria(User.class)\n"
-"    .add( Restrictions.naturalId()\n"
-"        .set(\"name\", \"gavin\")\n"
-"        .set(\"org\", \"hb\") \n"
-"    ).setCacheable(true)\n"
-"    .uniqueResult();]]>"
-
-#~ msgid ""
-#~ "You may easily specify constraints upon related entities by navigating "
-#~ "associations using <literal>createCriteria()</literal>."
-#~ msgstr ""
-#~ "Puedes especificar f&#x00e1;cilmente restricciones sobre las entidades "
-#~ "relacionadas al navegar asociaciones usando <literal>createCriteria()</"
-#~ "literal>."
-
-#~ msgid "Next, enable the Hibernate query cache."
-#~ msgstr "Seguido, habilita el cach&#x00e9; de consulta de Hibernate."
-
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/query_hql.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/query_hql.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/query_hql.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,41 +1,51 @@
-#, fuzzy
+# translation of query_hql.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: query_hql\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-10 21:02+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-01-08T04:07:19\n"
+"PO-Revision-Date: 2010-01-05 17:47+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: query_hql.xml:29
 #, no-c-format
 msgid "HQL: The Hibernate Query Language"
-msgstr "HQL: El Lenguaje de Consulta de Hibernate"
+msgstr "HQL: El lenguaje de consulta de Hibernate"
 
 #. Tag: para
-#: query_hql.xml:31
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate uses a powerful query language (HQL) that is similar in appearance "
 "to SQL. Compared with SQL, however, HQL is fully object-oriented and "
 "understands notions like inheritance, polymorphism and association."
 msgstr ""
-"Hibernate est&#x00e1; equipado con un lenguaje de consulta extremadamente "
-"potente que (intencionalmente en absoluto) se parece much&#x00ed;simo a SQL. "
-"Pero no te enga&#x00f1;es por la sintaxis; HQL es completamente orientado a "
-"objetos, entendiendo nociones como herencia, polimorfismo y asociaci&#x00f3;"
-"n."
+"Hibernate utiliza un lenguaje de consulta potente (HQL) que se parece a SQL. "
+"Sin embargo, comparado con SQL, HQL es completamente orientado a objetos y "
+"comprende nociones como herencia, polimorfismo y asociación."
 
 #. Tag: title
-#: query_hql.xml:38
 #, no-c-format
 msgid "Case Sensitivity"
-msgstr "Sensibilidad a May&#x00fa;sculas"
+msgstr "Sensibilidad a mayúsculas"
 
 #. Tag: para
-#: query_hql.xml:40
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "With the exception of names of Java classes and properties, queries are case-"
 "insensitive. So <literal>SeLeCT</literal> is the same as <literal>sELEct</"
@@ -43,281 +53,165 @@
 "hibernate.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&#x00fa;sculas, excepto para nombres de "
-"clases Java y propiedades. De modo que <literal>SeLeCT</literal> es lo mismo "
-"que <literal>sELEct</literal> e igual a <literal>SELECT</literal>, pero "
-"<literal>org.hibernate.eg.FOO</literal> no lo es a <literal>org.hibernate.eg."
-"Foo</literal> y <literal>foo.barSet</literal> no es igual a <literal>foo."
-"BARSET</literal>."
+"Las consultas no son sensibles a mayúsculas, a excepción de los nombres de "
+"las clases y propiedades Java. 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 es lo mismo que <literal>org."
+"hibernate.eg.Foo</literal> y <literal>foo.barSet</literal> no es igual a "
+"<literal>foo.BARSET</literal>."
 
 #. Tag: para
-#: query_hql.xml:51
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This manual uses lowercase HQL keywords. Some users find queries with "
 "uppercase keywords more readable, but this convention is unsuitable for "
 "queries embedded in Java code."
 msgstr ""
-"Este manual usa palabras clave HQL en min&#x00fa;sculas. Algunos usuarios "
-"encuentran las consultas con palabras clave en may&#x00fa;sculas m&#x00e1;s "
-"le&#x00ed;bles, pero encontramos esta convenci&#x00f3;n fea cuando se encaja "
-"en c&#x00f3;digo Java."
+"Este manual utiliza palabras clave HQL en minúsculas. Algunos usuarios "
+"encuentran que las consultas con palabras clave en mayúsculas son más "
+"fáciles de leer, pero esta convención no es apropiada para las peticiones "
+"incluidas en código Java."
 
 #. Tag: title
-#: query_hql.xml:59
 #, no-c-format
 msgid "The from clause"
-msgstr "La cl&#x00e1;usula from"
+msgstr "La cláusula from"
 
 #. Tag: para
-#: query_hql.xml:61
 #, no-c-format
 msgid "The simplest possible Hibernate query is of the form:"
-msgstr "La consulta m&#x00e1;s simple posible de Hibernate es de la forma:"
+msgstr "La consulta posible más simple de Hibernate es de esta manera:"
 
-#. Tag: programlisting
-#: query_hql.xml:65
-#, no-c-format
-msgid "<![CDATA[from eg.Cat]]>"
-msgstr "<![CDATA[from eg.Cat]]>"
-
 #. Tag: para
-#: query_hql.xml:67
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This returns all instances of the class <literal>eg.Cat</literal>. You do "
 "not usually need to qualify the class name, since <literal>auto-import</"
 "literal> is the default. For example:"
 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&#x00e1; por defecto. De modo que casi "
-"siempre escribimos solamente:"
+"Esto retorna todas las instancias de la clase <literal>eg.Cat</literal>. "
+"Usualmente no es necesario calificar el nombre de la clase ya que "
+"<literal>auto-import</literal> es el valor predeterminado. Por ejemplo:"
 
-#. Tag: programlisting
-#: query_hql.xml:73
-#, no-c-format
-msgid "<![CDATA[from Cat]]>"
-msgstr "<![CDATA[from Cat]]>"
-
 #. Tag: para
-#: query_hql.xml:75
 #, no-c-format
 msgid ""
 "In order to refer to the <literal>Cat</literal> in other parts of the query, "
 "you will need to assign an <emphasis>alias</emphasis>. For example:"
 msgstr ""
+"Con el fin de referirse al <literal>Cat</literal> en otras partes de la "
+"petición, necesitará asignar un <emphasis>alias</emphasis>. Por ejemplo:"
 
-#. Tag: programlisting
-#: query_hql.xml:81 query_hql.xml:396
-#, no-c-format
-msgid "<![CDATA[from Cat as cat]]>"
-msgstr "<![CDATA[from Cat as cat]]>"
-
 #. Tag: para
-#: query_hql.xml:83
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This query assigns the alias <literal>cat</literal> to <literal>Cat</"
 "literal> instances, so you can use that alias later in the query. The "
 "<literal>as</literal> keyword is optional. You could also write:"
 msgstr ""
-"Esta consulta asigna el alias <literal>cat</literal> a las instancias de "
-"<literal>Cat</literal>, de modo que podr&#x00ed;amos usar ese alias luego en "
-"la consulta. La palabra clave <literal>as</literal> es opcional; "
-"tambi&#x00e9;n podr&#x00ed;amos escribir:"
+"Esta consulta asigna el alias <literal>cat</literal> a las instancias "
+"<literal>Cat</literal>, de modo que puede utilizar ese alias luego en la "
+"consulta. La palabra clave <literal>as</literal> es opcional. También podría "
+"escribir:"
 
-#. Tag: programlisting
-#: query_hql.xml:89
-#, no-c-format
-msgid "<![CDATA[from Cat cat]]>"
-msgstr "<![CDATA[from Cat cat]]>"
-
 #. Tag: para
-#: query_hql.xml:91
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Multiple classes can appear, resulting in a cartesian product or \"cross\" "
 "join."
 msgstr ""
-"Pueden aparecer m&#x00fa;ltiples clases, resultando en un producto "
-"cartesiano o uni&#x00f3;n \"cruzada\" (cross join)."
+"Pueden aparecer múltiples clases, lo que causa un producto cartesiano o una "
+"unión \"cruzada\" (cross join)."
 
-#. Tag: programlisting
-#: query_hql.xml:95
-#, no-c-format
-msgid "<![CDATA[from Formula, Parameter]]>"
-msgstr "<![CDATA[from Formula, Parameter]]>"
-
-#. Tag: programlisting
-#: query_hql.xml:96
-#, no-c-format
-msgid "<![CDATA[from Formula as form, Parameter as param]]>"
-msgstr "<![CDATA[from Formula as form, Parameter as param]]>"
-
 #. Tag: para
-#: query_hql.xml:98
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is good practice to name query aliases using an initial lowercase as this "
 "is consistent with Java naming standards for local variables (e.g. "
 "<literal>domesticCat</literal>)."
 msgstr ""
-"Se considera buena pr&#x00e1;ctica el nombrar los alias de consulta usando "
-"una inicial en min&#x00fa;sculas, consistente con los est&#x00e1;ndares de "
-"nombrado de Java para variables locales (por ejemplo, <literal>domesticCat</"
-"literal>)."
+"Se considera como una buena práctica el nombrar los alias de consulta "
+"utilizando una inicial en minúsculas, consistente con los estándares de "
+"nombrado de Java para las variables locales (por ejemplo, "
+"<literal>domesticCat</literal>). "
 
 #. Tag: title
-#: query_hql.xml:107
 #, no-c-format
 msgid "Associations and joins"
 msgstr "Asociaciones y uniones (joins)"
 
 #. Tag: para
-#: query_hql.xml:109
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can also assign aliases to associated entities or to elements of a "
 "collection of values using a <literal>join</literal>. For example:"
 msgstr ""
-"Podemos tambi&#x00e9;n asignar aliases a entidades asociadas, e incluso a "
-"elementos de una colecci&#x00f3;n de valores, usando una <literal>join</"
-"literal>."
+"También puede asignar alias a entidades asociadas o a elementos de una "
+"colección de valores utilizando una <literal>join</literal>. Por ejemplo:"
 
-#. Tag: programlisting
-#: query_hql.xml:114
+#. Tag: para
 #, no-c-format
-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]]>"
+msgid "The supported join types are borrowed from ANSI SQL:"
+msgstr "Los tipos de uniones soportadas se tomaron prestados de ANSI SQL"
 
-#. Tag: programlisting
-#: query_hql.xml:116
+#. Tag: para
 #, no-c-format
-msgid "<![CDATA[from Cat as cat left join cat.mate.kittens as kittens]]>"
-msgstr "<![CDATA[from Cat as cat left join cat.mate.kittens as kittens]]>"
+msgid "<literal>inner join</literal>"
+msgstr "<literal>inner join</literal>"
 
-#. Tag: programlisting
-#: query_hql.xml:118
+#. Tag: para
 #, no-c-format
-msgid "<![CDATA[from Formula form full join form.parameter param]]>"
-msgstr "<![CDATA[from Formula form full join form.parameter param]]>"
+msgid "<literal>left outer join</literal>"
+msgstr "<literal>left outer join</literal>"
 
 #. Tag: para
-#: query_hql.xml:120
-#, fuzzy, no-c-format
-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:127
 #, no-c-format
-msgid "inner join"
-msgstr "inner join"
+msgid "<literal>right outer join</literal>"
+msgstr "<literal>right outer join</literal>"
 
-#. Tag: literal
-#: query_hql.xml:132
-#, no-c-format
-msgid "left outer join"
-msgstr "left outer join"
-
-#. Tag: literal
-#: query_hql.xml:137
-#, no-c-format
-msgid "right outer join"
-msgstr "right outer join"
-
 #. Tag: para
-#: query_hql.xml:141
 #, no-c-format
 msgid "<literal>full join</literal> (not usually useful)"
-msgstr "<literal>full join</literal> (no &#x00fa;til usualmente)"
+msgstr "<literal>full join</literal> (no es útil usualmente)"
 
 #. Tag: para
-#: query_hql.xml:147
 #, no-c-format
 msgid ""
 "The <literal>inner join</literal>, <literal>left outer join</literal> and "
 "<literal>right outer join</literal> constructs may be abbreviated."
 msgstr ""
 "Las construcciones <literal>inner join</literal>, <literal>left outer join</"
-"literal> y <literal>right outer join</literal> pueden ser abreviadas."
+"literal> y <literal>right outer join</literal> se pueden abreviar."
 
-#. Tag: programlisting
-#: query_hql.xml:152
-#, no-c-format
-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:154
 #, no-c-format
 msgid ""
 "You may supply extra join conditions using the HQL <literal>with</literal> "
 "keyword."
 msgstr ""
-"Puedes proveer condiciones de uni&#x00f3;n extra usando la palabra clave "
+"Puede proveer condiciones extras de unión utilizando la palabra clave "
 "<literal>with</literal> de HQL."
 
-#. Tag: programlisting
-#: query_hql.xml:159
+#. Tag: para
 #, no-c-format
 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:161
-#, fuzzy, no-c-format
-msgid ""
 "A \"fetch\" join allows associations or collections of values to be "
 "initialized along with their parent objects using a single select. This is "
 "particularly useful in the case of a collection. It effectively overrides "
 "the outer join and lazy declarations of the mapping file for associations "
-"and collections. See <xref linkend=\"performance-fetching\"/> for more "
+"and collections. See <xref linkend=\"performance-fetching\" /> for more "
 "information."
 msgstr ""
-"En adici&#x00f3;n, un \"fetch\" join permite a las asociaciones o "
-"colecciones de valores ser inicializadas junto a sus objetos padres, usando "
-"una sola selecci&#x00f3;n. Esto es particularmente &#x00fa;til en el case de "
-"una colecci&#x00f3;n. Efectivamente sobrescribe el outer join y las "
-"declaraciones perezosas (lazy) del fichero de mapeo para asociaciones y "
-"colecciones. Ver <xref linkend=\"performance-fetching\"/> para m&#x00e1;s "
-"informaci&#x00f3;n."
+"Una unión de \"recuperación\" le permite a las asociaciones o colecciones de "
+"valores que se inicialicen junto a sus objetos padres, usando un sólo "
+"select. Esto es útil particularmente en el caso de una colección. "
+"Efectivamente sobrescribe la unión externa y las declaraciones perezosas del "
+"archivo de mapeo para asociaciones y colecciones. Consulte <xref linkend="
+"\"performance-fetching\" /> para obtener más información."
 
-#. Tag: programlisting
-#: query_hql.xml:169
+#. Tag: para
 #, no-c-format
 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:171
-#, fuzzy, no-c-format
-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 "
 "(or any other clause). The associated objects are also not returned directly "
@@ -325,32 +219,17 @@
 "The only reason you might need an alias is if you are recursively join "
 "fetching a further collection:"
 msgstr ""
-"Usualmente a un fetch join no se necesita asign&#x00e1;rsele un alias, "
-"porque los objetos asociados no deben ser usados en la cl&#x00e1;usula "
-"<literal>where</literal> (ni en cualquier otra cl&#x00e1;usula). Adem&#x00e1;"
-"s, los objetos asociados no son devueltos directamente en los resultados de "
-"consulta. En cambio, pueden ser accedidos v&#x00ed;a el objeto padre. La "
-"&#x00fa;nica raz&#x00f3;n por la que necesitar&#x00ed;amos un alias es "
-"estamos uniendo recursivamente otra colecci&#x00f3;n:"
+"Usualmente no se necesita asignársele un alias a una unión de recuperación "
+"ya que los objetos asociados no se deben utilizar en la cláusula "
+"<literal>where</literal> (ni en cualquier otra cláusula). Los objetos "
+"asociados no se retornan directamente en los resultados de la consulta. En "
+"cambio, se pueden acceder por medio del objeto padre. La única razón por la "
+"que necesitaríamos un alias es si estamos uniendo recursivamente otra "
+"colección:"
 
-#. Tag: programlisting
-#: query_hql.xml:179
+#. Tag: para
 #, no-c-format
 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:181
-#, fuzzy, no-c-format
-msgid ""
 "The <literal>fetch</literal> construct cannot be used in queries called "
 "using <literal>iterate()</literal> (though <literal>scroll()</literal> can "
 "be used). <literal>Fetch</literal> should be used together with "
@@ -366,79 +245,61 @@
 "<literal>full join fetch</literal> and <literal>right join fetch</literal> "
 "are not meaningful."
 msgstr ""
-"Nota que la construcci&#x00f3;n <literal>fetch</literal> no puede usarse en "
-"consultas llamadas usando <literal>scroll()</literal> o <literal>iterate()</"
-"literal>. Ni debe usarse <literal>fetch</literal> junto con "
-"<literal>setMaxResults()</literal> o <literal>setFirstResult()</literal>. "
-"Tampoco puede usarse <literal>fetch</literal> junto a una condici&#x00f3;n "
-"<literal>with</literal> ad hoc. Es posible crear un producto cartesiano "
-"trayendo por join m&#x00e1;s de una colecci&#x00f3;n en una colecci&#x00f3;"
-"n, as&#x00ed; que ten cuidado en este caso. Traer por join m&#x00fa;ltiples "
-"roles de colecci&#x00f3;n tambi&#x00e9;n da a veces resultados inesperados "
-"para mapeos de bag, as&#x00ed; que s&#x00e9; cuidadoso sobre c&#x00f3;mo "
-"formular tus consultas en este caso. Finalmente, nota que <literal>full join "
-"fetch</literal> y <literal>right join fetch</literal> no son significativos."
+"La construcción <literal>fetch</literal> no puede utilizarse en consultas "
+"llamadas que usen <literal>iterate()</literal> (aunque se puede utilizar "
+"<literal>scroll()</literal>). <literal>Fetch</literal> se debe usar junto "
+"con <literal>setMaxResults()</literal> o <literal>setFirstResult()</literal> "
+"ya que estas operaciones se basan en las filas de resultados, las cuales "
+"usualmente contienen duplicados para la recuperación de colección temprana, "
+"por lo tanto, el número de filas no es lo que se esperaría. <literal>Fetch</"
+"literal> no se debe usar junto con una condición <literal>with</literal> "
+"improvisadas. Es posible crear un producto cartesiano por medio de una "
+"recuperación por union más de una colección en una consulta, así que tenga "
+"cuidado en este caso. La recuperación por unión de múltiples roles de "
+"colección también da resultados a veces inesperados para mapeos de bag, así "
+"que tenga cuidado de cómo formular sus consultas en este caso. Finalmente, "
+"observe que <literal>full join fetch</literal> y <literal>right join fetch</"
+"literal> no son significativos."
 
 #. Tag: para
-#: query_hql.xml:196
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you are using property-level lazy fetching (with bytecode "
 "instrumentation), it is possible to force Hibernate to fetch the lazy "
 "properties in the first query immediately using <literal>fetch all "
 "properties</literal>."
 msgstr ""
-"Si est&#x00e1;s usando recuperaci&#x00f3;n perezosa a nivel de propiedad "
-"(con instrumentaci&#x00f3;n de bytecode), es posible forzar a Hibernate a "
-"traer las propiedades perezosas inmediatamente (en la primera consulta) "
-"usando <literal>fetch all properties</literal>."
+"Si está utilizando una recuperación perezosa a nivel de propiedad (con "
+"instrumentación de código byte), es posible forzar a Hibernate a traer las "
+"propiedades perezosas inmediatamente utilizando <literal>fetch all "
+"properties</literal>."
 
-#. Tag: programlisting
-#: query_hql.xml:202
-#, no-c-format
-msgid "<![CDATA[from Document fetch all properties order by name]]>"
-msgstr "<![CDATA[from Document fetch all properties order by name]]>"
-
-#. Tag: programlisting
-#: query_hql.xml:203
-#, no-c-format
-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:208
 #, no-c-format
 msgid "Forms of join syntax"
-msgstr "UNTRANSLATED!!! Forms of join syntax"
+msgstr "Formas de sintaxis unida"
 
 #. Tag: para
-#: query_hql.xml:210
 #, no-c-format
 msgid ""
 "HQL supports two forms of association joining: <literal>implicit</literal> "
 "and <literal>explicit</literal>."
 msgstr ""
-"HQL supports two forms of association joining: <literal>implicit</literal> "
-"and <literal>explicit</literal>."
+"HQL soporta dos formas de unión de asociación: <literal>implicit</literal> y "
+"<literal>explicit</literal>."
 
 #. Tag: para
-#: query_hql.xml:214
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The queries shown in the previous section all use the <literal>explicit</"
 "literal> form, that is, where the join keyword is explicitly used in the "
 "from clause. This is the recommended form."
 msgstr ""
-"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. "
-"This is the recommended form."
+"Las consultas que se mostraron en la sección anterior todas utilizan la "
+"forma <literal>explicit</literal>, en donde la palabra clave join se utiliza "
+"explícitamente en la claúsula from. Esta es la forma recomendada."
 
 #. Tag: para
-#: query_hql.xml:219
 #, no-c-format
 msgid ""
 "The <literal>implicit</literal> form does not use the join keyword. Instead, "
@@ -446,56 +307,46 @@
 "literal> joins can appear in any of the HQL clauses. <literal>implicit</"
 "literal> join result in inner joins in the resulting SQL statement."
 msgstr ""
-"The <literal>implicit</literal> form does not use the join keyword. Instead, "
-"the associations are \"dereferenced\" using dot-notation. <literal>implicit</"
-"literal> joins can appear in any of the HQL clauses. <literal>implicit</"
-"literal> join result in inner joins in the resulting SQL statement."
+"La forma <literal>implicit</literal> no utiliza la palabra clave join. Las "
+"asociaciones se \"desreferencian\" utilizando la notación punto. Uniones "
+"<literal>implicit</literal> pueden aparecer en cualquiera de las cláusulas "
+"HQL. La unión <literal>implicit</literal> causa uniones internas (inner "
+"joins) en la declaración SQL que resulta."
 
-#. Tag: programlisting
-#: query_hql.xml:226
-#, no-c-format
-msgid "<![CDATA[from Cat as cat where cat.mate.name like '%s%']]>"
-msgstr "<![CDATA[from Cat as cat where cat.mate.name like '%s%']]>"
-
 #. Tag: title
-#: query_hql.xml:230
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Referring to identifier property"
-msgstr "Refering to identifier property"
+msgstr "Referencia a la propiedad identificadora "
 
 #. Tag: para
-#: query_hql.xml:232
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "There are 2 ways to refer to an entity's identifier property:"
 msgstr ""
-"There are, generally speaking, 2 ways to refer to an entity's identifier "
-"property:"
+"Hay dos maneras de referirse a la propiedad identificadora de una entidad:"
 
 #. Tag: para
-#: query_hql.xml:237
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The special property (lowercase) <literal>id</literal> may be used to "
 "reference the identifier property of an entity <emphasis>provided that the "
 "entity does not define a non-identifier property named id</emphasis>."
 msgstr ""
-"The special property (lowercase) <literal>id</literal> may be used to "
-"reference the identifier property of an entity <emphasis>provided that "
-"entity does not define a non-identifier property named id</emphasis>."
+"La propiedad especial (en minúsculas) <literal>id</literal> se puede "
+"utilizar para referenciar la propiedad identificadora de una entidad "
+"<emphasis> dado que la entidad no defina un id del nombre de la propiedad no-"
+"identificadora</emphasis>."
 
 #. Tag: para
-#: query_hql.xml:244
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If the entity defines a named identifier property, you can use that property "
 "name."
 msgstr ""
-"If the entity defines a named identifier property, you may use that property "
-"name."
+"Si la entidad define una propiedad identificadora nombrada, puede utilizar "
+"ese nombre de propiedad."
 
 #. Tag: para
-#: query_hql.xml:250
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "References to composite identifier properties follow the same naming rules. "
 "If the entity has a non-identifier property named id, the composite "
@@ -503,15 +354,15 @@
 "the special <literal>id</literal> property can be used to reference the "
 "identifier property."
 msgstr ""
-"References to composite identifier properties follow the same naming rules. "
-"If the entity has a non-identifier property named id, the composite "
-"identifier property can only be referenced by its defined named; otherwise, "
-"the special <literal>id</literal> property can be used to rerference the "
-"identifier property."
+"Las referencias a propiedades identificadoras compuestas siguen las mismas "
+"reglas de nombramiento. Si la entidad no tiene un id del nombre de la "
+"propiedad no-identificadora, la propiedad identificadora compuesta sólamente "
+"puede ser referenciada por su nombre definido. De otra manera se puede "
+"utilizar la propiedad <literal>id</literal> especial para referenciar la "
+"propiedad identificadora."
 
 #. Tag: para
-#: query_hql.xml:258
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Please note that, starting in version 3.2.2, this has changed significantly. "
 "In previous versions, <literal>id</literal> <emphasis>always</emphasis> "
@@ -519,323 +370,156 @@
 "ramification of that decision was that non-identifier properties named "
 "<literal>id</literal> 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 "
-"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."
+"Observe que esto ha cambiado bastante desde la version 3.2.2. En versiones "
+"previas, <literal>id</literal><emphasis>siempre</emphasis> se refería a la "
+"propiedad identificadora sin importar su nombre real. Una ramificación de "
+"esa decisión fue que las propiedades no-identificadoras nombradas "
+"<literal>id</literal> nunca podrían ser referenciadas en consultas de "
+"Hibernate. "
 
 #. Tag: title
-#: query_hql.xml:269
 #, no-c-format
 msgid "The select clause"
-msgstr "La cl&#x00e1;usula select"
+msgstr "La cláusula select"
 
 #. Tag: para
-#: query_hql.xml:271
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>select</literal> clause picks which objects and properties to "
 "return in the query result set. Consider the following:"
 msgstr ""
-"La cl&#x00e1;usula <literal>select</literal> escoge qu&#x00e9; objetos y "
-"propiedades devolver in el conjunto resultado de la consulta. Considera:"
+"La cláusula <literal>select</literal> escoge qué objetos y propiedades "
+"devolver en el conjunto de resultados de la consulta. Considere lo siguiente:"
 
-#. Tag: programlisting
-#: query_hql.xml:276
+#. Tag: para
 #, no-c-format
 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:278
-#, fuzzy, no-c-format
-msgid ""
 "The query will select <literal>mate</literal>s of other <literal>Cat</"
 "literal>s. You can express this query more compactly as:"
 msgstr ""
-"La consulta seleccionar&#x00e1; <literal>mate</literal>s de otros "
-"<literal>Cat</literal>s. Realmente, puedes expresar esta consulta en un "
-"forma m&#x00e1;s compacta como:"
+"La consulta seleccionará <literal>mate</literal>s de otros <literal>Cat</"
+"literal>s. Puede expresar esta consulta de una manera más compacta así:"
 
-#. Tag: programlisting
-#: query_hql.xml:283
-#, no-c-format
-msgid "<![CDATA[select cat.mate from Cat cat]]>"
-msgstr "<![CDATA[select cat.mate from Cat cat]]>"
-
 #. Tag: para
-#: query_hql.xml:285
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Queries can return properties of any value type including properties of "
 "component type:"
 msgstr ""
-"Las consultas pueden devolver propiedades de cualquier tipo de valor "
-"incluyendo propiedades de tipo componente:"
+"Las consultas pueden retornar propiedades de cualquier tipo de valor "
+"incluyendo propiedades del tipo componente:"
 
-#. Tag: programlisting
-#: query_hql.xml:289
+#. Tag: para
 #, no-c-format
 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:291
-#, no-c-format
-msgid "<![CDATA[select cust.name.firstName from Customer as cust]]>"
-msgstr "<![CDATA[select cust.name.firstName from Customer as cust]]>"
-
-#. Tag: para
-#: query_hql.xml:293
-#, fuzzy, no-c-format
-msgid ""
 "Queries can return multiple objects and/or properties as an array of type "
 "<literal>Object[]</literal>:"
 msgstr ""
-"Las consultas pueden devolver m&#x00fa;ltiples objetos y/o propiedades como "
-"un array de tipo <literal>Object[]</literal>,"
+"Las consultas pueden retornar múltiples objetos y/o propiedades como un "
+"array de tipo <literal>Object[]</literal>,"
 
-#. Tag: programlisting
-#: query_hql.xml:298
-#, no-c-format
-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:300
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Or as a <literal>List</literal>:"
-msgstr "o como una <literal>List</literal>,"
+msgstr "O como una <literal>List</literal>:"
 
-#. Tag: programlisting
-#: query_hql.xml:304
+#. Tag: para
 #, no-c-format
 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:306
-#, fuzzy, no-c-format
-msgid ""
 "Or - assuming that the class <literal>Family</literal> has an appropriate "
 "constructor - as an actual typesafe Java object:"
 msgstr ""
-"asumiendo que la clase <literal>Family</literal> tiene un constructor "
-"apropiado."
+"O asumiendo que la clase <literal>Family</literal> tiene un constructor "
+"apropiado - como un objeto Java de tipo seguro:"
 
-#. Tag: programlisting
-#: query_hql.xml:310
+#. Tag: para
 #, no-c-format
 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:313
-#, fuzzy, no-c-format
-msgid ""
 "You can assign aliases to selected expressions using <literal>as</literal>:"
 msgstr ""
-"Puedes asignar aliases para seleccionar expresiones usando <literal>as</"
+"Puede asignar alias para expresiones seleccionadas utilizando <literal>as</"
 "literal>:"
 
-#. Tag: programlisting
-#: query_hql.xml:317
-#, no-c-format
-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:319
 #, no-c-format
 msgid ""
 "This is most useful when used together with <literal>select new map</"
 "literal>:"
 msgstr ""
-"Esto es lo m&#x00e1;s &#x00fa;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:323
-#, no-c-format
-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:325
 #, no-c-format
 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 "
+"Esta consulta devuelve un <literal>Map</literal> de alias a valores "
 "seleccionados."
 
 #. Tag: title
-#: query_hql.xml:332
 #, no-c-format
 msgid "Aggregate functions"
-msgstr "Funciones de agregaci&#x00f3;n"
+msgstr "Funciones de agregación"
 
 #. Tag: para
-#: query_hql.xml:334
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "HQL queries can even return the results of aggregate functions on properties:"
 msgstr ""
-"Las consultas HQL pueden incluso devolver resultados de funciones de "
-"agregaci&#x00f3;n sobre propiedades:"
+"Las consultas HQL pueden incluso retornar resultados de funciones de "
+"agregación sobre propiedades:"
 
-#. Tag: programlisting
-#: query_hql.xml:338
-#, no-c-format
-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:349
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "The supported aggregate functions are:"
-msgstr "Las funciones de agregaci&#x00f3;n soportadas son"
+msgstr "Las funciones de agregación soportadas son:"
 
-#. Tag: literal
-#: query_hql.xml:356
+#. Tag: para
 #, no-c-format
-msgid "avg(...), sum(...), min(...), max(...)"
-msgstr "avg(...), sum(...), min(...), max(...)"
+msgid "<literal>avg(...), sum(...), min(...), max(...)</literal>"
+msgstr "<literal>avg(...), sum(...), min(...), max(...)</literal>"
 
-#. Tag: literal
-#: query_hql.xml:361
+#. Tag: para
 #, no-c-format
-msgid "count(*)"
-msgstr "count(*)"
+msgid "<literal>count(*)</literal>"
+msgstr "<literal>count(*)</literal>"
 
-#. Tag: literal
-#: query_hql.xml:366
+#. Tag: para
 #, no-c-format
-msgid "count(...), count(distinct ...), count(all...)"
-msgstr "count(...), count(distinct ...), count(all...)"
+msgid "<literal>count(...), count(distinct ...), count(all...)</literal>"
+msgstr "<literal>count(...), count(distinct ...), count(all...)</literal>"
 
 #. Tag: para
-#: query_hql.xml:371
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can use arithmetic operators, concatenation, and recognized SQL "
 "functions in the select clause:"
 msgstr ""
-"Puedes usar operadores aritm&#x00e9;ticos, concatenaci&#x00f3;n, y funciones "
-"SQL reconocidas en la cl&#x00e1;usula select:"
+"Puede utilizar operadores aritméticos, concatenación y funciones SQL "
+"reconocidas en la cláusula select:"
 
-#. Tag: programlisting
-#: query_hql.xml:376
+#. Tag: para
 #, no-c-format
 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:378
-#, no-c-format
-msgid ""
-"<![CDATA[select firstName||' '||initial||' '||upper(lastName) from Person]]>"
-msgstr ""
-"<![CDATA[select firstName||' '||initial||' '||upper(lastName) from Person]]>"
-
-#. Tag: para
-#: query_hql.xml:380
-#, fuzzy, no-c-format
-msgid ""
 "The <literal>distinct</literal> and <literal>all</literal> keywords can 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&#x00e1;ntica que en SQL."
+"Las palabras clave <literal>distinct</literal> y <literal>all</literal> se "
+"pueden utilizar y tienen las misma semántica que en SQL."
 
-#. Tag: programlisting
-#: query_hql.xml:385
-#, no-c-format
-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:390
 #, no-c-format
 msgid "Polymorphic queries"
-msgstr "Consultas polim&#x00f3;rficas"
+msgstr "Consultas polimórficas"
 
 #. Tag: para
-#: query_hql.xml:392
 #, no-c-format
 msgid "A query like:"
 msgstr "Una consulta como:"
 
 #. Tag: para
-#: query_hql.xml:398
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "returns instances not only of <literal>Cat</literal>, but also of subclasses "
 "like <literal>DomesticCat</literal>. Hibernate queries can name "
@@ -844,291 +528,173 @@
 "that extend that class or implement the interface. The following query would "
 "return all persistent objects:"
 msgstr ""
-"devuelve instancias no s&#x00f3;lo de <literal>Cat</literal>, sino "
-"tambi&#x00e9;n de subclases como <literal>DomesticCat</literal>. Las "
-"consultas de Hibernate pueden mencionar <emphasis>cualquier</emphasis> clase "
-"o interface Java en la cl&#x00e1;usula <literal>from</literal>. La consulta "
-"devolver&#x00e1; instancias de todas las clases persistentes que extiendan "
-"esa clase o implementen la interface. La siguiente consulta devolver&#x00ed;"
-"a todos los objetos persistentes."
+"devuelve instancias no sólamente de <literal>Cat</literal>, sino también de "
+"subclases como <literal>DomesticCat</literal>. Las consultas de Hibernate "
+"pueden nombrar <emphasis>cualquier</emphasis> clase o interfaz Java en la "
+"cláusula <literal>from</literal>. La consulta retornará instancias de todas "
+"las clases persistentes que extiendan esa clase o implementen la interfaz. "
+"La siguiente consulta retornaría todos los objetos persistentes."
 
-#. Tag: programlisting
-#: query_hql.xml:406
-#, no-c-format
-msgid "<![CDATA[from java.lang.Object o]]>"
-msgstr "<![CDATA[from java.lang.Object o]]>"
-
 #. Tag: para
-#: query_hql.xml:408
 #, no-c-format
 msgid ""
 "The interface <literal>Named</literal> might be implemented by various "
 "persistent classes:"
 msgstr ""
-"La interface <literal>Named</literal> podr&#x00ed;a ser implementada por "
-"varias clases persistentes:"
+"La interfaz <literal>Named</literal> se podría implementar por varias clases "
+"persistentes:"
 
-#. Tag: programlisting
-#: query_hql.xml:413
-#, no-c-format
-msgid "<![CDATA[from Named n, Named m where n.name = m.name]]>"
-msgstr "<![CDATA[from Named n, Named m where n.name = m.name]]>"
-
 #. Tag: para
-#: query_hql.xml:415
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "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 cannot call these "
 "queries using <literal>Query.scroll()</literal>."
 msgstr ""
-"Nota que estas dos &#x00fa;ltimas consultas requerir&#x00e1;n m&#x00e1;s de "
-"un <literal>SELECT</literal> SQL. Esto significa que la cl&#x00e1;usula "
-"<literal>order by</literal> no ordenar&#x00e1; correctamente todo el "
-"conjunto resultado. (Significa adem&#x00e1;s que no puedes llamar estas "
-"consulta usando <literal>Query.scroll()</literal>.)"
+"Las 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 que resulte. También significa que no puede "
+"llamar estas consulta usando <literal>Query.scroll()</literal>."
 
 #. Tag: title
-#: query_hql.xml:424
 #, no-c-format
 msgid "The where clause"
-msgstr "La cl&#x00e1;usula where"
+msgstr "La cláusula where"
 
 #. Tag: para
-#: query_hql.xml:426
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>where</literal> clause allows you to refine the list of "
 "instances returned. If no alias exists, you can refer to properties by name:"
 msgstr ""
-"La cl&#x00e1;usula where te permite estrechar la lista de instancias "
-"devueltas. Si no existe ning&#x00fa;n alias. puedes referirte a las "
+"La cláusula <literal>where</literal> le permite refinar la lista de "
+"instancias retornadas. Si no existe ningún alias, puede referirse a las "
 "propiedades por nombre:"
 
-#. Tag: programlisting
-#: query_hql.xml:431
-#, no-c-format
-msgid "<![CDATA[from Cat where name='Fritz']]>"
-msgstr "<![CDATA[from Cat where name='Fritz']]>"
-
 #. Tag: para
-#: query_hql.xml:433
 #, no-c-format
 msgid "If there is an alias, use a qualified property name:"
-msgstr "Si existe un alias, usan un nombre cualificado de propiedad:"
+msgstr "Si existe un alias, use un nombre de propiedad calificado:"
 
-#. Tag: programlisting
-#: query_hql.xml:437
-#, no-c-format
-msgid "<![CDATA[from Cat as cat where cat.name='Fritz']]>"
-msgstr "<![CDATA[from Cat as cat where cat.name='Fritz']]>"
-
 #. Tag: para
-#: query_hql.xml:439
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "This returns instances of <literal>Cat</literal> named 'Fritz'."
-msgstr "devuelve las instancias de <literal>Cat</literal> llamadas 'Fritz'."
+msgstr "Esto retorna instancias de <literal>Cat</literal> llamadas 'Fritz'."
 
 #. Tag: para
-#: query_hql.xml:443
-#, fuzzy, no-c-format
-msgid ""
-"The following query: <programlisting><![CDATA[select foo\n"
-"from Foo foo, Bar bar\n"
-"where foo.startDate = bar.date]]></programlisting> returns all instances of "
-"<literal>Foo</literal> with an instance of <literal>bar</literal> with a "
-"<literal>date</literal> property equal to the <literal>startDate</literal> "
-"property of the <literal>Foo</literal>. Compound path expressions make the "
-"<literal>where</literal> clause extremely powerful. Consider the following:"
-msgstr ""
-"devolver&#x00e1; todas las instancias de <literal>Foo</literal> para las "
-"cuales exista una instancia de <literal>bar</literal> con una propiedad "
-"<literal>date</literal> igual a la propiedad <literal>startDate</literal> "
-"del <literal>Foo</literal>. Las expresiones de ruta compuestas hacen la "
-"cl&#x00e1;usula <literal>where</literal> extremadamente potente. Considera:"
-
-#. Tag: programlisting
-#: query_hql.xml:454
 #, no-c-format
-msgid "<![CDATA[from Cat cat where cat.mate.name is not null]]>"
-msgstr "<![CDATA[from Cat cat where cat.mate.name is not null]]>"
+msgid "The following query:"
+msgstr "La siguiente petición:"
 
 #. Tag: para
-#: query_hql.xml:456
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
-"This query translates to an SQL query with a table (inner) join. For example:"
+"returns all instances of <literal>Foo</literal> with an instance of "
+"<literal>bar</literal> with a <literal>date</literal> property equal to the "
+"<literal>startDate</literal> property of the <literal>Foo</literal>. "
+"Compound path expressions make the <literal>where</literal> clause extremely "
+"powerful. Consider the following:"
 msgstr ""
-"Esta consulta se traduce en una consulta SQL con una uni&#x00f3;n de tabla "
-"(interna). Si fueses a escribir algo como"
+"retornará todas las instancias de <literal>Foo</literal> con 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. Tome en consideración lo siguiente:"
 
-#. Tag: programlisting
-#: query_hql.xml:461
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[from Foo foo\n"
-"where foo.bar.baz.customer.address.city is not null]]>"
+"This query translates to an SQL query with a table (inner) join. For example:"
 msgstr ""
-"<![CDATA[from Foo foo  \n"
-"where foo.bar.baz.customer.address.city is not null]]>"
+"Esta consulta se traduce a una consulta SQL con una unión de tabla "
+"(interna). Por ejemplo:"
 
 #. Tag: para
-#: query_hql.xml:463
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "would result in a query that would require four table joins in SQL."
 msgstr ""
-"terminar&#x00ed;as con una consulta que requerir&#x00ed;a cuatro uniones de "
-"tablas en SQL."
+"terminaría con una consulta que requeriría cuatro uniones de tablas en SQL. "
 
 #. Tag: para
-#: query_hql.xml:467
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>=</literal> operator can be used to compare not only "
 "properties, but also instances:"
 msgstr ""
-"El operador <literal>=</literal> puede ser usado para comparar no s&#x00f3;"
-"lo propiedades, sino tambi&#x00e9;n instancias:"
+"El operador <literal>=</literal> se puede utilizar para comparar no "
+"sólamente propiedades sino también instancias:"
 
-#. Tag: programlisting
-#: query_hql.xml:472
+#. Tag: para
 #, no-c-format
-msgid "<![CDATA[from Cat cat, Cat rival where cat.mate = rival.mate]]>"
-msgstr "<![CDATA[from Cat cat, Cat rival where cat.mate = rival.mate]]>"
-
-#. Tag: programlisting
-#: query_hql.xml:474
-#, no-c-format
 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:476
-#, fuzzy, no-c-format
-msgid ""
 "The special property (lowercase) <literal>id</literal> can be used to "
 "reference the unique identifier of an object. See <xref linkend=\"queryhql-"
-"identifier-property\"/> for more information."
+"identifier-property\" /> for more information."
 msgstr ""
-"La propiedad especial (en min&#x00fa;sculas) <literal>id</literal> puede ser "
-"usada para referenciar el identificador &#x00fa;nico de un objeto. "
-"(Tambi&#x00e9;n puedes usar su nombre de propiedad.)"
+"La propiedad especial <literal>id</literal> (en minúsculas) se puede "
+"utilizar para referenciar el identificador único de un objeto. Consulte "
+"<xref linkend=\"queryhql-identifier-property\" /> para obtener más "
+"información."
 
-#. Tag: programlisting
-#: query_hql.xml:482
-#, no-c-format
-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:484
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "The second query is efficient and does not require a table join."
-msgstr ""
-"La segunda consulta es eficiente. &#x00a1;No se requiere ninguna uni&#x00f3;"
-"n de tablas!"
+msgstr "La segunda consulta es eficiente y no se necesita una unión de tablas."
 
 #. Tag: para
-#: query_hql.xml:488
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Properties of composite identifiers can also be used. Consider the following "
 "example where <literal>Person</literal> has composite identifiers consisting "
 "of <literal>country</literal> and <literal>medicareNumber</literal>:"
 msgstr ""
-"Tambi&#x00e9;n pueden ser usadas las propiedades de identificadores "
-"compuestos. Sup&#x00f3;n que <literal>Person</literal> tiene un "
-"identificador compuesto consistente en <literal>country</literal> y "
-"<literal>medicareNumber</literal>."
+"También se pueden utilizar las propiedades de identificadores compuestos. "
+"Considere el siguiente ejemplo en donde <literal>Person</literal> tiene "
+"identificadores compuestos que consisten de <literal>country</literal> y "
+"<literal>medicareNumber</literal>:"
 
-#. Tag: programlisting
-#: query_hql.xml:494
-#, no-c-format
-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:496
-#, no-c-format
-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:498
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Once again, the second query does not require a table join."
-msgstr ""
-"Una vez m&#x00e1;s, la segunda consulta no requiere ninguna uni&#x00f3;n de "
-"tablas."
+msgstr "Una vez más, la segunda consulta no requiere una unión de tablas."
 
 #. Tag: para
-#: query_hql.xml:502
 #, no-c-format
 msgid ""
-"See <xref linkend=\"queryhql-identifier-property\"/> for more information "
+"See <xref linkend=\"queryhql-identifier-property\" /> for more information "
 "regarding referencing identifier properties)"
 msgstr ""
+"Consulte <xref linkend=\"queryhql-identifier-property\" /> para obtener "
+"mayor información con relación a la referencia de propiedades del "
+"identificador)"
 
 #. Tag: para
-#: query_hql.xml:507
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The special property <literal>class</literal> accesses the discriminator "
 "value of an instance in the case of polymorphic persistence. A Java class "
 "name embedded in the where clause will be translated to its discriminator "
 "value."
 msgstr ""
-"Asimismo, la propiedad especial <literal>class</literal> acccede al valor "
-"discriminador de una instancia en el caso de persistencia polim&#x00f3;"
-"rfica. Un nombre de clase Java embebido en la cl&#x00e1;usula where "
-"ser&#x00e1; traducido a su valor discriminador."
+"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 incluído en la cláusula where será traducido a su valor "
+"discriminador."
 
-#. Tag: programlisting
-#: query_hql.xml:513
-#, no-c-format
-msgid "<![CDATA[from Cat cat where cat.class = DomesticCat]]>"
-msgstr "<![CDATA[from Cat cat where cat.class = DomesticCat]]>"
-
 #. Tag: para
-#: query_hql.xml:515
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can also use components or composite user types, or properties of said "
-"component types. See <xref linkend=\"queryhql-components\"/> for more "
+"component types. See <xref linkend=\"queryhql-components\" /> for more "
 "information."
 msgstr ""
-"You may also use components or composite user types, or properties of said "
-"component types. See <xref linkend=\"queryhql-components\"/> for more "
-"details."
+"También puede utilizar componentes o tipos de usuario compuesto o "
+"propiedades de dichos tipos de componentes. Consulte <xref linkend="
+"\"queryhql-components\" /> para obtener más detalles."
 
 #. Tag: para
-#: query_hql.xml:520
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "An \"any\" type has the special properties <literal>id</literal> and "
 "<literal>class</literal> that allows you to express a join in the following "
@@ -1136,79 +702,60 @@
 "<literal>&lt;any&gt;</literal>):"
 msgstr ""
 "Un tipo \"any\" tiene las propiedades especiales <literal>id</literal> y "
-"<literal>class</literal>, permit&#x00e9;ndonos expresar un join en la "
-"siguiente forma (donde <literal>AuditLog.item</literal> es una propiedad "
-"mapeada con <literal>&lt;any&gt;</literal>)."
+"<literal>class</literal>, permiténdole expresar una unión de la siguiente "
+"forma (en donde <literal>AuditLog.item</literal> es una propiedad mapeada "
+"con <literal>&lt;any&gt;</literal>)."
 
-#. Tag: programlisting
-#: query_hql.xml:526
+#. Tag: para
 #, no-c-format
 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:528
-#, fuzzy, no-c-format
-msgid ""
 "The <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&#x00ed;an referencia a los valores de columnas de base de datos "
+"La <literal>log.item.class</literal> y <literal>payment.class</literal> "
+"harían referencia a los valores de columnas de la base de datos "
 "completamente diferentes en la consulta anterior."
 
 #. Tag: title
-#: query_hql.xml:536
 #, no-c-format
 msgid "Expressions"
 msgstr "Expresiones"
 
 #. Tag: para
-#: query_hql.xml:538
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Expressions used in the <literal>where</literal> clause include the "
 "following:"
 msgstr ""
-"Las expresiones permitidas en la cl&#x00e1;usula <literal>where</literal> "
-"incluyen la mayor&#x00ed;a del tipo de cosas que podr&#x00ed;as escribir en "
-"SQL:"
+"Las expresiones utilizadas en la cláusula <literal>where</literal> incluyen "
+"lo siguiente:"
 
 #. Tag: para
-#: query_hql.xml:545
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "mathematical operators: <literal>+, -, *, /</literal>"
-msgstr "operadores matem&#x00e1;ticos <literal>+, -, *, /</literal>"
+msgstr "operadores matemáticos: <literal>+, -, *, /</literal>"
 
 #. Tag: para
-#: query_hql.xml:550
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "binary comparison operators: <literal>=, &gt;=, &lt;=, &lt;&gt;, !=, like</"
 "literal>"
 msgstr ""
-"operadores de comparaci&#x00f3;n binarios <literal>=, &gt;=, &lt;=, &lt;"
-"&gt;, !=, like</literal>"
+"operadores de comparación binarios: <literal>=, &gt;=, &lt;=, &lt;&gt;, !=, "
+"like</literal>"
 
 #. Tag: para
-#: query_hql.xml:555
 #, no-c-format
 msgid "logical operations <literal>and, or, not</literal>"
-msgstr "operadores l&#x00f3;gicos <literal>and, or, not</literal>"
+msgstr "operadores lógicos <literal>and, or, not</literal>"
 
 #. Tag: para
-#: query_hql.xml:560
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Parentheses <literal>( )</literal> that indicates grouping"
-msgstr "Par&#x00e9;ntesis <literal>( )</literal>, indicando agrupaci&#x00f3;n"
+msgstr "Paréntesis <literal>( )</literal> que indican agrupación"
 
 #. Tag: para
-#: query_hql.xml:565
 #, no-c-format
 msgid ""
 "<literal>in</literal>, <literal>not in</literal>, <literal>between</"
@@ -1222,7 +769,6 @@
 "<literal>member of</literal> y <literal>not member of</literal>"
 
 #. Tag: para
-#: query_hql.xml:578
 #, no-c-format
 msgid ""
 "\"Simple\" case, <literal>case ... when ... then ... else ... end</literal>, "
@@ -1232,28 +778,25 @@
 "y caso \"buscado\", <literal>case when ... then ... else ... end</literal>"
 
 #. Tag: para
-#: query_hql.xml:584
 #, no-c-format
 msgid ""
 "string concatenation <literal>...||...</literal> or <literal>concat(...,...)"
 "</literal>"
 msgstr ""
-"concatenaci&#x00f3;n de cadenas <literal>...||...</literal> o <literal>concat"
+"concatenación de cadenas <literal>...||...</literal> o <literal>concat"
 "(...,...)</literal>"
 
 #. Tag: para
-#: query_hql.xml:589
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>current_date()</literal>, <literal>current_time()</literal>, and "
 "<literal>current_timestamp()</literal>"
 msgstr ""
-"<literal>current_date()</literal>, <literal>current_time()</literal>, "
+"<literal>current_date()</literal>, <literal>current_time()</literal> y "
 "<literal>current_timestamp()</literal>"
 
 #. Tag: para
-#: query_hql.xml:595
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>second(...)</literal>, <literal>minute(...)</literal>, <literal>hour"
 "(...)</literal>, <literal>day(...)</literal>, <literal>month(...)</literal>, "
@@ -1261,38 +804,34 @@
 msgstr ""
 "<literal>second(...)</literal>, <literal>minute(...)</literal>, <literal>hour"
 "(...)</literal>, <literal>day(...)</literal>, <literal>month(...)</literal>, "
-"<literal>year(...)</literal>,"
+"and <literal>year(...)</literal>"
 
 #. Tag: para
-#: query_hql.xml:602
 #, no-c-format
 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&#x00f3;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:608
 #, no-c-format
 msgid "<literal>coalesce()</literal> and <literal>nullif()</literal>"
 msgstr "<literal>coalesce()</literal> y <literal>nullif()</literal>"
 
 #. Tag: para
-#: query_hql.xml:613
 #, no-c-format
 msgid ""
 "<literal>str()</literal> for converting numeric or temporal values to a "
 "readable string"
 msgstr ""
-"<literal>str()</literal> para convertir valores num&#x00e9;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:619
 #, no-c-format
 msgid ""
 "<literal>cast(... as ...)</literal>, where the second argument is the name "
@@ -1301,23 +840,21 @@
 "the underlying database"
 msgstr ""
 "<literal>cast(... as ...)</literal>, donde el segundo argumento es el nombre "
-"de un tipo Hibernate , y <literal>extract(... from ...)</literal> si "
-"<literal>cast()</literal> y <literal>extract()</literal> fuesen soportados "
-"por la base de datos subyacente."
+"de un tipo de Hibernate , y <literal>extract(... from ...)</literal> si "
+"<literal>cast()</literal> y <literal>extract()</literal> es soportado por la "
+"base de datos subyacente."
 
 #. Tag: para
-#: query_hql.xml:627
 #, no-c-format
 msgid ""
 "the HQL <literal>index()</literal> function, that applies to aliases of a "
 "joined indexed collection"
 msgstr ""
-"la funci&#x00f3;n <literal>index()</literal> de HQL, que se aplica a alias "
-"de una colecci&#x00f3;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:633
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "HQL functions that take collection-valued path expressions: <literal>size(), "
 "minelement(), maxelement(), minindex(), maxindex()</literal>, along with the "
@@ -1325,42 +862,38 @@
 "functions that can be quantified using <literal>some, all, exists, any, in</"
 "literal>."
 msgstr ""
-"funciones de HQL que tomen expresiones de ruta valuadas en colecciones: "
+"Las funciones de HQL que tomen expresiones de ruta valuadas en colecciones: "
 "<literal>size(), minelement(), maxelement(), minindex(), maxindex()</"
-"literal>, junto a las funciones especiales <literal>elements()</literal> and "
-"<literal>indices</literal> que pueden ser cuantificadas usando "
+"literal>, junto con las funciones especiales <literal>elements()</literal> e "
+"<literal>indices</literal>, las cuales se pueden cuantificar utilizando "
 "<literal>some, all, exists, any, in</literal>."
 
 #. Tag: para
-#: query_hql.xml:641
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Any database-supported SQL scalar function like <literal>sign()</literal>, "
 "<literal>trunc()</literal>, <literal>rtrim()</literal>, and <literal>sin()</"
 "literal>"
 msgstr ""
-"Cualquier funci&#x00f3;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>"
+"literal> y <literal>sin()</literal>"
 
 #. Tag: para
-#: query_hql.xml:647
 #, no-c-format
 msgid "JDBC-style positional parameters <literal>?</literal>"
-msgstr "par&#x00e1;metros posicionales JDBC <literal>?</literal>"
+msgstr "parámetros posicionales JDBC <literal>?</literal>"
 
 #. Tag: para
-#: query_hql.xml:652
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "named parameters <literal>:name</literal>, <literal>:start_date</literal>, "
 "and <literal>:x1</literal>"
 msgstr ""
-"par&#x00e1;metros con nombre <literal>:name</literal>, <literal>:start_date</"
-"literal>, <literal>:x1</literal>"
+"parámetros con nombre <literal>:name</literal>, <literal>:start_date</"
+"literal> y <literal>:x1</literal>"
 
 #. Tag: para
-#: query_hql.xml:657
 #, no-c-format
 msgid ""
 "SQL literals <literal>'foo'</literal>, <literal>69</literal>, <literal>6.66E"
@@ -1370,134 +903,66 @@
 "+2</literal>, <literal>'1970-01-01 10:00:01.0'</literal>"
 
 #. Tag: para
-#: query_hql.xml:663
 #, no-c-format
 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:669
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>in</literal> and <literal>between</literal> can be used as follows:"
 msgstr ""
-"<literal>in</literal> y <literal>between</literal> pueden usarse como sigue:"
+"<literal>in</literal> y <literal>between</literal> pueden utilizarse así:"
 
-#. Tag: programlisting
-#: query_hql.xml:673
-#, no-c-format
-msgid "<![CDATA[from DomesticCat cat where cat.name between 'A' and 'B']]>"
-msgstr "<![CDATA[from DomesticCat cat where cat.name between 'A' and 'B']]>"
-
-#. Tag: programlisting
-#: query_hql.xml:675
-#, no-c-format
-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:677
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "The negated forms can be written as follows:"
-msgstr "y pueden escribirse las formas negadas"
+msgstr "Las formas negadas se pueden escribir así:"
 
-#. Tag: programlisting
-#: query_hql.xml:681
+#. Tag: para
 #, no-c-format
-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:683
-#, no-c-format
 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:685
-#, fuzzy, no-c-format
-msgid ""
 "Similarly, <literal>is null</literal> and <literal>is not null</literal> can "
 "be used to test for null values."
 msgstr ""
-"Asimismo, <literal>is null</literal> y <literal>is not null</literal> pueden "
-"ser usadas para comprobar valores nulos."
+"De manera similar, <literal>is null</literal> y <literal>is not null</"
+"literal> se pueden utilizar para probar valores nulos."
 
 #. Tag: para
-#: query_hql.xml:690
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Booleans can be easily used in expressions by declaring HQL query "
 "substitutions in Hibernate configuration:"
 msgstr ""
-"Los booleanos pueden ser f&#x00e1;cilmente usados en expresiones declarando "
-"substituciones de consulta HQL en la configuraci&#x00f3;n de Hibernate:"
+"Los valores booleanos se pueden utilizar fácilmente en expresiones "
+"declarando substituciones de consulta HQL en la configuración de Hibernate:"
 
-#. Tag: programlisting
-#: query_hql.xml:695
-#, no-c-format
-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:697
 #, no-c-format
 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&#x00e1; las palabras clave <literal>true</literal> y "
-"<literal>false</literal> con los literales <literal>1</literal> y "
-"<literal>0</literal> en el SQL traducido de este HQL:"
+"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:702
-#, no-c-format
-msgid "<![CDATA[from Cat cat where cat.alive = true]]>"
-msgstr "<![CDATA[from Cat cat where cat.alive = true]]>"
-
 #. Tag: para
-#: query_hql.xml:704
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can 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&#x00f1;o de una colecci&#x00f3;n con la propiedad "
-"especial <literal>size</literal>, o la funci&#x00f3;n especial <literal>size"
-"()</literal>."
+"Puede 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:709
-#, no-c-format
-msgid "<![CDATA[from Cat cat where cat.kittens.size > 0]]>"
-msgstr "<![CDATA[from Cat cat where cat.kittens.size > 0]]>"
-
-#. Tag: programlisting
-#: query_hql.xml:711
-#, no-c-format
-msgid "<![CDATA[from Cat cat where size(cat.kittens) > 0]]>"
-msgstr "<![CDATA[from Cat cat where size(cat.kittens) > 0]]>"
-
 #. Tag: para
-#: query_hql.xml:713
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "For indexed collections, you can refer to the minimum and maximum indices "
 "using <literal>minindex</literal> and <literal>maxindex</literal> functions. "
@@ -1505,315 +970,103 @@
 "of basic type using the <literal>minelement</literal> and "
 "<literal>maxelement</literal> functions. For example:"
 msgstr ""
-"Para colecciones indexadas, puedes referirte a los &#x00ed;ndices m&#x00e1;"
-"ximo y m&#x00ed;nimo usando las funciones <literal>minindex</literal> y "
-"<literal>maxindex</literal>. Similarmente, puedes referirte a los elementos "
-"m&#x00e1;ximo y m&#x00ed;nimo de una colecci&#x00f3;n de tipo b&#x00e1;sico "
-"usando las funciones <literal>minelement</literal> y <literal>maxelement</"
-"literal>."
+"Para las colecciones indexadas, puede referirse a los índices máximo y "
+"mínimo utilizando las funciones <literal>minindex</literal> y "
+"<literal>maxindex</literal>. De manera similar, se puede referir a los "
+"elementos máximo y mínimo de una colección de tipo básico utilizando las "
+"funciones <literal>minelement</literal> y <literal>maxelement</literal>. Por "
+"ejemplo: "
 
-#. Tag: programlisting
-#: query_hql.xml:721
+#. Tag: para
 #, no-c-format
 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:723
-#, no-c-format
-msgid "<![CDATA[from Order order where maxindex(order.items) > 100]]>"
-msgstr "<![CDATA[from Order order where maxindex(order.items) > 100]]>"
-
-#. Tag: programlisting
-#: query_hql.xml:725
-#, no-c-format
-msgid "<![CDATA[from Order order where minelement(order.items) > 10000]]>"
-msgstr "<![CDATA[from Order order where minelement(order.items) > 10000]]>"
-
-#. Tag: para
-#: query_hql.xml:727
-#, fuzzy, no-c-format
-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&#x00e1;n "
-"soportadas cuando se les pasa el conjunto de elementos o &#x00ed;ndices de "
-"una colecci&#x00f3;n (funciones <literal>elements</literal> y "
-"<literal>indices</literal>) o el resultado de una subconsulta (ver debajo)."
+"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 (las funciones <literal>elements</literal> e <literal>indices</"
+"literal>) o el resultado de una subconsulta (vea a continuación):"
 
-#. Tag: programlisting
-#: query_hql.xml:733
+#. Tag: para
 #, no-c-format
 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:735
-#, no-c-format
-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:737
-#, no-c-format
-msgid "<![CDATA[from Cat cat where exists elements(cat.kittens)]]>"
-msgstr "<![CDATA[from Cat cat where exists elements(cat.kittens)]]>"
-
-#. Tag: programlisting
-#: query_hql.xml:739
-#, no-c-format
-msgid "<![CDATA[from Player p where 3 > all elements(p.scores)]]>"
-msgstr "<![CDATA[from Player p where 3 > all elements(p.scores)]]>"
-
-#. Tag: programlisting
-#: query_hql.xml:741
-#, no-c-format
-msgid "<![CDATA[from Show show where 'fizard' in indices(show.acts)]]>"
-msgstr "<![CDATA[from Show show where 'fizard' in indices(show.acts)]]>"
-
-#. Tag: para
-#: query_hql.xml:743
-#, fuzzy, no-c-format
-msgid ""
 "Note that these constructs - <literal>size</literal>, <literal>elements</"
 "literal>, <literal>indices</literal>, <literal>minindex</literal>, "
 "<literal>maxindex</literal>, <literal>minelement</literal>, "
 "<literal>maxelement</literal> - can only be used in the where clause in "
 "Hibernate3."
 msgstr ""
-"Nota que estas construcciones - <literal>size</literal>, <literal>elements</"
+"Note 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&#x00e1;"
-"usula where en Hibernate3."
+"<literal>maxelement</literal> - solo se pueden utilizar en la cláusula where "
+"en Hibernate3."
 
 #. Tag: para
-#: query_hql.xml:750
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Elements of indexed collections (arrays, lists, and maps) can be referred to "
 "by index in a where clause only:"
 msgstr ""
-"Los elementos de colecciones indexadas (arrays, listas, mapas) pueden ser "
-"referidos por &#x00ed;ndice (en una cl&#x00e1;usula where solamente):"
+"Los elementos de colecciones indexadas (arrays, listas, mapas) se pueden "
+"referir por índice sólamente en una cláusula where:"
 
-#. Tag: programlisting
-#: query_hql.xml:755
+#. Tag: para
 #, no-c-format
-msgid "<![CDATA[from Order order where order.items[0].id = 1234]]>"
-msgstr "<![CDATA[from Order order where order.items[0].id = 1234]]>"
-
-#. Tag: programlisting
-#: query_hql.xml:757
-#, no-c-format
 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:759
-#, no-c-format
-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:761
-#, no-c-format
-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:763
-#, fuzzy, no-c-format
-msgid ""
 "The expression inside <literal>[]</literal> can even be an arithmetic "
 "expression:"
 msgstr ""
-"La expresi&#x00f3;n dentro de <literal>[]</literal> puede incluso ser una "
-"expresi&#x00f3;n aritm&#x00e9;tica."
+"La expresión dentro de <literal>[]</literal> puede incluso ser una expresión "
+"aritmética:"
 
-#. Tag: programlisting
-#: query_hql.xml:767
+#. Tag: para
 #, no-c-format
 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:769
-#, fuzzy, no-c-format
-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&#x00e1;s el funci&#x00f3;n prefabricada <literal>index()</"
-"literal>, para elementos de una asociaci&#x00f3;n uno-a-muchos o "
-"colecci&#x00f3;n de valores."
+"HQL también proporciona la función incorporada <literal>index()</literal>, "
+"para los elementos de una asociación uno-a-muchos o una colección de valores."
 
-#. Tag: programlisting
-#: query_hql.xml:774
-#, no-c-format
-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:776
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Scalar SQL functions supported by the underlying database can be used:"
 msgstr ""
-"Pueden usarse las funciones SQL escalares soportadas por la base de datos "
-"subyacente"
+"Se pueden utilizar las funciones SQL escalares soportadas por la base de "
+"datos subyacente:"
 
-#. Tag: programlisting
-#: query_hql.xml:780
-#, no-c-format
-msgid "<![CDATA[from DomesticCat cat where upper(cat.name) like 'FRI%']]>"
-msgstr "<![CDATA[from DomesticCat cat where upper(cat.name) like 'FRI%']]>"
-
 #. Tag: para
-#: query_hql.xml:782
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Consider how much longer and less readable the following query would be in "
 "SQL:"
 msgstr ""
-"Si a&#x00fa;n no est&#x00e1;s convencido de todo esto, piensa cu&#x00e1;nto "
-"m&#x00e1;s largo y menos le&#x00ed;ble ser&#x00ed;a la siguiente consulta en "
-"SQL:"
+"Considere qué tan larga y menos leíble sería la siguiente consulta en SQL:"
 
-#. Tag: programlisting
-#: query_hql.xml:787
-#, no-c-format
-msgid ""
-"<![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)]]>"
-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:789
 #, no-c-format
 msgid "<emphasis>Hint:</emphasis> something like"
 msgstr "<emphasis>Ayuda:</emphasis> algo como"
 
-#. Tag: programlisting
-#: query_hql.xml:793
-#, no-c-format
-msgid ""
-"<![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"
-"    )]]>"
-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:798
 #, no-c-format
 msgid "The order by clause"
-msgstr "La cl&#x00e1;usula order by"
+msgstr "La cláusula order by"
 
 #. Tag: para
-#: query_hql.xml:800
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The list returned by a query can be ordered by any property of a returned "
 "class or components:"
 msgstr ""
-"La lista devuelta por una consulta puede ser ordenada por cualquier "
-"propiedad de una clase devuelta o componentes:"
+"La lista retornada por una consulta se puede ordenar por cualquier propiedad "
+"de una clase retornada o componentes:"
 
-#. Tag: programlisting
-#: query_hql.xml:804
-#, no-c-format
-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:806
 #, no-c-format
 msgid ""
 "The optional <literal>asc</literal> or <literal>desc</literal> indicate "
@@ -1823,119 +1076,58 @@
 "ordenamiento ascendente o descendente respectivamente."
 
 #. Tag: title
-#: query_hql.xml:813
 #, no-c-format
 msgid "The group by clause"
-msgstr "La cl&#x00e1;usula group by"
+msgstr "La cláusula group by"
 
 #. Tag: para
-#: query_hql.xml:815
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A query that returns aggregate values can be grouped by any property of a "
 "returned class or components:"
 msgstr ""
-"Una consulta que devuelve valores agregados puede ser agrupada por cualquier "
-"propiedad de una clase devuelta o componentes:"
+"Una consulta que retorna valores agregados  se puede agrupar por cualquier "
+"propiedad de una clase retornada o componentes:"
 
-#. Tag: programlisting
-#: query_hql.xml:819
-#, no-c-format
-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:821
-#, no-c-format
-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:823
 #, no-c-format
 msgid "A <literal>having</literal> clause is also allowed."
-msgstr ""
-"Se permite tambi&#x00e9;n una cl&#x00e1;usula <literal>having</literal>."
+msgstr "Se permite también una cláusula <literal>having</literal>."
 
-#. Tag: programlisting
-#: query_hql.xml:827
+#. Tag: para
 #, no-c-format
 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:829
-#, fuzzy, no-c-format
-msgid ""
 "SQL functions and aggregate functions are allowed in the <literal>having</"
 "literal> and <literal>order by</literal> clauses if they are supported by "
 "the underlying database (i.e., not in MySQL)."
 msgstr ""
-"Las funciones y funciones de agregaci&#x00f3;n SQL est&#x00e1;n permitidas "
-"en las cl&#x00e1;usulas <literal>having</literal> y <literal>order by</"
-"literal>, si est&#x00e1;n soportadas por la base de datos subyacente (por "
-"ejemplo, no en MySQL)."
+"Las funciones SQL y las 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 lo están en "
+"MySQL). "
 
-#. Tag: programlisting
-#: query_hql.xml:835
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[select cat\n"
-"from Cat cat\n"
-"    join cat.kittens kitten\n"
-"group by cat.id, cat.name, cat.other, cat.properties\n"
-"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:837
-#, fuzzy, no-c-format
-msgid ""
 "Neither the <literal>group by</literal> clause nor the <literal>order by</"
 "literal> clause can contain arithmetic expressions. Hibernate also does not "
 "currently expand a grouped entity, so you cannot write <literal>group by "
 "cat</literal> if all properties of <literal>cat</literal> are non-"
 "aggregated. You have to list all non-aggregated properties explicitly."
 msgstr ""
-"Nota que ni la cl&#x00e1;usula <literal>group by</literal> ni la cl&#x00e1;"
-"usula <literal>order by</literal> pueden contener expresiones aritm&#x00e9;"
-"ticas."
+"La cláusula <literal>group by</literal> ni la cláusula <literal>order by</"
+"literal> pueden contener expresiones aritméticas. Hibernate tampocoo expande "
+"una entidad agrupada así que no puede escribir <literal>group by cat</"
+"literal> si todas las propiedades de <literal>cat</literal> son no-"
+"agregadas. Tiene que enumerar todas la propiedades no-agregadas "
+"explícitamente."
 
 #. Tag: title
-#: query_hql.xml:849
 #, no-c-format
 msgid "Subqueries"
 msgstr "Subconsultas"
 
 #. Tag: para
-#: query_hql.xml:851
 #, no-c-format
 msgid ""
 "For databases that support subselects, Hibernate supports subqueries within "
@@ -1944,106 +1136,36 @@
 "to an alias in the outer query) are allowed."
 msgstr ""
 "Para bases de datos que soportan subconsultas, Hibernate soporta "
-"subconsultas dentro de consultas. Una subconsulta debe ser encerrada entre "
-"par&#x00e9;ntesis (frecuentemente por una llamada a una funci&#x00f3;n de "
-"agregaci&#x00f3;n SQL). Incluso se permiten subconsultas correlacionadas "
-"(subconsultas que hacen referencia a un alias en la consulta exterior)."
+"subconsultas dentro de consultas. Una subconsulta se debe encerrar entre "
+"paréntesis (frecuentemente por una llamada a una función de agregación SQL). "
+"Incluso se permiten subconsultas correlacionadas (subconsultas que se "
+"refieren a un alias en la consulta exterior)."
 
-#. Tag: programlisting
-#: query_hql.xml:857
-#, no-c-format
-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:859
-#, no-c-format
-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:861
-#, no-c-format
-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:863
-#, no-c-format
-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:865
-#, no-c-format
-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:867
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Note that HQL subqueries can occur only in the select or where clauses."
 msgstr ""
-"Note that HQL subqueries may occur only in the select or where clauses."
+"Note que las subconsultas HQL pueden ocurrir sólamente en las cláusulas "
+"select o where."
 
 #. Tag: para
-#: query_hql.xml:871
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Note that subqueries can also utilize <literal>row value constructor</"
-"literal> syntax. See <xref linkend=\"queryhql-tuple\"/> for more information."
+"literal> syntax. See <xref linkend=\"queryhql-tuple\" /> for more "
+"information."
 msgstr ""
-"Note that subqueries can also utilize <literal>row value constructor</"
-"literal> syntax. See <xref linkend=\"queryhql-tuple\"/> for more details."
+"Note que las subconsultas también pueden utilizar la sintaxis <literal>row "
+"value constructor</literal>. Consulte la <xref linkend=\"queryhql-tuple\" /> "
+"para obtener más información."
 
 #. Tag: title
-#: query_hql.xml:879
 #, no-c-format
 msgid "HQL examples"
 msgstr "Ejemplos de HQL"
 
 #. Tag: para
-#: query_hql.xml:881
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate queries can be quite powerful and complex. In fact, the power of "
 "the query language is one of Hibernate's main strengths. The following "
@@ -2051,16 +1173,14 @@
 "projects. Please note that most queries you will write will be much simpler "
 "than the following examples."
 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&#x00ed; algunos consultas de ejemplo muy "
-"similares a consultas que he usado en un proyecto reciente. &#x00a1;Nota que "
-"la mayor&#x00ed;a de las consultas que escribir&#x00e1;s som mucho m&#x00e1;"
-"s simples que estas!"
+"Las consultas de Hibernate pueden ser bastante potentes y complejas. De "
+"hecho, el poder del lenguaje de consulta es uno de las fortalezas "
+"principales de Hibernate. He aquí algunos ejemplos de consultas muy "
+"similares a las consultas de proyectos recientes. Note que la mayoría de las "
+"consultas que escribirá son mucho más simples que los siguientes ejemplos."
 
 #. Tag: para
-#: query_hql.xml:887
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The following query returns the order id, number of items, the given minimum "
 "total value and the total value of the order for all unpaid orders for a "
@@ -2070,102 +1190,25 @@
 "<literal>PRODUCT</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&#x00fa;mero de items y valor "
-"total de la orden para todas las ordenes inpagas de un cliente en particular "
-"y valor total m&#x00ed;nimo dados, ordenando los resultados por valor total. "
-"Al determinar los precios, usa el cat&#x00e1;logo actual. La consulta SQL "
+"La siguiente consulta retorna el order id, número de items y valor total "
+"mínimo dado y el valor de la orden para todas las órdenes no pagadas de un "
+"cliente en particular. Los resultados se ordenan de acuerdo al 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)."
+"literal>, <literal>PRODUCT</literal>, <literal>CATALOG</literal> y "
+"<literal>PRICE</literal> tiene cuatro uniones interiores y una subselección "
+"(no correlacionada)."
 
-#. Tag: programlisting
-#: query_hql.xml:896
-#, no-c-format
-msgid ""
-"<![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]]>"
-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:898
 #, no-c-format
 msgid ""
 "What a monster! Actually, in real life, I'm not very keen on subqueries, so "
 "my query was really more like this:"
 msgstr ""
-"&#x00a1;Qu&#x00e9; monstruo! Realmente, en la vida real, no estoy muy "
-"afilado en subconsultas, de modo que mi consulta fue realmente algo como "
-"esto:"
+"¡Qué monstruo! Realmente, en la vida real, no me gustan mucho las "
+"subconsultas, de modo que mi consulta fue realmente algo como esto:"
 
-#. Tag: programlisting
-#: query_hql.xml:903
-#, no-c-format
-msgid ""
-"<![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]]>"
-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:905
 #, no-c-format
 msgid ""
 "The next query counts the number of payments in each status, excluding all "
@@ -2175,84 +1218,23 @@
 "<literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal> and "
 "<literal>PAYMENT_STATUS_CHANGE</literal> tables."
 msgstr ""
-"La pr&#x00f3;xima consulta cuenta el n&#x00fa;mero de pagos en cada estado, "
-"excluyendo todos los pagos en el estado <literal>AWAITING_APPROVAL</literal> "
-"donde el estado m&#x00e1;s reciente fue hecho por el usuario actual. Se "
-"traduce en una consulta SQL con dos joins interiores y una subselect "
-"correlacionada contra las tablas <literal>PAYMENT</literal>, "
-"<literal>PAYMENT_STATUS</literal> y <literal>PAYMENT_STATUS_CHANGE</literal>."
+"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 "
+"cambio más reciente al estado lo hizo el usuario actual. Se traduce en una "
+"consulta SQL con dos uniones interiores y una subselección correlacionada "
+"contra las tablas <literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</"
+"literal> y <literal>PAYMENT_STATUS_CHANGE</literal>."
 
-#. Tag: programlisting
-#: query_hql.xml:913
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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]]>"
-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:915
-#, fuzzy, no-c-format
-msgid ""
 "If the <literal>statusChanges</literal> collection was mapped as a list, "
 "instead of a set, the query would have been much simpler to write."
 msgstr ""
-"Si hubiese mapeado la colecci&#x00f3;n <literal>statusChanges</literal> como "
-"una lista, en vez de un conjunto, la consulta habr&#x00ed;a sido mucho "
-"m&#x00e1;s simple de escribir."
+"Si la colección <literal>statusChanges</literal> se mapeara como una lista, "
+"en vez de un conjunto, la consulta habría sido mucho más simple de escribir."
 
-#. Tag: programlisting
-#: query_hql.xml:920
-#, no-c-format
-msgid ""
-"<![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]]>"
-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:922
 #, no-c-format
 msgid ""
 "The next query uses the MS SQL Server <literal>isNull()</literal> function "
@@ -2263,372 +1245,156 @@
 "<literal>ACCOUNT_TYPE</literal>, <literal>ORGANIZATION</literal> and "
 "<literal>ORG_USER</literal> tables."
 msgstr ""
-"La pr&#x00f3;xima consulta usa la funci&#x00f3;n <literal>isNull()</literal> "
-"de MS SQL Server para devolver todas las cuentas y pagos inpagos de la "
-"organizaci&#x00f3;n a la que pertenece el usuario actual. Se traduce en una "
-"consulta SQL con tres joins interiores, un join exterior y una subconsulta "
-"contra las tablas <literal>ACCOUNT</literal>, <literal>PAYMENT</literal>, "
-"<literal>PAYMENT_STATUS</literal>, <literal>ACCOUNT_TYPE</literal>, "
-"<literal>ORGANIZATION</literal> y <literal>ORG_USER</literal>."
+"La próxima consulta utiliza la función <literal>isNull()</literal> de MS SQL "
+"Server para devolver todas las cuentas y pagos aún no cancelados de la "
+"organización a la que pertenece el usuario actual. Se traduce como una "
+"consulta SQL con tres uniones interiores, una unión exterior y una "
+"subselección 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:931
-#, no-c-format
-msgid ""
-"<![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]]>"
-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:933
 #, no-c-format
 msgid ""
 "For some databases, we would need to do away with the (correlated) subselect."
 msgstr ""
-"Para algunas bases de datos, necesitar&#x00ed;amos eliminar la subselect "
+"Para algunas bases de datos, necesitaríamos eliminar la subselección "
 "(correlacionada)."
 
-#. Tag: programlisting
-#: query_hql.xml:937
-#, no-c-format
-msgid ""
-"<![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]]>"
-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:942
 #, no-c-format
 msgid "Bulk update and delete"
-msgstr "Sentencias UPDATE y DELETE masivas"
+msgstr "Declaraciones UPDATE y DELETE masivas"
 
 #. Tag: para
-#: query_hql.xml:944
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "HQL now supports <literal>update</literal>, <literal>delete</literal> and "
 "<literal>insert ... select ...</literal> statements. See <xref linkend="
-"\"batch-direct\"/> for more information."
+"\"batch-direct\" /> for more information."
 msgstr ""
-"HQL soporta ahora sentencias UPDATE y DELETE en HQL. Ver <xref linkend="
-"\"batch-direct\"/> para detalles."
+"HQL ahora soporta declaraciones <literal>update</literal>, <literal>delete</"
+"literal> e <literal>insert ... select ...</literal>. Consulte la <xref "
+"linkend=\"batch-direct\" /> para obtener mayor información. "
 
 #. Tag: title
-#: query_hql.xml:952
 #, no-c-format
 msgid "Tips &amp; Tricks"
 msgstr "Consejos y Trucos"
 
 #. Tag: para
-#: query_hql.xml:954
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "You can count the number of query results without returning them:"
-msgstr ""
-"Puedes contar el n&#x00fa;mero de resultados de una consulta sin devolverlos "
-"realmente:"
+msgstr "Puede contar el número de resultados de una consulta sin retornarlos:"
 
-#. Tag: programlisting
-#: query_hql.xml:958
-#, no-c-format
-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:960
 #, no-c-format
 msgid "To order a result by the size of a collection, use the following query:"
 msgstr ""
-"Para ordenar un resultado por el tama&#x00f1;o de una colecci&#x00f3;n, usa "
-"la siguiente consulta:"
+"Para ordenar un resultado por el tamaño de una colección, utilice la "
+"siguiente consulta:"
 
-#. Tag: programlisting
-#: query_hql.xml:964
-#, no-c-format
-msgid ""
-"<![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)]]>"
-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:966
 #, no-c-format
 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&#x00f3;n "
-"sobre el tama&#x00f1;o de selecci&#x00f3;n en la cl&#x00e1;usula where de tu "
-"consulta:"
+"Si su base de datos soporta subselecciones, puede colocar una condición "
+"sobre el tamaño de selección en la cláusula where de su consulta:"
 
-#. Tag: programlisting
-#: query_hql.xml:971
-#, no-c-format
-msgid "<![CDATA[from User usr where size(usr.messages) >= 1]]>"
-msgstr "<![CDATA[from User usr where size(usr.messages) >= 1]]>"
-
 #. Tag: para
-#: query_hql.xml:973
-#, fuzzy, no-c-format
-msgid "If your database does not support subselects, use the following query:"
-msgstr "Si tu base de datos no soporta subselects, usa la siguiente consulta:"
-
-#. Tag: programlisting
-#: query_hql.xml:977
 #, no-c-format
-msgid ""
-"<![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]]>"
+msgid "If your database does not support subselects, use the following query:"
 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]]>"
+"Si su base de datos no soporta subselecciones, utilice la siguiente "
+"consulta: "
 
 #. Tag: para
-#: query_hql.xml:980
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "As this solution cannot return a <literal>User</literal> with zero messages "
 "because of the inner join, the following form is also useful:"
 msgstr ""
-"Como esta soluci&#x00f3;n no puede devolver un <literal>User</literal> con "
-"cero mensajes debido a la uni&#x00f3;n interior, la siguiente forma es "
-"tambi&#x00e9;n &#x00fa;til:"
+"Como esta solución no puede retornar un <literal>User</literal> con cero "
+"mensajes debido a la unión interior, la siguiente forma también es útil:"
 
-#. Tag: programlisting
-#: query_hql.xml:985
-#, no-c-format
-msgid ""
-"<![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]]>"
-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:987
 #, no-c-format
 msgid "Properties of a JavaBean can be bound to named query parameters:"
 msgstr ""
-"Las propiedades de un JavaBean pueden ser ligadas al par&#x00e1;metros de "
+"Las propiedades de un JavaBean pueden ser ligadas a los parámetros de "
 "consulta con nombre:"
 
-#. Tag: programlisting
-#: query_hql.xml:991
-#, no-c-format
-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:993
 #, no-c-format
 msgid ""
 "Collections are pageable by using the <literal>Query</literal> interface "
 "with a filter:"
 msgstr ""
-"Las colecciones son paginables usando la interface <literal>Query</literal> "
+"Las colecciones son paginables usando la interfaz <literal>Query</literal> "
 "con un filtro:"
 
-#. Tag: programlisting
-#: query_hql.xml:997
-#, no-c-format
-msgid ""
-"<![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();]]>"
-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:999
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Collection elements can be ordered or grouped using a query filter:"
 msgstr ""
-"Los elementos de colecci&#x00f3;n pueden ser ordenados o agrupados usando un "
-"filtro de consulta:"
+"Los elementos de colección se pueden ordenar o agrupar usando un filtro de "
+"consulta:"
 
-#. Tag: programlisting
-#: query_hql.xml:1003
-#, no-c-format
-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:1005
 #, no-c-format
 msgid "You can find the size of a collection without initializing it:"
-msgstr ""
-"Puedes hallar el tama&#x00f1;o de una colecci&#x00f3;n sin inicializarla:"
+msgstr "Puede hallar el tamaño de una colección sin inicializarla:"
 
-#. Tag: programlisting
-#: query_hql.xml:1009
-#, no-c-format
-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:1014
 #, no-c-format
 msgid "Components"
-msgstr "UNTRANSLATED! Components"
+msgstr "Componentes"
 
 #. Tag: para
-#: query_hql.xml:1016
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Components can be used similarly to the simple value types that are used in "
 "HQL queries. They can appear in the <literal>select</literal> clause as "
 "follows:"
 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:"
+"Los componentes se pueden utilizar de la misma manera en que se pueden "
+"utilizar los tipos de valores simples en consultas HQL. Pueden aparecer en "
+"la cláusula <literal>select</literal> así:"
 
-#. Tag: programlisting
-#: query_hql.xml:1021 query_hql.xml:1067
-#, no-c-format
-msgid "<![CDATA[select p.name from Person p]]>"
-msgstr "<![CDATA[select p.name from Person p]]>"
-
-#. Tag: programlisting
-#: query_hql.xml:1022
-#, no-c-format
-msgid "<![CDATA[select p.name.first from Person p]]>"
-msgstr "<![CDATA[select p.name.first from Person p]]>"
-
 #. Tag: para
-#: query_hql.xml:1024
 #, no-c-format
 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:"
+"en donde el nombre de la Persona es un componente. Los componentes también "
+"se pueden utilizar en la cláusula <literal>where</literal>:"
 
-#. Tag: programlisting
-#: query_hql.xml:1029
-#, no-c-format
-msgid "<![CDATA[from Person p where p.name = :name]]>"
-msgstr "<![CDATA[from Person p where p.name = :name]]>"
-
-#. Tag: programlisting
-#: query_hql.xml:1030
-#, no-c-format
-msgid "<![CDATA[from Person p where p.name.first = :firstName]]>"
-msgstr "<![CDATA[from Person p where p.name.first = :firstName]]>"
-
 #. Tag: para
-#: query_hql.xml:1032
 #, no-c-format
 msgid "Components can also be used in the <literal>order by</literal> clause:"
-msgstr "Components can also be used in the <literal>order by</literal> clause:"
+msgstr ""
+"Los componentes también se pueden utilizar en la cláusula <literal>where</"
+"literal>:"
 
-#. Tag: programlisting
-#: query_hql.xml:1036
-#, no-c-format
-msgid "<![CDATA[from Person p order by p.name]]>"
-msgstr "<![CDATA[from Person p order by p.name]]>"
-
-#. Tag: programlisting
-#: query_hql.xml:1037
-#, no-c-format
-msgid "<![CDATA[from Person p order by p.name.first]]>"
-msgstr "<![CDATA[from Person p order by p.name.first]]>"
-
 #. Tag: para
-#: query_hql.xml:1039
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
-"Another common use of components is in <link linkend=\"queryhql-tuple\">row "
-"value constructors</link>."
+"Another common use of components is in row value constructors (<xref linkend="
+"\"queryhql-tuple\" />)."
 msgstr ""
-"Another common use of components is in <link linkend=\"queryhql-tuple\">row "
-"value constructors</link>."
+"Otro uso común de los componentes se encuentra en <xref linkend=\"queryhql-"
+"tuple\" />."
 
 #. Tag: title
-#: query_hql.xml:1045
 #, no-c-format
 msgid "Row value constructor syntax"
-msgstr "Row value constructor syntax"
+msgstr "Sintaxis del constructor de valores por fila"
 
 #. Tag: para
-#: query_hql.xml:1047
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "HQL supports the use of ANSI SQL <literal>row value constructor</literal> "
 "syntax, sometimes referred to AS <literal>tuple</literal> syntax, even "
@@ -2636,111 +1402,48 @@
 "generally 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:"
+"HQL soporta la utilización de la sintaxis <literal>row value constructor</"
+"literal> de SQL ANSI que a veces se denomina sintaxis <literal>tuple</"
+"literal>, aunque puede que la base de datos subyacentes no soporte esa "
+"noción. Aquí estamos refiriéndonos generalmente a las comparaciones "
+"multivaluadas que se asocian típicamente con los componentes. Considere una "
+"entidad Persona, la cual define un componente de nombre:"
 
-#. Tag: programlisting
-#: query_hql.xml:1054
+#. Tag: para
 #, no-c-format
 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:1056
-#, fuzzy, no-c-format
-msgid ""
 "That is valid syntax although it is a little verbose. You can make this more "
 "concise by using <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:"
+"Esa es una sintaxis válida aunque un poco verbosa. Puede hacerlo un poco más "
+"conciso utilizando la sintaxis <literal>row value constructor</literal>:"
 
-#. Tag: programlisting
-#: query_hql.xml:1061
-#, no-c-format
-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:1063
 #, no-c-format
 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:"
+"También puede ser útil especificar esto en la cláusula <literal>select</"
+"literal>:"
 
 #. Tag: para
-#: query_hql.xml:1069
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Using <literal>row value constructor</literal> syntax can also be beneficial "
 "when using subqueries that need 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:"
+"También puede ser beneficioso el utilizar la sintaxis <literal>row value "
+"constructor</literal> cuando se utilizan subconsultas que necesitan "
+"compararse con valores múltiples:"
 
-#. Tag: programlisting
-#: query_hql.xml:1074
+#. Tag: para
 #, no-c-format
 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:1076
-#, fuzzy, no-c-format
-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 ""
-#~ "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&#x00ed;a del tiempo, necesitar&#x00e1;s asignar un "
-#~ "<emphasis>alias</emphasis>, ya que querr&#x00e1;s referirte al "
-#~ "<literal>Cat</literal> en otras partes de la consulta."
-
-#~ msgid "or as an actual typesafe Java object,"
-#~ msgstr "o como un objeto real Java de tipo seguro,"
-
-#~ 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]]>"
-
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+"Algo que se debe tomar en consideración al decidir si quiere usar esta "
+"sintaxis es que la consulta dependerá del orden de las sub-propiedades "
+"componentes en los metadatos."

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/query_sql.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/query_sql.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/query_sql.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,21 +1,35 @@
-#, fuzzy
+# translation of query_sql.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: query_sql\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-10 21:02+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2009-12-03T00:15:27\n"
+"PO-Revision-Date: 2010-01-05 07:45+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: query_sql.xml:29
 #, no-c-format
 msgid "Native SQL"
 msgstr "SQL Nativo"
 
 #. Tag: para
-#: query_sql.xml:31
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can also express queries in the native SQL dialect of your database. "
 "This is useful if you want to utilize database-specific features such as "
@@ -23,133 +37,92 @@
 "provides a clean migration path from a direct SQL/JDBC based application to "
 "Hibernate."
 msgstr ""
-"Puedes tambi&#x00e9;n expresar consultas en el dialecto SQL nativo de tu "
-"base de datos. Esto es &#x00fa;til si quieres utilizar aspectos espec&#x00ed;"
-"ficos de base de datos tal como consejos (hints) de consulta o la palabra "
-"clave <literal>CONNECT</literal> en Oracle. Provee adem&#x00e1;s una clara "
-"ruta de migraci&#x00f3;n desde una aplicaci&#x00f3;n basada en SQL/JDBC "
-"directo a Hibernate."
+"También puede expresar sus consultas en el dialecto SQL nativo de su base de "
+"datos. Esto es útil si quiere utilizar las características especificas de la "
+"base de datos tales como hints de consulta o la palabra clave "
+"<literal>CONNECT</literal> en Oracle. También proporciona una ruta de "
+"migración limpia desde una aplicación basada en SQL/JDBC a Hibernate."
 
 #. Tag: para
-#: query_sql.xml:37
-#, fuzzy, no-c-format
+#, no-c-format
 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&#x00f3;n, "
-"actualizaci&#x00f3;n, borrado y carga."
+"Hibernate3 le permite especificar SQL escrito a mano, incluyendo "
+"procedimientos almacenados para todas las operaciones create, update, delete "
+"y load."
 
 #. Tag: title
-#: query_sql.xml:41
 #, no-c-format
 msgid "Using a <literal>SQLQuery</literal>"
-msgstr "Using a <literal>SQLQuery</literal>"
+msgstr "Uso de una <literal>SQLQuery</literal>"
 
 #. Tag: para
-#: query_sql.xml:43
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Execution of native SQL queries is controlled via the <literal>SQLQuery</"
 "literal> interface, which is obtained by calling <literal>Session."
 "createSQLQuery()</literal>. The following sections describe how to use this "
 "API for querying."
 msgstr ""
-"Execution of native SQL queries is controlled via the <literal>SQLQuery</"
-"literal> interface, which is obtained by calling <literal>Session."
-"createSQLQuery()</literal>. The following describes how to use this API for "
-"querying."
+"La ejecución de consultas SQL nativas se controla por medio de la interfaz "
+"<literal>SQLQuery</literal>, la cual se obtiene llamando a <literal>Session."
+"createSQLQuery()</literal>. Las siguientes secciones describen cómo utilizar "
+"esta API para consultas."
 
 #. Tag: title
-#: query_sql.xml:49
 #, no-c-format
 msgid "Scalar queries"
-msgstr "Scalar queries"
+msgstr "Consultas escalares"
 
 #. Tag: para
-#: query_sql.xml:51
 #, no-c-format
 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:54
-#, no-c-format
-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"
-"                                                                         ]]>"
+"La consulta SQL más básica es para obtener a una lista de escalares "
+"(valores)."
 
 #. Tag: para
-#: query_sql.xml:56
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "These will return a List of Object arrays (Object[]) with scalar values for "
 "each column in the CATS table. Hibernate will use ResultSetMetadata to "
 "deduce the actual order and types of the returned scalar values."
 msgstr ""
-"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 "
-"deduce the actual order and types of the returned scalar values."
+"Estas retornarán una lista de objetos arrays (Object[]) con valores "
+"escalares para cada columna en la tabla CATS. Hibernate utilizará "
+"ResultSetMetadata para deducir el orden real y los tipos de los valores "
+"escalares retornados."
 
 #. Tag: para
-#: query_sql.xml:61
-#, fuzzy, no-c-format
+#, no-c-format
 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()</literal>:"
 msgstr ""
-"To avoid the overhead of using <literal>ResultSetMetadata</literal> or "
-"simply to be more explicit in what is returned one can use <literal>addScalar"
-"()</literal>."
+"Para evitar los gastos generales de la utilización de "
+"<literal>ResultSetMetadata</literal> o simplemente para ser más explícito en "
+"lo que se devuelve se puede utilizar <literal>addScalar()</literal>:"
 
-#. Tag: programlisting
-#: query_sql.xml:65
-#, no-c-format
-msgid ""
-"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
-" .addScalar(\"ID\", Hibernate.LONG)\n"
-" .addScalar(\"NAME\", Hibernate.STRING)\n"
-" .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:67 query_sql.xml:113 query_sql.xml:198 query_sql.xml:349
 #, no-c-format
 msgid "This query specified:"
-msgstr "This query specified:"
+msgstr "Se especifica esta consulta:"
 
 #. Tag: para
-#: query_sql.xml:71 query_sql.xml:117 query_sql.xml:353
 #, no-c-format
 msgid "the SQL query string"
-msgstr "the SQL query string"
+msgstr "la cadena de consulta SQL"
 
 #. Tag: para
-#: query_sql.xml:75
 #, no-c-format
 msgid "the columns and types to return"
-msgstr "the columns and types to return"
+msgstr "las columnas y tipos que se devuelven"
 
 #. Tag: para
-#: query_sql.xml:79
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This will return Object arrays, but now it will not use "
 "<literal>ResultSetMetadata</literal> but will instead explicitly get the ID, "
@@ -158,76 +131,54 @@
 "be returned, even though the query is using <literal>*</literal> and could "
 "return more than the three listed columns."
 msgstr ""
-"This will still return Object arrays, but now it will not use "
-"<literal>ResultSetMetdata</literal> but will instead explicitly get the ID, "
-"NAME and BIRTHDATE column as respectively a Long, String and a Short from "
-"the underlying resultset. This also means that only these three columns will "
-"be returned, even though the query is using <literal>*</literal> and could "
-"return more than the three listed columns."
+"Esto retornará objetos arrays, pero no utilizará <literal>ResultSetMetdata</"
+"literal> sino que obtendrá explícitamente las columnas de IDENTIFICACION, "
+"NOMBRE y FECHA DE NACIMIENTO respectivamente como Larga, Cadena y Corta del "
+"grupo de resultados subyacente. Esto también significa que sólamente estas "
+"tres columnas serán retornadass aunque la consulta este utilizando "
+"<literal>*</literal> y pueda devolver más de las tres columnas enumeradas."
 
 #. Tag: para
-#: query_sql.xml:87
 #, no-c-format
 msgid ""
 "It is possible to leave out the type information for all or some of the "
 "scalars."
 msgstr ""
-"It is possible to leave out the type information for all or some of the "
-"scalars."
+"Es posible dejar afuera la información de tipo para todos o algunos de los "
+"escalares."
 
-#. Tag: programlisting
-#: query_sql.xml:90
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
-" .addScalar(\"ID\", Hibernate.LONG)\n"
-" .addScalar(\"NAME\")\n"
-" .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:92
-#, fuzzy, no-c-format
-msgid ""
 "This is essentially the same query as before, but now "
 "<literal>ResultSetMetaData</literal> is used to determine the type of NAME "
 "and BIRTHDATE, where as the type of ID is explicitly specified."
 msgstr ""
-"This is essentially the same query as before, but now "
-"<literal>ResultSetMetaData</literal> is used to decide the type of NAME and "
-"BIRTHDATE where as the type of ID is explicitly specified."
+"Esto es esencialmente la misma consulta que antes, pero ahora se utiliza "
+"<literal>ResultSetMetaData</literal> para determinar el tipo de NOMBRE y "
+"FECHA DE NACIMIENTO, mientras que el tipo de IDENTIFICACION se especifica "
+"explícitamente."
 
 #. Tag: para
-#: query_sql.xml:96
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
 "mapped, or does not result in the expected type, it is possible to customize "
 "it via calls to <literal>registerHibernateType</literal> in the Dialect."
 msgstr ""
-"How the java.sql.Types returned from ResultSetMetaData is mapped to "
-"Hibernate types is controlled by the Dialect. If a specific type is not "
-"mapped or does not result in the expected type it is possible to customize "
-"it via calls to <literal>registerHibernateType</literal> in the Dialect."
+"El dialecto controla la manera en que los java.sql.Types retornados de "
+"ResultSetMetaData se mapean a los tipos de Hibernate. Si un tipo en especial "
+"no se encuentra mapeado o no resulta en el tipo esperado es posible "
+"personalizarlo por medio de llamadas a <literal>registerHibernateType</"
+"literal> en el dialecto."
 
 #. Tag: title
-#: query_sql.xml:104
 #, no-c-format
 msgid "Entity queries"
-msgstr "Entity queries"
+msgstr "Consultas de entidades"
 
 #. Tag: para
-#: query_sql.xml:106
 #, no-c-format
 msgid ""
 "The above queries were all about returning scalar values, basically "
@@ -235,46 +186,28 @@
 "get entity objects from a native sql query via <literal>addEntity()</"
 "literal>."
 msgstr ""
-"The above queries were all about returning scalar values, basically "
-"returning the \"raw\" values from the resultset. The following shows how to "
-"get entity objects from a native sql query via <literal>addEntity()</"
-"literal>."
+"Todas las consultas anteriores eran sobre los valores escalraes devueltos, "
+"basicamente devolviendo los valores \"crudos\" desde el grupo resultado. Lo "
+"siguiente muestra como obtener los objetos entidades desde una consulta sql "
+"nativa por medio de <literal>addEntity()</literal>."
 
-#. Tag: programlisting
-#: query_sql.xml:111
-#, no-c-format
-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:121
 #, no-c-format
 msgid "the entity returned by the query"
-msgstr "the entity returned by the query"
+msgstr "la entidad devuelta por la consulta"
 
 #. Tag: para
-#: query_sql.xml:125
 #, no-c-format
 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 "
 "Cat entity."
 msgstr ""
-"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 "
-"Cat entity."
+"Asumiendo que Cat es mapeado como una clase con las columnas IDENTIFICACION, "
+"NOMBRE y FECHA DE NACIMIENTO las consultas anteriores devolverán una Lista "
+"en donde cada elemento es una entidad Cat."
 
 #. Tag: para
-#: query_sql.xml:129
 #, no-c-format
 msgid ""
 "If the entity is mapped with a <literal>many-to-one</literal> to another "
@@ -284,39 +217,25 @@
 "but we prefer to be explicit as in the following example for a <literal>many-"
 "to-one</literal> to a <literal>Dog</literal>:"
 msgstr ""
-"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, "
-"otherwise a database specific \"column not found\" error will occur. The "
-"additional columns will automatically be returned when using the * notation, "
-"but we prefer to be explicit as in the following example for a <literal>many-"
-"to-one</literal> to a <literal>Dog</literal>:"
+"Si la entidad es mapeada con una <literal>many-to-one</literal> a otra "
+"entidad tambien se necesita que devuelva esto cuando realice una consulta "
+"nativa, de otra manera, aparecerá un error \"no se encontró la columna\" "
+"específico a la base de datos. Se devolverán automáticamente las columnas "
+"adicionales cuando se utiliza la anotación *, pero preferimos ser tan "
+"explícitos así como lo muestra el siguiente ejemplo para una <literal>many-"
+"to-one</literal> a un <literal>Dog</literal>:"
 
-#. Tag: programlisting
-#: query_sql.xml:137
-#, no-c-format
-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:139
 #, no-c-format
 msgid "This will allow cat.getDog() to function properly."
-msgstr "This will allow cat.getDog() to function properly."
+msgstr "Esto permitirá que cat.getDog() funcione apropiadamente."
 
 #. Tag: title
-#: query_sql.xml:143
 #, no-c-format
 msgid "Handling associations and collections"
-msgstr "Handling associations and collections"
+msgstr "Manejo de asociaciones y colecciones"
 
 #. Tag: para
-#: query_sql.xml:145
 #, no-c-format
 msgid ""
 "It is possible to eagerly join in the <literal>Dog</literal> to avoid the "
@@ -324,33 +243,14 @@
 "<literal>addJoin()</literal> method, which allows you to join in an "
 "association or collection."
 msgstr ""
-"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 "
-"<literal>addJoin()</literal> method, which allows you to join in an "
-"association or collection."
+"Es posible unir de manera temprana en el <literal>Dog</literal> para evitar "
+"el posible viaje de ida y vuelta para iniciar el proxy. Esto se hace por "
+"medio del método <literal>addJoin()</literal>, el cual le permite unirse en "
+"una asociación o colección."
 
-#. Tag: programlisting
-#: query_sql.xml:150
+#. Tag: para
 #, no-c-format
 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"
-" .addEntity(\"cat\", Cat.class)\n"
-" .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:152
-#, fuzzy, no-c-format
-msgid ""
 "In this example, the returned <literal>Cat</literal>'s will have their "
 "<literal>dog</literal> property fully initialized without any extra "
 "roundtrip to the database. Notice that you added an alias name (\"cat\") to "
@@ -358,97 +258,59 @@
 "do the same eager joining for collections, e.g. if the <literal>Cat</"
 "literal> had a one-to-many to <literal>Dog</literal> instead."
 msgstr ""
-"In this example the returned <literal>Cat</literal>'s will have their "
-"<literal>dog</literal> property fully initialized without any extra "
-"roundtrip to the database. Notice that we added a alias name (\"cat\") to be "
-"able to specify the target property path of the join. It is possible to do "
-"the same eager joining for collections, e.g. if the <literal>Cat</literal> "
-"had a one-to-many to <literal>Dog</literal> instead."
+"En este ejemplo los <literal>Cat</literal>s retornados tendrán su propiedad "
+"<literal>dog</literal> completamente iniciada sin ningún viaje extra de ida "
+"y vuelta a la base de datos. Observe que agregó un nombre alias (\"cat\") "
+"para poder especificar la ruta de la propiedad de destino de la unión. Es "
+"posible hacer la misma unión temprana para colecciones, por ejemplo, si el "
+"<literal>Cat</literal> tuviese en lugar un <literal>Dog</literal> uno-a-"
+"muchos."
 
-#. Tag: programlisting
-#: query_sql.xml:160
+#. Tag: para
 #, no-c-format
 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"
-" .addEntity(\"cat\", Cat.class)\n"
-" .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:162
-#, fuzzy, no-c-format
-msgid ""
 "At this stage you are reaching the limits of what is possible with native "
 "queries, without starting to enhance the sql queries to make them usable in "
 "Hibernate. Problems can arise when returning multiple entities of the same "
 "type or when the default alias/column names are not enough."
 msgstr ""
-"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 "
-"Hibernate; the problems starts to arise when returning multiple entities of "
-"the same type or when the default alias/column names are not enough."
+"En este punto estamos alcanzando los límites de lo que es posible con las "
+"consultas nativas sin empezar a mejorar las consultas sql para hacerlas "
+"utilizables en Hibernate. Los problemas empiezan a surgir cuando las "
+"entidades múltiples retornadas son del mismo tipo o cuando no son "
+"suficientes los nombres de las columnas/alias predeterminados."
 
 #. Tag: title
-#: query_sql.xml:170
 #, no-c-format
 msgid "Returning multiple entities"
-msgstr "Returning multiple entities"
+msgstr "Devolución de entidades múltiples"
 
 #. Tag: para
-#: query_sql.xml:172
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
 "SQL queries that join multiple tables, since the same column names can "
 "appear in more than one table."
 msgstr ""
-"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 "
-"SQL queries which join multiple tables, since the same column names may "
-"appear in more than one table."
+"Hasta ahora se ha asumido que los nombres de las columnas del grupo de "
+"resultados son las mismas que los nombres de columnas especificados en el "
+"documento de mapeo. Esto puede llegar a ser problemático para las consultas "
+"SQL que unen múltiples tablas ya que los mismos nombres de columnas pueden "
+"aparecer en más de una tabla."
 
 #. Tag: para
-#: query_sql.xml:177
 #, no-c-format
 msgid ""
 "Column alias injection is needed in the following query (which most likely "
 "will fail):"
 msgstr ""
-"Column alias injection is needed in the following query (which most likely "
-"will fail):"
+"Se necesita una inyección de alias en las columnas en la siguiente consulta "
+"(que con mucha probabilidad fallará):"
 
-#. Tag: programlisting
-#: query_sql.xml:180
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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"
-"]]>"
-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:184
-#, fuzzy, no-c-format
-msgid ""
 "The query was intended to return two Cat instances per row: a cat and its "
 "mother. The query will, however, fail because there is a conflict of names; "
 "the instances are mapped to the same column names. Also, on some databases "
@@ -456,56 +318,35 @@
 "NAME\", etc. which are not equal to the columns specified in the mappings "
 "(\"ID\" and \"NAME\")."
 msgstr ""
-"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 "
-"are mapped to the same column names and on some databases the returned "
-"column aliases will most likely be on the form \"c.ID\", \"c.NAME\", etc. "
-"which are not equal to the columns specificed in the mappings (\"ID\" and "
-"\"NAME\")."
+"La intención de esta consulta es retornar dos instancias Cat por fila: un "
+"gato y su mamá. Sin embargo, esto fallará debido a que hay un conflicto de "
+"nombres;las instancias se encuentran mapeadas a los mismos nombres de "
+"columna. También en algunas bases de datos los alias de las columnas "
+"retornadas serán con mucha probabilidad de la forma \"c.IDENTIFICACION\", "
+"\"c.NOMBRE\", etc, los cuales no son iguales a las columnas especificadas en "
+"los mapeos (\"IDENTIFICACION\" y \"NOMBRE\")."
 
 #. Tag: para
-#: query_sql.xml:193
 #, no-c-format
 msgid "The following form is not vulnerable to column name duplication:"
-msgstr "The following form is not vulnerable to column name duplication:"
+msgstr "La siguiente forma no es vulnerable a la duplicación de nombres de columnas:"
 
-#. Tag: programlisting
-#: query_sql.xml:196
-#, no-c-format
-msgid ""
-"<![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"
-"]]>"
-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:202
 #, no-c-format
 msgid ""
 "the SQL query string, with placeholders for Hibernate to inject column "
 "aliases"
 msgstr ""
-"the SQL query string, with placeholders for Hibernate to inject column "
-"aliases"
+"la cadena de consultas SQL, con un espacio reservado para que Hibernate "
+"inserte alias de columnas"
 
 #. Tag: para
-#: query_sql.xml:207
 #, no-c-format
 msgid "the entities returned by the query"
-msgstr "the entities returned by the query"
+msgstr "las entidades devueltas por la consulta"
 
 #. Tag: para
-#: query_sql.xml:211
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The {cat.*} and {mother.*} notation used above is a shorthand for \"all "
 "properties\". Alternatively, you can list the columns explicitly, but even "
@@ -515,723 +356,395 @@
 "from a different table (cat_log) to the one declared in the mapping "
 "metadata. You can even use the property aliases in the where clause."
 msgstr ""
-"The {cat.*} and {mother.*} notation used above is a shorthand for \"all "
-"properties\". Alternatively, you may list the columns explicity, but even in "
-"this case we let Hibernate inject the SQL column aliases for each property. "
-"The placeholder for a column alias is just the property name qualified by "
-"the table alias. In the following example, we retrieve Cats and their "
-"mothers from a different table (cat_log) to the one declared in the mapping "
-"metadata. Notice that we may even use the property aliases in the where "
-"clause if we like."
+"La anotación {cat.*} y {mother.*} que se utilizó anteriormente es la "
+"abreviatura para \"todas las propiedades\". Opcionalmente puede enumerar las "
+"columnas explícitamente, pero inclusive en este caso Hibernate inyecta los "
+"alias de columnas SQL para cada propiedad. El espacio para un alias de "
+"columna es sólamente el nombre calificado de la propiedad del alias de la "
+"tabla. En el siguiente ejemplo, recuperamos Cats y sus madres desde una "
+"tabla diferente (cat_log) a la declarada en los meta datos de mapeo. "
+"Inclusive puede utilizar los alias de propiedad en la cláusula where."
 
-#. Tag: programlisting
-#: query_sql.xml:220
-#, no-c-format
-msgid ""
-"<![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"
-"]]>"
-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:223
 #, no-c-format
 msgid "Alias and property references"
-msgstr "Alias and property references"
+msgstr "Referencias de propiedad y alias"
 
 #. Tag: para
-#: query_sql.xml:225
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "In most cases the above alias injection is needed. For queries relating to "
 "more complex mappings, like composite properties, inheritance "
 "discriminators, collections etc., you can use specific aliases that allow "
 "Hibernate to inject the proper aliases."
 msgstr ""
-"For most cases the above alias injection is needed, but for queries relating "
-"to more complex mappings like composite properties, inheritance "
-"discriminators, collections etc. there are some specific aliases to use to "
-"allow Hibernate to inject the proper aliases."
+"Para la mayoría de los casos, se necesita la inyección del alias anterior. "
+"Para las consultas relacionadas con mapeos más complejos como propiedades "
+"compuestas, discriminadores de herencia, colecciones, etc, existen alias "
+"especificos a utilizar para permitir que Hibernate inyecte los alias "
+"apropiados."
 
 #. Tag: para
-#: query_sql.xml:230
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The following table shows the different ways you can use the alias "
 "injection. Please note that the alias names in the result are simply "
 "examples; each alias will have a unique and probably different name when "
 "used."
 msgstr ""
-"The following table shows the different possibilities of using the alias "
-"injection. Note: the alias names in the result are examples, each alias will "
-"have a unique and probably different name when used."
+"La siguiente tabla muestra las diferentes maneras de utilizar la inyección "
+"de alias. Note que los nombres alias en el resultado son simplemente "
+"ejemplos; cada alias tendrá un nombre único y probablemente diferente cuando "
+"se utilice."
 
 #. Tag: title
-#: query_sql.xml:236
 #, no-c-format
 msgid "Alias injection names"
-msgstr "Alias injection names"
+msgstr "Nombres con inyección alias"
 
 #. Tag: entry
-#: query_sql.xml:247
 #, no-c-format
 msgid "Description"
-msgstr "Description"
+msgstr "Descripción"
 
 #. Tag: entry
-#: query_sql.xml:249
 #, no-c-format
 msgid "Syntax"
-msgstr "Syntax"
+msgstr "Sintaxis"
 
 #. Tag: entry
-#: query_sql.xml:251
 #, no-c-format
 msgid "Example"
-msgstr "Example"
+msgstr "Ejemplo"
 
 #. Tag: entry
-#: query_sql.xml:257
 #, no-c-format
 msgid "A simple property"
-msgstr "A simple property"
+msgstr "Una propiedad simple"
 
-#. Tag: literal
-#: query_sql.xml:259
+#. Tag: entry
 #, no-c-format
-msgid "{[aliasname].[propertyname]"
-msgstr "{[aliasname].[propertyname]"
+msgid "<literal>{[aliasname].[propertyname]</literal>"
+msgstr "<literal>{[aliasname].[propertyname]</literal>"
 
-#. Tag: literal
-#: query_sql.xml:261
+#. Tag: entry
 #, no-c-format
-msgid "A_NAME as {item.name}"
-msgstr "A_NAME as {item.name}"
+msgid "<literal>A_NAME as {item.name}</literal>"
+msgstr "<literal>A_NAME as {item.name}</literal>"
 
 #. Tag: entry
-#: query_sql.xml:265
 #, no-c-format
 msgid "A composite property"
-msgstr "A composite property"
+msgstr "Una propiedad compuesta"
 
-#. Tag: literal
-#: query_sql.xml:267
+#. Tag: entry
 #, no-c-format
-msgid "{[aliasname].[componentname].[propertyname]}"
-msgstr "{[aliasname].[componentname].[propertyname]}"
+msgid "<literal>{[aliasname].[componentname].[propertyname]}</literal>"
+msgstr "<literal>{[aliasname].[componentname].[propertyname]}</literal>"
 
-#. Tag: literal
-#: query_sql.xml:269
+#. Tag: entry
 #, no-c-format
-msgid "CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}"
-msgstr "CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}"
+msgid ""
+"<literal>CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}</"
+"literal>"
+msgstr ""
+"<literal>CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}</"
+"literal>"
 
 #. Tag: entry
-#: query_sql.xml:274
 #, no-c-format
 msgid "Discriminator of an entity"
-msgstr "Discriminator of an entity"
+msgstr "Discriminador de una entidad"
 
-#. Tag: literal
-#: query_sql.xml:276
+#. Tag: entry
 #, no-c-format
-msgid "{[aliasname].class}"
-msgstr "{[aliasname].class}"
+msgid "<literal>{[aliasname].class}</literal>"
+msgstr "<literal>{[aliasname].class}</literal>"
 
-#. Tag: literal
-#: query_sql.xml:278
+#. Tag: entry
 #, no-c-format
-msgid "DISC as {item.class}"
-msgstr "DISC as {item.class}"
+msgid "<literal>DISC as {item.class}</literal>"
+msgstr "<literal>DISC as {item.class}</literal>"
 
 #. Tag: entry
-#: query_sql.xml:282
 #, no-c-format
 msgid "All properties of an entity"
-msgstr "All properties of an entity"
+msgstr "Todas las propiedades de una entidad"
 
-#. Tag: literal
-#: query_sql.xml:284 query_sql.xml:332
+#. Tag: entry
 #, no-c-format
-msgid "{[aliasname].*}"
-msgstr "{[aliasname].*}"
+msgid "<literal>{[aliasname].*}</literal>"
+msgstr "<literal>{[aliasname].*}</literal>"
 
-#. Tag: literal
-#: query_sql.xml:286
+#. Tag: entry
 #, no-c-format
-msgid "{item.*}"
-msgstr "{item.*}"
+msgid "<literal>{item.*}</literal>"
+msgstr "<literal>{item.*}</literal>"
 
 #. Tag: entry
-#: query_sql.xml:290
 #, no-c-format
 msgid "A collection key"
-msgstr "A collection key"
+msgstr "Una clave de colección"
 
-#. Tag: literal
-#: query_sql.xml:292
+#. Tag: entry
 #, no-c-format
-msgid "{[aliasname].key}"
-msgstr "{[aliasname].key}"
+msgid "<literal>{[aliasname].key}</literal>"
+msgstr "<literal>{[aliasname].key}</literal>"
 
-#. Tag: literal
-#: query_sql.xml:294
+#. Tag: entry
 #, no-c-format
-msgid "ORGID as {coll.key}"
-msgstr "ORGID as {coll.key}"
+msgid "<literal>ORGID as {coll.key}</literal>"
+msgstr "<literal>ORGID as {coll.key}</literal>"
 
 #. Tag: entry
-#: query_sql.xml:298
 #, no-c-format
 msgid "The id of an collection"
-msgstr "The id of an collection"
+msgstr "La identificación -id- de una colección"
 
-#. Tag: literal
-#: query_sql.xml:300
+#. Tag: entry
 #, no-c-format
-msgid "{[aliasname].id}"
-msgstr "{[aliasname].id}"
+msgid "<literal>{[aliasname].id}</literal>"
+msgstr "<literal>{[aliasname].id}</literal>"
 
-#. Tag: literal
-#: query_sql.xml:302
+#. Tag: entry
 #, no-c-format
-msgid "EMPID as {coll.id}"
-msgstr "EMPID as {coll.id}"
+msgid "<literal>EMPID as {coll.id}</literal>"
+msgstr "<literal>EMPID as {coll.id}</literal>"
 
 #. Tag: entry
-#: query_sql.xml:306
 #, no-c-format
 msgid "The element of an collection"
-msgstr "The element of an collection"
+msgstr "El elemento de una colección"
 
-#. Tag: literal
-#: query_sql.xml:308
+#. Tag: entry
 #, no-c-format
-msgid "{[aliasname].element}"
-msgstr "{[aliasname].element}"
+msgid "<literal>{[aliasname].element}</literal>"
+msgstr "<literal>{[aliasname].element}</literal>"
 
-#. Tag: literal
-#: query_sql.xml:310
+#. Tag: entry
 #, no-c-format
-msgid "XID as {coll.element}"
-msgstr "XID as {coll.element}"
+msgid "<literal>XID as {coll.element}</literal>"
+msgstr "<literal>XID as {coll.element}</literal>"
 
 #. Tag: entry
-#: query_sql.xml:314
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "property of the element in the collection"
-msgstr "roperty of the element in the collection"
+msgstr "propiedad del elemento en la colección "
 
-#. Tag: literal
-#: query_sql.xml:316
+#. Tag: entry
 #, no-c-format
-msgid "{[aliasname].element.[propertyname]}"
-msgstr "{[aliasname].element.[propertyname]}"
+msgid "<literal>{[aliasname].element.[propertyname]}</literal>"
+msgstr "<literal>{[aliasname].element.[propertyname]}</literal>"
 
-#. Tag: literal
-#: query_sql.xml:318
+#. Tag: entry
 #, no-c-format
-msgid "NAME as {coll.element.name}"
-msgstr "NAME as {coll.element.name}"
+msgid "<literal>NAME as {coll.element.name}</literal>"
+msgstr "<literal>NAME as {coll.element.name}</literal>"
 
 #. Tag: entry
-#: query_sql.xml:322
 #, no-c-format
 msgid "All properties of the element in the collection"
-msgstr "All properties of the element in the collection"
+msgstr "Todas las propiedades del elemeto en la colección"
 
-#. Tag: literal
-#: query_sql.xml:324
+#. Tag: entry
 #, no-c-format
-msgid "{[aliasname].element.*}"
-msgstr "{[aliasname].element.*}"
+msgid "<literal>{[aliasname].element.*}</literal>"
+msgstr "<literal>{[aliasname].element.*}</literal>"
 
-#. Tag: literal
-#: query_sql.xml:326
+#. Tag: entry
 #, no-c-format
-msgid "{coll.element.*}"
-msgstr "{coll.element.*}"
+msgid "<literal>{coll.element.*}</literal>"
+msgstr "<literal>{coll.element.*}</literal>"
 
 #. Tag: entry
-#: query_sql.xml:330
 #, no-c-format
 msgid "All properties of the the collection"
-msgstr "All properties of the the collection"
+msgstr "Todas las propiedades de la colección"
 
-#. Tag: literal
-#: query_sql.xml:334
+#. Tag: entry
 #, no-c-format
-msgid "{coll.*}"
-msgstr "{coll.*}"
+msgid "<literal>{coll.*}</literal>"
+msgstr "<literal>{coll.*}</literal>"
 
 #. Tag: title
-#: query_sql.xml:343
 #, no-c-format
 msgid "Returning non-managed entities"
-msgstr "Returning non-managed entities"
+msgstr "Devolución de entidades no-administradas"
 
 #. Tag: para
-#: query_sql.xml:345
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is possible to apply a ResultTransformer to native SQL queries, allowing "
 "it to return non-managed entities."
 msgstr ""
-"It is possible to apply a ResultTransformer to native sql queries. Allowing "
-"it to e.g. return non-managed entities."
+"Es posible aplicar un ResultTransformer para consultas SQL nativas, "
+"permitiéndole retornar entidades no-administradas."
 
-#. Tag: programlisting
-#: query_sql.xml:347
-#, no-c-format
-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:357
 #, no-c-format
 msgid "a result transformer"
-msgstr "a result transformer"
+msgstr "un transformador de resultado"
 
 #. Tag: para
-#: query_sql.xml:361
 #, no-c-format
 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 "
 "corresponding properties or fields."
 msgstr ""
-"The above query will return a list of <literal>CatDTO</literal> which has "
-"been instantiated and injected the values of NAME and BIRTHNAME into its "
-"corresponding properties or fields."
+"La consulta anterior devolverá una lista de <literal>CatDTO</literal> a la "
+"cual se ha instanciado e inyectado los valores de NOMBRE y FECHA DE "
+"NACIMIENTO en su propiedades o campos correspondientes."
 
 #. Tag: title
-#: query_sql.xml:368
 #, no-c-format
 msgid "Handling inheritance"
-msgstr "Handling inheritance"
+msgstr "Manejo de herencias"
 
 #. Tag: para
-#: query_sql.xml:370
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Native SQL queries which query for entities that are mapped as part of an "
 "inheritance must include all properties for the baseclass and all its "
 "subclasses."
 msgstr ""
-"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 "
-"subclasses."
+"Las consultas SQL nativas, las cuales consultan por entidades que son "
+"mapeadas como parte de una herencia tienen que incluir todas las propiedades "
+"para la clase base y todas sus subclases."
 
 #. Tag: title
-#: query_sql.xml:376
 #, no-c-format
 msgid "Parameters"
-msgstr "Parameters"
+msgstr "Parámetros"
 
 #. Tag: para
-#: query_sql.xml:378
-#, fuzzy, no-c-format
-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:381
 #, no-c-format
-msgid ""
-"<![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();          ]]>"
+msgid "Native SQL queries support positional as well as named parameters:"
 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();          ]]>"
+"Las consultas SQL nativas soportan parámetros nombrados así como "
+"posicionales:"
 
 #. Tag: title
-#: query_sql.xml:389
 #, no-c-format
 msgid "Named SQL queries"
-msgstr "Consultas SQL con nombre"
+msgstr "Consultas SQL nombradas"
 
 #. Tag: para
-#: query_sql.xml:391
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Named SQL queries can be defined in the mapping document and called in "
 "exactly the same way as a named HQL query. In this case, you do "
 "<emphasis>not</emphasis> need to call <literal>addEntity()</literal>."
 msgstr ""
-"Las consultas SQL con nombre pueden definirse en el documento de mapeo y "
-"llamadas exactamente en la misma forma en que a una consulta HQL con nombre. "
-"En este caso, <emphasis>no</emphasis> necesitamos llamar a <literal>addEntity"
-"()</literal>."
+"Las consultas SQL nombradas se pueden definir en el documento de mapeo y se "
+"pueden llamar de la misma manera que una consulta HQL nombrada. En este "
+"caso, <emphasis>no</emphasis> necesitamos llamar a <literal>addEntity()</"
+"literal>."
 
-#. Tag: programlisting
-#: query_sql.xml:396
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:398
-#, no-c-format
-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:400
-#, fuzzy, no-c-format
-msgid ""
 "The <literal>&lt;return-join&gt;</literal> element is use to join "
 "associations and the <literal>&lt;load-collection&gt;</literal> element is "
 "used to define queries which initialize collections,"
 msgstr ""
-"Los elementos <literal>&lt;return-join&gt;</literal> y <literal>&lt;load-"
-"collection&gt;</literal> se usan para unir asociaciones y definir consultas "
-"que inicialicen colecciones, respectivamente."
+"El elemento <literal>&lt;return-join&gt;</literal> se utiliza para unir "
+"asociaciones y el elemento <literal>&lt;load-collection&gt;</literal> se usa "
+"para definir consultas, las cuales dan inicio a colecciones."
 
-#. Tag: programlisting
-#: query_sql.xml:404
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:406
 #, no-c-format
 msgid ""
 "A named SQL query may return a scalar value. You must declare the column "
 "alias and Hibernate type using the <literal>&lt;return-scalar&gt;</literal> "
 "element:"
 msgstr ""
-"Una consulta SQL con nombre puede devolver un valor escalar. Debes "
-"especificar el alias de columna y tipo Hibernate usando el elementp "
-"<literal>&lt;return-scalar&gt;</literal>:"
+"Una consulta SQL nombrada puede devolver un valor escalar. Tiene que "
+"declarar el alias de la columna y el tipo de Hibernate utilizando el "
+"elemento <literal>&lt;return-scalar&gt;</literal>:"
 
-#. Tag: programlisting
-#: query_sql.xml:410
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:412
-#, fuzzy, no-c-format
-msgid ""
 "You can externalize the resultset mapping information in a <literal>&lt;"
 "resultset&gt;</literal> element which will allow you to either reuse them "
 "across several named queries or through the <literal>setResultSetMapping()</"
 "literal> API."
 msgstr ""
-"You can externalize the resultset mapping informations in a <literal>&lt;"
-"resultset&gt;</literal> element to either reuse them accross several named "
-"queries or through the <literal>setResultSetMapping()</literal> API."
+"Puede externalizar el grupo de resultados mapeando información en un "
+"elemento <literal>&lt;resultset&gt;</literal>, el cual le permitirá "
+"reutilizarlos a través de consultas nombradas o por medio de la API "
+"<literal>setResultSetMapping()</literal>."
 
-#. Tag: programlisting
-#: query_sql.xml:417
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:419
-#, fuzzy, no-c-format
-msgid ""
 "You can, alternatively, use the resultset mapping information in your hbm "
 "files directly in java code."
 msgstr ""
-"You can alternatively use the resultset mapping information in your hbm "
-"files directly in java code."
+"Opcionalmente, puede utilizar el grupo de resultados mapeando la información "
+"en sus archivos hbm directamente en código java."
 
-#. Tag: programlisting
-#: query_sql.xml:422
-#, no-c-format
-msgid ""
-"<![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();]]>"
-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:425
 #, no-c-format
 msgid "Using return-property to explicitly specify column/alias names"
 msgstr ""
-"Usando return-property para especificar expl&#x00ed;citamente nombres de "
-"columna/alias"
+"Utilización de la propiedad return para especificar explícitamente los "
+"nombres de columnas/alias"
 
 #. Tag: para
-#: query_sql.xml:428
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can explicitly tell Hibernate what column aliases to use with "
 "<literal>&lt;return-property&gt;</literal>, instead of using the <literal>{}"
 "</literal>-syntax to let Hibernate inject its own aliases.For example:"
 msgstr ""
-"Con <literal>&lt;return-property&gt;</literal> puedes decirle expl&#x00ed;"
-"citamente a Hibernate qu&#x00e9; alias de columna usar, en vez de usar la "
-"sint&#x00e1;xis <literal>{}</literal> para dejar que Hibernate inyecte sus "
-"propios alias."
+"Con <literal>&lt;return-property&gt;</literal> usted puede decirle a "
+"Hibernate explícitamente qué alias de columnas se deben utilizar, en vez de "
+"utilizar la sintaxis <literal>{}</literal> para dejar que Hibernate inyecte "
+"sus propios alias. Por ejemplo:"
 
-#. Tag: programlisting
-#: query_sql.xml:433
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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"
-"]]>"
-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:435
-#, fuzzy, no-c-format
-msgid ""
 "<literal>&lt;return-property&gt;</literal> also works with multiple columns. "
 "This solves a limitation with the <literal>{}</literal>-syntax which cannot "
 "allow fine grained control of multi-column properties."
 msgstr ""
-"<literal>&lt;return-property&gt;</literal> tambi&#x00e9;n trabaja con "
-"m&#x00fa;ltiples columnas. Esto resuelve una limitaci&#x00f3;n de la "
-"sint&#x00e1;xis <literal>{}</literal>, la cual no puede permitir un control "
-"fino de propiedades multi-columna."
+"<literal>&lt;return-property&gt;</literal> también funciona con columnas "
+"múltiples. Esto resuelve una limitación con la sintaxis <literal>{}</"
+"literal>, la cual no puede permitir control muy detallado de propiedades "
+"multi-columnas."
 
-#. Tag: programlisting
-#: query_sql.xml:440
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:442
-#, fuzzy, no-c-format
-msgid ""
 "In this example <literal>&lt;return-property&gt;</literal> was used in "
 "combination with the <literal>{}</literal>-syntax for injection. This allows "
 "users to choose how they want to refer column and properties."
 msgstr ""
-"Nota que en este ejemplo hemos usado <literal>&lt;return-property&gt;</"
-"literal> en combinaci&#x00f3;n con la sint&#x00e1;xis <literal>{}</literal> "
-"para inyecci&#x00f3;n, permitiendo a los usuarios elejir c&#x00f3;mo quieren "
-"referirse a las columnas y propiedades."
+"En este ejemplo utilizamos <literal>&lt;return-property&gt;</literal> en "
+"combinación junto con la sintaxis <literal>{}</literal> para inyección. Esto "
+"le permite a los usuarios escoger cómo quieren referirse a la columna y a "
+"las propiedades."
 
 #. Tag: para
-#: query_sql.xml:447
 #, no-c-format
 msgid ""
 "If your mapping has a discriminator you must use <literal>&lt;return-"
 "discriminator&gt;</literal> to specify the discriminator column."
 msgstr ""
-"Si tu mapeo tiene un discriminador debes usar <literal>&lt;return-"
-"discriminator&gt;</literal> para especificar la columna discriminadora."
+"Si su mapeo tiene un discriminador usted tiene que utilizar <literal>&lt;"
+"return-discriminator&gt;</literal> para especificar la columna "
+"discriminadora."
 
 #. Tag: title
-#: query_sql.xml:453
 #, no-c-format
 msgid "Using stored procedures for querying"
-msgstr "Usando procedimientos almacenados para consultar"
+msgstr "Utilización de procedimientos para consultas"
 
 #. Tag: para
-#: query_sql.xml:455
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate3 provides support for queries via stored procedures and functions. "
 "Most of the following documentation is equivalent for both. The stored "
@@ -1239,110 +752,38 @@
 "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&#x00ed;a procedimientos "
-"almacenados. Los procedimientos almacenados deben devolver un conjunto "
-"resultado como el primer par&#x00e1;metro de salida para ser capaces de "
-"funcionar con Hibernate. Un ejemplo de uno procedimiento almacenado en "
-"Oracle 9 o superior es as&#x00ed;:"
+"Hibernate 3 brinda soporte para consultas por medio de procedimientos "
+"almacenados y funciones. La mayoría de la siguiente documentación es igual "
+"para ambos. La función/procedimiento almacenado tiene que retornar un grupo "
+"de resultados como el primer parámetro de salida para poder trabajar con "
+"Hibernate. A continuación hay un ejemplo de tal función almacenada en Oracle "
+"9 y posteriores:"
 
-#. Tag: programlisting
-#: query_sql.xml:461
-#, no-c-format
-msgid ""
-"<![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;]]>"
-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:463
 #, no-c-format
 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."
+"Para utilizar esta consulta en Hibernate u.d necesita mapearla por medio de "
+"una consulta nombrada."
 
-#. Tag: programlisting
-#: query_sql.xml:466
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:468
-#, fuzzy, no-c-format
-msgid ""
 "Stored procedures currently only return scalars and entities. <literal>&lt;"
 "return-join&gt;</literal> and <literal>&lt;load-collection&gt;</literal> are "
 "not supported."
 msgstr ""
-"Nota que los procedimientos almacenados s&#x00f3;lo devuelven escalares y "
-"entidades. No est&#x00e1;n soportados <literal>&lt;return-join&gt;</literal> "
-"y <literal>&lt;load-collection&gt;</literal>."
+"Los procedimientos almacenados actualmente sólo retornan escalares y "
+"entidades. No se soporta <literal>&lt;return-join&gt;</literal> ni "
+"<literal>&lt;load-collection&gt;</literal> ."
 
 #. Tag: title
-#: query_sql.xml:473
 #, no-c-format
 msgid "Rules/limitations for using stored procedures"
-msgstr "Reglas/limitaciones para usar procedimientos almacenados"
+msgstr "Reglas/limitaciones para utilizar procedimientos almacenados"
 
 #. Tag: para
-#: query_sql.xml:475
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You cannot use stored procedures with Hibernate unless you follow some "
 "procedure/function rules. If they do not follow those rules they are not "
@@ -1351,45 +792,42 @@
 "different for each database, since database vendors have different stored "
 "procedure semantics/syntax."
 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&#x00fa;n quisieras usar estos procedimientos tendr&#x00ed;as "
-"que ejecutarlos por medio de <literal>session.connection()</literal>. Las "
-"reglas son diferentes para cada base de datos, ya que los vendedores de base "
-"de datos tienen diferentes sem&#x00e1;nticas/sint&#x00e1;xis de "
+"Para utilizar procedimientos almacenados con Hibernate, debe seguir ciertas "
+"reglas de funciones/procedimientos. Si no siguen esas reglas entonces no se "
+"pueden utilizar con Hibernate. Si todavía quiere utilizar estos "
+"procedimientos tiene que ejecutarlos por medio de <literal>session.connection"
+"()</literal>. Las reglas son diferentes para cada base de datos debido a que "
+"los vendedores de la base de datos tienen diferentes sintaxis/semántica de "
 "procedimientos almacenados."
 
 #. Tag: para
-#: query_sql.xml:482
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Stored procedure queries cannot be paged with <literal>setFirstResult()/"
 "setMaxResults()</literal>."
 msgstr ""
-"Las consultas de procedimientos almacenados no pueden ser paginadas con "
+"Las consultas de procedimientos almacenados no se pueden llamar con "
 "<literal>setFirstResult()/setMaxResults()</literal>."
 
 #. Tag: para
-#: query_sql.xml:485
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The recommended call form is standard SQL92: <literal>{ ? = call functionName"
 "(&lt;parameters&gt;) }</literal> or <literal>{ ? = call procedureName(&lt;"
 "parameters&gt;}</literal>. Native call syntax is not supported."
-msgstr "Para Oracle se aplican las siguientes reglas:"
+msgstr ""
+"La forma de la llamada recomendada es SQL92 estándar: <literal>{ ? = call "
+"functionName(&lt;parameters&gt;) }</literal> o <literal>{ ? = call "
+"procedureName(&lt;parameters&gt;}</literal>. No se soporta la sintaxis de "
+"llamadas nativas."
 
 #. Tag: para
-#: query_sql.xml:490
 #, no-c-format
 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>."
+msgstr "Para Oracle aplican las siguientes reglas:"
 
 #. Tag: para
-#: query_sql.xml:494
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
@@ -1397,50 +835,47 @@
 "you need to define a <literal>REF CURSOR</literal> type. See Oracle "
 "literature for further information."
 msgstr ""
-"La forma recomendada es <literal>{ ? = call procName(&lt;parameters&gt;) }</"
-"literal> o <literal>{ ? = call procName }</literal> (esto es m&#x00e1;s una "
-"regla de Oracle que una regla de Hibernate)."
+"Una función tiene que retornar un grupo de resultados. El primer parámetro "
+"de un procedimiento tiene que ser un <literal>OUT</literal> que retorna un "
+"grupo de resultados. Esto se hace utilizando un tipo <literal>SYS_REFCURSOR</"
+"literal>  en Oracle 9 o 10. En Oracle necesita definir un tipo <literal>REF "
+"CURSOR</literal>. Consulte la documentación de Oracle para obtener mayor "
+"información."
 
 #. Tag: para
-#: query_sql.xml:503
 #, no-c-format
 msgid "For Sybase or MS SQL server the following rules apply:"
-msgstr "Para Sybase o MS SQL server se aplican las siguientes reglas:"
+msgstr "Para Sybase o el servidor MS SQL aplican las siguientes reglas:"
 
 #. Tag: para
-#: query_sql.xml:507
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The procedure must return a result set. Note that since these servers can "
 "return multiple result sets and update counts, Hibernate will iterate the "
 "results and take the first result that is a result set as its return value. "
 "Everything else will be discarded."
 msgstr ""
-"El procedimiento debe devolver un conjunto resultado. Nota que ya que estos "
-"servidores pueden y devolver&#x00e1;n m&#x00fa;ltiples conjuntos resultados "
-"y cuentas de actualizaci&#x00f3;n, Hibernate iterar&#x00e1; los resultados y "
-"tomar&#x00e1; el primer resultado que sea un conjunto resultado como su "
-"valor a devolver. Todo lo dem&#x00e1;s ser&#x00e1; descartado."
+"El procedimiento tiene que retornar un grupo de resultados. Observe que "
+"debido a que estos servidores pueden retornar grupos de resultados múltiples "
+"y cuentas actualizadas, Hibernate iterará los resultados y tomará el primer "
+"resultado que sea un grupo resultados como su valor retornado. Todo lo demás "
+"será descartado."
 
 #. Tag: para
-#: query_sql.xml:515
 #, no-c-format
 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&#x00e1; probablemente m&#x00e1;s eficiente, pero esto no es un "
-"requerimiento."
+"Si puede habilitar <literal>SET NOCOUNT ON</literal> en su procedimiento "
+"probablemente será más eficiente, pero no es un requerimiento."
 
 #. Tag: title
-#: query_sql.xml:525
 #, no-c-format
 msgid "Custom SQL for create, update and delete"
-msgstr "SQL personalizado para crear, actualizar y borrar"
+msgstr "Personalice SQL para crear, actualizar y borrar"
 
 #. Tag: para
-#: query_sql.xml:527
 #, no-c-format
 msgid ""
 "Hibernate3 can use custom SQL statements for create, update, and delete "
@@ -1450,101 +885,44 @@
 "<literal>&lt;sql-delete&gt;</literal>, and <literal>&lt;sql-update&gt;</"
 "literal> override these strings:"
 msgstr ""
-"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&#x00f3;n (insertsql, deletesql, updatesql, etc.). Las etiquetas "
-"de mapeo <literal>&lt;sql-insert&gt;</literal>, <literal>&lt;sql-delete&gt;</"
+"Hibernate3 puede utilizar declaraciones SQL personalizadas para crear, "
+"actualizar y borrar operaciones. Los persistentes de clase y de colección en "
+"Hibernate ya contienen un grupo de cadenas generadas en tiempo de "
+"configuración (insertsql, deletesql, updatesql etc.). Las etiquetas de mapeo "
+"<literal>&lt;sql-insert&gt;</literal>, <literal>&lt;sql-delete&gt;</"
 "literal>, y <literal>&lt;sql-update&gt;</literal> sobrescriben estas cadenas:"
 
-#. Tag: programlisting
-#: query_sql.xml:535
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:537
-#, fuzzy, no-c-format
-msgid ""
 "The SQL is directly executed in your database, so you can use any dialect "
 "you like. This will 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&#x00e1;, por supuesto, "
-"la portabilidad de tu mapeo si usas SQL espec&#x00ed;fico de la base de "
-"datos."
+"El SQL se ejecuta directamente en su base de datos asi que usted es libre de "
+"utilizar cualquier dialecto que desee. Esto reducirá la portabilidad de su "
+"mapeo si utiliza una base de datos especifica de SQL."
 
 #. Tag: para
-#: query_sql.xml:541
 #, no-c-format
 msgid ""
 "Stored procedures are supported if the <literal>callable</literal> attribute "
 "is set:"
 msgstr ""
-"Los procedimientos almacenados son soportados si est&#x00e1; establecido el "
-"atributo <literal>callable</literal>:"
+"Los procedimientos almacenados se encuentran soportados si el atributo "
+"<literal>callable</literal> está configurado:"
 
-#. Tag: programlisting
-#: query_sql.xml:544
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:546
-#, fuzzy, no-c-format
-msgid ""
 "The order of the positional parameters is vital, as they must be in the same "
 "sequence as Hibernate expects them."
 msgstr ""
-"El orden de los par&#x00e1;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 es vital ya que se deben encontrar "
+"en la misma secuencia en que Hibernate los espera."
 
 #. Tag: para
-#: query_sql.xml:549
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can view the expected order by enabling debug logging for the "
 "<literal>org.hibernate.persister.entity</literal> level. With this level "
@@ -1553,214 +931,62 @@
 "your custom SQL in the mapping files, as this will override the Hibernate "
 "generated static SQL."
 msgstr ""
-"Puedes ver el orden esperado habilitando el registro de depuraci&#x00f3;n "
-"para el nivel <literal>org.hibernate.persister.entity</literal>. Con este "
-"nivel habilitado, Hibernate imprimir&#x00e1; el SQL est&#x00e1;tico que se "
-"usa para crear, actualizar, borrar, etc. las entidades. (Para ver la "
-"secuencia esperada, recuerda no incluir tu SQL personalizado en los ficheros "
-"de mapeo ya que sobrescribir&#x00e1;n el sql est&#x00e1;tico generado por "
-"Hibernate.)"
+"Puede 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 utiliza para crear, "
+"actualizar, borrar, etc, entidades, ( para ver la secuencia esperada, "
+"recuerde no incluir su SQL personalizado en los archivos de mapeo ya que eso "
+"sobrescribirá el sql estático generado por Hibernate)."
 
 #. Tag: para
-#: query_sql.xml:556
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The stored procedures are in most cases required to return the number of "
 "rows inserted, updated and deleted, as Hibernate has some runtime checks for "
 "the success of the statement. Hibernate always registers the first statement "
 "parameter as a numeric output parameter for the CUD operations:"
 msgstr ""
-"Los procedimientos almacenados son, en la mayor&#x00ed;a de los casos "
-"(l&#x00e9;ase, mejor hacerlo que no hacerlo), obligados a devolver el "
-"n&#x00fa;mero de filas insertadas/actualizadas/borradas, ya que Hibernate "
-"tiene algunas comprobaciones en tiempo de ejecuci&#x00f3;n del &#x00e9;xito "
-"de la sentencia. Hibernate siempre registra el primer par&#x00e1;metro de la "
-"sentencia como un par&#x00e1;metro de salida num&#x00e9;rico para las "
-"operaciones CUD:"
+"En la mayoría de los casos se requiere que los procedimientos almacenados "
+"retornen el número de filas insertadas, actualizadas y borradas ya que "
+"Hibernate tiene algunas verificaciones en tiempo de ejecución para el éxito "
+"de la declaración. Hibernate siempre registra el primer parámetro de la "
+"declaración como un parámetro de la salida numérica para las operaciones CUD:"
 
-#. Tag: programlisting
-#: query_sql.xml:562
-#, no-c-format
-msgid ""
-"<![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;]]>"
-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:566
 #, no-c-format
 msgid "Custom SQL for loading"
-msgstr "SQL personalizado para carga"
+msgstr "Personalice SQL para cargar"
 
 #. Tag: para
-#: query_sql.xml:568
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "You can also declare your own SQL (or HQL) queries for entity loading:"
-msgstr ""
-"Puedes tambi&#x00e9;n declarar tu propias consultas SQL (o HQL) para cargar "
-"entidades:"
+msgstr "También puede declarar sus propias consultas SQL (o HQL) para cargar entidad:"
 
-#. Tag: programlisting
-#: query_sql.xml:571
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:573
-#, fuzzy, no-c-format
-msgid ""
 "This is just a named query declaration, as discussed earlier. You can "
 "reference this named query in a class mapping:"
 msgstr ""
-"Esto es s&#x00f3;lo una declaraci&#x00f3;n de consulta con nombrem como se "
-"ha discutido anteriormente. Puedes hacer referencia a esta consulta con "
-"nombre en un mapeo de clase:"
+"Esta es tan sólo una declaración de consulta nombrada, como se discutió "
+"anteriormente. Puede referenciar esta consulta nombrada en un mapeo de clase:"
 
-#. Tag: programlisting
-#: query_sql.xml:576
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:578
 #, no-c-format
 msgid "This even works with stored procedures."
-msgstr "Esto incluso funciona con procedimientos almacenados."
+msgstr "Esto funciona inclusive con procedimientos almacenados."
 
 #. Tag: para
-#: query_sql.xml:580
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "You can even define a query for collection loading:"
-msgstr "Puedes incluso definit una consulta para la carga de colecciones:"
+msgstr "Puede incluso definir una consulta para la carga de colección:"
 
-#. Tag: programlisting
-#: query_sql.xml:582
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<set name=\"employments\" inverse=\"true\">\n"
-"    <key/>\n"
-"    <one-to-many class=\"Employment\"/>\n"
-"    <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:584
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:586
-#, fuzzy, no-c-format
-msgid ""
 "You can also define an entity loader that loads a collection by join "
 "fetching:"
 msgstr ""
-"Podr&#x00ed;as incluso definir un cargador de entidades que cargue una "
-"colecci&#x00f3;n por recuperaci&#x00f3;n por uni&#x00f3;n (join fetching):"
+"También puede definir un cargador de entidad que cargue una colección con "
+"una unión temprana:"
 
-#. Tag: programlisting
-#: query_sql.xml:589
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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-->"

Deleted: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/quickstart.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/quickstart.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/quickstart.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,474 +0,0 @@
-#, fuzzy
-msgid ""
-msgstr ""
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
-msgid "appended paragraph 1"
-msgstr "Comienzo r&#x00e1;pido con Tomcat"
-
-#: index.docbook:8
-msgid "appended paragraph 2"
-msgstr "Empezando con Hibernate"
-
-#: index.docbook:10
-msgid "appended paragraph 3"
-msgstr "Este tutorial explica una instalaci&#x00f3;n de Hibernate con el contenedor de servlets Apache Tomcat (hemos usado la versi&#x00f3;n 4.1, las diferencias con la 5.0 deben ser m&#x00ed;nimas) para una aplicaci&#x00f3;n basada en web. Hibernate trabaja bien en un entorno manejado con todos los servidores de aplicaciones J2EE importantes, o incluso en aplicaciones Java independientes. El sistema de base de datos es s&#x00f3;lo una cuesti&#x00f3;n de cambiar la configuraci&#x00f3;n del dialecto SQL de Hibernate y las propiedades de conexi&#x00f3;n."
-
-#: index.docbook:21
-msgid "appended paragraph 4"
-msgstr "Primero, tenemos que copiar todas las bibliotecas requeridas a la instalaci&#x00f3;n de Tomcat. Usamos un contexto web separado (<literal>webapps/quickstart</literal>) para este tutorial, de modo que tenemos que considerar tanto la ruta de b&#x00fa;squeda de bibliotecas global (<literal>TOMCAT/common/lib</literal>) como tambi&#x00e9;n el cargador de clases a nivel de contexto en <literal>webapps/quickstart/WEB-INF/lib</literal> (para ficheros JAR) y <literal>webapps/quickstart/WEB-INF/classes</literal>. Nos referiremos a ambos niveles de cargador de clases como el classpath global y el classpath de contexto, respectivamente."
-
-#: index.docbook:32
-msgid "appended paragraph 5"
-msgstr "Ahora, copia las bibliotecas a los dos classpaths:"
-
-#: index.docbook:38
-msgid "appended paragraph 6"
-msgstr "Copia el driver JDBC para la base de datos al classpath global. Esto se requiere para el software de pool de conexiones DBCP que se distribuye con Tomcat. Hibernate usa conexiones JDBC para ejecutar SQL sobre la base de datos, de modo que, o bien tienes que proveer conexiones JDBC en pool, o bien configurar Hibernate para que use uno de los pools soportados directamente (C3P0, Proxool). Para este tutorial, copia la biblioteca <literal>pg74jdbc3.jar</literal> (para PostgreSQL 7.4 y JDK 1.4) al classpath del cargador global. Si quisieras usar una base de datos diferente, simplemente copia su apropiado driver JDBC."
-
-#: index.docbook:51
-msgid "appended paragraph 7"
-msgstr "Nunca copies nada m&#x00e1;s dentro de la ruta del cargador de clases global en Tomcat, o tendr&#x00e1;s problemas con varias herramientas, incluyendo Log4J, commons-logging y otras. Siempre usa el classpath de contexto para cada aplicaci&#x00f3;n web, esto es, copia las bibliotecas a <literal>WEB-INF/lib</literal> y tus propias clases y ficheros de configuraci&#x00f3;n/propiedades a <literal>WEB-INF/classes</literal>. Ambos directorios est&#x00e1;n a nivel del classpath de contexto por defecto."
-
-#: index.docbook:62
-msgid "appended paragraph 8"
-msgstr "Hibernate est&#x00e1; empaquetado como una biblioteca JAR. El fichero <literal>hibernate3.jar</literal> debe ser copiado en el classpath de contexto junto a las otras clases de la aplicaci&#x00f3;n. Hibernate requiere algunas bibliotecas de terceros en tiempo de ejecuci&#x00f3;n; &#x00e9;stas vienen inclu&#x00ed;das con la distribuci&#x00f3;n de Hibernate en el directorio <literal>lib/</literal>. Ver <xref linkend=\"3rdpartylibs\"/>. Copia las bibliotecas de terceros requeridas al classpath de contexto."
-
-#: index.docbook:75
-msgid "appended paragraph 9"
-msgstr "Bibliotecas de terceros de Hibernate"
-
-#: index.docbook:83
-msgid "appended paragraph 10"
-msgstr "Biblioteca"
-
-#: index.docbook:86
-msgid "appended paragraph 11"
-msgstr "Descripci&#x00f3;n"
-
-#: index.docbook:93
-msgid "appended paragraph 12"
-msgstr "antlr (requerida)"
-
-#: index.docbook:96
-msgid "appended paragraph 13"
-msgstr "Hibernate usa ANTLR para producir analizadores de consultas, esta biblioteca tambi&#x00e9;n se necesita en tiempo de ejecuci&#x00f3;n."
-
-#: index.docbook:102
-msgid "appended paragraph 14"
-msgstr "dom4j (requerida)"
-
-#: index.docbook:105
-msgid "appended paragraph 15"
-msgstr "Hibernate usa dom4j para analizar ficheros de configuraci&#x00f3;n XML y ficheros de metadatos de mapeo XML."
-
-#: index.docbook:111
-msgid "appended paragraph 16"
-msgstr "CGLIB, asm (requerida)"
-
-#: index.docbook:114
-msgid "appended paragraph 17"
-msgstr "Hibernate usa la biblioteca de generaci&#x00f3;n de c&#x00f3;digo para aumentar las clases en tiempo de ejecuci&#x00f3;n (en combinaci&#x00f3;n con reflecci&#x00f3;n Java)."
-
-#: index.docbook:121
-msgid "appended paragraph 18"
-msgstr "Commons Collections, Commons Logging (requeridas)"
-
-#: index.docbook:124
-msgid "appended paragraph 19"
-msgstr "Hibernate usa varias bibliotecas de utilidad del proyecto Jakarta Commons de Apache."
-
-#: index.docbook:130
-msgid "appended paragraph 20"
-msgstr "EHCache (requerida)"
-
-#: index.docbook:133
-msgid "appended paragraph 21"
-msgstr "Hibernate puede usar varios provedores de cach&#x00e9; para el cach&#x00e9; de segundo nivel. EHCache es el provedor de cach&#x00e9; por defecto si no se cambia en la configuraci&#x00f3;n."
-
-#: index.docbook:140
-msgid "appended paragraph 22"
-msgstr "Log4j (opcional)"
-
-#: index.docbook:143
-msgid "appended paragraph 23"
-msgstr "Hibernate usa la API de Commons Logging, que a su vez puede usar Log4J como el mecanismo de logging subyacente. Si la biblioteca Log4J est&#x00e1; disponible en el directorio de bibliotecas del contexto, Commons Logging usar&#x00e1; Log4J y la configuraci&#x00f3;n <literal>log4j.properties</literal> en el classpath de contexto. Un fichero de propiedades de ejemplo para Log4J se incluye con la distribuci&#x00f3;n de Hibernate. As&#x00ed; que copia log4j.jar y el fichero de configuraci&#x00f3;n (de <literal>src/</literal>) a tu classpath de contexto si quieres ver que ocurre tras esc&#x00e9;nas."
-
-#: index.docbook:157
-msgid "appended paragraph 24"
-msgstr "¿Requerida o no?"
-
-#: index.docbook:160
-msgid "appended paragraph 25"
-msgstr "Echa una mirada al fichero <literal>lib/README.txt</literal> en la distribuci&#x00f3;n de Hibernate. Esta es una lista actualizada de bibliotecas de terceros distribu&#x00ed;das con Hibernate. Encontrar&#x00e1;s listadas ah&#x00ed; todas las bibliotecas requeridas y opcionales (Observa que \"buildtame required\" significa aqu&#x00ed; para la construcci&#x00f3;n de Hibernate, no de tu aplicaci&#x00f3;n)."
-
-#: index.docbook:174
-msgid "appended paragraph 26"
-msgstr "Ahora instalamos el pooling y modo compartido de conexiones de base de datos tanto en Tomcat como Hibernate. Esto significa que Tomcat proveer&#x00e1; conexiones JDBC en pool (usando su funcionalidad prefabricada de pooling DBCP). Hibernate pide esas conexiones a trav&#x00e9;s de JNDI. Alternativamente, puedes dejar que Hibernate maneje el pool de conexiones. Tomcat liga su pool de conexiones a JNDI; agregamos una declaraci&#x00f3;n de recurso al fichero de configuraci&#x00f3;n principal de Tomcat, <literal>TOMCAT/conf/server.xml</literal>:"
-
-#: index.docbook:184
-msgid "appended paragraph 27"
-msgstr ""
-      "<![CDATA[<Context path=\"/quickstart\" docBase=\"quickstart\">\n"
-      "    <Resource name=\"jdbc/quickstart\" scope=\"Shareable\" type=\"javax.sql.DataSource\"/>\n"
-      "    <ResourceParams name=\"jdbc/quickstart\">\n"
-      "        <parameter>\n"
-      "            <name>factory</name>\n"
-      "            <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>\n"
-      "        </parameter>\n"
-      "\n"
-      "        <!-- DBCP database connection settings -->\n"
-      "        <parameter>\n"
-      "            <name>url</name>\n"
-      "            <value>jdbc:postgresql://localhost/quickstart</value>\n"
-      "        </parameter>\n"
-      "        <parameter>\n"
-      "            <name>driverClassName</name><value>org.postgresql.Driver</value>\n"
-      "        </parameter>\n"
-      "        <parameter>\n"
-      "            <name>username</name>\n"
-      "            <value>quickstart</value>\n"
-      "        </parameter>\n"
-      "        <parameter>\n"
-      "            <name>password</name>\n"
-      "            <value>secret</value>\n"
-      "        </parameter>\n"
-      "\n"
-      "        <!-- DBCP connection pooling options -->\n"
-      "        <parameter>\n"
-      "            <name>maxWait</name>\n"
-      "            <value>3000</value>\n"
-      "        </parameter>\n"
-      "        <parameter>\n"
-      "            <name>maxIdle</name>\n"
-      "            <value>100</value>\n"
-      "        </parameter>\n"
-      "        <parameter>\n"
-      "            <name>maxActive</name>\n"
-      "            <value>10</value>\n"
-      "        </parameter>\n"
-      "    </ResourceParams>\n"
-      "</Context>]]>"
-
-#: index.docbook:186
-msgid "appended paragraph 28"
-msgstr "El contexto que configuramos en este ejemplo se llama <literal>quickstart</literal>, su base es el directorio <literal>TOMCAT/webapp/quickstart</literal>. Para acceder a cualquier servlet, llama a la ruta <literal>http://localhost:8080/quickstart</literal> en tu navegador (por supuesto, agregando el nombre del servlet como se mapee en tu <literal>web.xml</literal>). Puedes tambi&#x00e9;n ir m&#x00e1;s all&#x00e1; y crear ahora un servlet simple que tenga un m&#x00e9;todo <literal>process()</literal> vac&#x00ed;o."
-
-#: index.docbook:196
-msgid "appended paragraph 29"
-msgstr "Tomcat provee ahora conexiones a trav&#x00e9;s de JNDI en <literal>java:comp/env/jdbc/quickstart</literal>. Si tienes problemas obteniendo el pool de conexiones en ejecuci&#x00f3;n, refi&#x00e9;rete a la documentaci&#x00f3;n de Tomcat. Si obtienes mensajes de excepci&#x00f3;n del driver JDBC, intenta instalar primero el pool de conexiones JDBC sin Hibernate. Hay disponibles en la Web tutoriales de Tomcat y JDBC."
-
-#: index.docbook:205
-msgid "appended paragraph 30"
-msgstr "Tu pr&#x00f3;ximo paso es configurar Hibernate. Hibernate tiene que saber c&#x00f3;mo debe obtener conexiones JDBC. Usamos la configuraci&#x00f3;n de Hibernate basada en XML. El otro enfoque, usando un ficheros de propiedad, es casi equivalente pero pierde unas pocas funcionalidades que s&#x00ed; permite la sintaxis XML. El fichero de configuraci&#x00f3;n XML se ubica en el classpath de contexto (<literal>WEB-INF/classes</literal>), como <literal>hibernate.cfg.xml</literal>:"
-
-#: index.docbook:214
-msgid "appended paragraph 31"
-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"
-      "    <session-factory>\n"
-      "\n"
-      "        <property name=\"connection.datasource\">java:comp/env/jdbc/quickstart</property>\n"
-      "        <property name=\"show_sql\">false</property>\n"
-      "        <property name=\"dialect\">org.hibernate.dialect.PostgreSQLDialect</property>\n"
-      "\n"
-      "        <!-- Mapping files -->\n"
-      "        <mapping resource=\"Cat.hbm.xml\"/>\n"
-      "\n"
-      "    </session-factory>\n"
-      "\n"
-      "</hibernate-configuration>]]>"
-
-#: index.docbook:216
-msgid "appended paragraph 32"
-msgstr "Desactivamos el registro (logging) de comandos SQL y decimos a Hibernate qu&#x00e9; dialecto SQL de base de datos se usa y d&#x00f3;nde obtener conexiones JDBC (declarando la direcci&#x00f3;n JNDI del pool ligado a Tomcat). El dialecto es una configuraci&#x00f3;n requerida, las bases de datos difieren en su interpretaci&#x00f3;n del \"est&#x00e1;ndar\" de SQL. Hibernate cuidar&#x00e1; de las diferencias y viene con dialectos inclu&#x00ed;dos para todas las principales bases de datos comerciales y de c&#x00f3;digo abierto."
-
-#: index.docbook:227
-msgid "appended paragraph 33"
-msgstr "Una <literal>SessionFactory</literal> es el concepto de Hibernate de un almac&#x00e9;n de datos solo. Pueden usarse m&#x00fa;ltiples bases de datos creando m&#x00fa;ltiples ficheros de configuraci&#x00f3;n XML y creando m&#x00fa;ltiples objetos <literal>Configuration</literal> y <literal>SessionFactory</literal> en tu aplicaci&#x00f3;n."
-
-#: index.docbook:235
-msgid "appended paragraph 34"
-msgstr "El &#x00fa;ltimo elemento del <literal>hibernate.cfg.xml</literal> declara <literal>Cat.hbm.xml</literal> como el nombre de un fichero de mapeo XML para la clase persistente <literal>Cat</literal>. Este fichero contiene los metadatos para el mapeo de la clase POJO <literal>Cat</literal> a una tabla (o tablas) de base de datos. Volveremos a este fichero pronto. Escribamos primero la clase POJO y luego declaremos los metadatos de mapeo para ella."
-
-#: index.docbook:248
-msgid "appended paragraph 35"
-msgstr "Primera clase persistente"
-
-#: index.docbook:250
-msgid "appended paragraph 36"
-msgstr "Hibernate trabaja mejor con el modelo de programaci&#x00f3;n de los Viejos Objetos Planos de Java (POJOs, a veces llamados Ordinarios Objetos Planos de Java) para clases persistentes. Un POJO es como un JavaBean, con las propiedades de la clase accesible v&#x00ed;a m&#x00e9;todos getter y setter, encapsulando la representaci&#x00f3;n interna de la interfaz publicamente visible (Hibernate puede tambi&#x00e9;n acceder a los campos directamente, si se necesita):"
-
-#: index.docbook:260
-msgid "appended paragraph 37"
-msgstr ""
-      "<![CDATA[package org.hibernate.examples.quickstart;\n"
-      "\n"
-      "public class Cat {\n"
-      "\n"
-      "    private String id;\n"
-      "    private String name;\n"
-      "    private char sex;\n"
-      "    private float weight;\n"
-      "\n"
-      "    public Cat() {\n"
-      "    }\n"
-      "\n"
-      "    public String getId() {\n"
-      "        return id;\n"
-      "    }\n"
-      "\n"
-      "    private void setId(String id) {\n"
-      "        this.id = id;\n"
-      "    }\n"
-      "\n"
-      "    public String getName() {\n"
-      "        return name;\n"
-      "    }\n"
-      "\n"
-      "    public void setName(String name) {\n"
-      "        this.name = name;\n"
-      "    }\n"
-      "\n"
-      "    public char getSex() {\n"
-      "        return sex;\n"
-      "    }\n"
-      "\n"
-      "    public void setSex(char sex) {\n"
-      "        this.sex = sex;\n"
-      "    }\n"
-      "\n"
-      "    public float getWeight() {\n"
-      "        return weight;\n"
-      "    }\n"
-      "\n"
-      "    public void setWeight(float weight) {\n"
-      "        this.weight = weight;\n"
-      "    }\n"
-      "\n"
-      "}]]>"
-
-#: index.docbook:262
-msgid "appended paragraph 38"
-msgstr "Hibernate no est&#x00e1; restringido en su uso de tipos de propiedad, todos los tipos y tipos primitivos del JDK de Java (como <literal>String</literal>, <literal>char</literal> y <literal>Date</literal>) pueden ser mapeados, incluyendo clases del framework de colecciones de Java. Puedes mapearlos como valores, colecciones de valores, o asociaciones a otras entidades. El <literal>id</literal> es una propiedad especial que representa el identificador de base de datos (clave primaria) de la clase. Es altamente recomendado para entidades como un <literal>Cat</literal>. Hibernate puede usar identificadores s&#x00f3;lo internamente, pero perder&#x00ed;amos algo de la flexibilidad en nuestra arquitectura de aplicaci&#x00f3;n."
-
-#: index.docbook:275
-msgid "appended paragraph 39"
-msgstr "No tiene que implementarse ninguna interface especial para las clases persistentes ni tienes que subclasear de una clase persistente ra&#x00ed;z en especial. Hibernate tampoco requiere ning&#x00fa;n procesamiento en tiempo de construcci&#x00f3;n, como manipulaci&#x00f3;n del byte-code. Se basa solamente en reflecci&#x00f3;n de Java y aumentaci&#x00f3;n de clases en tiempo de ejecuci&#x00f3;n (a trav&#x00e9;s de CGLIB). De modo que, sin ninguna dependencia de la clase POJO en Hibernate, podemos mapearla a una tabla de base de datos."
-
-#: index.docbook:288
-msgid "appended paragraph 40"
-msgstr "Mapeando el gato"
-
-#: index.docbook:290
-msgid "appended paragraph 41"
-msgstr "El fichero de mapeo <literal>Cat.hbm.xml</literal> contiene los metadatos requeridos para el mapeo objeto/relacional. Los metadatos incluyen la declaraci&#x00f3;n de clases persistentes y el mapeo de propiedades (a columnas y relaciones de claves for&#x00e1;neas a otras entidades) a tablas de base de datos."
-
-#: index.docbook:298
-msgid "appended paragraph 42"
-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"
-      "    <class name=\"org.hibernate.examples.quickstart.Cat\" table=\"CAT\">\n"
-      "\n"
-      "        <!-- A 32 hex character is our surrogate key. It's automatically\n"
-      "            generated by Hibernate with the UUID pattern. -->\n"
-      "        <id name=\"id\" type=\"string\" unsaved-value=\"null\" >\n"
-      "            <column name=\"CAT_ID\" sql-type=\"char(32)\" not-null=\"true\"/>\n"
-      "            <generator class=\"uuid.hex\"/>\n"
-      "        </id>\n"
-      "\n"
-      "        <!-- A cat has to have a name, but it shouldn' be too long. -->\n"
-      "        <property name=\"name\">\n"
-      "            <column name=\"NAME\" length=\"16\" not-null=\"true\"/>\n"
-      "        </property>\n"
-      "\n"
-      "        <property name=\"sex\"/>\n"
-      "\n"
-      "        <property name=\"weight\"/>\n"
-      "\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
-
-#: index.docbook:300
-msgid "appended paragraph 43"
-msgstr "Cada clase persistente debe tener un atributo identificador (realmente, s&#x00f3;lo las clases que representen entidades, no las clases dependientes de tipo-valor, que son mapeadas como componentes de una entidad). Esta propiedad es usada para distinguir los objetos persistentes: Dos gatos son iguales si <literal>catA.getId().equals(catB.getId())</literal> es verdadero. Este concepto se llama <emphasis>identidad de base de datos (database identity)</emphasis>. Hibernate viene empaquetado con varios generadores de identificador para diferentes escenarios (incluyendo generadores nativos para secuencias de base de datos, tablas de identificadores alto/bajo, e identificadores asignados por aplicaci&#x00f3;n). Usamos el generador UUID (recomendado s&#x00f3;lo para pruebas, pues deben preferirse las claves enteras delegadas generadas por la base de datos) y tambi&#x00e9;n especificamos la columna <literal>CAT_ID</literal> de la tabla <literal>CAT</literal> para el valor i!
 dentificador generado por Hibernate (como una clave primaria de la tabla)."
-
-#: index.docbook:317
-msgid "appended paragraph 44"
-msgstr "Todas las dem&#x00e1;s propiedades de <literal>Cat</literal> son mapeadas a la misma tabla. En el caso de la propiedad <literal>name</literal>, la hemos mapeado con una declaraci&#x00f3;n expl&#x00ed;cita de columna de base de datos. Esto es especialmente &#x00fa;til cuando el esquema de base de datos es generado autom&#x00e1;ticamente (como sentencias DDL de SQL) desde la declaraci&#x00f3;n de mapeo con la herramienta <emphasis>SchemaExport</emphasis> de Hibernate. Todas las dem&#x00e1;s propiedades son mapeadas usando la configuraci&#x00f3;n por defecto de Hibernate, que es lo que necesitas la mayor&#x00ed;a del tiempo. La tabla <literal>CAT</literal> en la base de datos se ve as&#x00ed; como:"
-
-#: index.docbook:329
-msgid "appended paragraph 45"
-msgstr ""
-      "<![CDATA[ Columna |         Tipo          | Modificadores\n"
-      "--------+-----------------------+-----------\n"
-      " cat_id | character(32)         | not null\n"
-      " name   | character varying(16) | not null\n"
-      " sex    | character(1)          |\n"
-      " weight | real                  |\n"
-      "Indexes: cat_pkey primary key btree (cat_id)]]>"
-
-#: index.docbook:331
-msgid "appended paragraph 46"
-msgstr "Ahora debes crear esta tabla manualmente en tu base de datos, y luego leer el <xref linkend=\"toolsetguide\"/> si quieres automatizar este paso con la herramienta <literal>hbm2ddl</literal>. Esta herramienta puede crear un DDL SQL completo, incluyendo definici&#x00f3;n de tablas, restricciones personalizadas de tipo de columnas, restricciones de unicidad e &#x00ed;ndices."
-
-#: index.docbook:342
-msgid "appended paragraph 47"
-msgstr "Jugando con gatos"
-
-#: index.docbook:344
-msgid "appended paragraph 48"
-msgstr "Ahora estamos listos para comenzar la <literal>Session</literal> de Hibernate. Es el <emphasis>manejador de persistencia</emphasis> que usamos para almacenar y traer <literal>Cat</literal>s hacia y desde la base de datos. Pero primero, tenemos que obtener una <literal>Session</literal> (unidad de trabajo de Hibernate) de la <literal>SessionFactory</literal>:"
-
-#: index.docbook:352
-msgid "appended paragraph 49"
-msgstr ""
-      "<![CDATA[SessionFactory sessionFactory =\n"
-      "            new Configuration().configure().buildSessionFactory();]]>"
-
-#: index.docbook:354
-msgid "appended paragraph 50"
-msgstr "La llamada a <literal>configure()</literal> carga el fichero de configuraci&#x00f3;n <literal>hibernate.cfg.xml</literal> e inicializa la instancia de <literal>Configuration</literal>. Puedes establecer otras propiedades (e incluso cambiar los metadatos de mapeo) accediendo a la <literal>Configuration</literal> <emphasis>antes</emphasis> que construyas la <literal>SessionFactory</literal> (que es inmutable). ¿D&#x00f3;nde creamos la <literal>SessionFactory</literal> y c&#x00f3;mo accedemos a ella en nuestra aplicaci&#x00f3;n?"
-
-#: index.docbook:365
-msgid "appended paragraph 51"
-msgstr "Una <literal>SessionFactory</literal> usualmente se construye una vez, por ejemplo, al arrancar con un servlet <emphasis>load-on-startup</emphasis>. Esto significa tambi&#x00e9;n que no debes mantenerla en una variable de instancia en tus servlets, sino en alguna otro sitio. Adem&#x00e1;s, necesitamos alg&#x00fa;n tipo de <emphasis>Singleton</emphasis>, de modo que podamos acceder a la <literal>SessionFactory</literal> f&#x00e1;cilmente en el c&#x00f3;digo de aplicaci&#x00f3;n. El siguiente enfoque mostrado resuelve ambos problemas: configuraci&#x00f3;n de arranque y f&#x00e1;cil acceso a una <literal>SessionFactory</literal>."
-
-#: index.docbook:377
-msgid "appended paragraph 52"
-msgstr "Implementamos una clase de ayuda <literal>HibernateUtil</literal>:"
-
-#: index.docbook:381
-msgid "appended paragraph 53"
-msgstr ""
-      "<![CDATA[import org.hibernate.*;\n"
-      "import org.hibernate.cfg.*;\n"
-      "\n"
-      "public class HibernateUtil {\n"
-      "\n"
-      "    private static Logger log = LoggerFactory.getLogger(HibernateUtil.class);\n"
-      "\n"
-      "    private static final SessionFactory sessionFactory;\n"
-      "\n"
-      "    static {\n"
-      "        try {\n"
-      "            // Create the SessionFactory\n"
-      "            sessionFactory = new Configuration().configure().buildSessionFactory();\n"
-      "        } catch (Throwable ex) {\n"
-      "            // Make sure you log the exception, as it might be swallowed\n"
-      "            log.error(\"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() {\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"
-      "            session.set(s);\n"
-      "        }\n"
-      "        return s;\n"
-      "    }\n"
-      "\n"
-      "    public static void closeSession() {\n"
-      "        Session s = (Session) session.get();\n"
-      "        if (s != null)\n"
-      "            s.close();\n"
-      "        session.set(null);\n"
-      "    }\n"
-      "}]]>"
-
-#: index.docbook:383
-msgid "appended paragraph 54"
-msgstr "Esta clase no s&#x00f3;lo cuida de la <literal>SessionFactory</literal> con su inicializador static, sino que adem&#x00e1;s tiene una variable <literal>ThreadLocal</literal> que tiene la <literal>Session</literal> para la hebra actual. Aseg&#x00fa;rate de entender el concepto Java de una variable local a una hebra antes de intentar usar esta ayuda. Una clase <literal>HibernateUtil</literal> m&#x00e1;s compleja y potente puede encontrarse en <literal>CaveatEmptor</literal>, http://caveatemptor.hibernate.org/"
-
-#: index.docbook:393
-msgid "appended paragraph 55"
-msgstr "Una <literal>SessionFactory</literal> es segura entre hebras, muchas hebras pueden acceder a ella concurrentemente y pedirle <literal>Session</literal>s. Una <literal>Session</literal> no es un objeto seguro entre hebras que representa una sola unidad-de-trabajo con la base de datos. Las <literal>Session</literal>s se abren desde una <literal>SessionFactory</literal> y son cerradas cuando todo el trabajo est&#x00e1; completo. Un ejemplo en el m&#x00e9;todo <literal>process()</literal> de tu servlet podr&#x00ed;a parecerse a esto (sin manejo de excepciones):"
-
-#: index.docbook:404
-msgid "appended paragraph 56"
-msgstr ""
-      "<![CDATA[Session session = HibernateUtil.currentSession();\n"
-      "Transaction tx = session.beginTransaction();\n"
-      "\n"
-      "Cat princess = new Cat();\n"
-      "princess.setName(\"Princess\");\n"
-      "princess.setSex('F');\n"
-      "princess.setWeight(7.4f);\n"
-      "\n"
-      "session.save(princess);\n"
-      "\n"
-      "tx.commit();\n"
-      "HibernateUtil.closeSession();]]>"
-
-#: index.docbook:406
-msgid "appended paragraph 57"
-msgstr "En una <literal>Session</literal>, cada operaci&#x00f3;n de base de datos ocurre dentro de una transacci&#x00f3;n que a&#x00ed;sla las operaciones de base de datos (incluso operaciones de s&#x00f3;lo lectura). Usamos la API de <literal>Transaction</literal> de Hibernate para abstraer de la estrategia de transacciones subyacente (en nuestro caso, transacciones JDBC). Esto permite que nuestro c&#x00f3;digo sea desplegado con transacciones manejadas por contenedor (usando JTA) sin cambio alguno."
-
-#: index.docbook:416
-msgid "appended paragraph 58"
-msgstr "Observa que puedes llamar <literal>HibernateUtil.currentSession();</literal> tantas veces como quieras, siempre obtendr&#x00e1;s la <literal>Session</literal> actual de esta hebra. Tienes que asegurarte que la <literal>Session</literal> sea cerrada despu&#x00e9;s que se complete tu unidad-de-trabajo, ya sea en c&#x00f3;digo de tu servlet o en un filtro de servlet antes que la respuesta HTTP sea enviada. El bonito efecto colateral de la segunda opci&#x00f3;n es la f&#x00e1;cil inicializaci&#x00f3;n perezosa: la <literal>Session</literal> todav&#x00ed;a est&#x00e1; abierta cuando se dibuja la vista, de modo que Hibernate puede cargar objetos no inicializados mientras navegas tu actual grafo de objetos."
-
-#: index.docbook:428
-msgid "appended paragraph 59"
-msgstr "Hibernate tiene varios m&#x00e9;todos que pueden ser usados para traer objetos desde la base de datos. La forma m&#x00e1;s flexible es usando el Lenguaje de Consulta de Hibernate (Hibernate Query Language o HQL), que es una extensi&#x00f3;n orientada a objetos de SQL f&#x00e1;cil de aprender:"
-
-#: index.docbook:436
-msgid "appended paragraph 60"
-msgstr ""
-      "<![CDATA[Transaction tx = session.beginTransaction();\n"
-      "\n"
-      "Query query = session.createQuery(\"select c from Cat as c where c.sex = :sex\");\n"
-      "query.setCharacter(\"sex\", 'F');\n"
-      "for (Iterator it = query.iterate(); it.hasNext();) {\n"
-      "    Cat cat = (Cat) it.next();\n"
-      "    out.println(\"Female Cat: \" + cat.getName() );\n"
-      "}\n"
-      "\n"
-      "tx.commit();]]>"
-
-#: index.docbook:438
-msgid "appended paragraph 61"
-msgstr "Hibernate tambi&#x00e9;n ofrece una API <emphasis>consulta por criterios</emphasis> orientada a objetos que puede ser usada para formular consultas de tipo seguro. Por supuesto, Hibernate usa <literal>PreparedStatement</literal>s y ligado de par&#x00e1;metros para toda la comunicaci&#x00f3;n SQL con la base de datos. Tambi&#x00e9;n puedes usar la funcionalidad de consulta SQL directa de Hibernate u obtener una conexi&#x00f3;n plana de JDBC de una <literal>Session</literal> en casos raros."
-
-#: index.docbook:451
-msgid "appended paragraph 62"
-msgstr "Finalmente"
-
-#: index.docbook:453
-msgid "appended paragraph 63"
-msgstr "Rasgu&#x00f1;amos solamente la superficie de Hibernate en este peque&#x00f1;o tutorial. Por favor, observa que no incluimos ning&#x00fa;n c&#x00f3;digo espec&#x00ed;fico de servlet en nuestros ejemplos. Tienes que crear un servlet por t&#x00ed; mismo e insertar el c&#x00f3;digo de Hibernate como lo veas ubicado."
-
-#: index.docbook:461
-msgid "appended paragraph 64"
-msgstr "Ten en mente que Hibernate, como capa de acceso a datos, est&#x00e1; firmemente integrado dentro de tu aplicaci&#x00f3;n. Usualmente, todas las otras capas dependen del mecanismo de persistencia. Aseg&#x00fa;rate de entender las implicaciones de este dise&#x00f1;o."
-
-#: index.docbook:468
-msgid "appended paragraph 65"
-msgstr "Para un ejemplo de aplicaci&#x00f3;n m&#x00e1;s compleja, ver http://caveatemptor.hibernate.org/ y echa una mirada a los otros tutoriales con links en http://www.hibernate.org/Documentation"
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/session_api.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/session_api.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/session_api.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,21 +1,35 @@
-#, fuzzy
+# translation of session_api.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: session_api\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-10 21:02+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2009-12-03T00:15:27\n"
+"PO-Revision-Date: 2010-01-07 10:43+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: session_api.xml:29
 #, no-c-format
 msgid "Working with objects"
-msgstr "Trabajando con objetos"
+msgstr "Trabajo con objetos"
 
 #. Tag: para
-#: session_api.xml:31
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate is a full object/relational mapping solution that not only shields "
 "the developer from the details of the underlying database management system, "
@@ -24,16 +38,15 @@
 "JDBC/SQL persistence layers, a natural object-oriented view of persistence "
 "in Java applications."
 msgstr ""
-"Hibernate es una soluci&#x00f3;n completa de mapeo objeto/relacional que no "
-"s&#x00f3;lo abstrae al desarrollador de los detalles del sistema de manejo "
-"de base datos subyacente, sino que adem&#x00e1;s ofrece <emphasis>manejo de "
-"estado</emphasis> de objetos. Esto es, al contrario del manejo de "
-"<literal>sentencias</literal> SQL en capas comunes de persistencia JDBC/SQL, "
-"una vista de la persistencia en aplicaciones Java muy natural y orientada a "
-"objetos."
+"Hibernate es una solución completa de mapeo objeto/relacional que no sólo "
+"proteje al desarrollador de los detalles del sistema de administración de la "
+"base datos subyacente, sino que además ofrece <emphasis>administración de "
+"estado</emphasis> de objetos. Contrario a la administración de "
+"<literal>declaraciones</literal> SQL en capas comunes de persistencia JDBC/"
+"SQL, esta es una vista natural orientada a objetos de la persistencia en "
+"aplicaciones Java."
 
 #. Tag: para
-#: session_api.xml:40
 #, no-c-format
 msgid ""
 "In other words, Hibernate application developers should always think about "
@@ -42,27 +55,24 @@
 "is only relevant for the application developer when tuning the performance "
 "of the system."
 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&#x00f3;n de sentencias SQL. Esta parte es "
-"cuidada por Hibernate y es s&#x00f3;lo relevante para el desarrollador de la "
-"aplicaci&#x00f3;n al afinar el rendimiento del sistema."
+"En otras palabras, los desarrolladores de aplicaciones de Hibernate siempre "
+"deben pensar en el <emphasis>estado</emphasis> de sus objetos, y no "
+"necesariamente en la ejecución de declaraciones SQL. Hibernate se ocupa de "
+"esto y es sólamente relevante para el desarrollador de la aplicación al "
+"afinar el rendimiento del sistema."
 
 #. Tag: title
-#: session_api.xml:48
 #, no-c-format
 msgid "Hibernate object states"
 msgstr "Estados de objeto de Hibernate"
 
 #. Tag: para
-#: session_api.xml:50
 #, no-c-format
 msgid "Hibernate defines and supports the following object states:"
 msgstr "Hibernate define y soporta los siguientes estados de objeto:"
 
 #. Tag: para
-#: session_api.xml:56
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Transient</emphasis> - an object is transient if it has just been "
 "instantiated using the <literal>new</literal> operator, and it is not "
@@ -75,18 +85,17 @@
 "transition)."
 msgstr ""
 "<emphasis>Transitorio</emphasis> - un objeto es transitorio si ha sido "
-"reci&#x00e9;n instanciado usando el operador <literal>new</literal>, y no "
-"est&#x00e1; asociado a una <literal>Session</literal> de Hibernate. No tiene "
-"una representaci&#x00f3;n persistente en la base de datos y no se le ha "
-"asignado un valor identificador. Las instancias transitorias ser&#x00e1;n "
-"destru&#x00ed;das por el recolector de basura si la aplicaci&#x00f3;n no "
-"mantiene m&#x00e1;s una referencia. Usa la <literal>Session</literal> de "
-"Hibernate para hacer un objeto persistente (y deja que Hibernate cuide de "
-"las sentencias SQL que necesitan ejecutarse para esta transici&#x00f3;n)."
+"recién instanciado utilizando 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. "
+"Utiliza la <literal>Session</literal> de Hibernate para hacer un objeto "
+"persistente (y deja que Hibernate se ocupe de las declaraciones SQL que "
+"necesitan ejecutarse para esta transición)."
 
 #. Tag: para
-#: session_api.xml:68
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Persistent</emphasis> - a persistent instance has a representation "
 "in the database and an identifier value. It might just have been saved or "
@@ -98,18 +107,17 @@
 "made transient."
 msgstr ""
 "<emphasis>Persistente</emphasis> - una instancia persistente tiene una "
-"representaci&#x00f3;n en la base de datos y un valor identificador. Puede "
-"haber sido salvado o cargado, sin embargo, est&#x00e1; por definici&#x00f3;n "
-"en el &#x00e1;mbito de una <literal>Session</literal>. Hibernate "
-"detectar&#x00e1; cualquier cambio hecho a un objeto en estado persistentey "
-"sincronizar&#x00e1; el estado con la base de datos cuando se complete la "
-"unidad de trabajo. Los desarrolladores no ejecutan sentencias "
-"<literal>UPDATE</literal> manuales, o sentencias <literal>DELETE</literal> "
-"cuando un objeto debe ser hecho transitorio."
+"representación en la base de datos y un valor identificador. Puede haber "
+"sido guardado o cargado, sin embargo, por definición, se encuentra en el "
+"ámbito de una <literal>Session</literal>. Hibernate detectará cualquier "
+"cambio realizado a un objeto en estado persistente y sincronizará el estado "
+"con la base de datos cuando se complete la unidad de trabajo. Los "
+"desarrolladores no ejecutan declaraciones <literal>UPDATE</literal> "
+"manuales, o declaraciones <literal>DELETE</literal> cuando un objeto se debe "
+"poner como transitorio."
 
 #. Tag: para
-#: session_api.xml:79
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Detached</emphasis> - a detached instance is an object that has "
 "been persistent, but its <literal>Session</literal> has been closed. The "
@@ -121,67 +129,45 @@
 "them <emphasis>application transactions</emphasis>, i.e., a unit of work "
 "from the point of view of the user."
 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&#x00ed;a es v&#x00e1;lida, por "
-"supuesto, y la instancia separada podr&#x00ed;a incluso ser modificada en "
-"este estado. Una instancia separada puede ser re-unida a una nueva "
-"<literal>Session</literal> en un punto posterior en el tiempo, haci&#x00e9;"
-"ndola persistente de nuevo (con todas las modificaciones). Este aspecto "
-"habilita un modelo de programaci&#x00f3;n para unidades de trabajo de "
-"ejecuci&#x00f3;n larga que requieren tiempo-para-pensar del usuario. Las "
-"llamamos <emphasis>transaccciones de aplicaci&#x00f3;n</emphasis>, es decir, "
-"una unidad de trabajo desde el punto de vista del usuario."
+"<emphasis>Separado</emphasis> - una instancia separada es un objeto que se "
+"ha 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> más "
+"tarde, 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 por parte del usuario. Las "
+"llamamos <emphasis>transaccciones de aplicación</emphasis>, por ejemplo, una "
+"unidad de trabajo desde el punto de vista del usuario."
 
 #. Tag: para
-#: session_api.xml:93
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "We will 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&#x00e9;"
-"todos de Hibernate que disparan una transici&#x00f3;n) en m&#x00e1;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:101
 #, no-c-format
 msgid "Making objects persistent"
 msgstr "Haciendo los objetos persistentes"
 
 #. Tag: para
-#: session_api.xml:103
 #, no-c-format
 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&#x00e9;n instanciadas de una clase persistente son "
-"consideradas <emphasis>transitorias</emphasis> por Hibernate. Podemos hacer "
-"una instancia transitoria <emphasis>persistente</emphasis> asoci&#x00e1;"
-"ndola con una sesi&#x00f3;n:"
+"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:110
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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);]]>"
-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:112
-#, fuzzy, no-c-format
-msgid ""
 "If <literal>Cat</literal> has a generated identifier, the identifier is "
 "generated and assigned to the <literal>cat</literal> when <literal>save()</"
 "literal> is called. If <literal>Cat</literal> has an <literal>assigned</"
@@ -196,13 +182,12 @@
 "<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&#x00e9;n usar <literal>persist()</"
-"literal> en vez de <literal>save()</literal>, con la sem&#x00e1;ntica "
-"definida en el temprano borrador de EJB3."
+"<literal>save()</literal>. También puede utilizar <literal>persist()</"
+"literal> en vez de <literal>save()</literal>, con la semántica definida en "
+"el borrador de EJB3. "
 
 #. Tag: para
-#: session_api.xml:124
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>persist()</literal> makes a transient instance persistent. However, "
 "it does not guarantee that the identifier value will be assigned to the "
@@ -212,16 +197,15 @@
 "boundaries. This is useful in long-running conversations with an extended "
 "Session/persistence context."
 msgstr ""
-"UNTRANSLATED!!! <literal>persist()</literal> makes a transient instance "
-"persistent. However, it doesn't guarantee that the identifier value will be "
-"assigned to the persistent instance immediately, the assignment might happen "
-"at flush time. <literal>persist()</literal> also guarantees that it will not "
-"execute an <literal>INSERT</literal> statement if it is called outside of "
-"transaction boundaries. This is useful in long-running conversations with an "
-"extended Session/persistence context."
+"<literal>persist()</literal> hace que una instancia transitoria sea "
+"persistente. Sin embargo, no garantiza que el valor identificador sea "
+"asignado a la instancia persistente inmediatamente, la tarea puede tener "
+"lugar durante el vaciado. <literal>persist()</literal> también garantiza que "
+"no ejecutará una declaración <literal>INSERT</literal> si se llama por fuera "
+"de los límites de una transacción. Esto es útil en conversaciones largas con "
+"un contexto extendido sesión/persistencia."
 
 #. Tag: para
-#: session_api.xml:135
 #, no-c-format
 msgid ""
 "<literal>save()</literal> does guarantee to return an identifier. If an "
@@ -230,46 +214,25 @@
 "you are inside or outside of a transaction. This is problematic in a long-"
 "running conversation with an extended Session/persistence context."
 msgstr ""
-"<literal>save()</literal> does guarantee to return an identifier. If an "
-"INSERT has to be executed to get the identifier ( e.g. \"identity\" "
-"generator, not \"sequence\"), this INSERT happens immediately, no matter if "
-"you are inside or outside of a transaction. This is problematic in a long-"
-"running conversation with an extended Session/persistence context."
+"<literal>save()</literal> sí garantiza el retorno de un identificador. Si se "
+"tiene que ejecutar un INSERT para obtener el identificador ( por ejemplo, "
+"generador \"identidad\", no \"secuencia\"), este INSERT tiene lugar "
+"inmediatamente sin importar si se encuentra dentro o fuera de una "
+"transacción. Esto es problemático en una conversación larga con un contexto "
+"extendido sesión/persistencia."
 
 #. Tag: para
-#: session_api.xml:145
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Alternatively, you can assign the identifier using an overloaded version of "
 "<literal>save()</literal>."
 msgstr ""
-"Alternativamente, puedes asignar el identificador usando una versi&#x00f3;n "
+"Opcionalmente, puede asignar el identificador utilizando una versión "
 "sobrecargada de <literal>save()</literal>."
 
-#. Tag: programlisting
-#: session_api.xml:150
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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) );]]>"
-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:152
-#, fuzzy, no-c-format
-msgid ""
 "If the object you make persistent has associated objects (e.g. the "
 "<literal>kittens</literal> collection in the previous example), these "
 "objects can be made persistent in any order you like unless you have a "
@@ -278,18 +241,17 @@
 "violate a <literal>NOT NULL</literal> constraint if you <literal>save()</"
 "literal> the objects in the wrong order."
 msgstr ""
-"Si el objeto que haces persistente tiene objetos asociados (por ejemplo, la "
-"colecci&#x00f3;n <literal>kittens</literal> en el ejemplo anterior), estos "
-"objetos pueden ser hechos persistentes en cualquier orden que quieras a "
-"menos que tengas una restricci&#x00f3;n <literal>NOT NULL</literal> sobre "
-"una columna clave for&#x00e1;nea. Nunca hay riesgo de violar restricciones "
-"de clave for&#x00e1;nea. Sin embargo, podr&#x00ed;as violar una "
-"restricci&#x00f3;n <literal>NOT NULL</literal> si llamas a <literal>save()</"
-"literal> sobre objetos en orden err&#x00f3;neo."
+"Si el objeto que hace 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 quiera a menos de que "
+"tenga 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, puede que usted viole una restricción <literal>NOT NULL</literal> "
+"si llama a <literal>save()</literal> sobre los objetos en el orden "
+"equivocado. "
 
 #. Tag: para
-#: session_api.xml:162
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Usually you do not bother with this detail, as you will normally use "
 "Hibernate's <emphasis>transitive persistence</emphasis> feature to save the "
@@ -297,79 +259,40 @@
 "constraint violations do not 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&#x00e1;s la funcionalidad de <emphasis>persistencia transitiva</"
-"emphasis> de Hibernate para salvar los objetos asociados autom&#x00e1;"
-"ticamente. Entonces, ni siquiera ocurren violaciones de restricciones "
-"<literal>NOT NULL</literal> - Hibernate cuidar&#x00e1; de todo. La "
-"persistencia transitiva se discute m&#x00e1;s adelante en este cap&#x00ed;"
-"tulo."
+"Usualmente no se preocupe de este detalle, pues muy probablemente utilizará "
+"la funcionalidad de <emphasis>persistencia transitiva</emphasis> de "
+"Hibernate para guardar los objetos asociados automáticamente. Entonces, ni "
+"siquiera tienen lugar violaciones de restricciones <literal>NOT NULL</"
+"literal> - Hibernate se ocupará de todo. Más adelante en este capítulo se "
+"discute la persistencia transitiva."
 
 #. Tag: title
-#: session_api.xml:173
 #, no-c-format
 msgid "Loading an object"
 msgstr "Cargando un objeto"
 
 #. Tag: para
-#: session_api.xml:175
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>load()</literal> methods of <literal>Session</literal> provide "
 "a way of retrieving a persistent instance if you know its identifier. "
 "<literal>load()</literal> takes a class object and loads the state into a "
 "newly instantiated instance of that class in a persistent state."
 msgstr ""
-"Los m&#x00e9;todos <literal>load()</literal> de <literal>Session</literal> "
-"te brindan una forma de traer una instancia persistente si ya saves su "
-"identificador. <literal>load()</literal> toma un objeto clase y "
-"cargar&#x00e1; el estado dentro de una instancia reci&#x00e9;n instanciada "
-"de esta clase, en estado persistente."
+"Los métodos <literal>load()</literal> de <literal>Session</literal> le "
+"proporcionan una forma de recuperar una instancia persistente si ya conoce "
+"su identificador. <literal>load()</literal> toma un objeto clase y carga el "
+"estado dentro de una instancia recién instanciada de esa clase, en un estado "
+"persistente."
 
-#. Tag: programlisting
-#: session_api.xml:182
-#, no-c-format
-msgid "<![CDATA[Cat fritz = (Cat) sess.load(Cat.class, generatedId);]]>"
-msgstr "<![CDATA[Cat fritz = (Cat) sess.load(Cat.class, generatedId);]]>"
-
-#. Tag: programlisting
-#: session_api.xml:184
-#, no-c-format
-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:186
 #, no-c-format
 msgid "Alternatively, you can load state into a given instance:"
-msgstr "Alternativamente, puedes cargar estado dentro de una instancia dada:"
+msgstr "Alternativamente, puede cargar estado dentro de una instancia dada:"
 
-#. Tag: programlisting
-#: session_api.xml:190
+#. Tag: para
 #, no-c-format
 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:192
-#, fuzzy, no-c-format
-msgid ""
 "Be aware that <literal>load()</literal> will throw an unrecoverable "
 "exception if there is no matching database row. If the class is mapped with "
 "a proxy, <literal>load()</literal> just returns an uninitialized proxy and "
@@ -379,80 +302,51 @@
 "be loaded as a batch if <literal>batch-size</literal> is defined for the "
 "class mapping."
 msgstr ""
-"Nota que <literal>load()</literal> lanzar&#x00e1; una excepci&#x00f3;n "
-"irrecuperable si no hay una fila correspondiente en base de datos. Si la "
-"clase es mapeada con un proxy, <literal>load()</literal> s&#x00f3;lo "
-"devuelve un proxy no inicializado y no llamar&#x00e1; realmente a la base de "
-"datos hasta que invoques un m&#x00e9;todo del proxy. Este comportamiento es "
-"muy &#x00fa;til si deseas crear una asociaci&#x00f3;n a un objeto sin "
-"cargarlo realmente de la base de datos. Permite adem&#x00e1;s que m&#x00fa;"
-"ltiples instancias sean cargadas como un lote si se define <literal>batch-"
+"Note que <literal>load()</literal> lanzará una excepción irrecuperable si no "
+"hay una fila correspondiente en la base de datos. Si la clase se mapea con "
+"un proxy, <literal>load()</literal> sólo retorna un proxy no inicializado y "
+"no llamará realmente a la base de datos hasta que invoque un método del "
+"proxy. Este comportamiento es muy útil si desea crear una asociación a un "
+"objeto sin cargarlo realmente de la base de datos. Además permite 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:203
-#, fuzzy, no-c-format
+#, no-c-format
 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&#x00e9;todo <literal>get()</literal>, que llama a la base de datos "
-"inmediatamente y devuelve nulo si no existe una fila correspondiente."
+"Si no tiene la certeza de que existe una fila correspondiente, debe utilizar "
+"el 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:209
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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;]]>"
-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:211
-#, fuzzy, no-c-format
-msgid ""
 "You can 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&#x00f3;n de la API para m&#x00e1;s informaci&#x00f3;n."
+"Incluso puede cargar un objeto utilizando un <literal>SELECT ... FOR UPDATE</"
+"literal> de SQL, usando un <literal>LockMode</literal>. Consulte la "
+"documentación de la API para obtener más información."
 
-#. Tag: programlisting
-#: session_api.xml:216
-#, no-c-format
-msgid "<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id, LockMode.UPGRADE);]]>"
-msgstr "<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id, LockMode.UPGRADE);]]>"
-
 #. Tag: para
-#: session_api.xml:218
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Any associated instances or contained collections will <emphasis>not</"
 "emphasis> be selected <literal>FOR UPDATE</literal>, unless you decide to "
 "specify <literal>lock</literal> or <literal>all</literal> as a cascade style "
 "for the association."
 msgstr ""
-"Ten en cuenta que <emphasis>ninguna</emphasis> instancia asociada o "
-"colecci&#x00f3;n contenida es selecciona <literal>FOR UPDATE</literal>, a "
-"menos que decidas especificar <literal>lock</literal> o <literal>all</"
-"literal> como un estilo de cascada para la asociaci&#x00f3;n."
+"<emphasis>Ninguna</emphasis> instancia asociada o colección contenida es "
+"seleccionada para actualizacion - <literal>FOR UPDATE</literal>, a menos de "
+"que decida especificar <literal>lock</literal> o <literal>all</literal> como "
+"un estilo de cascada para la asociación."
 
 #. Tag: para
-#: session_api.xml:225
 #, no-c-format
 msgid ""
 "It is possible to re-load an object and all its collections at any time, "
@@ -460,46 +354,30 @@
 "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&#x00e9;todo <literal>refresh()</literal>. Esto es "
-"&#x00fa;til cuando se usan disparadores de base de datos para inicializar "
-"algunas de las propiedades del objeto."
+"momento, utilizando 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:231
+#. Tag: para
 #, no-c-format
 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:233
-#, fuzzy, no-c-format
-msgid ""
 "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>. This is explained in <xref linkend="
-"\"performance-fetching\"/>."
+"\"performance-fetching\" />."
 msgstr ""
-"Una cuesti&#x00f3;n importante aparece usualmente en este punto: ¿Cu&#x00e1;"
-"nto carga Hibernate de la base de datos y cu&#x00e1;ntos <literal>SELECT</"
-"literal>s de SQL usar&#x00e1;? Esto depende de la <emphasis>estrategia de "
-"recuperaci&#x00f3;n</emphasis> y se explica en <xref linkend=\"performance-"
-"fetching\"/>."
+"¿Cuánto carga Hibernate de la base de datos y cuántos <literal>SELECT</"
+"literal>s de SQL utilizará? Esto depende de la <emphasis>estrategia de "
+"recuperación</emphasis>. Esto se explica en la <xref linkend="
+"\"performance-fetching\" />."
 
 #. Tag: title
-#: session_api.xml:243
 #, no-c-format
 msgid "Querying"
-msgstr "Consultando"
+msgstr "Consultas"
 
 #. Tag: para
-#: session_api.xml:245
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you do not know the identifiers of the objects you are looking for, you "
 "need a query. Hibernate supports an easy-to-use but powerful object oriented "
@@ -508,23 +386,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&#x00e1;s buscando, "
-"necesitas una consulta. Hibernate soporta un lenguaje de consulta orientado "
-"a objetos (HQL) f&#x00e1;cil de usar pero potente. Para la creaci&#x00f3;n "
-"de consultas program&#x00e1;ticas, Hibernate soporta una funcionalidad "
-"sofisticada de consulta de Criteria y Example (QBC and QBE). Tambi&#x00e9;n "
-"puedes expresar tu consulta en el SQL nativo de tu base de datos, con "
-"soporte opcional de Hibernate para la conversi&#x00f3;n del conjunto "
-"resultado en objetos."
+"Si no conoce los identificadores de los objetos que está buscando, necesita "
+"una consulta. Hibernate soporta un lenguaje de consulta orientado a objetos "
+"(HQL) fácil de usar pero potente a la vez. Para la creación de consultas "
+"programáticas, Hibernate soporta una funcionalidad sofisticada de consulta "
+"de Criteria y Example (QBC y QBE). También puede expresar su consulta en el "
+"SQL nativo de su base de datos, con soporte opcional de Hibernate para la "
+"conversión del conjunto de resultados a objetos."
 
 #. Tag: title
-#: session_api.xml:255
 #, no-c-format
 msgid "Executing queries"
-msgstr "Ejecutando consultas"
+msgstr "Ejecución de consultas"
 
 #. Tag: para
-#: session_api.xml:257
 #, no-c-format
 msgid ""
 "HQL and native SQL queries are represented with an instance of <literal>org."
@@ -534,65 +409,14 @@
 "literal>:"
 msgstr ""
 "Las consultas HQL y SQL nativas son representadas con una instancia de "
-"<literal>org.hibernate.Query</literal>. Esta interface ofrece m&#x00e9;todos "
-"para la ligaci&#x00f3;n de par&#x00e1;metros, manejo del conjunto resultado, "
-"y para la ejecuci&#x00f3;n de la consulta real. Siempre obtienes una "
-"<literal>Query</literal> usando la <literal>Session</literal> actual:"
+"<literal>org.hibernate.Query</literal>. Esta interfaz ofrece métodos para "
+"ligar parámetros, manejo del conjunto resultado, y para la ejecución de la "
+"consulta real. Siempre obtiene una <literal>Query</literal> utilizando la "
+"<literal>Session</literal> actual:"
 
-#. Tag: programlisting
-#: session_api.xml:264
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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();]]\n"
-"\n"
-"Query mothersWithKittens = (Cat) session.createQuery(\n"
-"    \"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:266
-#, fuzzy, no-c-format
-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. "
 "Entity instances retrieved by a query are in a persistent state. The "
@@ -602,22 +426,23 @@
 "with their collections initialized. You can filter these duplicates through "
 "a <literal>Set</literal>."
 msgstr ""
-"Una consulta se ejecuta usualmente invocando a <literal>list()</literal>, el "
-"resultado de la consulta ser&#x00e1; cargado completamente dentro de una "
-"colecci&#x00f3;n en memoria. Las instancias de entidad tra&#x00ed;das por "
-"una consulta est&#x00e1;n en estado persistente. El m&#x00e9;todo "
-"<literal>uniqueResult()</literal> ofrece un atajo si sabes que tu consulta "
-"devolver&#x00e1; s&#x00f3;lo un objeto."
+"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 recuperadas por una consulta se "
+"encuentran en estado persistente. El método <literal>uniqueResult()</"
+"literal> ofrece un atajo si sabe que su consulta retornará sólamente un "
+"objeto. Las consultas que hacen uso de una recuperación temprana de "
+"colecciones usualmente retornan duplicados de los objetos raíz, pero con sus "
+"colecciones inicializadas. Puede filtrar estos duplicados a través de un "
+"<literal>Set</literal>."
 
 #. Tag: title
-#: session_api.xml:278
 #, no-c-format
 msgid "Iterating results"
-msgstr "Iterando los resultados"
+msgstr "Iteración de resultados"
 
 #. Tag: para
-#: session_api.xml:280
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Occasionally, you might be able to achieve better performance by executing "
 "the query using the <literal>iterate()</literal> method. This will usually "
@@ -629,158 +454,54 @@
 "returns identifiers, and <emphasis>n</emphasis> additional selects to "
 "initialize the actual instances."
 msgstr ""
-"Ocasionalmente, podr&#x00ed;as ser capaz de lograr mejor rendimiento al "
-"ejecutar la consulta usando el m&#x00e9;todo <literal>iterate()</literal>. "
-"Esto s&#x00f3;lo ser&#x00e1; en el caso que esperes que las instancias "
-"reales de entidad devueltas por la consulta est&#x00e9;n ya en la "
-"sesi&#x00f3;n o cach&#x00e9; de segundo nivel. Si todav&#x00ed;a no "
-"est&#x00e1;n en cach&#x00e9;, <literal>iterate()</literal> ser&#x00e1; "
-"m&#x00e1;s lento que <literal>list()</literal> y podr&#x00ed;a requerir "
-"muchas llamadas a la base de datos para una consulta simple, usualmente "
-"<emphasis>1</emphasis> para la selecci&#x00f3;n inicial que solamente "
-"devuelve identificadores, y <emphasis>n</emphasis> selecciones adicionales "
-"para inicializar las instancias reales."
+"Ocasionalmente, puede lograr un mejor rendimiento al ejecutar la consulta "
+"utilizando el método <literal>iterate()</literal>. Esto ocurrirá usualmente "
+"si espera que las instancias reales de entidad retornadas por la consulta "
+"estén ya en la sesión o en el 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 sólamente retorna identificadores y <emphasis>n</emphasis> selecciones "
+"adicionales para inicializar las instancias reales."
 
-#. Tag: programlisting
-#: session_api.xml:292
-#, no-c-format
-msgid ""
-"<![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"
-"}]]>"
-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:296
 #, no-c-format
 msgid "Queries that return tuples"
 msgstr "Consultas que devuelven tuplas"
 
 #. Tag: para
-#: session_api.xml:298
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate queries sometimes return tuples of objects. Each tuple is returned "
 "as an array:"
 msgstr ""
-"Las consultas de Hibernate a veces devuelven tuplas de objetos, en cuyo caso "
-"cada tupla se devuelve como un array:"
+"Las consultas de Hibernate a veces retornan tuplas de objetos. Cada tupla se "
+"retorna como un array:"
 
-#. Tag: programlisting
-#: session_api.xml:303
-#, no-c-format
-msgid ""
-"<![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"
-"}]]>"
-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:308
 #, no-c-format
 msgid "Scalar results"
 msgstr "Resultados escalares"
 
 #. Tag: para
-#: session_api.xml:310
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Queries can specify a property of a class in the <literal>select</literal> "
 "clause. They can 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&#x00e1;"
-"usula <literal>select</literal>. Pueden incluso llamar a funciones de "
-"agregaci&#x00f3;n SQL. Las propiedades o agregaciones son considerados "
-"resultados \"escalares\" (y no entidades en estado persistente)."
+"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:316
-#, no-c-format
-msgid ""
-"<![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 = (Object[]) results.next();\n"
-"    Color type = (Color) row[0];\n"
-"    Date oldest = (Date) row[1];\n"
-"    Integer count = (Integer) row[2];\n"
-"    .....\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:321
 #, no-c-format
 msgid "Bind parameters"
-msgstr "Ligaci&#x00f3;n de par&#x00e1;metros"
+msgstr "Ligado de parámetros"
 
 #. Tag: para
-#: session_api.xml:323
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Methods on <literal>Query</literal> are provided for binding values to named "
 "parameters or JDBC-style <literal>?</literal> parameters. <emphasis>Contrary "
@@ -788,290 +509,120 @@
 "are identifiers of the form <literal>:name</literal> in the query string. "
 "The advantages of named parameters are as follows:"
 msgstr ""
-"Se proveen m&#x00e9;todos en <literal>Query</literal> para ligar valores a "
-"par&#x00e1;metros con nombre o par&#x00e1;metros <literal>?</literal> de "
-"estilo JDBC. <emphasis>Al contrario de JDBC, Hibernate numera los par&#x00e1;"
-"metros desde cero.</emphasis> Los par&#x00e1;metros con nombre son "
-"identificadores de la forma <literal>:name</literal> en la cadena de la "
-"consulta. Las ventajas de los par&#x00e1;metros con nombre son:"
+"Los métodos en <literal>Query</literal> se proporcionan para enlazar valores "
+"a los 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 las siguientes:"
 
 #. Tag: para
-#: session_api.xml:333
 #, no-c-format
-msgid ""
-"named parameters are insensitive to the order they occur in the query string"
+msgid "named parameters are insensitive to the order they occur in the query string"
 msgstr ""
-"los par&#x00e1;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:339
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "they can occur multiple times in the same query"
-msgstr "pueden aparecer m&#x00fa;ltiples veces en la misma consulta"
+msgstr "pueden aparecer múltiples veces en la misma petición"
 
 #. Tag: para
-#: session_api.xml:344
 #, no-c-format
 msgid "they are self-documenting"
 msgstr "son auto-documentados"
 
-#. Tag: programlisting
-#: session_api.xml:350
-#, no-c-format
-msgid ""
-"<![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();]]>"
-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:352
-#, no-c-format
-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:354
-#, no-c-format
-msgid ""
-"<![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();]]>"
-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:359
 #, no-c-format
 msgid "Pagination"
-msgstr "Paginaci&#x00f3;n"
+msgstr "Paginación"
 
 #. Tag: para
-#: session_api.xml:361
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you need to specify bounds upon your result set, that is, the maximum "
 "number of rows you want to retrieve and/or the first row you want to "
 "retrieve, you can use methods of the <literal>Query</literal> interface:"
 msgstr ""
-"Si necesitas especificar l&#x00ed;mites sobre tu conjunto resultado (el "
-"n&#x00fa;mero m&#x00e1;ximo de filas que quieras traer y/o la primera fila "
-"que quieras traer) debes usar los m&#x00e9;todos de la interface "
-"<literal>Query</literal>:"
+"Si necesita especificar enlaces sobre su conjunto de resultados, el número "
+"máximo de filas que quiere recuperar y/o la primera fila que quiere "
+"recuperar, puede utilizar los métodos de la interfaz <literal>Query</"
+"literal>:"
 
-#. Tag: programlisting
-#: session_api.xml:367
-#, no-c-format
-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:369
 #, no-c-format
 msgid ""
 "Hibernate knows how to translate this limit query into the native SQL of "
 "your DBMS."
 msgstr ""
-"Hibernate sabe c&#x00f3;mo traducir este l&#x00ed;mite de consulta al SQL "
-"nativo de tu DBMS."
+"Hibernate sabe cómo traducir este límite de consulta al SQL nativo de su "
+"DBMS."
 
 #. Tag: title
-#: session_api.xml:377
 #, no-c-format
 msgid "Scrollable iteration"
-msgstr "Iteraci&#x00f3;n scrollable"
+msgstr "Iteración deslizable"
 
 #. Tag: para
-#: session_api.xml:379
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If your JDBC driver supports scrollable <literal>ResultSet</literal>s, the "
 "<literal>Query</literal> interface can be used to obtain a "
 "<literal>ScrollableResults</literal> object that allows flexible navigation "
 "of the query results."
 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&#x00f3;n "
-"flexible de los resultados de consulta."
+"Si su controlador JDBC soporta <literal>ResultSet</literal>s deslizables, la "
+"interfaz <literal>Query</literal> se puede utilizar para obtener un objeto "
+"<literal>ScrollableResults</literal> que permite una navegación flexible de "
+"los resultados de consulta. "
 
-#. Tag: programlisting
-#: session_api.xml:386
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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()]]>"
-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:388
-#, fuzzy, no-c-format
-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&#x00f3;n de base de datos abierta (y cursor) "
-"para esta funcionalidad, usa <literal>setMaxResult()</literal>/"
-"<literal>setFirstResult()</literal> si necesitas la funcionalidad de "
-"paginaci&#x00f3;n fuera de l&#x00ed;nea."
+"Note que se requiere una conexión de base de datos abierta y un cursor para "
+"esta funcionalidad. Utilice <literal>setMaxResult()</literal>/"
+"<literal>setFirstResult()</literal> si necesita la funcionalidad de "
+"paginación fuera de línea."
 
 #. Tag: title
-#: session_api.xml:397
 #, no-c-format
 msgid "Externalizing named queries"
-msgstr "Externalizando consultas con nombre"
+msgstr "Externalización de consultas con nombre"
 
 #. Tag: para
-#: session_api.xml:399
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can 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&#x00e1;s definir consultas con nombre en el documento de mapeo. "
-"(Recuerda usar una secci&#x00f3;n <literal>CDATA</literal> si tu consulta "
-"contiene caracteres que puedan ser interpretados como etiquetado.)"
+"También puede definir consultas con nombre en el documento de mapeo. "
+"Recuerde utilizar una sección <literal>CDATA</literal> si su consulta "
+"contiene caracteres que puedan ser interpretados como etiquetado."
 
-#. Tag: programlisting
-#: session_api.xml:405
-#, no-c-format
-msgid ""
-"<![CDATA[<query name=\"ByNameAndMaximumWeight\"><![CDATA[\n"
-"    from eg.DomesticCat as cat\n"
-"        where cat.name = ?\n"
-"        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:407
 #, no-c-format
 msgid "Parameter binding and executing is done programatically:"
-msgstr ""
-"La ligaci&#x00f3;n de par&#x00e1;metros y ejecuci&#x00f3;n se hace "
-"program&#x00e1;ticamente:"
+msgstr "El ligado de parámetros y de ejecución se realiza programáticamente:"
 
-#. Tag: programlisting
-#: session_api.xml:411
+#. Tag: para
 #, no-c-format
 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:413
-#, fuzzy, no-c-format
-msgid ""
 "The actual program code is independent of the query language that is used. "
 "You can also define native SQL queries in metadata, or migrate existing "
 "queries to Hibernate by placing them in mapping files."
 msgstr ""
-"Nota que el c&#x00f3;digo real del programa es independiente del lenguaje de "
-"consulta usado; puedes adem&#x00e1;s definir consultas SQL nativas en "
-"metadatos, o migrar consultas existentes a Hibernate coloc&#x00e1;ndolas en "
-"ficheros de mapeo."
+"El código real del programa es independiente del lenguaje de consulta "
+"utilizado. También puede definir consultas SQL nativas en metadatos, o "
+"migrar consultas existentes a Hibernate colocándolas en archivos de mapeo."
 
 #. Tag: para
-#: session_api.xml:419
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Also note that a query declaration inside a <literal>&lt;hibernate-"
 "mapping&gt;</literal> element requires a global unique name for the query, "
@@ -1079,123 +630,69 @@
 "is made unique automatically by prepending the fully qualified name of the "
 "class. For example <literal>eg.Cat.ByNameAndMaximumWeight</literal>."
 msgstr ""
-"UNTRANSLATED! Also note that a query declaration inside a <literal>&lt;"
-"hibernate-mapping&gt;</literal> element requires a global unique name for "
-"the query, while a query declaration inside a <literal>&lt;class&gt;</"
-"literal> element is made unique automatically by prepending the fully "
-"qualified name of the class, for example <literal>eg.Cat."
-"ByNameAndMaximumWeight</literal>."
+"Observe además que una declaración de consulta dentro de un elemento "
+"<literal>&lt;hibernate-mapping&gt;</literal> necesita de un nombre único "
+"global para la consulta, mientras que una declaración de consulta dentro de "
+"un elemento <literal>&lt;class&gt;</literal> se hace única automáticamente "
+"al agregar el nombre completamente calificado de la clase. Por ejemplo, "
+"<literal>eg.Cat.ByNameAndMaximumWeight</literal>."
 
 #. Tag: title
-#: session_api.xml:432
 #, no-c-format
 msgid "Filtering collections"
-msgstr "Filtrando colecciones"
+msgstr "Filtración de colecciones"
 
 #. Tag: para
-#: session_api.xml:433
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A collection <emphasis>filter</emphasis> is a special type of query that can "
 "be applied to a persistent collection or array. The query string can refer "
 "to <literal>this</literal>, meaning the current collection element."
 msgstr ""
-"Un <emphasis>filtro</emphasis> de colecci&#x00f3;n es un tipo especial de "
-"consulta que puede ser aplicado a una colecci&#x00f3;n persistente o array. "
-"La cadena de consulta puede referirse a <literal>this</literal>, "
-"significando el elemento de colecci&#x00f3;n actual."
+"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>, lo que quiere decir el "
+"elemento de la colección actual."
 
-#. Tag: programlisting
-#: session_api.xml:439
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[Collection blackKittens = session.createFilter(\n"
-"    pk.getKittens(), \n"
-"    \"where this.color = ?\")\n"
-"    .setParameter( Color.BLACK, Hibernate.custom(ColorUserType.class) )\n"
-"    .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:441
-#, fuzzy, no-c-format
-msgid ""
 "The returned collection is considered a bag that is 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&#x00f3;n devuelta es considerada un bag, y es una copia de la "
-"colecci&#x00f3;n dada. La colecci&#x00f3;n original no es modificada (esto "
-"es contrario a la implicaci&#x00f3;n del nombre \"filtro\", pero consistente "
-"con el comportamiento esperado)."
+"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 lo opuesto a lo que "
+"implica el nombre \"filtro\", pero es consistente con el comportamiento "
+"esperado."
 
 #. Tag: para
-#: session_api.xml:447
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Observe that filters do not require a <literal>from</literal> clause, "
 "although they can have one if required. Filters are not limited to returning "
 "the collection elements themselves."
 msgstr ""
-"Observa que los filtros no requieren una cl&#x00e1;usula <literal>from</"
-"literal> (aunque pueden tener uno si se requiere). Los filtros no est&#x00e1;"
-"n limitados a devolver los elementos de colecci&#x00f3;n por s&#x00ed; "
-"mismos."
+"Observe que los filtros no requieren una cláusula <literal>from</literal> "
+"aunque pueden tener una si se necesita. Los filtros no están limitados a "
+"devolver los elementos de colección por sí mismos."
 
-#. Tag: programlisting
-#: session_api.xml:452
+#. Tag: para
 #, no-c-format
 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:454
-#, fuzzy, no-c-format
-msgid ""
 "Even an empty filter query is useful, e.g. to load a subset of elements in a "
 "large collection:"
 msgstr ""
-"Incluso una consulta de filtro vac&#x00ed;o es &#x00fa;til, por ejemplo, "
-"para cargar un subconjunto de elementos en una colecci&#x00f3;n enorme:"
+"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:459
-#, no-c-format
-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:464
 #, no-c-format
 msgid "Criteria queries"
 msgstr "Consultas de criterios"
 
 #. Tag: para
-#: session_api.xml:466
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "HQL is extremely powerful, but some developers prefer to build queries "
 "dynamically using an object-oriented API, rather than building query "
@@ -1203,45 +700,28 @@
 "API for these cases:"
 msgstr ""
 "HQL es extremadamente potente pero algunos desarrolladores prefieren "
-"construir consultas din&#x00e1;micamente usando una API orientada a objetos, "
-"en vez construir cadenas de consulta. Hibernate provee una API intuitiva de "
-"consulta <literal>Criteria</literal> para estos casos:"
+"construir consultas dinámicamente utilizando una API orientada a objetos, en "
+"vez de construir cadenas de consulta. Hibernate brinda una API intuitiva de "
+"consulta <literal>Criteria</literal> para estos casos: "
 
-#. Tag: programlisting
-#: session_api.xml:472
-#, no-c-format
-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:474
 #, no-c-format
 msgid ""
 "The <literal>Criteria</literal> and the associated <literal>Example</"
-"literal> API are discussed in more detail in <xref linkend=\"querycriteria\"/"
-">."
+"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&#x00e1;s detalle en <xref linkend="
-"\"querycriteria\"/>."
+"Las APIs de <literal>Criteria</literal> y el <literal>Example</literal> "
+"asociado se discuten en más detalle en el xref linkend=\"querycriteria"
+"\" />."
 
 #. Tag: title
-#: session_api.xml:482
 #, no-c-format
 msgid "Queries in native SQL"
 msgstr "Consultas en SQL nativo"
 
 #. Tag: para
-#: session_api.xml:484
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can express a query in SQL, using <literal>createSQLQuery()</literal> "
 "and let Hibernate manage the mapping from result sets to objects. You can at "
@@ -1249,69 +729,31 @@
 "<literal>Connection</literal> directly. If you choose to use the Hibernate "
 "API, you must enclose SQL aliases in braces:"
 msgstr ""
-"Puedes expresar una consulta en SQL, usando <literal>createSQLQuery()</"
-"literal> y dejando que Hibernate cuide del mapeo de los conjuntos resultado "
-"a objetos. Nota que puedes llamar en cualquier momento a <literal>session."
-"connection()</literal> y usar la <literal>Connection</literal> JDBC "
-"directamente. Si eliges usar la API de Hibernate, debes encerrar los alias "
-"de SQL entre llaves:"
+"Puede expresar una consulta en SQL, utilizando <literal>createSQLQuery()</"
+"literal> y dejar que Hibernate administre el mapeo de los conjuntos de "
+"resultados a objetos. Puede llamar en cualquier momento a <literal>session."
+"connection()</literal> y utilizar la <literal>Connection</literal> JDBC "
+"directamente. Si elige usar la API de Hibernate, tiene que encerrar los "
+"alias de SQL entre llaves:"
 
-#. Tag: programlisting
-#: session_api.xml:492
+#. Tag: para
 #, no-c-format
 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:494
-#, no-c-format
-msgid ""
-"<![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()]]>"
-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:496
-#, fuzzy, no-c-format
-msgid ""
 "SQL queries can contain named and positional parameters, just like Hibernate "
 "queries. More information about native SQL queries in Hibernate can be found "
-"in <xref linkend=\"querysql\"/>."
+"in <xref linkend=\"querysql\" />."
 msgstr ""
-"Las consultas SQL pueden contener par&#x00e1;metros con nombre y "
-"posicionales, al igual que las consultas de Hibernate. Puede encontrarse "
-"m&#x00e1;s informaci&#x00f3;n sobre consultas en SQL nativo en <xref linkend="
-"\"querysql\"/>."
+"Las consultas SQL pueden contener parámetros con nombre y posicionados, al "
+"igual que las consultas de Hibernate. Puede encontrar más información sobre "
+"las consultas en SQL nativo en Hibernate en el <xref linkend=\"querysql\" />."
 
 #. Tag: title
-#: session_api.xml:507
 #, no-c-format
 msgid "Modifying persistent objects"
-msgstr "Modificando objetos persistentes"
+msgstr "Modificación de objetos persistentes"
 
 #. Tag: para
-#: session_api.xml:509
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Transactional persistent instances</emphasis> (i.e. objects "
 "loaded, saved, created or queried by the <literal>Session</literal>) can be "
@@ -1323,50 +765,34 @@
 "to update the state of an object is to <literal>load()</literal> it and then "
 "manipulate it directly while the <literal>Session</literal> is open:"
 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&#x00f3;n y cualquier cambio al estado "
-"persistente ser&#x00e1; persistido cuando la <literal>Session</literal> sea "
-"<emphasis>limpiada (flushed)</emphasis> (discutido m&#x00e1;s adelante en "
-"este cap&#x00ed;tulo). No hay necesidad de llamar un m&#x00e9;todo en "
-"particular (como <literal>update()</literal>, que tiene un prop&#x00f3;sito "
-"diferente) para hacer persistentes tus modificaciones. De modo que la forma "
-"m&#x00e1;s directa de actualizar el estado de un objeto es cargarlo con "
-"<literal>load()</literal>, y entonces manipularlo directamente, mientras la "
-"<literal>Session</literal> est&#x00e1; abierta:"
+"Las <emphasis>instancias persistentes transaccionales</emphasis> (por "
+"ejemplo, los 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 se "
+"<emphasis>vacie</emphasis> la <literal>Session</literal>. Esto se discute "
+"más adelante en este capítulo. No hay necesidad de llamar a un método en "
+"particular (como <literal>update()</literal>, que tiene un propósito "
+"diferente) para hacer persistentes sus modificaciones. De modo que la forma "
+"más directa de actualizar el estado de un objeto es cargarlo con "
+"<literal>load()</literal> y luego manipularlo directamente, mientras la "
+"<literal>Session</literal> está abierta:"
 
-#. Tag: programlisting
-#: session_api.xml:520
+#. Tag: para
 #, no-c-format
 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:522
-#, fuzzy, no-c-format
-msgid ""
 "Sometimes this programming model is inefficient, as it requires in the same "
 "session both an SQL <literal>SELECT</literal> to load an object and an SQL "
 "<literal>UPDATE</literal> to persist its updated state. Hibernate offers an "
 "alternate approach by using detached instances."
 msgstr ""
-"A veces este modelo de programaci&#x00f3;n es ineficiente pues podr&#x00ed;a "
-"requerir una <literal>SELECT</literal> de SQL (para cargar un objeto) y un "
-"<literal>UPDATE</literal> de SQL (para hacer persistentes sus datos "
-"actualizados) en la misma sesi&#x00f3;n. Por lo tanto, Hibernate ofrece un "
-"enfoque alternativo, usando instancias separadas (detached)."
+"A veces este modelo de programación es ineficiente pues requiere un "
+"<literal>SELECT</literal> de SQL para cargar un objeto y un <literal>UPDATE</"
+"literal> de SQL para hacer persistente su estado actualizado en la misma "
+"sesión. Por lo tanto, Hibernate ofrece un enfoque opcional, utilizando "
+"instancias separadas."
 
 #. Tag: para
-#: session_api.xml:529
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate does not offer its own API for direct execution of "
 "<literal>UPDATE</literal> or <literal>DELETE</literal> statements. Hibernate "
@@ -1377,29 +803,27 @@
 "the notion of mass operations conflicts with object/relational mapping for "
 "online transaction processing-oriented applications. Future versions of "
 "Hibernate can, however, provide special mass operation functions. See <xref "
-"linkend=\"batch\"/> for some possible batch operation tricks."
+"linkend=\"batch\" /> for some possible batch operation tricks."
 msgstr ""
-"Nota que Hibernate no ofreve su propia API para ejecuci&#x00f3;n directa de "
-"sentencias <literal>UPDATE</literal> o <literal>DELETE</literal>. Hibernate "
-"es un servicio de <emphasis>gesti&#x00f3;n de estado</emphasis>, no tienes "
-"que pensar en <literal>sentencias</literal> para usarlo. JDBC es una API "
-"perfecta para ejecutar sentencias SQL; puedes obtener una "
+"Hibernate no ofrece su propia API para ejecución directa de declaraciones "
+"<literal>UPDATE</literal> o <literal>DELETE</literal>. Hibernate es un "
+"servicio de <emphasis>administración de estado</emphasis>, no tiene que "
+"pensar en <emphasis>declaraciones</emphasis> para poder utilizarlo. JDBC es "
+"una API perfecta para ejecutar declaraciones SQL; puede obtener una "
 "<literal>Connection</literal> JDBC en cualquier momento llamando a "
-"<literal>session.connection()</literal>. Adem&#x00e1;s, la noci&#x00f3;n de "
-"operaciones masivas entra en conflicto con el mapeo objeto/relacional en "
-"aplicaciones en l&#x00ed;nea orientadas al procesamiento de transacciones. "
-"Versiones futuras de Hibernate pueden, sin embargo, proveer funciones de "
-"operaci&#x00f3;n masiva especiales. Ver <xref linkend=\"batch\"/> por "
-"algunos trucos de operaci&#x00f3;n en lote (batch) posibles."
+"<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. Sin embargo, las "
+"versiones futuras de Hibernate podrán proporcionar funciones de operación "
+"masiva especiales. Consulte <xref linkend=\"batch\"/> para obtener algunos "
+"trucos posibles para la operación en lote."
 
 #. Tag: title
-#: session_api.xml:546
 #, no-c-format
 msgid "Modifying detached objects"
-msgstr "Modificando objetos separados"
+msgstr "Modificación de objetos separados"
 
 #. Tag: para
-#: session_api.xml:548
 #, no-c-format
 msgid ""
 "Many applications need to retrieve an object in one transaction, send it to "
@@ -1408,54 +832,24 @@
 "environment usually use versioned data to ensure isolation for the \"long\" "
 "unit of work."
 msgstr ""
-"Muchas aplicaciones necesitan recuperar un objeto en una transacci&#x00f3;n, "
-"enviarla a la capa de UI para su manipulaci&#x00f3;n, y entonces salvar los "
-"cambios en una nueva transacci&#x00f3;n. Las aplicaciones que usan este tipo "
-"de enfoque en un entorno de alta concurrencia usualmente usan datos "
+"Muchas aplicaciones necesitan recuperar un objeto en una transacción, "
+"enviarla a la capa de UI para su manipulación, y entonces guardar los "
+"cambios en una nueva transacción. Las aplicaciones que usan este tipo de "
+"enfoque en un entorno de alta concurrencia usualmente utilizan datos "
 "versionados para asegurar el aislamiento de la unidad de trabajo \"larga\"."
 
 #. Tag: para
-#: session_api.xml:555
 #, no-c-format
 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&#x00f3;n de instancias "
-"separadas usando los m&#x00e9;todos <literal>Session.update()</literal> o "
+"Hibernate soporta este modelo al proveer re-unión de instancias separadas "
+"utilizando los métodos <literal>Session.update()</literal> o "
 "<literal>Session.merge()</literal>:"
 
-#. Tag: programlisting
-#: session_api.xml:561
-#, no-c-format
-msgid ""
-"<![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]]>"
-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:563
 #, no-c-format
 msgid ""
 "If the <literal>Cat</literal> with identifier <literal>catId</literal> had "
@@ -1464,12 +858,10 @@
 msgstr ""
 "Si el <literal>Cat</literal> con identificador <literal>catId</literal> ya "
 "hubiera sido cargado por <literal>secondSession</literal> cuando la "
-"aplicaci&#x00f3;n intent&#x00f3; volver a unirlo, se habr&#x00ed;a lanzado "
-"una excepci&#x00f3;n."
+"aplicación intentó volver a unirlo, se habría lanzado una excepción."
 
 #. Tag: para
-#: session_api.xml:569
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Use <literal>update()</literal> if you are certain that the session does not "
 "contain an already persistent instance with the same identifier. Use "
@@ -1479,95 +871,70 @@
 "fresh session, ensuring that the reattachment of your detached instances is "
 "the first operation that is executed."
 msgstr ""
-"Usa <literal>update()</literal> si no est&#x00e1;s seguro que la sesi&#x00f3;"
-"n tenga una instancia ya persistente con el mismo identificador, y "
-"<literal>merge()</literal> si quieres fusionar tus modificaciones en "
-"cualquier momento sin consideraci&#x00f3;n del estado de la sesi&#x00f3;n. "
-"En otras palabras, <literal>update()</literal> es usualmente el primer "
-"m&#x00e9;todo que llamar&#x00ed;as en una sesi&#x00f3;n fresca, asegurando "
-"que la re-uni&#x00f3;n de tus instancias separadas es la primera "
-"operaci&#x00f3;n que se ejecuta."
+"Utilice <literal>update()</literal> si está seguro de que la sesión no tiene "
+"una instancia ya persistente con el mismo identificador. Utilice "
+"<literal>merge()</literal> si quiere fusionar sus modificaciones en "
+"cualquier momento sin consideración del estado de la sesión. En otras "
+"palabras, <literal>update()</literal> usualmente es el primer método que "
+"usted llamaría en una sesión actualizada, asegurando que la re-unión de sus "
+"instancias separadas es la primera operación que se ejecuta."
 
 #. Tag: para
-#: session_api.xml:578
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The application should individually <literal>update()</literal> detached "
 "instances that are reachable from the given detached instance "
 "<emphasis>only</emphasis> if it wants their state to be updated. This can be "
 "automated using <emphasis>transitive persistence</emphasis>. See <xref "
-"linkend=\"objectstate-transitive\"/> for more information."
+"linkend=\"objectstate-transitive\" /> for more information."
 msgstr ""
-"La aplicaci&#x00f3;n debe actualizar individualmente las instancias "
-"separadas alcanzables por la instancia separada dada llamando a "
-"<literal>update()</literal>, si y <emphasis>s&#x00f3;lo</emphasis> si quiere "
-"que sus estados sean tambi&#x00e9;n actualizados. Esto puede, por supuesto, "
-"ser automatizado usando <emphasis>persistencia transitiva</emphasis>, ver "
-"<xref linkend=\"objectstate-transitive\"/>."
+"La aplicación debe actualizar <literal>update()</literal> individualmente "
+"las instancias separadas alcanzables por la instancia separada dada "
+"<emphasis>sólo</emphasis> si quiere que su estado se actualice. Esto puede "
+"ser automatizado la utilizando la <emphasis>persistencia transitiva</emphasis>. "
+"Consulte la <xref "
+"linkend=\"objectstate-transitive\" /> para obtener mayor "
+"información. "
 
 #. Tag: para
-#: session_api.xml:585
-#, fuzzy, no-c-format
+#, no-c-format
 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&#x00e9;todo <literal>lock()</literal> tambi&#x00e9;n permite a una "
-"aplicaci&#x00f3;n reasociar un objeto con una sesi&#x00f3;n nueva. Sin "
-"embargo, la instancia separada no puede haber sido modificada!"
+"El método <literal>lock()</literal> también le 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:590
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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);]]>"
-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:592
-#, fuzzy, no-c-format
-msgid ""
 "Note that <literal>lock()</literal> can be used with various "
 "<literal>LockMode</literal>s. See the API documentation and the chapter on "
 "transaction handling for more information. Reattachment is not the only "
 "usecase for <literal>lock()</literal>."
 msgstr ""
-"Nota que <literal>lock()</literal> puede ser usado con varios "
-"<literal>LockMode</literal>s, ver la documentaci&#x00f3;n de la API y el "
-"cap&#x00ed;tulo sobre manejo de transacciones para m&#x00e1;s "
-"informaci&#x00f3;n. La re-uni&#x00f3;n no es el &#x00fa;nico caso de uso "
-"para <literal>lock()</literal>."
+"Note que <literal>lock()</literal> se puede utilizar con varios "
+"<literal>LockMode</literal>s. Consulte la documentación de la API y el "
+"capítulo sobre el manejo de transacciones para obtener mayor información. La "
+"re-unión no es el único caso de uso para <literal>lock()</literal>."
 
 #. Tag: para
-#: session_api.xml:599
 #, no-c-format
 msgid ""
 "Other models for long units of work are discussed in <xref linkend="
-"\"transactions-optimistic\"/>."
+"\"transactions-optimistic\" />."
 msgstr ""
 "Se discuten otros modelos para unidades de trabajo largas en <xref linkend="
-"\"transactions-optimistic\"/>."
+"\"transactions-optimistic\" />."
 
 #. Tag: title
-#: session_api.xml:606
 #, no-c-format
 msgid "Automatic state detection"
-msgstr "Detecci&#x00f3;n autom&#x00e1;tica de estado"
+msgstr "Detección automática de estado"
 
 #. Tag: para
-#: session_api.xml:608
 #, no-c-format
 msgid ""
 "Hibernate users have requested a general purpose method that either saves a "
@@ -1575,44 +942,13 @@
 "detached instances associated with its current identifier. The "
 "<literal>saveOrUpdate()</literal> method implements this functionality."
 msgstr ""
-"Los usuarios de Hibernate han pedido un m&#x00e9;todo de prop&#x00f3;sito "
-"general que bien salve una instancia transitoria generando un identificador "
-"nuevo, o bien actualice/re&#x00fa;na las instancias separadas asociadas con "
-"su identificador actual. El m&#x00e9;todo <literal>saveOrUpdate()</literal> "
-"implementa esta funcionalidad."
+"Los usuarios de Hibernate han pedido un método de propósito general que bien "
+"guarde 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:615
-#, no-c-format
-msgid ""
-"<![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)]]>"
-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:617
 #, no-c-format
 msgid ""
 "The usage and semantics of <literal>saveOrUpdate()</literal> seems to be "
@@ -1622,127 +958,110 @@
 "<literal>merge()</literal>. Some whole applications will never use either of "
 "these methods."
 msgstr ""
-"El uso y sem&#x00e1;ntica de <literal>saveOrUpdate()</literal> parece ser "
-"confuso para usuarios nuevos. Primeramente, en tanto no est&#x00e9;s "
-"intentando usar instancias de una sesi&#x00f3;n en otra sesi&#x00f3;n nueva, "
-"no debes necesitar usar <literal>update()</literal>, <literal>saveOrUpdate()"
-"</literal>, o <literal>merge()</literal>. Algunas aplicaciones enteras nunca "
-"usar&#x00e1;n ninguno de estos m&#x00e9;todos."
+"La utilización y semántica de <literal>saveOrUpdate()</literal> parece ser "
+"confuso para los usuarios nuevos. Primero, en tanto no esté tratando de "
+"utilizar instancias de una sesión en otra sesión nueva, no debe 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:625
 #, no-c-format
 msgid ""
 "Usually <literal>update()</literal> or <literal>saveOrUpdate()</literal> are "
 "used in the following scenario:"
 msgstr ""
 "Usualmente <literal>update()</literal> o <literal>saveOrUpdate()</literal> "
-"se usan en el siguiente escenario:"
+"se utilizan en el siguiente escenario:"
 
 #. Tag: para
-#: session_api.xml:632
 #, no-c-format
 msgid "the application loads an object in the first session"
-msgstr "la aplicaci&#x00f3;n carga un objeto en la primera sesi&#x00f3;n"
+msgstr "la aplicación carga un objeto en la primera sesión"
 
 #. Tag: para
-#: session_api.xml:637
 #, no-c-format
 msgid "the object is passed up to the UI tier"
-msgstr "el objeto es pasado a la capa de UI"
+msgstr "el objeto se pasa a la capa de UI"
 
 #. Tag: para
-#: session_api.xml:642
 #, no-c-format
 msgid "some modifications are made to the object"
-msgstr "se hacen algunas modificaciones al objeto"
+msgstr "se realizan algunas modificaciones al objeto"
 
 #. Tag: para
-#: session_api.xml:647
 #, no-c-format
 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"
+msgstr "el objeto se pasa abajo de regreso a la capa lógica de negocios"
 
 #. Tag: para
-#: session_api.xml:652
 #, no-c-format
 msgid ""
 "the application persists these modifications by calling <literal>update()</"
 "literal> in a second session"
 msgstr ""
-"la aplicaci&#x00f3;n hace estas modificaciones persistentes llamando a "
-"<literal>update()</literal> en una segunda sesi&#x00f3;n"
+"la aplicación hace estas modificaciones persistentes llamando a "
+"<literal>update()</literal> en una segunda sesión"
 
 #. Tag: para
-#: session_api.xml:659
 #, no-c-format
 msgid "<literal>saveOrUpdate()</literal> does the following:"
 msgstr "<literal>saveOrUpdate()</literal> hace lo siguiente:"
 
 #. Tag: para
-#: session_api.xml:665
 #, no-c-format
 msgid "if the object is already persistent in this session, do nothing"
-msgstr "si el objeto ya es persistente en esta sesi&#x00f3;n, no hace nada"
+msgstr "si el objeto ya es persistente en esta sesión, no haga nada"
 
 #. Tag: para
-#: session_api.xml:670
 #, no-c-format
 msgid ""
 "if another object associated with the session has the same identifier, throw "
 "an exception"
 msgstr ""
-"si otro objeto asociado con la sesi&#x00f3;n tiene el mismo identificador, "
-"lanza una excepci&#x00f3;n"
+"si otro objeto asociado con la sesión tiene el mismo identificador, lance "
+"una excepción"
 
 #. Tag: para
-#: session_api.xml:676
 #, no-c-format
 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 "
+"si el objeto no tiene ninguna propiedad identificadora, guárdelo llamando a "
 "<literal>save()</literal>"
 
 #. Tag: para
-#: session_api.xml:681
 #, no-c-format
 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&#x00e9;n instanciado, lo salva llamando a <literal>save()</literal>"
+"si el identificador del objeto tiene el valor asignado a un objeto recién "
+"instanciado, guárdelo llamando a <literal>save()</literal>"
 
 #. Tag: para
-#: session_api.xml:687
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "if the object is versioned by a <literal>&lt;version&gt;</literal> or "
 "<literal>&lt;timestamp&gt;</literal>, and the version property value is the "
 "same value assigned to a newly instantiated object, <literal>save()</"
 "literal> it"
 msgstr ""
-"si el objeto est&#x00e1; versionado (por un <literal>&lt;version&gt;</"
-"literal> o <literal>&lt;timestamp&gt;</literal>), y el valor de la propiedad "
-"de versi&#x00f3;n es el mismo valor asignado a una objeto reci&#x00e9;n "
-"instanciado, lo salva llamando a <literal>save()</literal>"
+"si el objeto está versionado por un <literal>&lt;version&gt;</literal> o "
+"<literal>&lt;timestamp&gt;</literal>, y el valor de la propiedad de versión "
+"es el mismo valor asignado a un objeto recién instanciado, guárdelo llamando "
+"a <literal>save()</literal>"
 
 #. Tag: para
-#: session_api.xml:695
 #, no-c-format
 msgid "otherwise <literal>update()</literal> the object"
-msgstr ""
-"en cualquier otro caso se actualiza el objeto llamando a <literal>update()</"
-"literal>"
+msgstr "de otra manera actualice el objeto llamando a <literal>update()</literal>"
 
 #. Tag: para
-#: session_api.xml:701
 #, no-c-format
 msgid "and <literal>merge()</literal> is very different:"
 msgstr "y <literal>merge()</literal> es muy diferente:"
 
 #. Tag: para
-#: session_api.xml:707
 #, no-c-format
 msgid ""
 "if there is a persistent instance with the same identifier currently "
@@ -1750,182 +1069,127 @@
 "persistent instance"
 msgstr ""
 "si existe una instancia persistente con el mismo identificador asignado "
-"actualmente con la sesi&#x00f3;n, copia el estado del objeto dado en la "
-"instancia persistente"
+"actualmente con la sesión, copie el estado del objeto dado en la instancia "
+"persistente"
 
 #. Tag: para
-#: session_api.xml:714
 #, no-c-format
 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&#x00f3;n, intente cargarla de la base de datos, o crear una nueva "
-"instancia persistente"
+"si no existe ninguna instancia persistente asociada a la sesión actualmente, "
+"intente cargarla desde la base de datos, o cree una nueva instancia "
+"persistente"
 
 #. Tag: para
-#: session_api.xml:720
 #, no-c-format
 msgid "the persistent instance is returned"
 msgstr "la instancia persistente es devuelta"
 
 #. Tag: para
-#: session_api.xml:725
 #, no-c-format
 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&#x00f3;n, permanece "
-"separada"
+msgstr "la instancia dada no se asocia a la sesión, permanece separada"
 
 #. Tag: title
-#: session_api.xml:735
 #, no-c-format
 msgid "Deleting persistent objects"
-msgstr "Borrando objetos persistentes"
+msgstr "Borrado de objetos persistentes"
 
 #. Tag: para
-#: session_api.xml:737
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>Session.delete()</literal> will remove an object's state from the "
 "database. Your application, however, can still hold a reference to a deleted "
 "object. It is best to think of <literal>delete()</literal> as making a "
 "persistent instance, transient."
 msgstr ""
-"<literal>Session.delete()</literal> quitar&#x00e1; el estado de un objeto de "
-"la base de datos. Por supuesto, tu aplicaci&#x00f3;n podr&#x00ed;a tener "
-"a&#x00fa;n una referencia a un objeto borrado. Lo mejor es pensar en "
-"<literal>delete()</literal> como hacer transitoria una instancia persistente."
+"<literal>Session.delete()</literal> borrará el estado de un objeto de la "
+"base de datos. Sin embargo, su aplicación puede tener todavía una referencia "
+"a un objeto borrado. Lo mejor es pensar en <literal>delete()</literal> al "
+"hacer transitoria una instancia persistente."
 
-#. Tag: programlisting
-#: session_api.xml:744
-#, no-c-format
-msgid "<![CDATA[sess.delete(cat);]]>"
-msgstr "<![CDATA[sess.delete(cat);]]>"
-
 #. Tag: para
-#: session_api.xml:746
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can delete objects in any order, without risk of foreign key constraint "
 "violations. It is still possible to violate a <literal>NOT NULL</literal> "
 "constraint on a foreign key column by deleting objects in the wrong 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&#x00f3;n de clave for&#x00e1;nea. A&#x00fa;n es posible violar "
-"una restricci&#x00f3;n <literal>NOT NULL</literal> sobre una columna clave "
-"for&#x00e1;nea borrando objetos en un orden err&#x00f3;neo, por ejemplo, si "
-"borras el padre, pero olvidas borrar los hijos."
+"Puede borrar objetos en el orden que quiera, 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 de clave foránea borrando "
+"objetos en un orden erróneo, por ejemplo, si borra el padre, pero olvida "
+"borrar los hijos."
 
 #. Tag: title
-#: session_api.xml:757
 #, no-c-format
 msgid "Replicating object between two different datastores"
-msgstr "Replicando objetos entre dos almac&#x00e9;nes de datos diferentes"
+msgstr "Replicación de objetos entre dos almacenamientos de datos diferentes"
 
 #. Tag: para
-#: session_api.xml:759
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is sometimes 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 &#x00fa;til ser capaz de tomar un grafo de instancias "
-"persistentes y hacerlas persistentes en un almac&#x00e9;n de datos "
-"diferente, sin regenerar los valores identificadores."
+"A veces es útil poder tomar un grafo de la instancias persistentes y "
+"hacerlas persistentes en un almacenamiento de datos diferente, sin regenerar "
+"los valores identificadores."
 
-#. Tag: programlisting
-#: session_api.xml:765
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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();]]>"
-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:767
-#, fuzzy, no-c-format
-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&#x00f3;mo "
-"<literal>replicate()</literal> tratar&#x00e1; 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:774
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>ReplicationMode.IGNORE</literal>: ignores the object when there is "
 "an existing database row with the same identifier"
 msgstr ""
-"<literal>ReplicationMode.IGNORE</literal> - ignora el objeto cuando existe "
-"una fila de base de datos con el mismo identificador"
+"<literal>ReplicationMode.IGNORE</literal>: ignora el objeto cuando existe "
+"una fila de la base de datos con el mismo identificador"
 
 #. Tag: para
-#: session_api.xml:780
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>ReplicationMode.OVERWRITE</literal>: overwrites any existing "
 "database row with the same identifier"
 msgstr ""
-"<literal>ReplicationMode.OVERWRITE</literal> - sobrescribe cualquier fila de "
-"base de datos existente con el mismo identificador"
+"<literal>ReplicationMode.OVERWRITE</literal>: sobrescribe cualquier fila de "
+"la base de datos existente con el mismo identificador"
 
 #. Tag: para
-#: session_api.xml:786
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>ReplicationMode.EXCEPTION</literal>: throws an exception if there "
 "is an existing database row with the same identifier"
 msgstr ""
-"<literal>ReplicationMode.EXCEPTION</literal> - lanza una excepci&#x00f3;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 la base de datos con el mismo identificador"
 
 #. Tag: para
-#: session_api.xml:792
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>ReplicationMode.LATEST_VERSION</literal>: overwrites 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&#x00fa;mero de versi&#x00f3;n es anterior al n&#x00fa;mero de "
-"versi&#x00f3;n del objeto, o en caso contrario ignora el objeto"
+"<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 de lo "
+"contrario ignora el objeto"
 
 #. Tag: para
-#: session_api.xml:800
 #, no-c-format
 msgid ""
 "Usecases for this feature include reconciling data entered into different "
@@ -1935,114 +1199,97 @@
 msgstr ""
 "Los casos de uso para esta funcionalidad incluyen reconciliar datos "
 "ingresados en instancias diferentes de bases de datos, actualizar "
-"informaci&#x00f3;n de configuraci&#x00f3;n de sistema durante "
-"actualizaciones de producto, deshacer cambios producidos durante "
-"transacciones no-ACID y m&#x00e1;s."
+"información de configuración del sistema durante actualizaciones de "
+"producto, deshacer cambios realizados durante transacciones no-ACID y más."
 
 #. Tag: title
-#: session_api.xml:809
 #, no-c-format
 msgid "Flushing the Session"
-msgstr "Limpiando (flushing) la sesi&#x00f3;n"
+msgstr "Limpieza (flushing) de la sesión"
 
 #. Tag: para
-#: session_api.xml:811
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Sometimes 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, called <emphasis>flush</emphasis>, occurs by "
 "default at the following points:"
 msgstr ""
-"Cada tanto, la <literal>Session</literal> ejecutar&#x00e1; las sentencias "
-"SQL necesarias para sincronizar el estado de la conexi&#x00f3;n JDBC con el "
-"estado de los objetos mantenidos en menoria. Este proceso, "
-"<emphasis>limpieza (flush)</emphasis>, ocurre por defecto en los siguientes "
-"puntos"
+"A veces la <literal>Session</literal> ejecutará las declaraciones SQL "
+"necesarias para sincronizar el estado de la conexión JDBC con el estado de "
+"los objetos en la menoria. Este proceso, denominado <emphasis>vaciado (flush)"
+"</emphasis>, ocurre por defecto en los siguientes puntos:"
 
 #. Tag: para
-#: session_api.xml:820
 #, no-c-format
 msgid "before some query executions"
 msgstr "antes de algunas ejecuciones de consulta"
 
 #. Tag: para
-#: session_api.xml:825
 #, no-c-format
 msgid "from <literal>org.hibernate.Transaction.commit()</literal>"
 msgstr "desde <literal>org.hibernate.Transaction.commit()</literal>"
 
 #. Tag: para
-#: session_api.xml:830
 #, no-c-format
 msgid "from <literal>Session.flush()</literal>"
 msgstr "desde <literal>Session.flush()</literal>"
 
 #. Tag: para
-#: session_api.xml:836
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "The SQL statements are issued in the following order:"
-msgstr "Las sentencias SQL son liberadas en el siguiente orden"
+msgstr "Las declaraciones SQL se emiten en el siguiente orden:"
 
 #. Tag: para
-#: session_api.xml:842
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "all entity insertions in the same order the corresponding objects were saved "
 "using <literal>Session.save()</literal>"
 msgstr ""
 "todas las inserciones de entidades, en el mismo orden que los objetos "
-"correspondientes fueron salvados usando <literal>Session.save()</literal>"
+"correspondientes fueron guardados utilizando <literal>Session.save()</"
+"literal>"
 
 #. Tag: para
-#: session_api.xml:848
 #, no-c-format
 msgid "all entity updates"
 msgstr "todas las actualizaciones de entidades"
 
 #. Tag: para
-#: session_api.xml:853
 #, no-c-format
 msgid "all collection deletions"
 msgstr "todas los borrados de colecciones"
 
 #. Tag: para
-#: session_api.xml:858
 #, no-c-format
 msgid "all collection element deletions, updates and insertions"
-msgstr ""
-"todos los borrados, actualizaciones e inserciones de elementos de "
-"colecci&#x00f3;n"
+msgstr "todos los borrados, actualizaciones e inserciones de elementos de colección"
 
 #. Tag: para
-#: session_api.xml:863
 #, no-c-format
 msgid "all collection insertions"
 msgstr "todas las inserciones de colecciones"
 
 #. Tag: para
-#: session_api.xml:868
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "all entity deletions in the same order the corresponding objects were "
 "deleted using <literal>Session.delete()</literal>"
 msgstr ""
 "todos los borrados de entidades, en el mismo orden que los objetos "
-"correspondientes fueron borrados usando <literal>Session.delete()</literal>"
+"correspondientes fueron borrados usando <literal>Session.delete()</literal> "
 
 #. Tag: para
-#: session_api.xml:875
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "An exception is that objects using <literal>native</literal> ID generation "
 "are inserted when they are saved."
 msgstr ""
-"(Una excepci&#x00f3;n es que los objetos que usan generaci&#x00f3;n de ID "
-"<literal>native</literal> se insertan cuando son salvados.)"
+"Una excepción es que los objetos que utilizan generación de ID "
+"<literal>native</literal> se insertan cuando se guardan."
 
 #. Tag: para
-#: session_api.xml:880
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Except when you explicitly <literal>flush()</literal>, there are absolutely "
 "no guarantees about <emphasis>when</emphasis> the <literal>Session</literal> "
@@ -2050,16 +1297,15 @@
 "are executed. However, Hibernate does guarantee that the <literal>Query.list"
 "(..)</literal> will never return stale or incorrect data."
 msgstr ""
-"Excepto cuando llamas expl&#x00ed;citamente a <literal>flush()</literal>, no "
-"hay en absoluto garant&#x00ed;as sobre <emphasis>cu&#x00e1;ndo</emphasis> la "
-"<literal>Session</literal> ejecuta las llamadas JDBC. s&#x00f3;lo sobre el "
-"<emphasis>orden</emphasis> en que son ejecutadas. Sin embargo, Hibernate "
-"garantiza que los m&#x00e9;todos <literal>Query.list(..)</literal> nunca "
-"devolver&#x00e1;n datos a&#x00f1;ejos o err&#x00f3;neos."
+"Excepto cuando llama 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ólamente sobre el <emphasis>orden</"
+"emphasis> en que se ejecutan. Sin embargo, Hibernate garantiza que los "
+"métodos <literal>Query.list(..)</literal> nunca devolverán datos "
+"desactualizados o incorrectos."
 
 #. Tag: para
-#: session_api.xml:888
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is possible to change the default behavior so that flush occurs less "
 "frequently. The <literal>FlushMode</literal> class defines three different "
@@ -2068,88 +1314,48 @@
 "never flush unless <literal>flush()</literal> is called explicitly. The last "
 "mode is useful for long running units of work, where a <literal>Session</"
 "literal> is kept open and disconnected for a long time (see <xref linkend="
-"\"transactions-optimistic-longsession\"/>)."
+"\"transactions-optimistic-longsession\" />)."
 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&#x00f3;lo en tiempo de compromiso (y s&#x00f3;lo "
-"cuando se use la API de <literal>Transaction</literal> de Hibernate), "
-"limpieza autom&#x00e1;tica usando la rutina explicada, o nunca limpiar a "
-"menos que se llame a <literal>flush()</literal> expl&#x00ed;citamente. El "
-"&#x00fa;ltimo modo es &#x00fa;til para unidades de trabajo largas, donde una "
-"<literal>Session</literal> se mantiene abierta y desconectada por largo "
-"tiempo (ver <xref linkend=\"transactions-optimistic-longsession\"/>)."
+"Es posible cambiar el comportamiento predeterminado de modo que el vaciado "
+"ocurra con menos frecuencia. La clase <literal>FlushMode</literal> define "
+"tres modos diferentes: sólo en tiempo de guardar los cambios cuando la API de <literal>Transaction</literal> de Hibernate se utiliza, vaciado automático utilizando la rutina explicada, o nunca vaciar a menos de que se "
+"llame a <literal>flush()</literal> explícitamente. El último modo es útil "
+"para unidades de trabajo largas, donde se mantiene abierta una "
+"<literal>Session</literal> y es desconectada por largo tiempo (vea la <xref "
+"linkend=\"transactions-optimistic-longsession\"/>)."
 
-#. Tag: programlisting
-#: session_api.xml:898
-#, no-c-format
-msgid ""
-"<![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\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:900
 #, no-c-format
 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\"/>."
+"\"transactions\" />."
 msgstr ""
-"Durante la limpieza, puede ocurrir una excepci&#x00f3;n (por ejemplo, si una "
-"operaci&#x00f3;n DML violase una restricci&#x00f3;n). Ya que el manejo de "
-"excepciones implica alguna comprensi&#x00f3;n del comportamiento "
-"transaccional de Hibernate, lo discutimos en <xref linkend=\"transactions\"/"
-">."
+"Durante el vaciado se puede presentar una excepción (por ejemplo, si una "
+"operación DML viola una restricción). Ya que el manejo de excepciones "
+"implica algo de comprensión del comportamiento transaccional de Hibernate, "
+"lo discutimos en <xref linkend="
+"\"transactions\" />."
 
 #. Tag: title
-#: session_api.xml:909
 #, no-c-format
 msgid "Transitive persistence"
 msgstr "Persistencia transitiva"
 
 #. Tag: para
-#: session_api.xml:911
 #, no-c-format
 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&#x00f3;modo dalvar, borrar, o reunir objetos "
-"individuales, especialmente si tratas con un grafo de objetos asociados. Un "
-"caso com&#x00fa;n es una relaci&#x00f3;n padre/hijo. Considera el siguiente "
-"ejemplo:"
+"Es absolutamente incómodo guardar, borrar, o reunir objetos individuales, "
+"especialmente si trata con un grafo de objetos asociados. Un caso común es "
+"una relación padre/hijo. Considere el siguiente ejemplo:"
 
 #. Tag: para
-#: session_api.xml:917
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
@@ -2160,20 +1366,18 @@
 "collection. Since value-typed objects cannot have shared references, "
 "Hibernate will detect this and delete the child from the database."
 msgstr ""
-"Si los hijos en una relaci&#x00f3;n padre/hijo pudieran ser tipificados en "
-"valor (por ejemplo, una colecci&#x00f3;n de direcciones o cadenas), sus "
-"ciclos de vida depender&#x00ed;an del padre y se requerir&#x00ed;a ninguna "
-"otra acci&#x00f3;n para el tratamiento en \"cascada\" de cambios de estado. "
-"Cuando el padre es salvado, los objetos hijo tipificados en valor son "
-"salvados tambi&#x00e9;n, cuando se borra el padre, se borran los hijos, etc. "
-"Esto funciona incluso para operaciones como el retiro de un hijo de la "
-"colecci&#x00f3;n. Hibernate detectar&#x00e1; esto y, ya que los objetos "
-"tipificados en valor no pueden tener referencias compartidas, borrar&#x00e1; "
-"el hijo de la base de datos."
+"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 no se requeriría ninguna otra acción para el "
+"tratamiento apropiado en \"cascada\" de los cambios de estado. Cuando se "
+"guarda el padre, los objetos hijo tipificados en valor también se guardan, "
+"cuando se borra el padre, se borran los hijos, etc. Esto funciona incluso "
+"para operaciones tales 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 entonces borrará el hijo de la base de datos."
 
 #. Tag: para
-#: session_api.xml:928
-#, fuzzy, no-c-format
+#, no-c-format
 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). "
@@ -2183,17 +1387,15 @@
 "entities. Hibernate does not implement <emphasis>persistence by "
 "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&#x00ed;as e &#x00ed;tems, "
-"o gatos padre e hijos). Las entidades tienen su propio ciclo de vida, "
-"soportan referencias compartidas (de modo que quitar una entidad de una "
-"colecci&#x00f3;n no significa que sea borrada), y no hay por defecto "
-"ning&#x00fa;n tratamiento en \"cascada\" de estado de una entidad a otras "
-"entidades asociadas. Hibernate no implementa <emphasis>persistencia por "
-"alcance</emphasis>."
+"Ahora considere el mismo escenario con los objetos padre e hijos siendo "
+"entidades, no tipos de valor (por ejemplo, categorías e ítems, o gatos "
+"padres e hijos). Las entidades tienen su propio ciclo de vida y soportan "
+"referencias compartidas. El eliminar una entidad de una colección no "
+"significa que se pueda borrar, y no hay por defecto ningún tratamiento en "
+"\"cascada\" del estado de una entidad a otras entidades asociadas. Hibernate "
+"no implementa por defecto la <emphasis>persistencia por alcance</emphasis>."
 
 #. Tag: para
-#: session_api.xml:937
 #, no-c-format
 msgid ""
 "For each basic operation of the Hibernate session - including "
@@ -2204,52 +1406,34 @@
 "operation to be cascaded along an association, you must indicate that in the "
 "mapping document. For example:"
 msgstr ""
-"Para cada operaci&#x00f3;n b&#x00e1;sica de la sesi&#x00f3;n de Hibernate - "
-"incluyendo <literal>persist(), merge(), saveOrUpdate(), delete(), lock(), "
-"refresh(), evict(), replicate()</literal> - hay un estilo de cascada "
+"Para cada operación básica de la sesión de Hibernate - incluyendo "
+"<literal>persist(), merge(), saveOrUpdate(), delete(), lock(), refresh(), "
+"evict(), replicate()</literal> - existe un estilo de cascada "
 "correspondiente. Respectivamente, los estilos de cascada se llaman "
 "<literal>create, merge, save-update, delete, lock, refresh, evict, "
-"replicate</literal>. Si quieres que una operaci&#x00f3;n sea tratada en "
-"cascada a lo largo de una asociaci&#x00f3;n, debes indicar eso en el "
-"documento de mapeo. Por ejemplo:"
+"replicate</literal>. Si quiere que una operación sea tratada en cascada a lo "
+"largo de una asociación, debe indicar eso en el documento de mapeo. Por "
+"ejemplo:"
 
-#. Tag: programlisting
-#: session_api.xml:946
-#, no-c-format
-msgid "<![CDATA[<one-to-one name=\"person\" cascade=\"persist\"/>]]>"
-msgstr "<![CDATA[<one-to-one name=\"person\" cascade=\"persist\"/>]]>"
-
 #. Tag: para
-#: session_api.xml:948
 #, no-c-format
 msgid "Cascade styles my be combined:"
 msgstr "Los estilos de cascada pueden combinarse:"
 
-#. Tag: programlisting
-#: session_api.xml:952
+#. Tag: para
 #, no-c-format
 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:954
-#, fuzzy, no-c-format
-msgid ""
 "You can even use <literal>cascade=\"all\"</literal> to specify that "
 "<emphasis>all</emphasis> operations should be cascaded along the "
 "association. The default <literal>cascade=\"none\"</literal> specifies that "
 "no operations are to be cascaded."
 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&#x00f3;n. El por defecto <literal>cascade=\"none\"</"
-"literal> especifica que ninguna operaci&#x00f3;n ser&#x00e1; tratada en "
-"cascada."
+"Incluso puede utilizar <literal>cascade=\"all\"</literal> para especificar "
+"que <emphasis>todas</emphasis> las operaciones deben ser tratadas en cascada "
+"a lo largo de la asociación. La <literal>cascade=\"none\"</literal> "
+"predeterminada especifica que ninguna operación se tratará en cascada. "
 
 #. Tag: para
-#: session_api.xml:960
 #, no-c-format
 msgid ""
 "A special cascade style, <literal>delete-orphan</literal>, applies only to "
@@ -2258,46 +1442,41 @@
 "association."
 msgstr ""
 "Un estilo de cascada especial, <literal>delete-orphan</literal>, se aplica "
-"s&#x00f3;lo a asociaciones uno-a-muchos, e indica que la operaci&#x00f3;n "
-"<literal>delete()</literal> debe aplicarse a cualquier objeto hijo que sea "
-"quitado de la asociaci&#x00f3;n."
+"sólamente a asociaciones uno-a-muchos, e indica que la operación "
+"<literal>delete()</literal> debe aplicarse a cualquier objeto hijo que se "
+"elimine de la asociación."
 
 #. Tag: para
-#: session_api.xml:967
 #, no-c-format
 msgid "Recommendations:"
 msgstr "Recomendaciones:"
 
 #. Tag: para
-#: session_api.xml:973
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It does not usually make sense to enable cascade on a <literal>&lt;many-to-"
 "one&gt;</literal> or <literal>&lt;many-to-many&gt;</literal> association. "
 "Cascade is often useful for <literal>&lt;one-to-one&gt;</literal> and "
 "<literal>&lt;one-to-many&gt;</literal> associations."
 msgstr ""
-"Usualmente no tiene sentido habilitar el tratamiento en cascada a una "
-"asociaci&#x00f3;n <literal>&lt;many-to-one&gt;</literal> o <literal>&lt;many-"
-"to-many&gt;</literal>. El tratamiento en cascada es frecuentemente &#x00fa;"
-"til para las asociaciones <literal>&lt;one-to-one&gt;</literal> y "
-"<literal>&lt;one-to-many&gt;</literal>. associations."
+"Usualmente no tiene sentido habilitar el tratamiento en cascada en una "
+"asociación <literal>&lt;many-to-one&gt;</literal> o <literal>&lt;many-to-"
+"many&gt;</literal>. El tratamiento en cascada es frecuentemente útil para "
+"las asociaciones <literal>&lt;one-to-one&gt;</literal> y <literal>&lt;one-to-"
+"many&gt;</literal>."
 
 #. Tag: para
-#: session_api.xml:981
 #, no-c-format
 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&#x00e1; ligada a la "
-"eesperanza de vida del objeto padre, h&#x00e1;zlo un <emphasis>objeto de "
-"ciclo de vida</emphasis> especificando <literal>cascade=\"all,delete-orphan"
-"\"</literal>."
+"Si el periodo de vida de los objetos hijos está ligado al periodo de vida "
+"del objeto padre, hágalo un <emphasis>objeto de ciclo de vida</emphasis> "
+"especificando <literal>cascade=\"all,delete-orphan\"</literal>. "
 
 #. Tag: para
-#: session_api.xml:988
 #, no-c-format
 msgid ""
 "Otherwise, you might not need cascade at all. But if you think that you will "
@@ -2305,14 +1484,13 @@
 "transaction, and you want to save yourself some typing, consider using "
 "<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&#x00e1;s trabajando frecuentemente con padre e "
-"hijos juntos en la misma transacci&#x00f3;n, y quieres ahorrarte algo de "
-"tipeo, considera usar <literal>cascade=\"persist,merge,save-update\"</"
-"literal>."
+"En otro caso, puede que usted no necesite tratamiento en cascada en "
+"absoluto. Pero si piensa que va a estar trabajando frecuentemente con padre "
+"e hijos juntos en la misma transacción, y quiere ahorrarse algo de escritura "
+"en computador, considere el utilizar <literal>cascade=\"persist,merge,save-"
+"update\"</literal>."
 
 #. Tag: para
-#: session_api.xml:996
 #, no-c-format
 msgid ""
 "Mapping an association (either a single valued association, or a collection) "
@@ -2320,15 +1498,14 @@
 "<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&#x00f3;n (ya sea una asociaci&#x00f3;n monovaluada, o "
-"una colecci&#x00f3;n) con <literal>cascade=\"all\"</literal> marca la "
-"asociaci&#x00f3;n como una relaci&#x00f3;n del estilo <emphasis>padre/hijo</"
-"emphasis> donde save/update/delete en el padre resulta en save/update/delete "
-"del hijo o hijos."
+"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> en donde guardar/actualizar/"
+"borrar (save/update/delete) el padre causa el guardar/actualizar/borrar del "
+"hijo o hijos."
 
 #. Tag: para
-#: session_api.xml:1002
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Furthermore, a mere reference to a child from a persistent parent will "
 "result in save/update of the child. This metaphor is incomplete, however. A "
@@ -2338,49 +1515,44 @@
 "literal>. The precise semantics of cascading operations for a parent/child "
 "relationship are as follows:"
 msgstr ""
-"Adem&#x00e1;s, una mera referencia a un hijo desde un padre persistente "
-"resultar&#x00e1; en un save/update del hijo. Esta met&#x00e1;fora "
-"est&#x00e1; incompleta, sin embargo. Un hijo que deje de ser referenciado "
-"por su padre <emphasis>no</emphasis> es borrado autom&#x00e1;ticamente, "
-"excepto en el caso de una asociaci&#x00f3;n <literal>&lt;one-to-many&gt;</"
-"literal> mapeada con <literal>cascade=\"delete-orphan\"</literal>. La "
-"sem&#x00e1;ntica precisa de las operaciones en cascada para una "
-"relaci&#x00f3;n padre/hijo es:"
+"Además, una mera referencia a un hijo desde un padre persistente hará que se "
+"guarde/actualice el hijo. Sin embargo, esta metáfora se encuentra "
+"incompleta. Un hijo que deje de ser referenciado por su padre <emphasis>no</"
+"emphasis> es borrado automáticamente, excepto en el caso de una asociación "
+"<literal>&lt;one-to-many&gt;</literal> mapeada con <literal>cascade=\"delete-"
+"orphan\"</literal>. La semántica precisa de las operaciones en cascada para "
+"una relación padre/hijo es la siguiente:"
 
 #. Tag: para
-#: session_api.xml:1013
 #, no-c-format
 msgid ""
 "If a parent is passed to <literal>persist()</literal>, all children are "
 "passed to <literal>persist()</literal>"
 msgstr ""
-"Si un padre le es pasado a <literal>persist()</literal>, todos los hijos le "
-"son pasados a <literal>persist()</literal>"
+"Si un padre pasa a <literal>persist()</literal>, se pasan todos los hijos a "
+"<literal>persist()</literal>"
 
 #. Tag: para
-#: session_api.xml:1019
 #, no-c-format
 msgid ""
 "If a parent is passed to <literal>merge()</literal>, all children are passed "
 "to <literal>merge()</literal>"
 msgstr ""
-"Si un padre le es pasado a <literal>merge()</literal>, todos los hijos le "
-"son pasados a <literal>merge()</literal>"
+"Si un padre pasa a <literal>merge()</literal>, se pasan todos los hijos a "
+"<literal>merge()</literal>"
 
 #. Tag: para
-#: session_api.xml:1025
 #, no-c-format
 msgid ""
 "If a parent is passed to <literal>save()</literal>, <literal>update()</"
 "literal> or <literal>saveOrUpdate()</literal>, all children are passed to "
 "<literal>saveOrUpdate()</literal>"
 msgstr ""
-"Si un padre le es pasado a <literal>save()</literal>, <literal>update()</"
-"literal> o <literal>saveOrUpdate()</literal>, todos los hijos le son pasados "
-"a <literal>saveOrUpdate()</literal>"
+"Si se pasa un padre a <literal>save()</literal>, <literal>update()</literal> "
+"o <literal>saveOrUpdate()</literal>, todos los hijos pasan a "
+"<literal>saveOrUpdate()</literal>"
 
 #. Tag: para
-#: session_api.xml:1031
 #, no-c-format
 msgid ""
 "If a transient or detached child becomes referenced by a persistent parent, "
@@ -2390,17 +1562,13 @@
 "persistente, le es pasado a <literal>saveOrUpdate()</literal>"
 
 #. Tag: para
-#: session_api.xml:1037
 #, no-c-format
 msgid ""
 "If a parent is deleted, all children are passed to <literal>delete()</"
 "literal>"
-msgstr ""
-"Si un padre es borrado, todos los hijos le son pasados a <literal>delete()</"
-"literal>"
+msgstr "Si se borra un padre, se pasan todos los hijos a <literal>delete()</literal>"
 
 #. Tag: para
-#: session_api.xml:1042
 #, no-c-format
 msgid ""
 "If a child is dereferenced by a persistent parent, <emphasis>nothing special "
@@ -2409,14 +1577,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&#x00f3;n debe borrar "
-"expl&#x00ed;citamente el hijo de ser necesario - a menos que "
-"<literal>cascade=\"delete-orphan\"</literal>, en cuyo caso el hijo "
-"\"hu&#x00e9;rfano\" es borrado."
+"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 se borra el hijo \"huérfano\"."
 
 #. Tag: para
-#: session_api.xml:1051
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
@@ -2425,22 +1591,22 @@
 "<literal>delete-orphan</literal> are transitive for all associated entities "
 "reachable during flush of the <literal>Session</literal>."
 msgstr ""
-"UNTRANSLATED!!! 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 operations, if enabled, are cascaded to associated "
-"entities reachable when the operation is executed. However, <literal>save-"
-"upate</literal> and <literal>delete-orphan</literal> are transitive for all "
-"associated entities reachable during flush of the <literal>Session</literal>."
+"Finalmente, note que las operaciones en cascadas se pueden aplicar a un "
+"grafo de objeto en <emphasis>tiempo de llamada</emphasis> o en "
+"<emphasis>tiempo de vaciado</emphasis>. Todas las operaciones, si se "
+"encuentran activadas se tratan en cascadas en entidades asociadas "
+"alcanzables cuando se ejecuta la operación. Sin embargo, <literal>save-"
+"upate</literal> y <literal>delete-orphan</literal> son transitivos para "
+"todas las entidades asociadas alcanzables durante el vaciado de la "
+"<literal>Session</literal>."
 
 #. Tag: title
-#: session_api.xml:1063
 #, no-c-format
 msgid "Using metadata"
-msgstr "Usando metadatos"
+msgstr "Utilización de metadatos"
 
 #. Tag: para
-#: session_api.xml:1065
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate requires a rich meta-level model of all entity and value types. "
 "This model can be useful to the application itself. For example, the "
@@ -2450,67 +1616,23 @@
 "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 &#x00fa;til "
-"para la aplicaci&#x00f3;n misma. Por ejemplo, la aplicaci&#x00f3;n "
-"podr&#x00ed;a usar los metadatos de Hibernate para implementar un algoritmo "
-"\"inteligente\" de copia en profundidad que entienda qu&#x00e9; objetos "
-"deben ser copiados (por ejemplo, tipo de valor mutables) y cu&#x00e1;les no "
-"(por ejemplo, tipos de valor inmutables y, posiblemente, entidades "
-"asociadas)."
+"entidades y tipos de valor. Este modelo puede ser útil para la aplicación "
+"misma. Por ejemplo, la aplicación podría utilizar los metadatos de Hibernate "
+"para implementar un algoritmo \"inteligente\" de copia en profundidad que "
+"entienda qué objetos deben ser copiados (por ejemplo, tipos de valor "
+"mutables) y cuáles no (por ejemplo, tipos de valor inmutables y posiblemente "
+"las entidades asociadas)."
 
 #. Tag: para
-#: session_api.xml:1072
-#, fuzzy, no-c-format
+#, no-c-format
 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 can be obtained "
 "from the <literal>SessionFactory</literal>."
 msgstr ""
-"Hibernate expone los metadatos v&#x00ed;a las interfaces "
+"Hibernate expone los metadatos por medio de las interfaces "
 "<literal>ClassMetadata</literal> y <literal>CollectionMetadata</literal> y "
-"la jerarqu&#x00ed;a <literal>Type</literal>. Las instancias de las "
-"interfaces de metadatos pueden obtenerse de <literal>SessionFactory</"
-"literal>."
+"la jerarquía <literal>Type</literal>. Las instancias de las interfaces de "
+"metadatos se pueden obtener de la <literal>SessionFactory</literal>."
 
-#. Tag: programlisting
-#: session_api.xml:1079
-#, no-c-format
-msgid ""
-"<![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"
-"}]]>"
-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 "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/toolset_guide.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/toolset_guide.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/toolset_guide.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,59 +1,68 @@
-#, fuzzy
+# translation of toolset_guide.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: toolset_guide\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-10 21:02+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-01-08T04:07:20\n"
+"PO-Revision-Date: 2010-01-05 07:51+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: toolset_guide.xml:29
 #, no-c-format
 msgid "Toolset Guide"
-msgstr "Gu&#x00ed;a del Conjunto de Herramientas"
+msgstr "Manual del conjunto de herramientas"
 
 #. Tag: para
-#: toolset_guide.xml:31
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Roundtrip engineering with Hibernate is possible using a set of Eclipse "
 "plugins, commandline tools, and Ant tasks."
 msgstr ""
-"La ingenier&#x00ed;a de ida y vuelta con Hibernate es posible usando un "
-"conjunto de plugins de Eclipse, herramientas de l&#x00ed;nea de comandos, "
-"as&#x00ed; como tareas de Ant."
+"La ingeniería compatible con Hibernate es posible utilizando un conjunto de "
+"plugins de Eclipse, herramientas de la línea de comandos así como tareas Ant."
 
 #. Tag: para
-#: toolset_guide.xml:36
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<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&#x00ed; como tareas de Ant para la "
-"ingenier&#x00ed;a inversa de bases de datos existentes:"
+"Las <emphasis>herramientas de Hibernate</emphasis> actualmente incluyen "
+"plugins la IDE de Eclipse así como tareas Ant para la ingeniería inversa de "
+"bases de datos existentes:"
 
 #. Tag: para
-#: toolset_guide.xml:42
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Mapping Editor:</emphasis> an editor for Hibernate XML mapping "
 "files that supports auto-completion and syntax highlighting. It also "
 "supports semantic auto-completion for class names and property/field names, "
 "making it more versatile than a normal XML editor."
 msgstr ""
-"<emphasis>Editor de Mapeo:</emphasis> Un editor de ficheros de mapeo XML, "
-"que soporta autocompleci&#x00f3;n y resaltado de sint&#x00e1;xis. Soporta "
-"tambi&#x00e9;n autocompleci&#x00f3;n sem&#x00e1;ntica de nombres de clases y "
-"nombres de campos/propiedades, haci&#x00e9;ndolo mucho m&#x00e1;s "
-"vers&#x00e1;til que un editor de XML normal."
+"<emphasis>Editor de Mapeo:</emphasis> Un editor de archivos de mapeo XML que "
+"soporta autocompleción y resaltado de sintáxis. También soporta la "
+"autocompleción semántica de nombres de clases y nombres de campos/"
+"propiedades, haciéndolo mucho más versátil que un editor normal de XML."
 
 #. Tag: para
-#: toolset_guide.xml:47
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Console:</emphasis> the console is a new view in Eclipse. In "
 "addition to a tree overview of your console configurations, you are also "
@@ -62,14 +71,13 @@
 "database and browse the result directly in Eclipse."
 msgstr ""
 "<emphasis>Consola:</emphasis> La consola es una nueva vista en Eclipse. "
-"Adem&#x00e1;s de la vista de &#x00e1;rbol de tus configuraciones de consola, "
-"tienes tambi&#x00e9;n una vista interactiva de tus clases persistentes y sus "
-"relaciones. La console te permite ejecutar consultas HQL contra tu base de "
-"datos y navegar el resultado directamente en Eclipse."
+"Además de la vista de árbol de sus configuraciones de la consola, también "
+"tiene una vista interactiva de sus clases persistentes y sus relaciones. La "
+"consola le permite ejecutar consultas HQL en su base de datos y navegar el "
+"resultado directamente en Eclipse."
 
 #. Tag: para
-#: toolset_guide.xml:54
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Development Wizards:</emphasis> several wizards are provided with "
 "the Hibernate Eclipse tools. You can use a wizard to quickly generate "
@@ -77,280 +85,169 @@
 "database schema into POJO source files and Hibernate mapping files. The "
 "reverse engineering wizard supports customizable templates."
 msgstr ""
-"<emphasis>Asistentes de Desarrollo:</emphasis> Se proveen muchos asistentes "
-"con las herramientas de Eclipse. Puedes usar un asistente para generar "
-"r&#x00e1;pidamente ficheros de configuraci&#x00f3;n de Hibernate (cfg.xml), "
-"o incluso puedes haceruna ingenier&#x00ed;a inversa completa de un esquema "
-"de base de datos existente en ficheros de c&#x00f3;digo de POJO y ficheros "
-"de mapeo de Hibernate. El asistente de ingenier&#x00ed;a inversa soporta "
-"plantillas personalizables."
+"<emphasis>Asistentes de desarrollo:</emphasis> Se proporcionan muchos "
+"asistentes junto con las herramientas Eclipse de Hibernate. Puede utilizar "
+"un asistente para generar rápidamente los archivos de configuración de "
+"Hibernate (cfg.xml), o incluso puede realizar una ingeniería inversa "
+"completa de un esquema de la base de datos existente en los archivos de "
+"código fuente de POJO y los archivos de mapeo de Hibernate. El asistente de "
+"ingeniería inversa soporta plantillas personalizables."
 
 #. Tag: para
-#: toolset_guide.xml:67
-#, fuzzy, no-c-format
+#, no-c-format
+msgid "<!-- <emphasis>Ant Tasks:</emphasis> -->"
+msgstr "<!-- <emphasis>Tareas Ant:</emphasis> -->"
+
+#. Tag: para
+#, no-c-format
 msgid ""
 "Please refer to the <emphasis>Hibernate Tools</emphasis> package "
 "documentation for more information."
 msgstr ""
-"Por favor refi&#x00e9;rete al paquete <emphasis>Herramientas de Hibernate</"
-"emphasis> y su documentaci&#x00f3;n para m&#x00e1;s informaci&#x00f3;n."
+"Por favor refiérase al paquete de documentación de las "
+"<emphasis>Herramientas de Hibernate</emphasis> para obtener más información."
 
 #. Tag: para
-#: toolset_guide.xml:72
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "However, the Hibernate main package comes bundled with an integrated tool : "
 "<emphasis>SchemaExport</emphasis> aka <literal>hbm2ddl</literal>.It can even "
 "be used from \"inside\" Hibernate."
 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&#x00e9;n conocido como "
-"<literal>hbm2ddl</literal>."
+"Sin embargo, el paquete principal de Hibernate viene con una herramienta "
+"integrada: <emphasis>SchemaExport</emphasis> también conocida como "
+"<literal>hbm2ddl</literal>. Incluso se puede utilizar \"dentro\" de "
+"Hibernate."
 
 #. Tag: title
-#: toolset_guide.xml:79
 #, no-c-format
 msgid "Automatic schema generation"
-msgstr "Generaci&#x00f3;n autom&#x00e1;tica de esquemas"
+msgstr "Generación automática de esquemas"
 
 #. Tag: para
-#: toolset_guide.xml:81
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "DDL can be generated from your mapping files by a Hibernate utility. The "
 "generated schema includes referential integrity constraints, primary and "
 "foreign keys, for entity and collection tables. Tables and sequences are "
 "also created for mapped identifier generators."
 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&#x00e1;neas) para las tablas de entidades y colecciones. Las "
-"tablas y secuencias tambi&#x00e9;n son creadas para los generadores de "
-"identificadores mapeados."
+"Una de las funciones de Hibernate puede generar DDL desde sus archivos de "
+"mapeo. El esquema generado incluye restricciones de integridad referencial, "
+"claves principales y foráneas, para las tablas de entidades y colecciones. "
+"También se creen tablas y secuencias para los generadores de identificadores "
+"mapeados."
 
 #. Tag: para
-#: toolset_guide.xml:88
-#, fuzzy, no-c-format
+#, no-c-format
 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&#x00ed;a la propiedad <literal>hibernate.dialect</literal> al usar esta "
-"herramienta, ya que el DDL es altamente espec&#x00ed;fico del vendedor."
+"<emphasis>Tiene</emphasis> que especificar un <literal>Dialecto</literal> "
+"SQL por medio de la propiedad <literal>hibernate.dialect</literal> al usar "
+"esta herramienta, ya que el DDL es altamente específico de acuerdo con el "
+"vendedor."
 
 #. Tag: para
-#: toolset_guide.xml:94
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "First, you must customize your mapping files to improve the generated "
 "schema. The next section covers schema customization."
-msgstr "First, customize your mapping files to improve the generated schema."
+msgstr ""
+"Primero, debe personazar sus archivos de mapeo para mejorar el esquema "
+"generado. La siguiente sección aborda la personalización del esquema. "
 
 #. Tag: title
-#: toolset_guide.xml:99
 #, no-c-format
 msgid "Customizing the schema"
-msgstr "Personalizando el esquema"
+msgstr "Personalización del esquema"
 
 #. Tag: para
-#: toolset_guide.xml:101
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Many Hibernate mapping elements define optional attributes named "
 "<literal>length</literal>, <literal>precision</literal> and <literal>scale</"
 "literal>. You can set the length, precision and scale of a column with this "
 "attribute."
 msgstr ""
-"Muchos elementos de mapeo de Hibernate definen un atributo opcional llamado "
-"<literal>length</literal>. Con este atributo puedes establecer el "
-"tama&#x00f1;o de una columna. (O, para tipos de datos num&#x00e9;ricos/"
-"decimales, la precisi&#x00f3;n.)"
+"Muchos elementos de mapeo de Hibernate definen atributos opcionales "
+"denominados <literal>length</literal>, <literal>precision</literal> y "
+"<literal>scale</literal>. Con estos atributos puede establecer el tamaño, la "
+"precisión y la escala de una columna."
 
-#. Tag: programlisting
-#: toolset_guide.xml:108
-#, no-c-format
-msgid "<![CDATA[<property name=\"zip\" length=\"5\"/>]]>"
-msgstr "<![CDATA[<property name=\"zip\" length=\"5\"/>]]>"
-
-#. Tag: programlisting
-#: toolset_guide.xml:109
-#, no-c-format
-msgid "<![CDATA[<property name=\"balance\" precision=\"12\" scale=\"2\"/>]]>"
-msgstr "<![CDATA[<property name=\"balance\" precision=\"12\" scale=\"2\"/>]]>"
-
 #. Tag: para
-#: toolset_guide.xml:111
-#, fuzzy, no-c-format
+#, no-c-format
 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&#x00e9;n aceptan un atributo <literal>not-null</"
-"literal> (para generar una restricci&#x00f3;n <literal>NOT NULL</literal> en "
-"columnas de tablas) y y un atributo <literal>unique</literal> (para generar "
-"restricciones <literal>UNIQUE</literal> en columnas de tablas)."
+"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 un atributo <literal>unique</literal> para generar restricciones "
+"<literal>UNIQUE</literal> en columnas de tablas."
 
-#. Tag: programlisting
-#: toolset_guide.xml:117
+#. Tag: para
 #, no-c-format
 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:119
-#, no-c-format
-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:121
-#, fuzzy, no-c-format
-msgid ""
 "A <literal>unique-key</literal> attribute can be used to group columns in a "
 "single, unique key constraint. Currently, the specified value of the "
 "<literal>unique-key</literal> attribute is <emphasis>not</emphasis> used to "
 "name the constraint in the generated DDL. It is only used to group the "
 "columns in the mapping file."
 msgstr ""
-"A <literal>unique-key</literal> attribute may be used to group columns in a "
-"single unique key constraint. Currently, the specified value of the "
-"<literal>unique-key</literal> attribute is <emphasis>not</emphasis> used to "
-"name the constraint in the generated DDL, only to group the columns in the "
-"mapping file."
+"Se puede usar un atributo <literal>unique-key</literal> para agrupar "
+"columnas en una restricción de clave única. Actualmente, el valor "
+"especificado del atributo <literal>unique-key</literal><emphasis>no</"
+"emphasis> se utiliza para nombrar la restricción en el DDL generado. "
+"Sólamente se utiliza para agrupar las columnas en el archivo de mapeo."
 
-#. Tag: programlisting
-#: toolset_guide.xml:129
+#. Tag: para
 #, no-c-format
 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:131
-#, fuzzy, no-c-format
-msgid ""
 "An <literal>index</literal> attribute specifies the name of an index that "
 "will be created using the mapped column or columns. Multiple columns can be "
 "grouped into the same index by simply specifying the same index name."
 msgstr ""
-"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 "
-"grouped into the same index, simply by specifying the same index name."
+"Un atributo <literal>index</literal> especifica el nombre de un índice que "
+"se creará utilizando la columa o las columnas mapeadas. Se pueden ser "
+"agrupar múltiples columnas bajo el mismo índice, simplemente especificando "
+"el mismo nombre de índice. "
 
-#. Tag: programlisting
-#: toolset_guide.xml:137
+#. Tag: para
 #, no-c-format
 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:139
-#, fuzzy, no-c-format
-msgid ""
 "A <literal>foreign-key</literal> attribute can be used to override the name "
 "of any generated foreign key constraint."
 msgstr ""
-"A <literal>foreign-key</literal> attribute may be used to override the name "
-"of any generated foreign key constraint."
+"Un atributo <literal>foreign-key</literal> se puede utilizar para "
+"sobreescribir el nombre de cualquier restricción de clave foránea generada."
 
-#. Tag: programlisting
-#: toolset_guide.xml:144
-#, no-c-format
-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:146
 #, no-c-format
 msgid ""
 "Many mapping elements also accept a child <literal>&lt;column&gt;</literal> "
 "element. This is particularly useful for mapping multi-column types:"
 msgstr ""
-"Many mapping elements also accept a child <literal>&lt;column&gt;</literal> "
-"element. This is particularly useful for mapping multi-column types:"
+"Muchos elementos de mapeo también aceptan un elemento <literal>&lt;column&gt;"
+"</literal> hijo. Esto es particularmente útil para mapear tipos de multi-"
+"columna:"
 
-#. Tag: programlisting
-#: toolset_guide.xml:151
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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>]]>"
-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:153
-#, fuzzy, no-c-format
-msgid ""
 "The <literal>default</literal> attribute allows you to specify a default "
 "value for a column.You should assign the same value to the mapped property "
 "before saving a new instance of the mapped class."
 msgstr ""
-"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 "
-"saving a new instance of the mapped class)."
+"El atributo <literal>default</literal> le permite especificar un valor por "
+"defecto para una columna. Usted le debe asignar el mismo valor a la "
+"propiedad mapeada antes de guardar una nueva instancia de la clase mapeada."
 
-#. Tag: programlisting
-#: toolset_guide.xml:159
-#, no-c-format
-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:161
-#, no-c-format
-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:163
 #, no-c-format
 msgid ""
 "The <literal>sql-type</literal> attribute allows the user to override the "
@@ -359,209 +256,141 @@
 "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:168
-#, no-c-format
-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:170
 #, no-c-format
 msgid ""
 "The <literal>check</literal> attribute allows you to specify a check "
 "constraint."
 msgstr ""
-"El atributo <literal>check</literal> te permite especificar una "
-"comprobaci&#x00f3;n de restricci&#x00f3;n."
+"El atributo <literal>check</literal> le permite especificar una comprobación "
+"de restricción."
 
-#. Tag: programlisting
-#: toolset_guide.xml:174
-#, no-c-format
-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:176
-#, no-c-format
-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: para
-#: toolset_guide.xml:179
 #, no-c-format
 msgid "The following table summarizes these optional attributes."
-msgstr ""
+msgstr "La siguiente tabla resume estos atributos opcionales. "
 
 #. Tag: title
-#: toolset_guide.xml:182
 #, no-c-format
 msgid "Summary"
 msgstr "Resumen"
 
-#. Tag: entry
-#: toolset_guide.xml:189
+#. Tag: para
 #, no-c-format
 msgid "Attribute"
 msgstr "Atributo"
 
-#. Tag: entry
-#: toolset_guide.xml:190
+#. Tag: para
 #, no-c-format
 msgid "Values"
 msgstr "Valores"
 
-#. Tag: entry
-#: toolset_guide.xml:191
+#. Tag: para
 #, no-c-format
 msgid "Interpretation"
-msgstr "Interpretaci&#x00f3;n"
+msgstr "Interpretación"
 
-#. Tag: literal
-#: toolset_guide.xml:196
+#. Tag: para
 #, no-c-format
-msgid "length"
-msgstr "length"
+msgid "<literal>length</literal>"
+msgstr "<literal>length</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:197 toolset_guide.xml:202 toolset_guide.xml:207
+#. Tag: para
 #, no-c-format
 msgid "number"
-msgstr "number"
+msgstr "número"
 
-#. Tag: entry
-#: toolset_guide.xml:198
+#. Tag: para
 #, no-c-format
 msgid "column length"
-msgstr "largo de columna/precisi&#x00f3;n decimal"
+msgstr "longitud de columna/precisión decimal"
 
-#. Tag: literal
-#: toolset_guide.xml:201
+#. Tag: para
 #, no-c-format
-msgid "precision"
-msgstr "precision"
+msgid "<literal>precision</literal>"
+msgstr "<literal>precision</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:203
+#. Tag: para
 #, no-c-format
 msgid "column decimal precision"
-msgstr "column decimal precision"
+msgstr "precisión decimal de columna"
 
-#. Tag: literal
-#: toolset_guide.xml:206
+#. Tag: para
 #, no-c-format
-msgid "scale"
-msgstr "scale"
+msgid "<literal>scale</literal>"
+msgstr "<literal>scale</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:208
+#. Tag: para
 #, no-c-format
 msgid "column decimal scale"
-msgstr "column decimal scale"
+msgstr "escala decimal de columna"
 
-#. Tag: literal
-#: toolset_guide.xml:211
+#. Tag: para
 #, no-c-format
-msgid "not-null"
-msgstr "not-null"
+msgid "<literal>not-null</literal>"
+msgstr "<literal>not-null</literal>"
 
-#. Tag: literal
-#: toolset_guide.xml:212 toolset_guide.xml:217
+#. Tag: para
 #, no-c-format
-msgid "true|false"
-msgstr "true|false"
+msgid "<literal>true|false</literal>"
+msgstr "<literal>true|false</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:213
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid "specifies that the column should be non-nullable"
-msgstr "especifica que la columna debe ser no nulable"
+msgstr "especifica que la columna debe ser sin nulos"
 
-#. Tag: literal
-#: toolset_guide.xml:216
+#. Tag: para
 #, no-c-format
-msgid "unique"
-msgstr "unique"
+msgid "<literal>unique</literal>"
+msgstr "<literal>unique</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:218
+#. Tag: para
 #, no-c-format
 msgid "specifies that the column should have a unique constraint"
-msgstr ""
-"especifica que la columna debe tener una restricci&#x00f3;n de unicidad"
+msgstr "especifica que la columna debe tener una restricción de unicidad"
 
-#. Tag: literal
-#: toolset_guide.xml:221
+#. Tag: para
 #, no-c-format
-msgid "index"
-msgstr "index"
+msgid "<literal>index</literal>"
+msgstr "<literal>index</literal>"
 
-#. Tag: literal
-#: toolset_guide.xml:222
+#. Tag: para
 #, no-c-format
-msgid "index_name"
-msgstr "index_name"
+msgid "<literal>index_name</literal>"
+msgstr "<literal>index_name</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:223
+#. Tag: para
 #, no-c-format
 msgid "specifies the name of a (multi-column) index"
-msgstr "especifica el nombre de un &#x00ed;ndice (multicolumna)"
+msgstr "especifica el nombre de un índice (multicolumna)"
 
-#. Tag: literal
-#: toolset_guide.xml:226
+#. Tag: para
 #, no-c-format
-msgid "unique-key"
-msgstr "unique-key"
+msgid "<literal>unique-key</literal>"
+msgstr "<literal>unique-key</literal>"
 
-#. Tag: literal
-#: toolset_guide.xml:227
+#. Tag: para
 #, no-c-format
-msgid "unique_key_name"
-msgstr "unique_key_name"
+msgid "<literal>unique_key_name</literal>"
+msgstr "<literal>unique_key_name</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:228
+#. Tag: para
 #, no-c-format
 msgid "specifies the name of a multi-column unique constraint"
-msgstr ""
-"especifica el nombre de una restricci&#x00f3;n de unicidad multicolumna"
+msgstr "especifica el nombre de una restricción de unicidad multicolumna"
 
-#. Tag: literal
-#: toolset_guide.xml:231
+#. Tag: para
 #, no-c-format
-msgid "foreign-key"
-msgstr "foreign-key"
+msgid "<literal>foreign-key</literal>"
+msgstr "<literal>foreign-key</literal>"
 
-#. Tag: literal
-#: toolset_guide.xml:232
+#. Tag: para
 #, no-c-format
-msgid "foreign_key_name"
-msgstr "foreign_key_name"
+msgid "<literal>foreign_key_name</literal>"
+msgstr "<literal>foreign_key_name</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:233
+#. Tag: para
 #, no-c-format
 msgid ""
 "specifies the name of the foreign key constraint generated for an "
@@ -570,601 +399,403 @@
 "to-many&gt;</literal> mapping element. Note that <literal>inverse=\"true\"</"
 "literal> sides will not be considered by <literal>SchemaExport</literal>."
 msgstr ""
-"especifica el nombre de la restricci&#x00f3;n de clave for&#x00e1;nea "
-"generada por una asociaci&#x00f3;n, &#x00fa;salo e <literal>&lt;one-to-"
-"one&gt;</literal>, <literal>&lt;many-to-one&gt;</literal>, <literal>&lt;"
-"key&gt;</literal>, or <literal>&lt;many-to-many&gt;</literal> . Nota que los "
-"lados <literal>inverse=\"true\"</literal> no ser&#x00e1;n considerados por "
-"<literal>SchemaExport</literal>."
+"especifica el nombre de la restricción de clave foránea generada por una "
+"asociación, para un elemento de mapeo <literal>&lt;one-to-one&gt;</literal>, "
+"<literal>&lt;many-to-one&gt;</literal>, <literal>&lt;key&gt;</literal>, o "
+"<literal>&lt;many-to-many&gt;</literal>. Observe que <literal>SchemaExport</"
+"literal> no considerará los lados <literal>inverse=\"true\"</literal>."
 
-#. Tag: literal
-#: toolset_guide.xml:243
+#. Tag: para
 #, no-c-format
-msgid "sql-type"
-msgstr "sql-type"
+msgid "<literal>sql-type</literal>"
+msgstr "<literal>sql-type</literal>"
 
-#. Tag: literal
-#: toolset_guide.xml:244
+#. Tag: para
 #, no-c-format
-msgid "SQL column type"
-msgstr "column_type"
+msgid "<literal>SQL column type</literal>"
+msgstr "<literal>SQL column type</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:245
+#. Tag: para
 #, no-c-format
 msgid ""
 "overrides the default column type (attribute of <literal>&lt;column&gt;</"
 "literal> element only)"
 msgstr ""
-"sobrescribe el tipo de columna por defecto (s&#x00f3;lo atributo del "
+"sobrescribe el tipo de columna por defecto (sólamente el atributo del "
 "elemento <literal>&lt;column&gt;</literal>)"
 
-#. Tag: literal
-#: toolset_guide.xml:251
+#. Tag: para
 #, no-c-format
-msgid "default"
-msgstr "default"
+msgid "<literal>default</literal>"
+msgstr "<literal>default</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:252 toolset_guide.xml:259
+#. Tag: para
 #, no-c-format
 msgid "SQL expression"
-msgstr "SQL expression"
+msgstr "expresión SQL"
 
-#. Tag: entry
-#: toolset_guide.xml:253
+#. Tag: para
 #, no-c-format
 msgid "specify a default value for the column"
-msgstr "specify a default value for the column"
+msgstr "especifica un valor predeterminado para la columna"
 
-#. Tag: literal
-#: toolset_guide.xml:258
+#. Tag: para
 #, no-c-format
-msgid "check"
-msgstr "check"
+msgid "<literal>check</literal>"
+msgstr "<literal>check</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:260
+#. Tag: para
 #, no-c-format
 msgid "create an SQL check constraint on either column or table"
-msgstr ""
-"crea una restricci&#x00f3;n de comprobaci&#x00f3;n SQL en columna o tabla"
+msgstr "crea una restricción de comprobación SQL en columna o tabla"
 
 #. Tag: para
-#: toolset_guide.xml:268
 #, no-c-format
 msgid ""
 "The <literal>&lt;comment&gt;</literal> element allows you to specify "
 "comments for the generated schema."
 msgstr ""
-"El elemento <literal>&lt;comment&gt;</literal> te permite especificar un "
+"El elemento <literal>&lt;comment&gt;</literal> le permite especificar un "
 "comentario para el esquema generado."
 
-#. Tag: programlisting
-#: toolset_guide.xml:273
+#. Tag: para
 #, no-c-format
 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:275
-#, no-c-format
-msgid ""
-"<![CDATA[<property name=\"balance\">\n"
-"    <column name=\"bal\">\n"
-"        <comment>Balance in USD</comment>\n"
-"    </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:277
-#, fuzzy, no-c-format
-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&#x00e9; "
-"soportado)."
+"Esto da como resultado una declaración <literal>comment on table</literal> o "
+"<literal>comment on column</literal> en el DDL generado, donde se encuentre "
+"soportado."
 
 #. Tag: title
-#: toolset_guide.xml:286
 #, no-c-format
 msgid "Running the tool"
-msgstr "Ejecutando la herramienta"
+msgstr "Ejecución de la herramienta"
 
 #. Tag: para
-#: toolset_guide.xml:288
 #, no-c-format
 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&#x00f3;n DDL a "
-"la salida est&#x00e1;ndar y/o ejecuta las sentencias DDL."
+"La herramienta <literal>SchemaExport</literal> escribe un script DDL a la "
+"salida estándar y/o ejecuta las declaraciones DDL."
 
 #. Tag: para
-#: toolset_guide.xml:293
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The following table displays the <literal>SchemaExport</literal> command "
 "line options"
 msgstr ""
-"Opciones de L&#x00ed;nea de Comandos de <literal>SchemaExport</literal>"
+"La siguiente tabla presenta las opciones de la línea de comandos de "
+"<literal>SchemaExport</literal>"
 
 #. Tag: para
-#: toolset_guide.xml:295
 #, no-c-format
 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>"
+"<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> "
+"<literal>org.hibernate.tool.hbm2ddl.SchemaExport</literal> <emphasis>options "
+"mapping_files</emphasis>"
 
 #. Tag: title
-#: toolset_guide.xml:301
 #, no-c-format
 msgid "<literal>SchemaExport</literal> Command Line Options"
-msgstr ""
-"Opciones de L&#x00ed;nea de Comandos de <literal>SchemaExport</literal>"
+msgstr "Opciones de Línea de Comandos de <literal>SchemaExport</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:307 toolset_guide.xml:457 toolset_guide.xml:526
+#. Tag: para
 #, no-c-format
 msgid "Option"
-msgstr "Opci&#x00f3;n"
+msgstr "Opción"
 
-#. Tag: entry
-#: toolset_guide.xml:308 toolset_guide.xml:395 toolset_guide.xml:458
-#: toolset_guide.xml:527
+#. Tag: para
 #, no-c-format
 msgid "Description"
-msgstr "Descripci&#x00f3;n"
+msgstr "Descripción"
 
-#. Tag: literal
-#: toolset_guide.xml:313 toolset_guide.xml:463
+#. Tag: para
 #, no-c-format
-msgid "--quiet"
-msgstr "--quiet"
+msgid "<literal>--quiet</literal>"
+msgstr "<literal>--quiet</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:314 toolset_guide.xml:464
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid "do not output the script to stdout"
-msgstr "no enviar a salida est&#x00e1;ndar el gui&#x00f3;n"
+msgstr "no envie el script a la salida estándar"
 
-#. Tag: literal
-#: toolset_guide.xml:317
+#. Tag: para
 #, no-c-format
-msgid "--drop"
-msgstr "--drop"
+msgid "<literal>--drop</literal>"
+msgstr "<literal>--drop</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:318
+#. Tag: para
 #, no-c-format
 msgid "only drop the tables"
-msgstr "s&#x00f3;lo desechar las tablas"
+msgstr "sólamente desechar las tablas"
 
-#. Tag: literal
-#: toolset_guide.xml:321
+#. Tag: para
 #, no-c-format
-msgid "--create"
-msgstr "--create"
+msgid "<literal>--create</literal>"
+msgstr "<literal>--create</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:322
+#. Tag: para
 #, no-c-format
 msgid "only create the tables"
-msgstr "only create the tables"
+msgstr "sólamente crear las tablas"
 
-#. Tag: literal
-#: toolset_guide.xml:325 toolset_guide.xml:467
+#. Tag: para
 #, no-c-format
-msgid "--text"
-msgstr "--text"
+msgid "<literal>--text</literal>"
+msgstr "<literal>--text</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:326
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid "do not export to the database"
-msgstr "no exportar a la base de datos"
+msgstr "no exportar a la base de datos "
 
-#. Tag: literal
-#: toolset_guide.xml:329
+#. Tag: para
 #, no-c-format
-msgid "--output=my_schema.ddl"
-msgstr "--output=my_schema.ddl"
+msgid "<literal>--output=my_schema.ddl</literal>"
+msgstr "<literal>--output=my_schema.ddl</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:330
+#. Tag: para
 #, no-c-format
 msgid "output the ddl script to a file"
-msgstr "enviar la salida del gui&#x00f3;n ddl a un fichero"
+msgstr "enviar la salida del script ddl a un archivo"
 
-#. Tag: literal
-#: toolset_guide.xml:333 toolset_guide.xml:471 toolset_guide.xml:532
+#. Tag: para
 #, no-c-format
-msgid "--naming=eg.MyNamingStrategy"
-msgstr "--naming=eg.MyNamingStrategy"
+msgid "<literal>--naming=eg.MyNamingStrategy</literal>"
+msgstr "<literal>--naming=eg.MyNamingStrategy</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:334 toolset_guide.xml:472 toolset_guide.xml:533
+#. Tag: para
 #, no-c-format
 msgid "select a <literal>NamingStrategy</literal>"
-msgstr "select a <literal>NamingStrategy</literal>"
+msgstr "seleccione un <literal>NamingStrategy</literal>"
 
-#. Tag: literal
-#: toolset_guide.xml:337 toolset_guide.xml:479 toolset_guide.xml:540
+#. Tag: para
 #, no-c-format
-msgid "--config=hibernate.cfg.xml"
-msgstr "--config=hibernate.cfg.xml"
+msgid "<literal>--config=hibernate.cfg.xml</literal>"
+msgstr "<literal>--config=hibernate.cfg.xml</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:338
+#. Tag: para
 #, no-c-format
 msgid "read Hibernate configuration from an XML file"
-msgstr "lee la configuraci&#x00f3;n de Hibernate de un fichero XML"
+msgstr "lee la configuración de Hibernate de un archivo XML"
 
-#. Tag: literal
-#: toolset_guide.xml:341 toolset_guide.xml:475 toolset_guide.xml:536
+#. Tag: para
 #, no-c-format
-msgid "--properties=hibernate.properties"
-msgstr "--properties=hibernate.properties"
+msgid "<literal>--properties=hibernate.properties</literal>"
+msgstr "<literal>--properties=hibernate.properties</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:342 toolset_guide.xml:476 toolset_guide.xml:537
+#. Tag: para
 #, no-c-format
 msgid "read database properties from a file"
-msgstr "lee las propiedades de base de datos de un fichero"
+msgstr "lee las propiedades de base de datos de un archivo"
 
-#. Tag: literal
-#: toolset_guide.xml:345
+#. Tag: para
 #, no-c-format
-msgid "--format"
-msgstr "--format"
+msgid "<literal>--format</literal>"
+msgstr "<literal>--format</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:346
+#. Tag: para
 #, no-c-format
 msgid "format the generated SQL nicely in the script"
-msgstr "formatea agradablemente el SQL generado en el gui&#x00f3;n"
+msgstr "formatea muy bien el SQL generado en el script"
 
-#. Tag: literal
-#: toolset_guide.xml:349
+#. Tag: para
 #, no-c-format
-msgid "--delimiter=;"
-msgstr "--delimiter=x"
+msgid "<literal>--delimiter=;</literal>"
+msgstr "<literal>--delimiter=;</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:350
+#. Tag: para
 #, no-c-format
 msgid "set an end of line delimiter for the script"
-msgstr "establece un delimitador de fin de l&#x00ed;nea para el gui&#x00f3;n"
+msgstr "establece un delimitador de fin de línea para el script"
 
 #. Tag: para
-#: toolset_guide.xml:356
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "You can even embed <literal>SchemaExport</literal> in your application:"
 msgstr ""
-"Puedes incluso encajar <literal>SchemaExport</literal> en tu aplicaci&#x00f3;"
-"n:"
+"Inclusive puede incluir <literal>SchemaExport</literal> en su aplicación: "
 
-#. Tag: programlisting
-#: toolset_guide.xml:360
-#, no-c-format
-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:365
 #, no-c-format
 msgid "Properties"
 msgstr "Propiedades"
 
 #. Tag: para
-#: toolset_guide.xml:367
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Database properties can be specified:"
-msgstr "Las propiedades de base de datos pueden especificarse"
+msgstr "Las propiedades de la base de datos se pueden especificar:"
 
 #. Tag: para
-#: toolset_guide.xml:373
 #, no-c-format
 msgid ""
 "as system properties with <literal>-D</literal><emphasis>&lt;property&gt;</"
 "emphasis>"
 msgstr ""
-"como propiedades de sistema con <literal>-D</literal><emphasis>&lt;"
+"como propiedades del sistema con <literal>-D</literal><emphasis>&lt;"
 "property&gt;</emphasis>"
 
 #. Tag: para
-#: toolset_guide.xml:376
 #, no-c-format
 msgid "in <literal>hibernate.properties</literal>"
 msgstr "en <literal>hibernate.properties</literal>"
 
 #. Tag: para
-#: toolset_guide.xml:379
 #, no-c-format
 msgid "in a named properties file with <literal>--properties</literal>"
 msgstr ""
-"en un fichero de propiedades mencionado con <literal>--properties</literal>"
+"en un archivo de propiedades nombrado con <literal>--properties</literal>"
 
 #. Tag: para
-#: toolset_guide.xml:383
 #, no-c-format
 msgid "The needed properties are:"
-msgstr "Las propiedades necesarias son:"
+msgstr "Las propiedades necesarias son las siguientes:"
 
 #. Tag: title
-#: toolset_guide.xml:388
 #, no-c-format
 msgid "SchemaExport Connection Properties"
-msgstr "Propiedades de Conexi&#x00f3;n de SchemaExport"
+msgstr "Propiedades de Conexión del SchemaExport"
 
-#. Tag: entry
-#: toolset_guide.xml:394
+#. Tag: para
 #, no-c-format
 msgid "Property Name"
-msgstr "Nombre de Propiedad"
+msgstr "Nombre de la Propiedad"
 
-#. Tag: literal
-#: toolset_guide.xml:400
+#. Tag: para
 #, no-c-format
-msgid "hibernate.connection.driver_class"
-msgstr "hibernate.connection.driver_class"
+msgid "<literal>hibernate.connection.driver_class</literal>"
+msgstr "<literal>hibernate.connection.driver_class</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:401
+#. Tag: para
 #, no-c-format
 msgid "jdbc driver class"
-msgstr "clase del driver jdbc"
+msgstr "clase del controlador jdbc"
 
-#. Tag: literal
-#: toolset_guide.xml:404
+#. Tag: para
 #, no-c-format
-msgid "hibernate.connection.url"
-msgstr "hibernate.connection.url"
+msgid "<literal>hibernate.connection.url</literal>"
+msgstr "<literal>hibernate.connection.url</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:405
+#. Tag: para
 #, no-c-format
 msgid "jdbc url"
 msgstr "url de jdbc"
 
-#. Tag: literal
-#: toolset_guide.xml:408
+#. Tag: para
 #, no-c-format
-msgid "hibernate.connection.username"
-msgstr "hibernate.connection.username"
+msgid "<literal>hibernate.connection.username</literal>"
+msgstr "<literal>hibernate.connection.username</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:409
+#. Tag: para
 #, no-c-format
 msgid "database user"
-msgstr "usuario de base de datos"
+msgstr "usuario de la base de datos"
 
-#. Tag: literal
-#: toolset_guide.xml:412
+#. Tag: para
 #, no-c-format
-msgid "hibernate.connection.password"
-msgstr "hibernate.connection.password"
+msgid "<literal>hibernate.connection.password</literal>"
+msgstr "<literal>hibernate.connection.password</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:413
+#. Tag: para
 #, no-c-format
 msgid "user password"
-msgstr "contrase&#x00f1;a de usuario"
+msgstr "contraseña del usuario"
 
-#. Tag: literal
-#: toolset_guide.xml:416
+#. Tag: para
 #, no-c-format
-msgid "hibernate.dialect"
-msgstr "hibernate.dialect"
+msgid "<literal>hibernate.dialect</literal>"
+msgstr "<literal>hibernate.dialect</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:417
+#. Tag: para
 #, no-c-format
 msgid "dialect"
 msgstr "dialecto"
 
 #. Tag: title
-#: toolset_guide.xml:426
 #, no-c-format
 msgid "Using Ant"
-msgstr "Usando Ant"
+msgstr "Utilización de Ant"
 
 #. Tag: para
-#: toolset_guide.xml:428
 #, no-c-format
 msgid ""
 "You can call <literal>SchemaExport</literal> from your Ant build script:"
 msgstr ""
-"Puedes llamar a <literal>SchemaExport</literal> desde tu gui&#x00f3;n de "
-"construcci&#x00f3;n de Ant:"
+"Puede llamar a <literal>SchemaExport</literal> desde su script de "
+"construcción de Ant:"
 
-#. Tag: programlisting
-#: toolset_guide.xml:432
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:437
 #, no-c-format
 msgid "Incremental schema updates"
 msgstr "Actualizaciones incrementales de esquema"
 
 #. Tag: para
-#: toolset_guide.xml:439
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>SchemaUpdate</literal> tool will update an existing schema with "
 "\"incremental\" changes. The <literal>SchemaUpdate</literal> depends upon "
 "the JDBC metadata API and, as such, will not work with all JDBC drivers."
 msgstr ""
-"La herramienta <literal>SchemaUpdate</literal> actualizar&#x00e1; un esquema "
-"existente con cambios \"incrementales\". Nota que <literal>SchemaUpdate</"
-"literal> depende fuertemente de la API de metadatos de JDBC, de modo que no "
-"funcionar&#x00e1; con todos los drivers JDBC."
+"La herramienta <literal>SchemaUpdate</literal> actualizará un esquema "
+"existente con cambios \"incrementales\". El <literal>SchemaUpdate</literal> "
+"depende de la API de metadatos de JDBC, de modo que no funcionará con todos "
+"los controladores JDBC."
 
 #. Tag: para
-#: toolset_guide.xml:445
 #, no-c-format
 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>"
+"<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> "
+"<literal>org.hibernate.tool.hbm2ddl.SchemaUpdate</literal> <emphasis>options "
+"mapping_files</emphasis>"
 
 #. Tag: title
-#: toolset_guide.xml:451
 #, no-c-format
 msgid "<literal>SchemaUpdate</literal> Command Line Options"
-msgstr ""
-"Opciones de L&#x00ed;nea de Comandos de <literal>SchemaUpdate</literal>"
+msgstr "Opciones de Línea de Comandos de <literal>SchemaUpdate</literal>"
 
-#. Tag: entry
-#: toolset_guide.xml:468
-#, fuzzy, no-c-format
+#. Tag: para
+#, no-c-format
 msgid "do not export the script to the database"
-msgstr "don't export the script to the database"
+msgstr "no exporte el script a la base de datos "
 
-#. Tag: entry
-#: toolset_guide.xml:480 toolset_guide.xml:541
+#. Tag: para
 #, no-c-format
 msgid "specify a <literal>.cfg.xml</literal> file"
-msgstr "specify a <literal>.cfg.xml</literal> file"
+msgstr "specifique un archivo <literal>.cfg.xml</literal>"
 
 #. Tag: para
-#: toolset_guide.xml:486
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "You can embed <literal>SchemaUpdate</literal> in your application:"
-msgstr ""
-"Puedes encajar <literal>SchemaUpdate</literal> en tu aplicaci&#x00f3;n:"
+msgstr "Puede incluir <literal>SchemaUpdate</literal> en su aplicación: "
 
-#. Tag: programlisting
-#: toolset_guide.xml:490
-#, no-c-format
-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:495
 #, no-c-format
 msgid "Using Ant for incremental schema updates"
-msgstr "Usando Ant para actualizaciones incrementales de esquema"
+msgstr "Utilización de Ant para actualizaciones incrementales de esquema"
 
 #. Tag: para
-#: toolset_guide.xml:497
 #, no-c-format
 msgid "You can call <literal>SchemaUpdate</literal> from the Ant script:"
-msgstr ""
-"Puedes llamar a <literal>SchemaUpdate</literal> desde el gui&#x00f3;n de Ant:"
+msgstr "Puede llamar a <literal>SchemaUpdate</literal> desde el script de Ant:"
 
-#. Tag: programlisting
-#: toolset_guide.xml:501
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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:506
 #, no-c-format
 msgid "Schema validation"
-msgstr "Schema validation"
+msgstr "Validación de Esquema"
 
 #. Tag: para
-#: toolset_guide.xml:508
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>SchemaValidator</literal> tool will validate that the existing "
 "database schema \"matches\" your mapping documents. The "
@@ -1172,14 +803,13 @@
 "API and, as such, 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."
+"La herramienta <literal>SchemaValidator</literal> validará que el esquema de "
+"la base de datos existente \"coincide\" con sus documentos de mapeo. El "
+"<literal>SchemaValidator</literal> depene bastante de la API de metadatos "
+"JDBC así que no funcionará con todos los controladores JDBC. Esta "
+"herramienta es extremadamente útil para comprobar."
 
 #. Tag: para
-#: toolset_guide.xml:514
 #, no-c-format
 msgid ""
 "<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> "
@@ -1190,79 +820,31 @@
 "<literal>org.hibernate.tool.hbm2ddl.SchemaValidator</literal> "
 "<emphasis>options mapping_files</emphasis>"
 
+#. Tag: para
+#, no-c-format
+msgid ""
+"The following table displays the <literal>SchemaValidator</literal> command "
+"line options:"
+msgstr ""
+"La siguiente tabla presenta las opciones de la línea de comandos para "
+"<literal>SchemaValidator</literal> "
+
 #. Tag: title
-#: toolset_guide.xml:520
 #, no-c-format
 msgid "<literal>SchemaValidator</literal> Command Line Options"
-msgstr "<literal>SchemaValidator</literal> Command Line Options"
+msgstr "Opciones de la Línea de Comandos <literal>SchemaValidator</literal> "
 
 #. Tag: para
-#: toolset_guide.xml:547
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "You can embed <literal>SchemaValidator</literal> in your application:"
-msgstr "You may embed <literal>SchemaValidator</literal> in your application:"
+msgstr "Puede incluir <literal>SchemaValidator</literal> en su aplicación:"
 
-#. Tag: programlisting
-#: toolset_guide.xml:551
-#, no-c-format
-msgid ""
-"<![CDATA[Configuration cfg = ....;\n"
-"new SchemaValidator(cfg).validate();]]>"
-msgstr ""
-"<![CDATA[Configuration cfg = ....;\n"
-"                                                       new SchemaValidator"
-"(cfg).validate();]]>"
-
 #. Tag: title
-#: toolset_guide.xml:556
 #, no-c-format
 msgid "Using Ant for schema validation"
-msgstr "Using Ant for schema validation"
+msgstr "Utilización de Ant para la validación de esquema"
 
 #. Tag: para
-#: toolset_guide.xml:558
 #, no-c-format
 msgid "You can call <literal>SchemaValidator</literal> from the Ant script:"
-msgstr "You can call <literal>SchemaValidator</literal> from the Ant script:"
-
-#. Tag: programlisting
-#: toolset_guide.xml:562
-#, no-c-format
-msgid ""
-"<![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>]]>"
-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 "Ant Tasks:"
-#~ msgstr "Tareas de Ant:"
-
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+msgstr "Puede llamar <literal>SchemaValidator</literal> desde el scrip de Ant:"

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/transactions.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/transactions.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/transactions.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,24 +1,35 @@
+# translation of transactions.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: transactions\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-10 21:02+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at li.org>\n"
+"POT-Creation-Date: 2010-01-08T04:07:20\n"
+"PO-Revision-Date: 2010-01-07 10:38+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: transactions.xml:29
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Transactions and Concurrency"
-msgstr "Transacciones y Concurrencia"
+msgstr "Transacciones y concurrencia"
 
 #. Tag: para
-#: transactions.xml:31
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The most important point about Hibernate and concurrency control is that it "
 "is easy to understand. Hibernate directly uses JDBC connections and JTA "
@@ -27,18 +38,14 @@
 "specification of your database management system."
 msgstr ""
 "El punto más importante sobre Hibernate y el control de concurrencia es que "
-"muy fácil de comprender. Hibernate usa directamente conexiones JDBC y "
-"recursos JTA sin agregar ningún comportamiento de bloqueo adicional. "
-"Recomendamos altamente que gastes algo de tiempo con la especificación de "
-"JDBC, ANSI, y el aislamiento de transacciones de tu sistema de gestión de "
-"base de datos. Hibernate sólo añade versionado automático pero no bloquea "
-"objetos en memoria ni cambia el nivel de aislamiento de tus transacciones de "
-"base de datos. Básicamente, usa Hibernate como usarías JDBC directo (o JTA/"
-"CMT) con tus recursos de base de datos."
+"es fácil de comprender. Hibernate usa directamente conexiones JDBC y "
+"recursos JTA sin agregar ningún comportamiento de bloqueo adicional. Le "
+"recomendamos bastante que tome algo de tiempo con la especificación de JDBC, "
+"ANSI y el aislamiento de transacciones de su sistema de gestión de base de "
+"datos. "
 
 #. Tag: para
-#: transactions.xml:38
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate does not lock objects in memory. Your application can expect the "
 "behavior as defined by the isolation level of your database transactions. "
@@ -46,29 +53,28 @@
 "cache, Hibernate provides repeatable reads for lookup by identifier and "
 "entity queries and not reporting queries that return scalar values."
 msgstr ""
-"Hibernate does not lock objects in memory. Your application can expect the "
-"behavior as defined by the isolation level of your database transactions. "
-"Note that thanks to the <literal>Session</literal>, which is also a "
-"transaction-scoped cache, Hibernate provides repeatable reads for lookup by "
-"identifier and entity queries (not reporting queries that return scalar "
-"values)."
+"Hibernate no bloquea objetos en la memoria. Su aplicación puede esperar el "
+"comportamiento definido por el nivel de aislamiento de sus transacciones de "
+"las bases de datos. Gracias a la <literal>Session</literal>, la cual también "
+"es un caché con alcance de transacción, Hibernate proporciona lecturas "
+"repetidas para búsquedas del identificador y consultas de entidad y no "
+"consultas de reporte que retornan valores escalares."
 
 #. Tag: para
-#: transactions.xml:46
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "In addition to versioning for automatic optimistic concurrency control, "
 "Hibernate also offers, using the <literal>SELECT FOR UPDATE</literal> "
 "syntax, a (minor) API for pessimistic locking of rows. Optimistic "
 "concurrency control and this API are discussed later in this chapter."
 msgstr ""
-"Sin embargo, además del versionado automático, Hibernate ofrece una API "
-"(menor) para bloqueo pesimista de filas, usando la sintáxis <literal>SELECT "
-"FOR UPDATE</literal>. Esta API se discute más adelante en este capítulo:"
+"Además del versionado del control de concurrencia optimista automático, "
+"Hibernate también ofrece una API (menor) para bloqueo pesimista de filas, "
+"usando la sintáxis <literal>SELECT FOR UPDATE</literal>. Esta API y el "
+"control de concurrencia optimista se discuten más adelante en este capítulo."
 
 #. Tag: para
-#: transactions.xml:53
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The discussion of concurrency control in Hibernate begins with the "
 "granularity of <literal>Configuration</literal>, <literal>SessionFactory</"
@@ -77,32 +83,29 @@
 msgstr ""
 "Comenzamos la discusión del control de concurrencia en Hibernate con la "
 "granularidad de <literal>Configuration</literal>, <literal>SessionFactory</"
-"literal>, y <literal>Session</literal>, así como la base de datos y las "
-"transacciones de aplicación largas."
+"literal> y <literal>Session</literal>, así como las transacciones de la base "
+"de datos y las conversaciones largas."
 
 #. Tag: title
-#: transactions.xml:60
 #, no-c-format
 msgid "Session and transaction scopes"
 msgstr "Ámbitos de sesión y de transacción"
 
 #. Tag: para
-#: transactions.xml:62
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A <literal>SessionFactory</literal> is an expensive-to-create, threadsafe "
 "object, intended to be shared by all application threads. It is created "
 "once, usually on application startup, from a <literal>Configuration</"
 "literal> instance."
 msgstr ""
-"Una <literal>SessionFactory</literal> es un objeto seguro entre hebras caro-"
-"de-crear pensado para ser compartido por todas las hebras de la aplicación. "
-"Es creado una sola vez, usualmente en el arranque de la aplicación, a partir "
-"de una instancia de <literal>Configuration</literal>."
+"Una <literal>SessionFactory</literal> es un objeto seguro entre hilos y "
+"costoso de crear pensado para que todas las hebras de la aplicación lo "
+"compartan. Se crea una sola vez, usualmente en el inicio de la aplicación, a "
+"partir de una instancia <literal>Configuration</literal>."
 
 #. Tag: para
-#: transactions.xml:68
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A <literal>Session</literal> is an inexpensive, non-threadsafe object that "
 "should be used once and then discarded for: a single request, a conversation "
@@ -110,19 +113,15 @@
 "JDBC <literal>Connection</literal>, or a <literal>Datasource</literal>, "
 "unless it is needed. It will not consume any resources until used."
 msgstr ""
-"Una <literal>Session</literal> es un objeto barato, inseguro entre hebras "
-"que debe ser usado una sola vez, para un solo proceso de negocio, una sola "
-"unidad de trabajo, y luego descartado. Una <literal>Session</literal> no "
-"obtendrá una <literal>Connection</literal> JDBC (o un <literal>Datasource</"
-"literal>) a menos que sea necesario, de modo que puedas abrir y cerrar "
-"seguramente una <literal>Session</literal> incluso si no estás seguro que se "
-"necesitará acceso a los datos para servir una petición en particular. (Esto "
-"se vuelve importante en cuanto estés implementando alguno de los siguientes "
-"patrones usando intercepción de peticiones)."
+"Una <literal>Session</literal> es un objeto de bajo costo, inseguro entre "
+"hilos que se debe utilizar una sola vez y luego se debe descartar: para un "
+"sólo pedido, una sola conversación o una sóla unidad de trabajo. Una "
+"<literal>Session</literal> no obtendrá una <literal>Connection</literal> "
+"JDBC o un <literal>Datasource</literal> a menos de que sea necesario. No "
+"consumirá recursos hasta que se utilice."
 
 #. Tag: para
-#: transactions.xml:76
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "In order to reduce lock contention in the database, a database transaction "
 "has to be as short as possible. Long database transactions will prevent your "
@@ -130,15 +129,16 @@
 "that you hold a database transaction open during user think time until the "
 "unit of work is complete."
 msgstr ""
-"Para completar este cuadro tienes que pensar también en las transacciones de "
-"base de datos. Una transacción de base de datos tiene que ser tan corta como "
-"sea posible, para reducir la contención de bloqueos en la base de datos. Las "
-"transacciones largas de base de datos prevendrán a tu aplicación de escalar "
-"a una carga altamente concurrente."
+"Una transacción de la base de datos tiene que ser tan corta como sea posible "
+"para reducir la contención de bloqueos en la base de datos. Las "
+"transacciones largas de la base de datos prevendrán a su aplicación de "
+"escalar a una carga altamente concurrente. Por lo tanto, no se recomienda "
+"que mantenga una transacción de la base de datos abierta durante el tiempo "
+"para pensar del usuario, hasta que la unidad de trabajo se encuentre "
+"completa."
 
 #. Tag: para
-#: transactions.xml:84
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "What is the scope of a unit of work? Can a single Hibernate "
 "<literal>Session</literal> span several database transactions, or is this a "
@@ -146,20 +146,19 @@
 "<literal>Session</literal> and how do you demarcate the database transaction "
 "boundaries? These questions are addressed in the following sections."
 msgstr ""
-"¿Qué es el ámbito de una unidad de trabajo? ¿Puede una sola "
+"¿Cuál es el ámbito de una unidad de trabajo? ¿Puede una sola "
 "<literal>Session</literal> de Hibernate extenderse a través de varias "
-"transacciones de base de datos o es ésta una relación uno-a-uno de ámbitos? "
-"¿Cuándo debes abrir y cerrar una <literal>Session</literal> y cómo demarcas "
-"los límites de la transacción de base de datos?"
+"transacciones de la base de datos o ésta es una relación uno-a-uno de "
+"ámbitos? ¿Cuándo debe abrir y cerrar una <literal>Session</literal>? y ¿cómo "
+"demarca los límites de la transacción de la base de datos? En las siguientes "
+"secciones abordaremos estas preguntas. "
 
 #. Tag: title
-#: transactions.xml:92
 #, no-c-format
 msgid "Unit of work"
 msgstr "Unidad de trabajo"
 
 #. Tag: para
-#: transactions.xml:94
 #, no-c-format
 msgid ""
 "First, let's define a unit of work. A unit of work is a design pattern "
@@ -169,14 +168,25 @@
 "citation> In other words, its a series of operations we wish to carry out "
 "against the database together. Basically, it is a transaction, though "
 "fulfilling a unit of work will often span multiple physical database "
-"transactions (see <xref linkend=\"transactions-basics-apptx\"/>). So really "
+"transactions (see <xref linkend=\"transactions-basics-apptx\" />). So really "
 "we are talking about a more abstract notion of a transaction. The term "
 "\"business transaction\" is also sometimes used in lieu of unit of work."
 msgstr ""
+"Primero, vamos a definir una unidad de trabajo. Una unidad de trabajo es un "
+"patrón de diseño que Martin Fowler describe como <quote> [mantener] una "
+"lista de objetos afectados por una transacción empresarial y coordina la "
+"escritura de los cambios y la resolución de problemas de concurrencia. </"
+"quote><citation>PoEAA</citation> En otras palabras, es una serie de "
+"operaciones que deseamos llevar a cabo frente a la base de datos. "
+"Básicamente es una transacción, aunque el llevar a cabo una unidad de "
+"trabajo con frecuencia abarca múltiples transacciones de la base de datos "
+"física (consulte <xref linkend=\"transactions-basics-apptx\"/>). Así que "
+"realmente estamos hablando sobre una noción más abstracta de una "
+"transacción. El término \"transacción empresarial\" también se utiliza a "
+"veces en lugar de unidad de trabajo."
 
 #. Tag: para
-#: transactions.xml:111
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Do not use the <emphasis>session-per-operation</emphasis> antipattern: do "
 "not open and close a <literal>Session</literal> for every simple database "
@@ -192,20 +202,24 @@
 "clearly defined unit of work. The latter is also more maintainable and "
 "extensible."
 msgstr ""
-"Primero, no uses el antipatrón <emphasis>sesión-por-operación</emphasis>, "
-"esto es, ¡no abras y cierres una <literal>Session</literal> para cada simple "
-"llamada a la base de datos en una sola hebra! Por supuesto, lo mismo es "
-"verdad para transacciones de base de datos. Las llamadas a base de datos en "
-"una aplicación se hacen usando una secuencia prevista, que están agrupadas "
-"dentro de unidades de trabajo atómicas. (Nota que esto también significa que "
-"el auto-commit después de cada una de las sentencias SQL es inútil en una "
-"aplicación, este modo está pensado para trabajo ad-hoc de consola SQL. "
-"Hibernate deshabilita, o espera que el servidor de aplicaciones lo haga, el "
-"modo auto-commit inmediatamente.)"
+"Primero, no use el antipatrón <emphasis>sesión-por-operación</emphasis>: no "
+"abra y cierre una <literal>Session</literal> para cada llamada simple a la "
+"base de datos en un solo hilo. Lo mismo aplica para las transacciones de "
+"base de datos. Las llamadas a la base de datos en una aplicación se hacen "
+"usando una secuencia planeada; estas se agrupan dentro de unidades de "
+"trabajo atómicas. Esto también significa que el auto-commit después de cada "
+"una de las declaraciones SQL es inútil en una aplicación ya que este modo "
+"está pensado para trabajo ad-hoc de consola SQL. Hibernate deshabilita, o "
+"espera que el servidor de aplicaciones lo haga, el modo auto-commit "
+"inmediatamente. Las transacciones de las bases de datos nunca son "
+"opcionales. Toda comunicación con una base de datos tiene que ocurrir dentro "
+"de una transacción. El comportamiento auto-commit para leer datos se debe "
+"evitar, ya que hay muy poca probabilidad de que las transacciones pequeñas "
+"funcionen mejor que una unidad de trabajo definida claramente. La última es "
+"mucho más sostenible y extensible."
 
 #. Tag: para
-#: transactions.xml:126
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The most common pattern in a multi-user client/server application is "
 "<emphasis>session-per-request</emphasis>. In this model, a request from the "
@@ -218,21 +232,20 @@
 "literal>. The relationship between the two is one-to-one and this model is a "
 "perfect fit for many applications."
 msgstr ""
-"El patrón más común en una aplicación mutiusuario cliente/servidor es "
+"El patrón más común en una aplicación multiusuario cliente/servidor es "
 "<emphasis>sesión-por-petición</emphasis>. En este modelo, una petición del "
-"cliente es enviada al servidor (en donde se ejecuta la capa de persistencia "
-"de Hibernate), se abre una nueva <literal>Session</literal> de Hibernate, y "
-"todas las operaciones de base de datos se ejecutan en esta unidad de "
-"trabajo. Una vez completado el trabajo (y se ha preparado la respuesta para "
-"el cliente) la sesión es limpiada y cerrada. Podrías usar una sola "
-"transacción de base de datos para servir a petición del cliente, "
-"comenzándola y comprometiéndola cuando abres y cierras la <literal>Session</"
-"literal>. La relación entre las dos es uno-a-uno y este modelo es a la "
-"medida perfecta de muchas aplicaciones."
+"cliente se envia al servidor, en donde se ejecuta la capa de persistencia de "
+"Hibernate. Se abre una nueva <literal>Session</literal> de Hibernate y todas "
+"las operaciones de la base de datos se ejecutan en esta unidad de trabajo. "
+"Una vez completado el trabajo, y una vez se ha preparado la respuesta para "
+"el cliente, se limpia la sesión y se cierra. Use una sóla transacción de la "
+"base de datos para servir la petición del cliente, dándole inicio y "
+"guardándola cuando abre y cierra la <literal>Session</literal>. La relación "
+"entre las dos es uno-a-uno y este modelo es a la medida perfecta de muchas "
+"aplicaciones."
 
 #. Tag: para
-#: transactions.xml:138
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The challenge lies in the implementation. Hibernate provides built-in "
 "management of the \"current session\" to simplify this pattern. Start a "
@@ -246,38 +259,36 @@
 "use the Hibernate <literal>Transaction</literal> API shown later in this "
 "chapter."
 msgstr ""
-"The challenge lies in the implementation. Hibernate provides built-in "
-"management of the \"current session\" to simplify this pattern. All you have "
-"to do is start a transaction when a server request has to be processed, and "
-"end the transaction before the response is send to the client. You can do "
-"this in any way you like, common solutions are <literal>ServletFilter</"
-"literal>, AOP interceptor with a pointcut on the service methods, or a proxy/"
-"interception container. An EJB container is a standardized way to implement "
-"cross-cutting aspects such as transaction demarcation on EJB session beans, "
-"declaratively with CMT. If you decide to use programmatic transaction "
-"demarcation, prefer the Hibernate <literal>Transaction</literal> API shown "
-"later in this chapter, for ease of use and code portability."
+"El reto se encuentra en la implementación. Hibernate brinda administración "
+"incorporada de la \"sesión actual\" para simplificar este patrón. Inicie una "
+"transacción cuando se tiene que procesar un pedido del servidor y termine la "
+"transacción antes de que se envie la respuesta al cliente. Las soluciones "
+"más comunes son <literal>ServletFilter</literal>, un interceptor AOP con un "
+"punto de corte en los métodos del servicio o un contenedor proxy/"
+"intercepción. Un contenedor EJB es una manera estandarizada de implementar "
+"aspectos de doble filo como demarcación de transacción en beans de sesión "
+"EJB, declarativamente con CMT. Si decide utilizar la demarcación de "
+"transacción programática, use el API <literal>Transaction</literal> de "
+"Hibernate de fácil uso y portable que se muestra más adelante en este "
+"capítulo."
 
 #. Tag: para
-#: transactions.xml:150
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Your application code can access a \"current session\" to process the "
 "request by calling <literal>sessionFactory.getCurrentSession()</literal>. "
 "You will always get a <literal>Session</literal> scoped to the current "
 "database transaction. This has to be configured for either resource-local or "
-"JTA environments, see <xref linkend=\"architecture-current-session\"/>."
+"JTA environments, see <xref linkend=\"architecture-current-session\" />."
 msgstr ""
-"Your application code can access a \"current session\" to process the "
-"request by simply calling <literal>sessionFactory.getCurrentSession()</"
-"literal> anywhere and as often as needed. You will always get a "
-"<literal>Session</literal> scoped to the current database transaction. This "
-"has to be configured for either resource-local or JTA environments, see "
-"<xref linkend=\"architecture-current-session\"/>."
+"Su código de aplicación puede acceder a una \"sesión actual\" para procesar "
+"el pedido llamando a <literal>sessionFactory.getCurrentSession()</literal>. "
+"Siempre obtendrá una <literal>Session</literal> con ámbito a la transacción "
+"de la base de datos actual. Esto tiene que ser configurado para entornos JTA "
+"o recurso-local, consulte <xref linkend=\"architecture-current-session\" />."
 
 #. Tag: para
-#: transactions.xml:158
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can extend the scope of a <literal>Session</literal> and database "
 "transaction until the \"view has been rendered\". This is especially useful "
@@ -289,26 +300,25 @@
 "of any view can start. See the Hibernate website and forum for tips and "
 "examples relating to this <emphasis>Open Session in View</emphasis> pattern."
 msgstr ""
-"Sometimes it is convenient to extend the scope of a <literal>Session</"
-"literal> and database transaction until the \"view has been rendered\". This "
-"is especially useful in servlet applications that utilize a separate "
-"rendering phase after the request has been processed. Extending the database "
-"transaction until view rendering is complete is easy to do if you implement "
-"your own interceptor. However, it is not easily doable if you rely on EJBs "
-"with container-managed transactions, as a transaction will be completed when "
-"an EJB method returns, before rendering of any view can start. See the "
-"Hibernate website and forum for tips and examples around this <emphasis>Open "
-"Session in View</emphasis> pattern."
+"Puede extender el ámbito de una <literal>Session</literal> y transacción de "
+"la base de datos hasta que \"se ha presentado la vista\". Esto es bastante "
+"útil en aplicaciones de servlet que utilizan una fase de entrega separada "
+"después de que se ha procesado el pedido. El extender la transacción de la "
+"base de datos hasta que la entrega de la vista se encuentre completa es "
+"fácil de lograr si implementa su propio interceptor. Sin embargo, no se "
+"logra fácilmente si depende de EJBs con transacciones administradas por el "
+"contenedor. Una transacción se completará cuando un método EJB retorna, "
+"antes de que pueda empezar la entrega de cualquier vista. Vea el sitio web "
+"de Hibernate y el foro para encontrar consejos y ejemplos sobre este patrón "
+"de <emphasis>sesión abierta en vista</emphasis>."
 
 #. Tag: title
-#: transactions.xml:173
 #, no-c-format
 msgid "Long conversations"
-msgstr "Transacciones de aplicación"
+msgstr "Conversaciones largas"
 
 #. Tag: para
-#: transactions.xml:175
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The session-per-request pattern is not the only way of designing units of "
 "work. Many business processes require a whole series of interactions with "
@@ -316,53 +326,51 @@
 "applications, it is not acceptable for a database transaction to span a user "
 "interaction. Consider the following example:"
 msgstr ""
-"El patrón sesión-por-petición no es el único concepto útil que puedes usar "
-"para diseñar unidades de trabajo. Muchos procesos de negocio requiere una "
-"serie completa de interacciones con el usuario intercaladas con accesos a "
-"base de datos. En aplicaciones web y de empresa no es aceptable que una "
-"transacción de base de datos se extienda a través de la interacción de un "
-"usuario. Considera el siguiente ejemplo:"
+"El patrón sesión-por-petición no es la única forma de diseñar unidades de "
+"trabajo. Muchos procesos empresariales requieren una serie completa de "
+"interacciones con el usuario intercaladas con accesos a la base de datos. En "
+"aplicaciones empresariales y web no es aceptable que una transacción de la "
+"base de datos abarque la interacción de un usuario. Considere el siguiente "
+"ejemplo:"
 
 #. Tag: para
-#: transactions.xml:185
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The first screen of a dialog opens. The data seen by the user has been "
 "loaded in a particular <literal>Session</literal> and database transaction. "
 "The user is free to modify the objects."
 msgstr ""
-"Se abre la primera pantalla de un diálogo, los datos vistos por el usuario "
-"han sido cargados en una <literal>Session</literal> y transacción de base de "
-"datos particular. El usuario es libre de modificar los objetos."
+"Se abre la primera pantalla de un diálogo. Los datos que ve el usuario han "
+"sido cargados en una <literal>Session</literal> en particular y en una "
+"transacción de la base de datos. El usuario es libre de modificar los "
+"objetos."
 
 #. Tag: para
-#: transactions.xml:192
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The user clicks \"Save\" after 5 minutes and expects their modifications to "
 "be made persistent. The user also expects that they were the only person "
 "editing this information and that no conflicting modification has occurred."
 msgstr ""
-"El usuario hace click en \"Salvar\" después de 5 minutos y espera que sus "
-"modificaciones sean hechas persistentes. También espera que él sea la única "
-"persona editando esta información y que no puede ocurrir ninguna "
-"modificación en conflicto."
+"El usuario hace click en \"Guardar\" después de 5 minutos y espera que sus "
+"modificaciones se hagan persistentes. También espera que él sea la única "
+"persona editando esta información y que no ocurra ningún conflicto en la "
+"modificación."
 
 #. Tag: para
-#: transactions.xml:200
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "From the point of view of the user, we call this unit of work a long-running "
 "<emphasis>conversation</emphasis> or <emphasis>application transaction</"
 "emphasis>. There are many ways to implement this in your application."
 msgstr ""
-"Llamamos a esto unidad de trabajo, desde el punto de vista del usuario, una "
-"larga <emphasis>transacción de aplicación</emphasis> ejecutándose. Hay "
-"muchas formas en que puedes implementar esto en tu aplicación."
+"Desde el punto de vista del usuario, llamamos a esta unidad de trabajo, una "
+"larga <emphasis>conversación</emphasis> o <emphasis>transacción de "
+"aplicación</emphasis>. Hay muchas formas de implementar esto en su "
+"aplicación."
 
 #. Tag: para
-#: transactions.xml:206
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A first naive implementation might keep the <literal>Session</literal> and "
 "database transaction open during user think time, with locks held in the "
@@ -371,16 +379,14 @@
 "the application to scale with the number of concurrent users."
 msgstr ""
 "Una primera implementación ingenua podría mantener abierta la "
-"<literal>Session</literal> y la transacción de base de datos durante el "
-"tiempo de pensar del usuario, con bloqueos tomados en la base de datos para "
-"prevenir la modificación concurrente, y para garantizar aislamiento y "
-"atomicidad. Esto es, por supuesto, un antipatrón, ya que la contención de "
-"bloqueo no permitiría a la aplicación escalar con el número de usuarios "
-"concurrentes."
+"<literal>Session</literal> y la transacción de la base de datos durante el "
+"tiempo para pensar del usuario, con bloqueos en la base de datos para "
+"prevenir la modificación simultánea y para garantizar el aislamiento y la "
+"atomicidad. Esto es un antipatrón, ya que la contención de bloqueo no "
+"permitiría a la aplicación escalar con el número de usuarios simultáneos."
 
 #. Tag: para
-#: transactions.xml:214
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You have to use several database transactions to implement the conversation. "
 "In this case, maintaining isolation of business processes becomes the "
@@ -391,34 +397,32 @@
 "several request/response cycles). This is easier to implement than it might "
 "sound, especially if you utilize some of Hibernate's features:"
 msgstr ""
-"Claramente, tenemos que usar muchas transacciones de base de datos para "
-"implementar la transacción de aplicación. En este caso, mantener el "
-"aislamiento de los procesos de negocio se vuelve una responsabilidad parcial "
-"de la capa de aplicación. Una sola transacción de aplicación usualmente "
-"abarca varias transacciones de base de datos. Será atómica si sólo una de "
-"estas transacciones de base de datos (la última) almacena los datos "
-"actualizados, todas las otras simplemente leen datos (por ejemplo, en un "
-"diálogo estilo-asistente abarcando muchos ciclos petición/respuesta). Esto "
-"es más fácil de implementar de lo que suena, especialmente si usas las "
-"funcionalidades de Hibernate:"
+"Tiene que usar varias transacciones de la base de datos para implementar la "
+"conversación. En este caso, mantener el aislamiento de los procesos "
+"empresariales se vuelve una responsabilidad parcial de la capa de la "
+"aplicación. Una sóla conversación usualmente abarca varias transacciones de "
+"la base de datos. Será atómica si sólo una de estas transacciones de la base "
+"de datos (la última) almacena los datos actualizados. Todas las otras "
+"simplemente leen datos (por ejemplo, en un diálogo de estilo-asistente "
+"abarcando muchos ciclos petición/respuesta). Esto es más fácil de "
+"implementar de lo que suena, especialmente si usa las funcionalidades de "
+"Hibernate:"
 
 #. Tag: para
-#: transactions.xml:227
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Automatic Versioning</emphasis>: Hibernate can perform automatic "
 "optimistic concurrency control for you. It can automatically detect if a "
 "concurrent modification occurred during user think time. Check for this at "
 "the end of the conversation."
 msgstr ""
-"<emphasis>Versionado Automático</emphasis> - Hibernate puede llevar un "
-"control automático de concurrencia optimista por ti, puede detectar "
-"automáticamente si una modificación concurrente ha ocurrido durante el "
-"tiempo de pensar del usuario."
+"<emphasis>Versionado automático</emphasis> - Hibernate puede realizar un "
+"control automático de concurrencia optimista por usted .Puede detectar "
+"automáticamente si ha ocurrido una modificación simultánea durante el tiempo "
+"para pensar del usuario. Chequee esto al final de la conversación. "
 
 #. Tag: para
-#: transactions.xml:235
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Detached Objects</emphasis>: if you decide to use the "
 "<emphasis>session-per-request</emphasis> pattern, all loaded instances will "
@@ -427,17 +431,16 @@
 "<emphasis>session-per-request-with-detached-objects</emphasis>. Automatic "
 "versioning is used to isolate concurrent modifications."
 msgstr ""
-"<emphasis>Objetos Separados</emphasis> - Si decides usar el ya discutido "
-"patrón de <emphasis>sesión-por-petición</emphasis>, todas las instancias "
-"cargadas estarán en estado separado durante el tiempo de pensar del usuario. "
-"Hibernate te permite volver a unir los objetos y hacer persistentes las "
+"<emphasis>Objetos separados</emphasis>: Si decide usar el patrón "
+"<emphasis>sesión-por-petición</emphasis>, todas las instancias cargadas "
+"estarán en estado separado durante el tiempo para pensar del usuario. "
+"Hibernate le permite volver a unir los objetos y hacer persistentes las "
 "modificaciones. El patrón se llama <emphasis>sesión-por-petición-con-objetos-"
-"separados</emphasis>. Se usa versionado automático para aislar las "
-"modificaciones concurrentes."
+"separados</emphasis>. Se usa el versionado automático para aislar las "
+"modificaciones simultáneas."
 
 #. Tag: para
-#: transactions.xml:245
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<emphasis>Extended (or Long) Session</emphasis>: the Hibernate "
 "<literal>Session</literal> can be disconnected from the underlying JDBC "
@@ -448,76 +451,69 @@
 "<literal>Session</literal> will not be allowed to be flushed automatically, "
 "but explicitly."
 msgstr ""
-"<emphasis>Sesión Larga</emphasis> - La <literal>Session</literal> de "
-"Hibernate puede ser desconectada de la conexión JDBC subyacente después que "
-"se haya sido comprometida la transacción de base de datos, y reconectada "
-"cuando ocurra una nueva petición del cliente. Este patrón es conocido como "
-"<emphasis>sesión-por-transacción-de-aplicación</emphasis> y hace la re-unión "
-"innecesaria. Para aislar las modificaciones concurrentes se usa el "
-"versionado automático."
+"<emphasis>Sesión extendida (o larga) </emphasis> - La <literal>Session</"
+"literal> de Hibernate puede ser desconectada de la conexión JDBC subyacente "
+"después de que haya guardado la transacción de la base de datos y haya "
+"reconectado cuando ocurra una nueva petición del cliente. Este patrón se "
+"conoce como <emphasis>sesión-por-conversación</emphasis> y hace la re-unión "
+"innecesaria. Para aislar las modificaciones simultáneas se usa el versionado "
+"automático y usualmente no se permite que se limpie la <literal>Session</"
+"literal> automáticamente sino explícitamente."
 
 #. Tag: para
-#: transactions.xml:258
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Both <emphasis>session-per-request-with-detached-objects</emphasis> and "
 "<emphasis>session-per-conversation</emphasis> have advantages and "
 "disadvantages. These disadvantages are discussed later in this chapter in "
 "the context of optimistic concurrency control."
 msgstr ""
-"Tanto <emphasis>sesión-por-petición-con-objetos-separados</emphasis> como "
-"<emphasis>sesión-por-transacción-de-aplicación</emphasis>, ambas tienen "
-"ventajas y desventajas, las discutimos más adelante en este capítulo en el "
-"contexto del control optimista de concurrencia."
+"Tanto la <emphasis>sesión-por-petición-con-objetos-separados</emphasis> como "
+"la <emphasis>sesión-por-conversación</emphasis> tienen ventajas y "
+"desventajas. Estas desventajas las discutimos más adelante en este capítulo "
+"en el contexto del control optimista de concurrencia."
 
 #. Tag: title
-#: transactions.xml:267
 #, no-c-format
 msgid "Considering object identity"
-msgstr "Considerando la identidad del objeto"
+msgstr "Consideración de la identidad del objeto"
 
 #. Tag: para
-#: transactions.xml:269
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "An application can concurrently access the same persistent state in two "
 "different <literal>Session</literal>s. However, an instance of a persistent "
 "class is never shared between two <literal>Session</literal> instances. It "
 "is for this reason that there are two different notions of identity:"
 msgstr ""
-"Una aplicación puede acceder concurrentemente a el mismo estado persistente "
-"en dos <literal>Session</literal>s diferentes. Sin embargo, una instancia de "
+"Una aplicación puede acceder simultáneamente al mismo estado persistente en "
+"dos <literal>Session</literal>es diferentes. Sin embargo, una instancia de "
 "una clase persistente nunca se comparte entre dos instancias de "
-"<literal>Session</literal>. Por lo tanto existen dos nociones diferentes de "
-"identidad:"
+"<literal>Session</literal>. Por lo tanto, existen dos nociones diferentes de "
+"identidad: "
 
 #. Tag: term
-#: transactions.xml:278
 #, no-c-format
 msgid "Database Identity"
 msgstr "Identidad de Base de Datos"
 
-#. Tag: literal
-#: transactions.xml:281
+#. Tag: para
 #, no-c-format
-msgid "foo.getId().equals( bar.getId() )"
-msgstr "foo.getId().equals( bar.getId() )"
+msgid "<literal>foo.getId().equals( bar.getId() )</literal>"
+msgstr "<literal>foo.getId().equals( bar.getId() )</literal>"
 
 #. Tag: term
-#: transactions.xml:286
 #, no-c-format
 msgid "JVM Identity"
 msgstr "Identidad JVM"
 
-#. Tag: literal
-#: transactions.xml:289
+#. Tag: para
 #, no-c-format
-msgid "foo==bar"
-msgstr "foo==bar"
+msgid "<literal>foo==bar</literal>"
+msgstr "<literal>foo==bar</literal>"
 
 #. Tag: para
-#: transactions.xml:295
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "For objects attached to a <emphasis>particular</emphasis> <literal>Session</"
 "literal> (i.e., in the scope of a <literal>Session</literal>), the two "
@@ -528,19 +524,18 @@
 "resolved using an optimistic approach and automatic versioning at flush/"
 "commit time."
 msgstr ""
-"Entonces para objetos unidos a una <literal>Session</literal><emphasis>en "
-"particular</emphasis> (es decir en el ámbito de una <literal>Session</"
-"literal>) las dos nociones son equivalentes, y la identidad JVM para la "
-"identidad de base de datos está garantizada por Hibernate. Sin embargo, "
-"mientras la aplicación acceda concurrentemente al \"mismo\" (identidad "
-"persistente) objeto de negocio en dos sesiones diferentes, las dos "
-"instancias serán realmente \"diferentes\" (identidad JVM). Los conflictos se "
-"resuelven (con versionado automático) en tiempo de limpieza (flush) usando "
-"un enfoque optimista."
+"Para los bjetos unidos a una <literal>Session</literal><emphasis> en "
+"particular</emphasis> (por ejemplo, en el ámbito de una <literal>Session</"
+"literal>) las dos nociones son equivalentes y la identidad de la MVJ para la "
+"identidad de la base de datos se encuentra garantizada por Hibernate. "
+"Mientras la aplicación acceda simultáneamente al \"mismo\" objeto "
+"empresarial (identidad persistente) en dos sesiones diferentes, las dos "
+"instancias serán realmente \"diferentes\" (identidad MVJ). Los conflictos se "
+"resuelven usando un enfoque optimista y el versionado automático en tiempo "
+"de vaciado/ al guardar."
 
 #. Tag: para
-#: transactions.xml:304
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This approach leaves Hibernate and the database to worry about concurrency. "
 "It also provides the best scalability, since guaranteeing identity in single-"
@@ -550,18 +545,17 @@
 "<literal>Session</literal>. Within a <literal>Session</literal> the "
 "application can safely use <literal>==</literal> to compare objects."
 msgstr ""
-"Este enfoque deja que Hibernate y la base de datos se preocupen sobre la "
+"Este enfoque deja que Hibernate y la base de datos se preocupen de la "
 "concurrencia. Además provee la mejor escalabilidad, ya que garantizando la "
-"identidad un unidades de trabajo monohebra no se necesitan bloqueos caros u "
-"otros medios de sincronización. La aplicación nunca necesita sincronizar "
-"sobre ningún objeto de negocio, siempre que se apegue a una sola hebra por "
+"identidad en unidades de trabajo monohilo no se necesitan bloqueos caros u "
+"otros medios de sincronización. La aplicación no necesita sincronizar sobre "
+"ningún objeto empresarial, siempre que se mantenga un solo hilo por "
 "<literal>Session</literal>. Dentro de una <literal>Session</literal> la "
 "aplicación puede usar con seguridad <literal>==</literal> para comparar "
 "objetos."
 
 #. Tag: para
-#: transactions.xml:313
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "However, an application that uses <literal>==</literal> outside of a "
 "<literal>Session</literal> might produce unexpected results. This might "
@@ -586,36 +580,34 @@
 msgstr ""
 "Sin embargo, una aplicación que usa <literal>==</literal> fuera de una "
 "<literal>Session</literal>, podría ver resultados inesperados. Esto podría "
-"ocurrir incluso en sitios algo inesperados, por ejemplo, si pones dos "
-"instancias separadas dentro del mismo <literal>Set</literal>. Ambas podrían "
-"tener la misma identidad de base de datos (es decir, representar la misma "
-"fila), pero la identidad JVM, por definición, no está garantizada para las "
-"instancias en estado separado. El desarrollador tiene que sobrescribir los "
-"métodos <literal>equals()</literal> y <literal>hashCode()</literal> en las "
-"clases persistentes e implementar su propia noción de igualdad de objetos. "
-"Hay una advertencia: Nunca uses el identificador de base de datos para "
-"implementar la igualdad, usa una clave de negocio, una combinación de "
-"atributos únicos, usualmente inmutables. El identificador de base de datos "
-"cambiará si un objeto transitorio es hecho persistente. Si la instancia "
-"transitoria (usualmente junta a instancias separadas) es mantenida en un "
-"<literal>Set</literal>, cambiar el código hash rompe el contrato del "
-"<literal>Set</literal>. Los atributos para las claves de negocio no tienen "
-"que ser tan estables como las claves primarias de base de datos, sólo tienes "
-"que garantizar estabilidad en tanto los objetos estén en el mismo "
-"<literal>Set</literal>. Mira el sitio web de Hibernate para una discusión "
-"más cuidadosa de este tema. Nota también que éste no es un tema de "
-"Hibernate, sino simplemente cómo la identidad y la igualdad de los objetos "
-"Java tiene que ser implementada."
+"ocurrir incluso en sitios algo inesperados. Por ejemplo, si pone dos "
+"instancias separadas dentro del mismo <literal>Set</literal> ambas podrían "
+"tener la misma identidad de la base de datos (por ejemplo, representar la "
+"misma fila). Sin embargo, la identidad MVJ, por definición, no está "
+"garantizada para las instancias en estado separado. El desarrollador tiene "
+"que sobrescribir los métodos <literal>equals()</literal> y <literal>hashCode"
+"()</literal> en las clases persistentes e implementar su propia noción de "
+"igualdad de objetos. Hay una advertencia: nunca use el identificador de la "
+"base de datos para implementar la igualdad. Use una clave de negocio, una "
+"combinación de atributos únicos, usualmente inmutables. El identificador de "
+"la base de datos cambiará si un objeto transitorio es hecho persistente. Si "
+"la instancia transitoria (usualmente junto a las instancias separadas) es "
+"mantenida en un <literal>Set</literal>, cambiar el código hash rompe el "
+"contrato del <literal>Set</literal>. Los atributos para las claves "
+"empresariales no tienen que ser tan estables como las claves principales de "
+"la base de datos, sólo tiene que garantizar estabilidad en tanto los objetos "
+"estén en el mismo <literal>Set</literal>. Mire el sitio web de Hibernate "
+"para obetener una discusión más profunda de este tema. Note también que éste "
+"no es problema de Hibernate, sino que simplemente se tiene que implementar "
+"la identidad y la igualdad de los objetos Java."
 
 #. Tag: title
-#: transactions.xml:334
 #, no-c-format
 msgid "Common issues"
-msgstr "Temas comunes"
+msgstr "Temas comúnes"
 
 #. Tag: para
-#: transactions.xml:336
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Do not use the anti-patterns <emphasis>session-per-user-session</emphasis> "
 "or <emphasis>session-per-application</emphasis> (there are, however, rare "
@@ -623,15 +615,14 @@
 "within the recommended patterns, so ensure that you understand the "
 "implications before making a design decision:"
 msgstr ""
-"Nunca uses los antipatrones <emphasis>sesión-por-sesión-de-usuario</"
-"emphasis> o <emphasis>sesión-por-aplicación</emphasis> (por supuesto, hay "
-"raras excepciones a esta regla). Nota que algunis de los siguientes temas "
-"podrían también aparecer con los patrones recomendados. Asegúrate que "
-"entiendes las implicaciones antes de tomar una decisión de diseño:"
+"No use los antipatrones <emphasis>sesión-por-sesión-de-usuario</emphasis> o "
+"<emphasis>sesión-por-aplicación</emphasis> (hay excepciones raras a esta "
+"regla). Algunos de los siguientes temas también podrían aparecer con los "
+"patrones recomendados así que asegúrese de que entiende las implicaciones "
+"antes de tomar una decisión de diseño:"
 
 #. Tag: para
-#: transactions.xml:345
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A <literal>Session</literal> is not thread-safe. Things that work "
 "concurrently, like HTTP requests, session beans, or Swing workers, will "
@@ -642,19 +633,18 @@
 "that clicks reload fast enough can use the same <literal>Session</literal> "
 "in two concurrently running threads."
 msgstr ""
-"Una <literal>Session</literal> no es segura entre hebras. Las cosas que se "
-"suponen que funcionan concurrentemente, como peticiones HTTP, beans de "
-"sesión, o workers de Swing, provocarán condiciones de competencia si una "
-"instancia de <literal>Session</literal> fuese compartida. Si guardas tu "
-"<literal>Session</literal> de Hibernate en tu <literal>HttpSession</literal> "
-"(discutido más adelante), debes considerar sincronizar el acceso a tu sesión "
-"HTTP. De otro modo, un usuario que hace click lo suficientemente rápido "
-"puede llegar a usar la misma <literal>Session</literal> en dos hebras "
-"ejecutándose concurrentemente."
+"Una <literal>Session</literal> no es segura entre hilos. Las cosas que "
+"funcionan de manera simultánea, como las peticiones HTTP, beans de sesión, o "
+"workers de Swing, provocarán condiciones de competencia si una instancia de "
+"<literal>Session</literal> se comparte. Si guarda su <literal>Session</"
+"literal> de Hibernate en su <literal>HttpSession</literal> (se discute más "
+"adelante), debe considerar el sincronizar el acceso a su sesión HTTP. De "
+"otro modo, un usuario que hace click lo suficientemente rápido puede llegar "
+"a usar la misma <literal>Session</literal> en dos hilos ejecutándose "
+"simultáneamente."
 
 #. Tag: para
-#: transactions.xml:356
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "An exception thrown by Hibernate means you have to rollback your database "
 "transaction and close the <literal>Session</literal> immediately (this is "
@@ -666,20 +656,19 @@
 "Usually this is not a problem, because exceptions are not recoverable and "
 "you will have to start over after rollback anyway."
 msgstr ""
-"Una excepción lanzada por Hibernate significa que tienes que deshacer "
-"(rollback) tu transacción de base de datos y cerrar la <literal>Session</"
-"literal> inmediatamente (discutido en más detalle luego). Si tu "
-"<literal>Session</literal> está ligada a la aplicación, tienes que parar la "
-"aplicación. Deshacer (rollback) la transacción de base de datos no pone a "
-"tus objetos de vuelta al estado en que estaban al comienzo de la "
+"Una excepción lanzada por Hibernate significa que tiene que deshacer su "
+"transacción de la base de datos y cerrar la <literal>Session</literal> "
+"inmediatamente (se discute en más detalle más adelante en este capítulo). Si "
+"su <literal>Session</literal> está vinculada a la aplicación, tiene que "
+"parar la aplicación. Deshacer la transacción de la base de datos no pone a "
+"sus objetos de vuelta al estado en que estaban al comienzo de la "
 "transacción. Esto significa que el estado de la base de datos y los objetos "
-"de negocio quedan fuera de sincronía. Usualmente esto no es un problema, "
-"pues las excepciones no son recuperables y tienes que volver a comenzar "
-"después del rollback de todos modos."
+"empreariales quedan fuera de sincronía. Usualmente esto no es un problema, "
+"pues las excepciones no son recuperables y tendrá que volver a comenzar "
+"después de deshacer de todos modos."
 
 #. Tag: para
-#: transactions.xml:368
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>Session</literal> caches every object that is in a persistent "
 "state (watched and checked for dirty state by Hibernate). If you keep it "
@@ -687,31 +676,29 @@
 "until you get an OutOfMemoryException. One solution is to call <literal>clear"
 "()</literal> and <literal>evict()</literal> to manage the <literal>Session</"
 "literal> cache, but you should consider a Stored Procedure if you need mass "
-"data operations. Some solutions are shown in <xref linkend=\"batch\"/>. "
+"data operations. Some solutions are shown in <xref linkend=\"batch\" />. "
 "Keeping a <literal>Session</literal> open for the duration of a user session "
 "also means a higher probability of stale data."
 msgstr ""
 "La <literal>Session</literal> pone en caché todo objeto que esté en estado "
-"persistente (vigilado y chequeado por estado sucio por Hibernate). Esto "
-"significa que crece sin fin hasta que obtienes una OutOfMemoryException, si "
-"la mantienes abierta por un largo tiempo o simplemente cargas demasiados "
-"datos. Una solución para esto es llamar a <literal>clear()</literal> y "
-"<literal>evict()</literal> para gestionar el caché de la <literal>Session</"
-"literal>, pero probalemente debas considerar un procedimiento almacenado si "
-"necesitas operaciones de datos masivas. Se muestran algunas soluciones en "
-"<xref linkend=\"batch\"/>. Mantener una <literal>Session</literal> abierta "
-"por la duración de una sesión de usuario significa también una alta "
-"probabilidad de datos añejos."
+"persistente (Hibernate vigila y chequea para identificar estados "
+"desactualizados). Si la mantiene abierta por un largo tiempo o simplemente "
+"carga demasiados datos crece sin fin hasta que obtiene una "
+"OutOfMemoryException. Una solución para esto es llamar a <literal>clear()</"
+"literal> y <literal>evict()</literal> para gestionar el caché de la "
+"<literal>Session</literal>, pero probalemente deba considerar un "
+"procedimiento almacenado si necesita operaciones de datos masivas. Se pueden "
+"ver algunas soluciones en <xref linkend=\"batch\"/>. Mantener una "
+"<literal>Session</literal> abierta durante una sesión de usuario también "
+"significa una alta probabilidad de datos desactualizados."
 
 #. Tag: title
-#: transactions.xml:386
 #, no-c-format
 msgid "Database transaction demarcation"
-msgstr "Demarcación de la transacción de base de datos"
+msgstr "Demarcación de la transacción de la base de datos"
 
 #. Tag: para
-#: transactions.xml:388
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Database, or system, transaction boundaries are always necessary. No "
 "communication with the database can occur outside of a database transaction "
@@ -722,18 +709,19 @@
 "transactions explicitly. Certainly, a single database transaction is going "
 "to perform better than many small transactions, even for reading data."
 msgstr ""
-"Los límites de las transacciones de base de datos (o sistema) son siempre "
-"necesarios. Ninguna comunicación con la base de datos puede darse fuera de "
-"una transacción de base de datos (esto parece confundir muchos "
-"desarrolladores acostumbrados al modo auto-commit). Siempre usa límites de "
+"Los límites de las transacciones de la base de datos o el sistema son "
+"siempre necesarios. Ninguna comunicación con la base de datos puede darse "
+"fuera de una transacción de la base de datos (esto parece confundir a muchos "
+"desarrolladores acostumbrados al modo auto-commit). Siempre use límites de "
 "transacción claros, incluso para las operaciones de sólo lectura. "
-"Dependiendo del nivel de aislamiento y las capacidades de base de datos, "
-"esto podría o no ser requerido, pero no hay un merma si siempre demarcas "
-"explícitamente las transacciones."
+"Dependiendo del nivel de aislamiento y las capacidades de la base de datos, "
+"esto podría requerirse o no, pero no hay inconvenientes si siempre demarca "
+"explícitamente las transacciones. Con seguridad, una transacción única de "
+"base de datos va a funcionar mejor que muchas transacciones pequeñas, "
+"inclusive para leer datos."
 
 #. Tag: para
-#: transactions.xml:398
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A Hibernate application can run in non-managed (i.e., standalone, simple "
 "Web- or Swing applications) and managed J2EE environments. In a non-managed "
@@ -745,22 +733,20 @@
 "descriptors of EJB session beans, for example). Programmatic transaction "
 "demarcation is then no longer necessary."
 msgstr ""
-"Una aplicación Hibernate puede ejecutarse en entornos no manejados (es "
-"decir, como independiente, Web simple, o aplicaciones Swing) y entornos "
-"manejados J2EE. En un entorno no manejado, Hibernate es usualmente "
-"responsable de su propio pool de conexiones de base de datos. El "
-"desarrollador de aplicaciones tiene que establecer manualmente los límites "
-"de transacción, en otras palabras, hacer begin, commit, o rollback las "
-"transacciones de base de datos por sí mismo. Un entorno manejado usualmente "
-"provee transacciones gestionadas por contenedor, con el ensamble de "
-"transacción definido declarativamente en descriptores de despliegue de beans "
-"de sesión EJB, por ejemplo. La demarcación programática de transacciones no "
-"es más necesario, incluso limpiar (flush) la <literal>Session</literal> es "
-"hecho automáticamente."
+"Una aplicación Hibernate puede ejecutarse en entornos no administrados (por "
+"ejemplo, aplicaciones simples Web o Swing autónomas) y entornos "
+"administrados por J2EE. En un entorno no administrado, Hibernate es "
+"usualmente responsable de su propio pool de conexiones de la base de datos. "
+"El desarrollador de aplicaciones tiene que establecer manualmente los "
+"límites de transacción (inicar, guardar o deshacer las transacciones de la "
+"base de datos) por sí mismo. Un entorno administrado usualmente proporciona "
+"transacciones gestionadas por contenedor, con el ensamble de transacción "
+"definido declarativamente (por ejemplo, en descriptores de despliegue de "
+"beans de sesión EJB). La demarcación programática de transacciones ya no es "
+"necesaria."
 
 #. Tag: para
-#: transactions.xml:408
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "However, it is often desirable to keep your persistence layer portable "
 "between non-managed resource-local environments, and systems that can rely "
@@ -770,152 +756,105 @@
 "system of your deployment environment. This API is actually optional, but we "
 "strongly encourage its use unless you are in a CMT session bean."
 msgstr ""
-"Sin embargo, frecuentemente es deseable mantener portable tu capa de "
-"persistencia. Hibernate ofrece una API de envoltura llamada "
-"<literal>Transaction</literal> que se traduce al sistema de transacciones "
-"nativo de tu entorno de despliegue. Esta API es realmente opcional, pero "
-"recomendamos fuertemente su uso salvo que estés en un bean de sesión CMT."
+"Sin embargo, comúnmente se quiere mantener su capa de persistencia portátil "
+"entre entornos locales- de recursos no-administrados y sistemas que pueden "
+"confiar en JTA, pero utilizar BMT en vez de CMT. En ambos casos utilizaría "
+"la demarcación de transacción programática. Hibernate ofrece una API de "
+"envoltura llamada <literal>Transaction</literal> que se traduce al sistema "
+"de transacciones nativo de su entorno de despliegue. Esta API es de hecho "
+"opcional, pero le recomendamos bastante su uso salvo que esté en un bean de "
+"sesión CMT. "
 
 #. Tag: para
-#: transactions.xml:417
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Ending a <literal>Session</literal> usually involves four distinct phases:"
 msgstr ""
-"Usualmente, finalizar una <literal>Session</literal> implica cuatro fases "
+"Usualmente, el finalizar una <literal>Session</literal> implica cuatro fases "
 "distintas:"
 
 #. Tag: para
-#: transactions.xml:423
 #, no-c-format
 msgid "flush the session"
-msgstr "limpiar (flush) la sesión"
+msgstr "limpiar la sesión"
 
 #. Tag: para
-#: transactions.xml:428
 #, no-c-format
 msgid "commit the transaction"
-msgstr "comprometer la transacción"
+msgstr "someter la transacción"
 
 #. Tag: para
-#: transactions.xml:433
 #, no-c-format
 msgid "close the session"
 msgstr "cerrar la sesión"
 
 #. Tag: para
-#: transactions.xml:438
 #, no-c-format
 msgid "handle exceptions"
 msgstr "manejar excepciones"
 
 #. Tag: para
-#: transactions.xml:444
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "We discussed Flushing the session earlier, so we will now have a closer look "
 "at transaction demarcation and exception handling in both managed and non-"
 "managed environments."
 msgstr ""
-"Limpiar la sesión ha sido discutido anteriormente, tendremos ahora una "
-"mirada más de cerca a la demarcación de transacciones y manejo de "
-"excepciones en sendos entornos manejado y no manejados."
+"Anteriormente se discutió el vacido de la sesión así que ahora vamos a mirar "
+"más de cerca la demarcación de transacciones y el manejo de excepciones en "
+"los dos entornos administrado y no administrado."
 
 #. Tag: title
-#: transactions.xml:451
 #, no-c-format
 msgid "Non-managed environment"
-msgstr "Entorno no manejado"
+msgstr "Entorno no administrado"
 
 #. Tag: para
-#: transactions.xml:453
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If a Hibernate persistence layer runs in a non-managed environment, database "
 "connections are usually handled by simple (i.e., non-DataSource) connection "
 "pools from which Hibernate obtains connections as needed. The session/"
 "transaction handling idiom looks like this:"
 msgstr ""
-"Si una capa de persistencia Hibernate se ejecuta en un entorno no manejado, "
-"las conexiones de base de datos son manejadas usualmente por el mecanismo de "
-"pooling de Hibernate. El idioma manejo de sesión/transacción se ve así:"
+"Si una capa de persistencia Hibernate se ejecuta en un entorno no "
+"administrado, las conexiones de la base de datos se manejan usualmente por "
+"simples pools de conexión (por ejemplo, no-DataSource) del cual Hibernate "
+"obtiene conexiones al ser necesario. El idioma de manejo de sesión/"
+"transacción se ve así:"
 
-#. Tag: programlisting
-#: transactions.xml:460
-#, no-c-format
-msgid ""
-"<![CDATA[// Non-managed environment idiom\n"
-"Session sess = factory.openSession();\n"
-"Transaction tx = null;\n"
-"try {\n"
-"    tx = sess.beginTransaction();\n"
-"\n"
-"    // do some work\n"
-"    ...\n"
-"\n"
-"    tx.commit();\n"
-"}\n"
-"catch (RuntimeException e) {\n"
-"    if (tx != null) tx.rollback();\n"
-"    throw e; // or display error message\n"
-"}\n"
-"finally {\n"
-"    sess.close();\n"
-"}]]>"
-msgstr ""
-
 #. Tag: para
-#: transactions.xml:462
 #, fuzzy, no-c-format
 msgid ""
 "You do not have to <literal>flush()</literal> the <literal>Session</literal> "
 "explicitly: the call to <literal>commit()</literal> automatically triggers "
-"the synchronization depending on the <link linkend=\"objectstate-flushing"
-"\">FlushMode</link> for the session. A call to <literal>close()</literal> "
+"the synchronization depending on the FlushMode for the session (see <xref "
+"linkend=\"objectstate-flushing\" />). A call to <literal>close()</literal> "
 "marks the end of a session. The main implication of <literal>close()</"
 "literal> is that the JDBC connection will be relinquished by the session. "
 "This Java code is portable and runs in both non-managed and JTA environments."
 msgstr ""
-"No tienes que limpiar con <literal>flush()</literal> la <literal>Session</"
-"literal> explícitamente - la llamada a <literal>commit()</literal> "
-"automáticamente dispara la sincronización. Una llamada a <literal>close()</"
-"literal> marca el fin de una sesión. La principal implicación de "
+"No tiene que vaciar con <literal>flush()</literal> la <literal>Session</"
+"literal> explícitamente: la llamada a <literal>commit()</literal> "
+"automáticamente dispara la sincronización dependiendo del <xref linkend="
+"\"objectstate-flushing\"/> para la sesión. Una llamada a <literal>close()</"
+"literal> marca el final de una sesión. La implicación principal de "
 "<literal>close()</literal> es que la conexión JDBC será abandonada por la "
-"sesión."
+"sesión. Este código Java es portátil y ejecuta en entornos tanto no-"
+"administrados como JTA."
 
 #. Tag: para
-#: transactions.xml:471
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "As outlined earlier, a much more flexible solution is Hibernate's built-in "
 "\"current session\" context management:"
 msgstr ""
-"Este código Java es portable y se ejecuta tanto en entornos no manejados "
-"como en entornos JTA."
+"Como se mencionó anteriormente, una solución mucho más flexible es la "
+"administración de contexto \"sesión actual\" incorporada en Hibernate:"
 
-#. Tag: programlisting
-#: transactions.xml:476
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[// Non-managed environment idiom with getCurrentSession()\n"
-"try {\n"
-"    factory.getCurrentSession().beginTransaction();\n"
-"\n"
-"    // do some work\n"
-"    ...\n"
-"\n"
-"    factory.getCurrentSession().getTransaction().commit();\n"
-"}\n"
-"catch (RuntimeException e) {\n"
-"    factory.getCurrentSession().getTransaction().rollback();\n"
-"    throw e; // or display error message\n"
-"}]]>"
-msgstr ""
-
-#. Tag: para
-#: transactions.xml:478
-#, fuzzy, no-c-format
-msgid ""
 "You will not see these code snippets in a regular application; fatal "
 "(system) exceptions should always be caught at the \"top\". In other words, "
 "the code that executes Hibernate calls in the persistence layer, and the "
@@ -925,37 +864,36 @@
 "<literal>SessionFactory</literal>. Exception handling is discussed later in "
 "this chapter."
 msgstr ""
-"Muy probablemente nunca veas este idioma en código de negocio en una "
-"aplicación normal; las excepciones fatales (sistema) deben siempre ser "
-"capturadas en la \"cima\". En otras palabras, el código que ejecuta las "
-"llamadas de Hibernate (en la capa de persistencia) y el código que maneja "
-"<literal>RuntimeException</literal> (y usualmente sólo puede limpiar y "
-"salir) están en capas diferentes. Esto puede ser un desafío de diseñarlo tú "
-"mismo y debes usar los servicios de contenedor J2EE/EJB en cuanto estuviesen "
-"disponibles. El manejo de excepciones se dicute más adelante en este "
-"capítulo."
+"No verá estos pedazos de código en una aplicación normal; las excepciones "
+"fatales (del sistema) siempre deben ser capturadas en la \"cima\". En otras "
+"palabras, el código que ejecuta las llamadas de Hibernate en la capa de "
+"persistencia y el código que maneja <literal>RuntimeException</literal> (y "
+"usualmente sólo puede limpiar y salir) se encuentran en capas diferentes. La "
+"administración de contexto actual de Hibernate puede simplificar de manera "
+"importante este diseño, ya que todo lo que necesita hacer es acceder a "
+"<literal>SessionFactory</literal>. El manejo de excepciones se discute más "
+"adelante en este capítulo."
 
 #. Tag: para
-#: transactions.xml:488
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You should select <literal>org.hibernate.transaction.JDBCTransactionFactory</"
 "literal>, which is the default, and for the second example select <literal>"
 "\"thread\"</literal> as your <literal>hibernate."
 "current_session_context_class</literal>."
 msgstr ""
-"Nota que debes seleccionar <literal>org.hibernate.transaction."
-"JDBCTransactionFactory</literal> (que es el por defecto)."
+"Debe seleccionar <literal>org.hibernate.transaction.JDBCTransactionFactory</"
+"literal>, el cual es el predeterminado, y para el segundo ejemplo "
+"seleccionar <literal>\"thread\"</literal> como su <literal>hibernate."
+"current_session_context_class</literal>."
 
 #. Tag: title
-#: transactions.xml:497
 #, no-c-format
 msgid "Using JTA"
-msgstr "Usando JTA"
+msgstr "Utilización de JTA"
 
 #. Tag: para
-#: transactions.xml:499
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If your persistence layer runs in an application server (for example, behind "
 "EJB session beans), every datasource connection obtained by Hibernate will "
@@ -963,126 +901,51 @@
 "standalone JTA implementation and use it without EJB. Hibernate offers two "
 "strategies for JTA integration."
 msgstr ""
-"Si tu capa de persistencia se ejecuta en un servidor de aplicaciones (por "
-"ejemplo, detrás de beans de sesión EJB), cada conexión de datasource "
-"obtenida por Hibernate será parte automáticamente de la transacción JTA "
-"global. Hibernate ofrece dos estrategias para esta integración."
+"Si su capa de persistencia se ejecuta en un servidor de aplicaciones (por "
+"ejemplo, detrás de los beans de sesión EJB), cada conexión de fuente de "
+"datos obtenida por Hibernate será parte de la transacción JTA global de "
+"manera automática. También puede instalar una implementación JTA autónoma y "
+"utilizarla sin EJB. Hibernate ofrece dos estrategias para esta integración "
+"JTA."
 
 #. Tag: para
-#: transactions.xml:506
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you use bean-managed transactions (BMT), Hibernate will tell the "
 "application server to start and end a BMT transaction if you use the "
 "<literal>Transaction</literal> API. The transaction management code is "
 "identical to the non-managed environment."
 msgstr ""
-"Si usas transacciones gestionadas-por-bean (BMT) Hibernate le dirá al "
-"servidor de aplicaciones que comience y finalice una transacción BMT si usas "
+"Si usa transacciones gestionadas-por-bean (BMT) Hibernate le dirá al "
+"servidor de aplicaciones que comience y finalice una transacción BMT si usa "
 "la API de <literal>Transaction</literal>. De modo que, el código de gestión "
-"de la transacción es idéntico al de un entorno no manejado."
+"de la transacción es idéntico al de un entorno no administrado. "
 
-#. Tag: programlisting
-#: transactions.xml:512
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[// BMT idiom\n"
-"Session sess = factory.openSession();\n"
-"Transaction tx = null;\n"
-"try {\n"
-"    tx = sess.beginTransaction();\n"
-"\n"
-"    // do some work\n"
-"    ...\n"
-"\n"
-"    tx.commit();\n"
-"}\n"
-"catch (RuntimeException e) {\n"
-"    if (tx != null) tx.rollback();\n"
-"    throw e; // or display error message\n"
-"}\n"
-"finally {\n"
-"    sess.close();\n"
-"}]]>"
-msgstr ""
-
-#. Tag: para
-#: transactions.xml:514
-#, fuzzy, no-c-format
-msgid ""
 "If you want to use a transaction-bound <literal>Session</literal>, that is, "
 "the <literal>getCurrentSession()</literal> functionality for easy context "
 "propagation, use the JTA <literal>UserTransaction</literal> API directly:"
 msgstr ""
-"Con CMT, la demarcación de la transacción se hace en descriptores de "
-"despliegue de beans de sesión, no programáticamente. Si no quieres limpiar "
-"(flush) y cerrar manualmente la <literal>Session</literal> por ti mismo, "
-"solamente establece <literal>hibernate.transaction.flush_before_completion</"
-"literal> a <literal>true</literal>, <literal>hibernate.connection."
-"release_mode</literal> a <literal>after_statement</literal> o <literal>auto</"
-"literal> y <literal>hibernate.transaction.auto_close_session</literal> a "
-"<literal>true</literal>. Hibernate limpiará y cerrará entonces "
-"automáticamente la <literal>Session</literal> para ti. Lo único que resta es "
-"deshacer (rollback) la transacción cuando ocurra una excepción. "
-"Afortunadamente, en un bean CMT, incluso esto ocurre automáticamente, ya que "
-"una <literal>RuntimeException</literal> no manejada disparada por un método "
-"de un bean de sesión le dice al contenedor que ponga a deshacer la "
-"transacción global. <emphasis>Esto significa que, en CMT, no necesitas usar "
-"en absoluto la API de <literal>Transaction</literal> de Hibernate.</emphasis>"
+"Si quiere utilizar un vínculo de transacción <literal>Session</literal>, es "
+"decir, la funcionalidad <literal>getCurrentSession()</literal> para "
+"propagación de contexto de manera fácil, tendrá que utilizar el API "
+"<literal>UserTransaction</literal> del JTA directamente: "
 
-#. Tag: programlisting
-#: transactions.xml:520
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[// BMT idiom with getCurrentSession()\n"
-"try {\n"
-"    UserTransaction tx = (UserTransaction)new InitialContext()\n"
-"                            .lookup(\"java:comp/UserTransaction\");\n"
-"\n"
-"    tx.begin();\n"
-"\n"
-"    // Do some work on Session bound to transaction\n"
-"    factory.getCurrentSession().load(...);\n"
-"    factory.getCurrentSession().persist(...);\n"
-"\n"
-"    tx.commit();\n"
-"}\n"
-"catch (RuntimeException e) {\n"
-"    tx.rollback();\n"
-"    throw e; // or display error message\n"
-"}]]>"
-msgstr ""
-
-#. Tag: para
-#: transactions.xml:522
-#, fuzzy, no-c-format
-msgid ""
 "With CMT, transaction demarcation is completed in session bean deployment "
 "descriptors, not programmatically. The code is reduced to:"
 msgstr ""
-"Nota que debes elegir <literal>org.hibernate.transaction."
-"JTATransactionFactory</literal> en un bean de sesión BMT, y <literal>org."
-"hibernate.transaction.CMTTransactionFactory</literal> en un bean de sesión "
-"CMT, cuando configures la fábrica de transacciones de Hibernate. Recuerda "
-"además establecer <literal>org.hibernate.transaction.manager_lookup_class</"
-"literal>."
+"Con CMT, la demarcación de transacción se realiza en los descriptores de "
+"implementacion bean de sesión, no programáticamente. Por lo tanto el código "
+"se reduce a:"
 
-#. Tag: programlisting
-#: transactions.xml:527
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[// CMT idiom\n"
-" Session sess = factory.getCurrentSession();\n"
-"\n"
-" // do some work\n"
-" ...\n"
-"]]>"
-msgstr ""
-
-#. Tag: para
-#: transactions.xml:529
-#, fuzzy, no-c-format
-msgid ""
 "In a CMT/EJB, even rollback happens automatically. An unhandled "
 "<literal>RuntimeException</literal> thrown by a session bean method tells "
 "the container to set the global transaction to rollback. <emphasis>You do "
@@ -1090,24 +953,15 @@
 "BMT or CMT, and you get automatic propagation of the \"current\" Session "
 "bound to the transaction.</emphasis>"
 msgstr ""
-"Si trabajas en un entorno CMT, y usas limpieza (flushing) y cierre "
-"automáticos de la sesión, podrías querer también usar la misma sesión en "
-"diferentes partes de tu código. Típicamente, en un entorno no manejado, "
-"usarías una variable <literal>ThreadLocal</literal> para tener la sesión, "
-"pero una sola petición de EJB puede ejecutarse en diferentes hebras (por "
-"ejemplo, un bean de sesión llamando a otro bean de sesión). Si no quieres "
-"molestarte en pasar tu <literal>Session</literal> por alrededor, la "
-"<literal>SessionFactory</literal> provee el método <literal>getCurrentSession"
-"()</literal>, que devuelve una sesión que está pegada al contexto de "
-"transacción JTA. ¡Esta es la forma más fácil de integrar Hibernate en una "
-"aplicación! La sesión \"actual\" siempre tiene habilitados limpieza, cierre "
-"y liberación de conexión automáticos (sin importar la configuración de las "
-"propiedades anteriores). Nuestra idioma de gestión de sesión/transacción se "
-"reduce a:"
+"En un CMT/EJB incluso el deshacer sucede de forma automática. Un "
+"<literal>RuntimeException</literal> lanzado por un método bean de sesión le "
+"dice al contenedor que establezca una transacción global para deshacer. "
+"<emphasis>No necesita utilizar el API <literal>Transaction</literal> de "
+"Hibernate con BMT o CMT y obtiene la propagación automática de sesión\"actual"
+"\" vinculada a la transacción.</emphasis>"
 
 #. Tag: para
-#: transactions.xml:537
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "When configuring Hibernate's transaction factory, choose <literal>org."
 "hibernate.transaction.JTATransactionFactory</literal> if you use JTA "
@@ -1117,16 +971,17 @@
 "your <literal>hibernate.current_session_context_class</literal> is either "
 "unset (backwards compatibility), or is set to <literal>\"jta\"</literal>."
 msgstr ""
-"En otras palabras, todo lo que tienes que hacer en un entorno manejado, es "
-"llamar a <literal>SessionFactory.getCurrentSession()</literal>, hacer tu "
-"trabajo de acceso a datos, y dejar el resto al contenedor. Los límites de "
-"transacción se establecen declarativamente en los descriptores de despliegue "
-"de tu bean de sesión. El ciclo de vida de la sesión es manejado "
-"completamente por Hibernate."
+"Al configurar la fábrica de transacciones de Hibernate, escoja <literal>org."
+"hibernate.transaction.JTATransactionFactory</literal> si utiliza JTA "
+"directamente (BMT) y <literal>org.hibernate.transaction."
+"CMTTransactionFactory</literal> en una bean de sesión CMT. Recuerde "
+"establecer también <literal>hibernate.transaction.manager_lookup_class</"
+"literal>. Asegúrese de que su <literal>hibernate."
+"current_session_context_class</literal> no se encuentra configurado "
+"(compatibilidad retrasada) o configurada como <literal>\"jta\"</literal>."
 
 #. Tag: para
-#: transactions.xml:546
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>getCurrentSession()</literal> operation has one downside in a "
 "JTA environment. There is one caveat to the use of <literal>after_statement</"
@@ -1141,28 +996,27 @@
 "using <literal>scroll()</literal> or <literal>iterate()</literal> from the "
 "JTA or CMT code.)"
 msgstr ""
-"Existe una advertencia al uso del modo de liberación de conexión "
-"<literal>after_statement</literal>. Debido a una limitación tonta de la "
-"especificación de JTA, no es posible para Hibernate limpiar automáticamente "
-"ningún <literal>ScrollableResults</literal> no cerrado ni instancias de "
-"<literal>Iterator</literal> devueltas por <literal>scroll()</literal> o "
-"<literal>iterate()</literal>. <emphasis>Debes</emphasis> liberar el cursor "
-"de base de datos subyacente llamando a <literal>ScrollableResults.close()</"
-"literal> o <literal>Hibernate.close(Iterator)</literal> explícitamente desde "
-"un bloque <literal>finally</literal>. (Por supuesto, la mayoría de las "
-"aplicaciones pueden evitarlo fácilmente no usando en absoluto ningún "
-"<literal>scroll()</literal> o <literal>iterate()</literal> desde el código "
-"CMT.)"
+"La operación <literal>getCurrentSession()</literal> tiene un inconveniente "
+"en un entorno JTA. Hay una desventaja en el uso del modo de liberación de la "
+"conección <literal>after_statement</literal>, la cual luego se utiliza por "
+"defecto. Debido a una limitación de la especificación JTA, no le es posible "
+"a Hibernate limpiar automáticamente cualquier instancia "
+"<literal>ScrollableResults</literal> o <literal>Iterator</literal> no "
+"cerradas y retornadas por <literal>scroll()</literal> o <literal>iterate()</"
+"literal>. <emphasis>Tiene</emphasis> que liberar el cursor de la base de "
+"datos subyacente llamando a <literal>ScrollableResults.close()</literal> o "
+"<literal>Hibernate.close(Iterator)</literal> explícitamente desde un bloque "
+"<literal>finally</literal>. La mayoría de las aplicaciones pueden evitar "
+"fácilmente el utilizar <literal>scroll()</literal> o <literal>iterate()</"
+"literal> del código JTA o CMT."
 
 #. Tag: title
-#: transactions.xml:562
 #, no-c-format
 msgid "Exception handling"
 msgstr "Manejo de excepciones"
 
 #. Tag: para
-#: transactions.xml:564
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If the <literal>Session</literal> throws an exception, including any "
 "<literal>SQLException</literal>, immediately rollback the database "
@@ -1173,19 +1027,18 @@
 "Ensure that the <literal>Session</literal> will be closed by calling "
 "<literal>close()</literal> in a <literal>finally</literal> block."
 msgstr ""
-"Si la <literal>Session</literal> lanza una excepción (incluyendo cualquier "
-"<literal>SQLException</literal>), debes inmediatamente deshacer (rollback) "
-"la transacción de base de datos, llamar a <literal>Session.close()</literal> "
-"y descartar la instancia de <literal>Session</literal>. Ciertos métodos de "
-"<literal>Session</literal><emphasis>no</emphasis> dejarán la sesión en un "
+"Si la <literal>Session</literal> lanza una excepción, incluyendo cualquier "
+"<literal>SQLException</literal>, debe deshacer inmediatamente la transacción "
+"de la base de datos, llamar a <literal>Session.close()</literal> y descartar "
+"la instancia de <literal>Session</literal>. Ciertos métodos de "
+"<literal>Session</literal> <emphasis>no</emphasis> dejarán la sesión en un "
 "estado consistente. Ninguna excepción lanzada por Hibernate puede ser "
-"tratada como recuperable. Asegúrate que la <literal>Session</literal> sea "
-"cerrada llamando a <literal>close()</literal> en un bloque <literal>finally</"
+"tratada como recuperable. Asegúrese de que la <literal>Session</literal> se "
+"cierre llamando a <literal>close()</literal> en un bloque <literal>finally</"
 "literal>."
 
 #. Tag: para
-#: transactions.xml:575
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>HibernateException</literal>, which wraps most of the errors "
 "that can occur in a Hibernate persistence layer, is an unchecked exception. "
@@ -1198,22 +1051,21 @@
 "unchecked exceptions that are not a <literal>HibernateException</literal>. "
 "These are not recoverable and appropriate action should be taken."
 msgstr ""
-"La <literal>HibernateException</literal>, que envuelve la mayoría de los "
-"errores que pueden ocurrir en la capa de persistencia de Hibernate, en una "
-"excepción no chequeada (no lo era en versiones anteriores de Hibernate). En "
+"La <literal>HibernateException</literal>, que envuelve a la mayoría de los "
+"errores que pueden ocurrir en la capa de persistencia de Hibernate, es una "
+"excepción no chequeada. No lo era en versiones anteriores de Hibernate. En "
 "nuestra opinión, no debemos forzar al desarrollador de aplicaciones a "
 "capturar una excepción irrecuperable en una capa baja. En la mayoría de los "
 "sistemas, las excepciones no chequeadas y fatales son manejadas en uno de "
-"los primeros cuadros de la pila de llamadas a métodos (es decir, en las "
-"capas más altas) y se presenta un mensaje de error al usuario de la "
-"aplicación (o se toma alguna otra acción apropiada). Nota que Hibernate "
-"podría también lanzar otras excepciones no chequeadas que no sean una "
-"<literal>HibernateException</literal>. Una vez más, no son recuperables y "
-"debe tomarse una acción apropiada."
+"los primeros cuadros de la pila de llamadas a métodos (por ejemplo, en las "
+"capas más altas) y presenta un mensaje de error al usuario de la aplicación "
+"o se toma alguna otra acción apropiada. Note que Hibernate podría también "
+"lanzar otras excepciones no chequeadas que no sean una "
+"<literal>HibernateException</literal>. Estas no son recuperables y debe "
+"tomarse una acción apropiada."
 
 #. Tag: para
-#: transactions.xml:587
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate wraps <literal>SQLException</literal>s thrown while interacting "
 "with the database in a <literal>JDBCException</literal>. In fact, Hibernate "
@@ -1234,76 +1086,69 @@
 "interactúa con la base de datos en una <literal>JDBCException</literal>. De "
 "hecho, Hibernate intentará convertir la excepción en una subclase de "
 "<literal>JDBCException</literal> más significativa. La "
-"<literal>SQLException</literal> está siempre disponible vía "
-"<literal>JDBCException.getCause()</literal>. Hibernate convierte la "
+"<literal>SQLException</literal> subyacente siempre está disponible por medio "
+"de <literal>JDBCException.getCause()</literal>. Hibernate convierte la "
 "<literal>SQLException</literal> en una subclase de <literal>JDBCException</"
 "literal> apropiada usando el <literal>SQLExceptionConverter</literal> "
 "adjunto a la <literal>SessionFactory</literal>. Por defecto, el "
-"<literal>SQLExceptionConverter</literal> está definido para el dialecto "
-"configurado; sin embargo, es también posible enchufar una implementación "
-"personalizada (ver los javadocs de la clase "
-"<literal>SQLExceptionConverterFactory</literal> para los detalles). Los "
-"subtipos estándar de <literal>JDBCException</literal> son:"
+"<literal>SQLExceptionConverter</literal> está definido por el dialecto "
+"configurado. Sin embargo, también es posible enchufar una implementación "
+"personalizada . Consulte los javadocs de la clase "
+"<literal>SQLExceptionConverterFactory</literal> para obtener más detalles. "
+"Los subtipos estándar de <literal>JDBCException</literal> son: "
 
 #. Tag: para
-#: transactions.xml:603
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>JDBCConnectionException</literal>: indicates an error with the "
 "underlying JDBC communication."
 msgstr ""
-"<literal>JDBCConnectionException</literal> - indica un error con la "
+"<literal>JDBCConnectionException</literal>: indica un error con la "
 "comunicación JDBC subyacente."
 
 #. Tag: para
-#: transactions.xml:609
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>SQLGrammarException</literal>: indicates a grammar or syntax "
 "problem with the issued SQL."
 msgstr ""
-"<literal>SQLGrammarException</literal> - indica un problema de gramática o "
+"<literal>SQLGrammarException</literal>: indica un problema de gramática o "
 "sintáxis con el SQL publicado."
 
 #. Tag: para
-#: transactions.xml:615
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>ConstraintViolationException</literal>: indicates some form of "
 "integrity constraint violation."
 msgstr ""
-"<literal>ConstraintViolationException</literal> - indica alguna forma de "
+"<literal>ConstraintViolationException</literal>: indica alguna forma de "
 "violación de restricción de integridad."
 
 #. Tag: para
-#: transactions.xml:621
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>LockAcquisitionException</literal>: indicates an error acquiring a "
 "lock level necessary to perform the requested operation."
 msgstr ""
-"<literal>LockAcquisitionException</literal> - indica un error adquiriendo un "
+"<literal>LockAcquisitionException</literal>: indica un error adquiriendo un "
 "nivel de bloqueo necesario para realizar una operación solicitada."
 
 #. Tag: para
-#: transactions.xml:627
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>GenericJDBCException</literal>: a generic exception which did not "
 "fall into any of the other categories."
 msgstr ""
-"<literal>GenericJDBCException</literal> - una excepción genérica que no cayó "
-"en ninguna de las otras categorías."
+"<literal>GenericJDBCException</literal>: una excepción genérica que no "
+"encajó en ninguna de las otras categorías."
 
 #. Tag: title
-#: transactions.xml:637
 #, no-c-format
 msgid "Transaction timeout"
-msgstr "Transaction timeout"
+msgstr "Tiempo de espera de la transacción"
 
 #. Tag: para
-#: transactions.xml:639
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "An important feature provided by a managed environment like EJB, that is "
 "never provided for non-managed code, is transaction timeout. Transaction "
@@ -1316,61 +1161,36 @@
 "transaction timeout to JTA. This functionality is abstracted by the "
 "Hibernate <literal>Transaction</literal> object."
 msgstr ""
-"One extremely important feature provided by a managed environment like EJB "
-"that is never provided for non-managed code is transaction timeout. "
-"Transaction timeouts ensure that no misbehaving transaction can indefinitely "
-"tie up resources while returning no response to the user. Outside a managed "
-"(JTA) environment, Hibernate cannot fully provide this functionality. "
-"However, Hibernate can at least control data access operations, ensuring "
-"that database level deadlocks and queries with huge result sets are limited "
-"by a defined timeout. In a managed environment, Hibernate can delegate "
-"transaction timeout to JTA. This functioanlity is abstracted by the "
-"Hibernate <literal>Transaction</literal> object."
+"Una característica importante proporcionada por un entorno administrado como "
+"EJB que nunca es proporcionado para un código no-administrado, es el tiempo "
+"de espera de la transacción. Estos tiempos de espera se aseguran de que "
+"ninguna transacción que se comporte inapropiadamente pueda vincular recursos "
+"mientras no devuelva una respuesta al usuario. Fuera de un entorno "
+"administrado (JTA), Hibernate no puede proporcionar completamente esta "
+"funcionalidad. Sin embargo, Hibernate puede por lo menos controlar las "
+"operaciones de acceso de datos, asegurándose de que los bloqueos a nivel de "
+"base de datos y las consultas con grandes grupos de resultados se encuentran "
+"limitados por un tiempo de espera definido. En un entorno administrado, "
+"Hibernate puede delegar el tiempo de espera de la transacción a JTA. Esta "
+"funcionalidad es abstraída por el objeto <literal>Transaction</literal> de "
+"Hibernate."
 
-#. Tag: programlisting
-#: transactions.xml:652
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[\n"
-"Session sess = factory.openSession();\n"
-"try {\n"
-"    //set transaction timeout to 3 seconds\n"
-"    sess.getTransaction().setTimeout(3);\n"
-"    sess.getTransaction().begin();\n"
-"\n"
-"    // do some work\n"
-"    ...\n"
-"\n"
-"    sess.getTransaction().commit()\n"
-"}\n"
-"catch (RuntimeException e) {\n"
-"    sess.getTransaction().rollback();\n"
-"    throw e; // or display error message\n"
-"}\n"
-"finally {\n"
-"    sess.close();\n"
-"}]]>"
-msgstr ""
-
-#. Tag: para
-#: transactions.xml:654
-#, fuzzy, no-c-format
-msgid ""
 "<literal>setTimeout()</literal> cannot be called in a CMT bean, where "
 "transaction timeouts must be defined declaratively."
 msgstr ""
-"Note that <literal>setTimeout()</literal> may not be called in a CMT bean, "
-"where transaction timeouts must be defined declaratively."
+"<literal>setTimeout()</literal> no se puede llamar en un bean CMT, en donde "
+"se deben definir declarativamente los tiempos de espera de las transacciones."
 
 #. Tag: title
-#: transactions.xml:664
 #, no-c-format
 msgid "Optimistic concurrency control"
-msgstr "Control optimista de concurrencia"
+msgstr "Control de concurrencia optimista"
 
 #. Tag: para
-#: transactions.xml:666
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The only approach that is consistent with high concurrency and high "
 "scalability, is optimistic concurrency control with versioning. Version "
@@ -1380,25 +1200,23 @@
 "discuss are in the context of long conversations, but version checking also "
 "has the benefit of preventing lost updates in single database transactions."
 msgstr ""
-"El único enfoque que es consistente con alta concurrencia y alta "
-"escalabilidad es el control optimista de concurrencia con versionamiento. El "
-"chuequeo de versión usa números de versión, o timestamps, para detectar "
-"actualizaciones en conflicto (y para prevenir actualizaciones perdidas). "
-"Hibernate provee para tres enfoques posibles de escribir código de "
-"aplicación que use concurrencia optimista. Los casos de uso que hemos "
-"mostrado están en el contexto de transacciones de aplicación largas pero el "
-"chequeo de versiones tiene además el beneficio de prevenir actualizaciones "
-"perdidas en transacciones de base de datos solas."
+"El único enfoque consistente con una alta concurrencia y una alta "
+"escalabilidad es el control de concurrencia optimista con versionamiento. El "
+"chequeo de versión utiliza números de versión, o sellos de fecha "
+"(timestamps), para detectar actualizaciones en conflicto y para prevenir la "
+"pérdida de actualizaciones. Hibernate proporciona tres enfoques posibles de "
+"escribir código de aplicación que utilice concurrencia optimista. Los casos "
+"de uso que mostramos se encuentran en el contexto de conversaciones largas, "
+"pero el chequeo de versiones tiene además el beneficio de prevenir la "
+"pérdida de actualizaciones en transacciones individuales de la base de datos."
 
 #. Tag: title
-#: transactions.xml:677
 #, no-c-format
 msgid "Application version checking"
-msgstr "Chequeo de versiones de aplicación"
+msgstr "Chequeo de versiones de la aplicación"
 
 #. Tag: para
-#: transactions.xml:679
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "In an implementation without much help from Hibernate, each interaction with "
 "the database occurs in a new <literal>Session</literal> and the developer is "
@@ -1408,47 +1226,28 @@
 "least efficient in terms of database access. It is the approach most similar "
 "to entity EJBs."
 msgstr ""
-"En una implementación sin mucha ayuda de Hibernate, cada interacción con la "
-"base de datos ocurre en una nueva <literal>Session</literal> y el "
-"desarrollador es responsable de recargar todas las intancias persistentes "
-"desde la base de datos antes de manipularlas. Este enfoque fuerza a la "
-"aplicación a realizar su propio chequeo de versiones para asegurar el "
-"aislamiento de transacciones de base de datos. Es el enfoque más similar a "
-"los EJBs de entidad."
+"En una implementación que no tiene mucha ayuda de Hibernate, cada "
+"interacción con la base de datos ocurre en una nueva <literal>Session</"
+"literal> y el desarrollador es el responsable de recargar todas las "
+"intancias persistentes desde la base de datos antes de manipularlas. Este "
+"enfoque fuerza a la aplicación a realizar su propio chequeo de versiones "
+"para asegurar el aislamiento de transacciones de conversaciones. Este "
+"enfoque es el menos eficiente en términos de acceso a la base de datos. Es "
+"el enfoque más similar a los EJBs de entidad."
 
-#. Tag: programlisting
-#: transactions.xml:688
-#, no-c-format
-msgid ""
-"<![CDATA[// foo is an instance loaded by a previous Session\n"
-"session = factory.openSession();\n"
-"Transaction t = session.beginTransaction();\n"
-"\n"
-"int oldVersion = foo.getVersion();\n"
-"session.load( foo, foo.getKey() ); // load the current state\n"
-"if ( oldVersion != foo.getVersion() ) throw new StaleObjectStateException"
-"();\n"
-"foo.setProperty(\"bar\");\n"
-"\n"
-"t.commit();\n"
-"session.close();]]>"
-msgstr ""
-
 #. Tag: para
-#: transactions.xml:690
 #, no-c-format
 msgid ""
 "The <literal>version</literal> property is mapped using <literal>&lt;"
 "version&gt;</literal>, and Hibernate will automatically increment it during "
 "flush if the entity is dirty."
 msgstr ""
-"La propiedad <literal>version</literal> se mapea usando <literal>&lt;"
+"La propiedad <literal>version</literal> se mapea utilizando <literal>&lt;"
 "version&gt;</literal>, e Hibernate la incrementará automáticamente durante "
-"la limpieza si la entidad está sucia."
+"la limpieza si la entidad está desactualizada."
 
 #. Tag: para
-#: transactions.xml:696
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you are operating in a low-data-concurrency environment, and do not "
 "require version checking, you can use this approach and skip the version "
@@ -1457,18 +1256,16 @@
 "of the application, as they might experience lost updates without error "
 "messages or a chance to merge conflicting changes."
 msgstr ""
-"Por supuesto, si estás operando un entorno de baja-concurrencia-de-datos y "
-"no requieres chequeo de versiones, puedes usar este enfoque y simplemente "
-"saltar el chequeo de versiones. En ese caso, <emphasis>el último compromiso "
-"(commit) gana</emphasis> será la estrategia por defecto para tus "
-"transacciones de aplicación largas. Ten en mente que esto podría confundir a "
-"los usuarios de la aplicación, pues podrían experimentar actualizaciones "
-"perdidas sin mensajes de error ni chance de fusionar los cambios "
-"conflictivos."
+"Si está operando un entorno de baja-concurrencia-de-datos y no requiere "
+"chequeo de versiones, puede usar este enfoque y simplemente saltarse el "
+"chequeo de versiones. En ese caso, <emphasis>el último que guarda gana</"
+"emphasis> y será la estrategia por defecto para conversaciones largas. Tenga "
+"en mente que esto podría confundir a los usuarios de la aplicación, pues "
+"podrían experimentar pérdidas de actualizaciones sin mensajes de error ni "
+"oportunidad de fusionar los cambios conflictivos."
 
 #. Tag: para
-#: transactions.xml:705
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Manual version checking is only feasible in trivial circumstances and not "
 "practical for most applications. Often not only single instances, but "
@@ -1476,22 +1273,20 @@
 "automatic version checking with either an extended <literal>Session</"
 "literal> or detached instances as the design paradigm."
 msgstr ""
-"Claramente, el chequeo manual de versiones es factible solamente en "
-"circunstancias muy triviales, y no es práctico para la mayoría de "
-"aplicaciones. Frecuentemente, no sólo intancias solas, sino grafos completos "
-"de objetos modificados tienen que ser chequeados. Hibernate ofrece chequeo "
+"El chequeo manual de versiones es factible sólamente en circunstancias muy "
+"triviales y no es práctico para la mayoría de las aplicaciones. Con "
+"frecuencia se tienen que chequear no sólamente las intancias sólas, sino "
+"también grafos completos de objetos modificados. Hibernate ofrece el chequeo "
 "de versiones automático con el paradigma de diseño de <literal>Session</"
 "literal> larga o de instancias separadas."
 
 #. Tag: title
-#: transactions.xml:716
 #, no-c-format
 msgid "Extended session and automatic versioning"
-msgstr "Sesión larga y versionado automático"
+msgstr "Sesión extendida y versionado automático"
 
 #. Tag: para
-#: transactions.xml:718
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A single <literal>Session</literal> instance and its persistent instances "
 "that are used for the whole conversation are known as <emphasis>session-per-"
@@ -1501,17 +1296,17 @@
 "opportunity for the user to merge changes or to restart the business "
 "conversation with non-stale data."
 msgstr ""
-"Una sola instancia de <literal>Session</literal> y sus instancias "
-"persistentes son usadas para toda la transacción de aplicación. Hibernate "
-"chequea las versiones de instancia en el momento de limpieza (flush), "
-"lanzando una excepción si se detecta una modificación concurrente. Concierne "
-"al desarrollador capturar y manejar esta excepción (las opciones comunes son "
-"la oportunidad del usuario de fusionar los cambios, o recomenzar el proceso "
-"de negocio sin datos añejos)."
+"Una sóla instancia de <literal>Session</literal> y sus instancias "
+"persistentes se utilizan para toda la convervsación conocida como "
+"<emphasis>sesión-por-conversación</emphasis>. Hibernate chequea las "
+"versiones de instancia en el momento de vaciado, lanzando una excepción si "
+"se detecta una modificación concurrente. Le concierne al desarrollador "
+"capturar y manejar esta excepción. Las opciones comunes son la oportunidad "
+"del usuario de fusionar los cambios, o de recomenzar el proceso empresarial "
+"sin datos desactualizados."
 
 #. Tag: para
-#: transactions.xml:727
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>Session</literal> is disconnected from any underlying JDBC "
 "connection when waiting for user interaction. This approach is the most "
@@ -1520,31 +1315,15 @@
 "in every database transaction."
 msgstr ""
 "La <literal>Session</literal> se desconecta de cualquier conexión JDBC "
-"subyacente al esperar por una interacción del usuario. Este enfoque es el "
-"más eficiente en términos de acceso a base de datos. La aplicación no "
-"necesita tratar por sí misma con el chequeo de versiones, ni re-uniendo "
-"instancias separadas, ni tiene que recargar instancias en cadatransactions-"
-"demarcation-timeout transacción de base de datos."
+"subyacente a la espera de una interacción del usuario. Este enfoque es el "
+"más eficiente en términos de acceso a la base de datos. La aplicación no "
+"necesita por sí misma tratar con el chequeo de versiones, ni re-unir "
+"instancias separadas, ni tiene que recargar instancias en cada transacción "
+"de la base de datos."
 
-#. Tag: programlisting
-#: transactions.xml:735
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[// foo is an instance loaded earlier by the old session\n"
-"Transaction t = session.beginTransaction(); // Obtain a new JDBC connection, "
-"start transaction\n"
-"\n"
-"foo.setProperty(\"bar\");\n"
-"\n"
-"session.flush();    // Only for last transaction in conversation\n"
-"t.commit();         // Also return JDBC connection\n"
-"session.close();    // Only for last transaction in conversation]]>"
-msgstr ""
-
-#. Tag: para
-#: transactions.xml:736
-#, fuzzy, no-c-format
-msgid ""
 "The <literal>foo</literal> object knows which <literal>Session</literal> it "
 "was loaded in. Beginning a new database transaction on an old session "
 "obtains a new connection and resumes the session. Committing a database "
@@ -1560,20 +1339,25 @@
 "will include the <literal>flush()</literal> operation, and then "
 "<literal>close()</literal> the session to end the conversation."
 msgstr ""
-"El objeto <literal>foo</literal> todavía conoce en qué <literal>Session</"
-"literal> fue cargado. <literal>Session.reconnect()</literal> obtiene una "
-"nueva conexión (o puedes proveer una) y reasume la sesión. El método "
-"<literal>Session.disconnect()</literal> desconectará la sesión de la "
-"conexión JDBC y la devolverá la conexión al pool (a menos que hayas provisto "
-"la conexión). Después de la reconexión, para forzar un chequeo de versión en "
-"datos que no estés actualizando, puedes llamar a <literal>Session.lock()</"
-"literal> con <literal>LockMode.READ</literal> sobre cualquier objeto que "
-"pudiese haber sido actualizado por otra transacción. No necesitas bloquear "
-"ningún dato que <emphasis>sí estés</emphasis> actualizando."
+"El objeto <literal>foo</literal> sabe en qué <literal>Session</literal> fue "
+"cargado. El dar inicio a una nueva base de datos en una sesión vieja obtiene "
+"una nueva conexión y reanuda la sesión. El guardar una transacción de la "
+"base de datos desconecta una sesión de la conexion JDBC y devuelve la "
+"conexión al pool. Después de la reconexión, para poder forzar una "
+"verificación de versión sobre datos que usted no está actalizando, puede "
+"llamar a <literal>Session.lock()</literal> con <literal>LockMode.READ</"
+"literal> en cualquier objeto que pueda haber sido actualizado por otra "
+"transacción. No necesita bloquear ningún dato que <emphasis>sí esté</"
+"emphasis> actualizando. Usualmente configuraría <literal>FlushMode.MANUAL</"
+"literal> en una <literal>Session</literal> extendida, de manera que de hecho "
+"sólamente se permite persistir el último ciclo de transacción de la base de "
+"datos de todas las modificaciones realizadas en esta conversación. Sólamente "
+"esta última transacción de la base de datos incluiría la operación "
+"<literal>flush()</literal> y luego cierra -<literal>close()</literal>- la "
+"sesión para dar fin a la conversación."
 
 #. Tag: para
-#: transactions.xml:751
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This pattern is problematic if the <literal>Session</literal> is too big to "
 "be stored during user think time (for example, an <literal>HttpSession</"
@@ -1583,36 +1367,35 @@
 "<literal>Session</literal> only for a single conversation as it will soon "
 "have stale data."
 msgstr ""
-"Si las llamadas explícitas a <literal>disconnect()</literal> y "
-"<literal>reconnect()</literal> son muy onerosas, puedes usar en cambio "
-"<literal>hibernate.connection.release_mode</literal>."
+"Este patrón es problemático si la <literal>Session</literal> es demasiado "
+"grande para almacenarla durante el tiempo para pensar del usuario, por "
+"ejemplo, una <literal>HttpSession</literal> se debe mantener tan pequeña "
+"como sea posible. Como la <literal>Session</literal> también lo es el caché "
+"de primer nivel (obligatorio) y comprende todos los objetos cargados, "
+"probablemente podemos utilizar esta estrategia sólamente para unos pocos "
+"ciclos de pedido/respuesta. Debe utilizar una <literal>Session</literal> "
+"sólamente para una conversación única ya que pronto también tendrá  datos "
+"añejos."
 
 #. Tag: title
-#: transactions.xml:762
 #, no-c-format
 msgid "Note"
-msgstr ""
+msgstr "Nota"
 
 #. Tag: para
-#: transactions.xml:763
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Earlier versions of Hibernate required explicit disconnection and "
 "reconnection of a <literal>Session</literal>. These methods are deprecated, "
 "as beginning and ending a transaction has the same effect."
 msgstr ""
-"Este patrón es problemático si la <literal>Session</literal> es demasiado "
-"grande para ser almacenada durante el tiempo de pensar del usuario, por "
-"ejemplo, una <literal>HttpSession</literal> debe mantenerse tan pequeña como "
-"sea posible. Ya que la <literal>Session</literal> es también el caché "
-"(obligatorio) de primer nivel y contiene todos los objetos cargados, podemos "
-"probablemente cargar esta estrategia sólo para unos pocos ciclos petición/"
-"respuesta. Esto está de hecho recomendado, ya que la <literal>Session</"
-"literal> tendrá pronto también datos añejos."
+"Las versiones anteriores de Hibernate necesitaban desconexión explícita y "
+"reconexión de una <literal>Session</literal>. Estos métodos ya no se "
+"aprueban ya que tienen el mismo efecto que dar inicio o finalizar a una "
+"transacción."
 
 #. Tag: para
-#: transactions.xml:769
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Keep the disconnected <literal>Session</literal> close to the persistence "
 "layer. Use an EJB stateful session bean to hold the <literal>Session</"
@@ -1620,15 +1403,14 @@
 "or even serialize it to a separate tier, to store it in the "
 "<literal>HttpSession</literal>."
 msgstr ""
-"Nota también que debes mantener la <literal>Session</literal> desconectada "
-"próxima a la capa de persistencia. En otras palabras, usa una sesión de EJB "
-"con estado para tener la <literal>Session</literal> y no transferirla a la "
-"capa web para almacenarla en la <literal>HttpSession</literal> (ni incluso "
-"serializarla a una capa separada)."
+"Mantenga la <literal>Session</literal> desconectada cerca a la capa de "
+"persistencia. Use un bean de sesión EJB con estado para mantener la "
+"<literal>Session</literal> en un entorno de tres capas . No la transfiera a "
+"la capa web ni la serialice en una capa separada para almacenarla en la "
+"<literal>HttpSession</literal>."
 
 #. Tag: para
-#: transactions.xml:777
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The extended session pattern, or <emphasis>session-per-conversation</"
 "emphasis>, is more difficult to implement with automatic current session "
@@ -1636,20 +1418,18 @@
 "<literal>CurrentSessionContext</literal> for this. See the Hibernate Wiki "
 "for examples."
 msgstr ""
-"UNTRANSLATED!!! The extended session pattern, or <emphasis>session-per-"
-"conversation</emphasis>, is more difficult to implement with automatic "
-"current session context management. You need to supply your own "
-"implementation of the <literal>CurrentSessionContext</literal> for this, see "
-"the Hibernate Wiki for examples."
+"El patrón de sesión extendido, o <emphasis>sesión-por-conversación</"
+"emphasis>, es más dificil de implementar con la administración de contexto "
+"de sesión actual. Necesita proporcionar su propia implementación de la "
+"<literal>CurrentSessionContext</literal> para esto, vea el Wiki de Hibernate "
+"para obtener más ejemplos."
 
 #. Tag: title
-#: transactions.xml:787
 #, no-c-format
 msgid "Detached objects and automatic versioning"
 msgstr "Objetos separados y versionado automático"
 
 #. Tag: para
-#: transactions.xml:789
 #, no-c-format
 msgid ""
 "Each interaction with the persistent store occurs in a new <literal>Session</"
@@ -1660,75 +1440,58 @@
 "<literal>Session.saveOrUpdate()</literal>, or <literal>Session.merge()</"
 "literal>."
 msgstr ""
-"Cada interacción con el almacén persistente ocurre en una nueva "
+"Cada interacción con el almacenamiento persistente ocurre en una nueva "
 "<literal>Session</literal>. Sin embargo, las mismas instancias persistentes "
-"son reusadas para cada interacción con la base de datos. La aplicación "
-"manipula el estado de las instancias separadas originalmente cargadas en "
+"son reutilizadas para cada interacción con la base de datos. La aplicación "
+"manipula el estado de las instancias separadas cargadas originalmente en "
 "otra <literal>Session</literal> y luego las readjunta usando "
 "<literal>Session.update()</literal>, <literal>Session.saveOrUpdate()</"
 "literal>, o <literal>Session.merge()</literal>."
 
-#. Tag: programlisting
-#: transactions.xml:797
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[// foo is an instance loaded by a previous Session\n"
-"foo.setProperty(\"bar\");\n"
-"session = factory.openSession();\n"
-"Transaction t = session.beginTransaction();\n"
-"session.saveOrUpdate(foo); // Use merge() if \"foo\" might have been loaded "
-"already\n"
-"t.commit();\n"
-"session.close();]]>"
-msgstr ""
-
-#. Tag: para
-#: transactions.xml:799
-#, fuzzy, no-c-format
-msgid ""
 "Again, Hibernate will check instance versions during flush, throwing an "
 "exception if conflicting updates occurred."
 msgstr ""
-"De nuevo, Hibernate chequeará las versiones de instancia durante la limpieza "
-"(flush), lanzando una excepción si ocurrieron actualizaciones en conflicto."
+"De nuevo, Hibernate chequeará las versiones de la instancia durante el "
+"vaciado, lanzando una excepción si tuvieron lugar conflictos en las "
+"actualizaciones."
 
 #. Tag: para
-#: transactions.xml:804
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can also call <literal>lock()</literal> instead of <literal>update()</"
 "literal>, and use <literal>LockMode.READ</literal> (performing a version "
 "check and bypassing all caches) if you are sure that the object has not been "
 "modified."
 msgstr ""
-"Puedes también llamar a <literal>lock()</literal> en vez de <literal>update()"
-"</literal> y usar <literal>LockMode.READ</literal> (realizando un chequeo de "
-"versión, puenteando todos los cachés) si estás seguro que el objeto no ha "
-"sido modificado."
+"También puede llamar a <literal>lock()</literal> en lugar de <literal>update"
+"()</literal> y utilizar <literal>LockMode.READ</literal> (realizando un "
+"chequeo de versión, evitando todos los cachés) si está seguro de que el "
+"objeto no ha sido modificado."
 
 #. Tag: title
-#: transactions.xml:813
 #, no-c-format
 msgid "Customizing automatic versioning"
-msgstr "Personalizando el versionado automático"
+msgstr "Personalización del versionado automático"
 
 #. Tag: para
-#: transactions.xml:815
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can disable Hibernate's automatic version increment for particular "
 "properties and collections by setting the <literal>optimistic-lock</literal> "
 "mapping attribute to <literal>false</literal>. Hibernate will then no longer "
 "increment versions if the property is dirty."
 msgstr ""
-"Puedes deshabilitar el incremento de versión automático de Hibernate para "
-"propiedades en particular y colecciones estableciendo el atributo de mapeo "
-"<literal>optimistic-lock</literal> a <literal>false</literal>. Hibernate "
-"entonces no incrementará ya más las versiones si la propiedad está sucia."
+"Puede deshabilitar el incremento de la versión automática de Hibernate para "
+"ciertas propiedades y colecciones en particular estableciendo el atributo de "
+"mapeo <literal>optimistic-lock</literal> como <literal>false</literal>. "
+"Hibernate entonces ya no incrementará más las versiones si la propiedad se "
+"encuentra desactualizada."
 
 #. Tag: para
-#: transactions.xml:822
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Legacy database schemas are often static and cannot be modified. Or, other "
 "applications might access the same database and will not know how to handle "
@@ -1741,36 +1504,34 @@
 "long <literal>Session</literal> and not session-per-request-with-detached-"
 "objects)."
 msgstr ""
-"Los esquemas de base de datos heredados son frecuentemente estáticos y no "
-"pueden ser modificados. U otras aplicaciones podrían también acceder la "
-"misma base de datos y no saber cómo manejar los números de versión ni "
-"incluso timestamps. En ambos casos, el versionado no puede confiarse a una "
+"Los esquemas heredados de la base de datos con frecuencia son estáticos y no "
+"pueden ser modificados. Inclusive otras aplicaciones podrían también acceder "
+"la misma base de datos y no saber cómo manejar los números de versión ni los "
+"sellos de fecha. En ambos casos, el versionado no puede confiarse a una "
 "columna en particular en una tabla. Para forzar un chequeo de versiones sin "
-"un mapeo de propiedad de versión o timestamp, con una comparación del estado "
-"de todos los campos en una fila, activa <literal>optimistic-lock=\"all\"</"
-"literal> en el mapeo de <literal>&lt;class&gt;</literal>. Nota que esto "
-"conceptualmente funciona solamente si Hibernate puede comparar el estado "
-"viejo y nuevo, es decir, si usas una sola <literal>Session</literal> larga y "
-"no sesión-por-petición-con-instancias-separadas."
+"un mapeo de propiedad de versión o sello de fecha, con una comparación del "
+"estado de todos los campos en una fila, active <literal>optimistic-lock=\"all"
+"\"</literal> en el mapeo de <literal>&lt;class&gt;</literal>. Esto funciona "
+"conceptualmente sólamente si Hibernate puede comparar el estado viejo y el "
+"nuevo, es decir, si usa una sóla <literal>Session</literal> larga y no "
+"sesión-por-petición-con-instancias-separadas."
 
 #. Tag: para
-#: transactions.xml:834
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Concurrent modification can be permitted in instances where the changes that "
 "have been made do not overlap. If you set <literal>optimistic-lock=\"dirty"
 "\"</literal> when mapping the <literal>&lt;class&gt;</literal>, Hibernate "
 "will only compare dirty fields during flush."
 msgstr ""
-"A veces las modificaciones concurrentes pueden permitirse, en cuanto los "
-"cambios que hayan sido hechos no se traslapen. Si estableces "
+"Las modificaciones simultáneas pueden permitirse en instancias en tanto los "
+"cambios que se hayan realizado no se superpongan. Si establece "
 "<literal>optimistic-lock=\"dirty\"</literal> al mapear la <literal>&lt;"
-"class&gt;</literal>, Hibernate sólo comparará los campos sucios durante la "
-"limpieza."
+"class&gt;</literal>, Hibernate sólo comparará los campos desactualizados "
+"durante el vaciado."
 
 #. Tag: para
-#: transactions.xml:840
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "In both cases, with dedicated version/timestamp columns or with a full/dirty "
 "field comparison, Hibernate uses a single <literal>UPDATE</literal> "
@@ -1785,29 +1546,28 @@
 "to <literal>SELECT</literal> the instance to ensure that changes did occur "
 "before updating the row."
 msgstr ""
-"En ambos casos, con columnas de versión/timestamp dedicadas o con "
-"comparación de campos completa/sucios, Hibernate usa una sola sentencia "
-"<literal>UPDATE</literal> (con una cláusula <literal>WHERE</literal> "
-"apropiada) por entidad para ejecutar el chequeo de versiones y actualizar la "
-"información. Si usas persistencia transitiva para la re-unión en cascada de "
-"entidades asociadas, Hibernate podría ejecutar actualizaciones innecesarias. "
-"Esto usualmente no es un problema, pero podrían ejecutarse disparadores "
-"(triggers) <emphasis>on update</emphasis> en la base de datos incluso cuando "
-"no se haya hecho ningún cambio a las instancias separadas. Puedes "
-"personalizar este comportamiento estableciendo <literal>select-before-update="
-"\"true\"</literal> en el mapeo de <literal>&lt;class&gt;</literal>, forzando "
-"a Hibernate a <literal>SELECT</literal> la instancia para asegurar que las "
-"actualizaciones realmente ocurran, antes de actualizar la fila."
+"En ambos casos, con columnas de versión/sello de fecha dedicadas o con "
+"comparación de campos completos/desactualizados, Hibernate utiliza una sóla "
+"declaración <literal>UPDATE</literal> (con una cláusula <literal>WHERE</"
+"literal> apropiada) por entidad para ejecutar el chequeo de versiones y "
+"actualizar la información. Si utiliza una persistencia transitiva para la re-"
+"unión en cascada de entidades asociadas, Hibernate podría ejecutar "
+"actualizaciones innecesarias. Esto usualmente no es problema, pero podrían "
+"ejecutarse disparadores (triggers) <emphasis>enactualizazción</emphasis> en "
+"la base de datos incluso cuando no se haya hecho ningún cambio a las "
+"instancias separadas. Puede personalizar este comportamiento estableciendo "
+"<literal>select-before-update=\"true\"</literal> en el mapeo de <literal>&lt;"
+"class&gt;</literal>, forzando a Hibernate a <literal>SELECT</literal> la "
+"instancia para asegurar que las actualizaciones realmente ocurran, antes de "
+"actualizar la fila."
 
 #. Tag: title
-#: transactions.xml:858
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Pessimistic locking"
-msgstr "Bloqueo pesimista"
+msgstr "Bloqueo pesimista "
 
 #. Tag: para
-#: transactions.xml:860
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is not intended that users spend much time worrying about locking "
 "strategies. It is usually enough to specify an isolation level for the JDBC "
@@ -1815,36 +1575,33 @@
 "advanced users may wish to obtain exclusive pessimistic locks or re-obtain "
 "locks at the start of a new transaction."
 msgstr ""
-"No se pretende que los usuarios gasten mucho tiempo preocupándose de las "
+"No se pretende que los usuarios tomen mucho tiempo preocupándose de las "
 "estrategias de bloqueo. Usualmente es suficiente con especificar un nivel de "
 "aislamiento para las conexiones JDBC y entonces simplemente dejar que la "
-"base de datos haga todo el trabajo. Sin embargo, los usuarios avanzados "
-"pueden a veces obtener bloqueos exclusivos pesimistas, o reobtener bloqueos "
-"al comienzo de una nueva transacción."
+"base de datos haga todo el trabajo. Sin embargo, los usuarios avanzados a "
+"veces pueden obtener bloqueos exclusivos pesimistas, o reobtener bloqueos al "
+"comienzo de una nueva transacción."
 
 #. Tag: para
-#: transactions.xml:867
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate will always use the locking mechanism of the database; it never "
 "lock objects in memory."
 msgstr ""
-"¡Hibernate siempre usará el mecanismo de bloqueo de la base de datos, nunca "
-"bloqueo de objetos en memoria!"
+"Hibernate siempre usará el mecanismo de bloqueo de la base de datos, nunca "
+"el bloqueo de objetos en memoria."
 
 #. Tag: para
-#: transactions.xml:872
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>LockMode</literal> class defines the different lock levels that "
 "can be acquired by Hibernate. A lock is obtained by the following mechanisms:"
 msgstr ""
 "La clase <literal>LockMode</literal> define los diferentes niveles de "
-"bloqueo que pueden ser adquiridos por Hibernate. Un bloqueo se obtiene por "
-"los siguientes mecanismos:"
+"bloqueo que Hibernate puede adquirir. Un bloqueo se obtiene por medio de los "
+"siguientes mecanismos: "
 
 #. Tag: para
-#: transactions.xml:879
 #, no-c-format
 msgid ""
 "<literal>LockMode.WRITE</literal> is acquired automatically when Hibernate "
@@ -1854,43 +1611,39 @@
 "Hibernate actualiza o inserta una fila."
 
 #. Tag: para
-#: transactions.xml:885
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>LockMode.UPGRADE</literal> can be acquired upon explicit user "
 "request using <literal>SELECT ... FOR UPDATE</literal> on databases which "
 "support that syntax."
 msgstr ""
-"<literal>LockMode.UPGRADE</literal> puede ser adquirido bajo petición "
+"<literal>LockMode.UPGRADE</literal> se puede ser adquirir bajo petición "
 "explícita del usuario usando <literal>SELECT ... FOR UPDATE</literal> en "
-"base de datos que soporten esa sintáxis."
+"bases de datos que soporten esa sintáxis."
 
 #. Tag: para
-#: transactions.xml:891
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>LockMode.UPGRADE_NOWAIT</literal> can be acquired upon explicit "
 "user request using a <literal>SELECT ... FOR UPDATE NOWAIT</literal> under "
 "Oracle."
 msgstr ""
-"<literal>LockMode.UPGRADE_NOWAIT</literal> puede ser adquirido bajo petición "
+"<literal>LockMode.UPGRADE_NOWAIT</literal> se puede adquirir bajo petición "
 "explícita del usuario usando un <literal>SELECT ... FOR UPDATE NOWAIT</"
 "literal> bajo Oracle."
 
 #. Tag: para
-#: transactions.xml:897
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>LockMode.READ</literal> is acquired automatically when Hibernate "
 "reads data under Repeatable Read or Serializable isolation level. It can be "
 "re-acquired by explicit user request."
 msgstr ""
-"<literal>LockMode.READ</literal> es adquirido automáticamente cuando "
-"Hibernate lee datos bajo los niveles de aislamiento Repeatable Read o "
-"Serializable. Puede ser readquirido por pedido explícito del usuario."
+"<literal>LockMode.READ</literal> se adquiere automáticamente cuando "
+"Hibernate lee los datos bajo los niveles de aislamiento de lectura repetible "
+"o serializable. Se puede readquirir por pedido explícito del usuario."
 
 #. Tag: para
-#: transactions.xml:904
 #, no-c-format
 msgid ""
 "<literal>LockMode.NONE</literal> represents the absence of a lock. All "
@@ -1901,12 +1654,11 @@
 msgstr ""
 "<literal>LockMode.NONE</literal> representa la ausencia de un bloqueo. Todos "
 "los objetos se pasan a este modo de bloqueo al final de una "
-"<literal>Transaction</literal>. Los objetos asociados con una sesión vía una "
-"llamada a <literal>update()</literal> o <literal>saveOrUpdate()</literal> "
-"también comienzan en este modo de bloqueo."
+"<literal>Transaction</literal>. Los objetos asociados con una sesión por "
+"medio de una llamada a <literal>update()</literal> o <literal>saveOrUpdate()"
+"</literal> también comienzan en este modo de bloqueo."
 
 #. Tag: para
-#: transactions.xml:913
 #, no-c-format
 msgid ""
 "The \"explicit user request\" is expressed in one of the following ways:"
@@ -1915,7 +1667,6 @@
 "formas:"
 
 #. Tag: para
-#: transactions.xml:919
 #, no-c-format
 msgid ""
 "A call to <literal>Session.load()</literal>, specifying a <literal>LockMode</"
@@ -1925,19 +1676,16 @@
 "<literal>LockMode</literal>."
 
 #. Tag: para
-#: transactions.xml:924
 #, no-c-format
 msgid "A call to <literal>Session.lock()</literal>."
 msgstr "Una llamada a <literal>Session.lock()</literal>."
 
 #. Tag: para
-#: transactions.xml:929
 #, no-c-format
 msgid "A call to <literal>Query.setLockMode()</literal>."
 msgstr "Una llamada a <literal>Query.setLockMode()</literal>."
 
 #. Tag: para
-#: transactions.xml:935
 #, no-c-format
 msgid ""
 "If <literal>Session.load()</literal> is called with <literal>UPGRADE</"
@@ -1950,14 +1698,13 @@
 msgstr ""
 "Si se llama a <literal>Session.load()</literal> con <literal>UPGRADE</"
 "literal> o <literal>UPGRADE_NOWAIT</literal>, y el objeto pedido no ha sido "
-"aún cargado por la sesión, el objeto es cargado usando <literal>SELECT ... "
-"FOR UPDATE</literal>. Si se llama a <literal>load()</literal> para un objeto "
-"que ya esté cargado con un bloqueo menos restrictivo que el pedido, "
-"Hibernate llama a <literal>lock()</literal> para ese objeto."
+"cargado todavía por la sesión, el objeto es cargado usando "
+"<literal>SELECT ... FOR UPDATE</literal>. Si se llama a <literal>load()</"
+"literal> para un objeto que ya esté cargado con un bloqueo menos restrictivo "
+"que el pedido, Hibernate llama a <literal>lock()</literal> para ese objeto."
 
 #. Tag: para
-#: transactions.xml:944
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "<literal>Session.lock()</literal> performs a version number check if the "
 "specified lock mode is <literal>READ</literal>, <literal>UPGRADE</literal> "
@@ -1967,30 +1714,27 @@
 msgstr ""
 "<literal>Session.lock()</literal> realiza un chequeo de número de versión si "
 "el modo de bloqueo especificado es <literal>READ</literal>, "
-"<literal>UPGRADE</literal> o <literal>UPGRADE_NOWAIT</literal>. (En el caso "
+"<literal>UPGRADE</literal> o <literal>UPGRADE_NOWAIT</literal>. En el caso "
 "de <literal>UPGRADE</literal> o <literal>UPGRADE_NOWAIT</literal>, se usa "
-"<literal>SELECT ... FOR UPDATE</literal>.)"
+"<literal>SELECT ... FOR UPDATE</literal>."
 
 #. Tag: para
-#: transactions.xml:951
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If the requested lock mode is not supported by the database, Hibernate uses "
 "an appropriate alternate mode instead of throwing an exception. This ensures "
 "that applications are portable."
 msgstr ""
-"Si la base de datos no soporta el modo de bloqueo solicitado, Hibernate "
-"usará un modo alternativo apropiado (en vez de lanzar una excepción). Esto "
-"asegura que las aplicaciones serán portables."
+"Si la base de datos no soporta el modo de bloqueo solicitado, Hibernate usa "
+"un modo opcional apropiado en lugar de lanzar una excepción. Esto asegura "
+"que las aplicaciones serán portátiles."
 
 #. Tag: title
-#: transactions.xml:960
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Connection release modes"
-msgstr "translator-credits"
+msgstr "Modos de liberación de la conexión"
 
 #. Tag: para
-#: transactions.xml:962
 #, no-c-format
 msgid ""
 "One of the legacies of Hibernate 2.x JDBC connection management meant that a "
@@ -2004,26 +1748,39 @@
 "by the enumerated values of <literal>org.hibernate.ConnectionReleaseMode</"
 "literal>:"
 msgstr ""
+"La herencia (2x) de Hibernate en relación con la administración de la "
+"conexion JDBC fue que una <literal>Session</literal> obtendría una conexión "
+"cuando se necesitara por primera vez y luego la mantendría hasta que se "
+"cerrara la sesión. Hibernate 3.x introdujo la noción de modos de liberación "
+"de conexión para decirle a la sesión como manejar sus conexiones JDBC. La "
+"siguiente discusión sólamente es pertinente para las conexiones provistas "
+"por medio de un <literal>ConnectionProvider</literal> configurado. Las "
+"conexiones provistas por el usuario no se discuten aquí. Los diferentes "
+"modos de liberación se identifican por los valores numerados de <literal>org."
+"hibernate.ConnectionReleaseMode</literal>:"
 
 #. Tag: para
-#: transactions.xml:976
 #, no-c-format
 msgid ""
 "<literal>ON_CLOSE</literal>: is the legacy behavior described above. The "
 "Hibernate session obtains a connection when it first needs to perform some "
 "JDBC access and maintains that connection until the session is closed."
 msgstr ""
+"<literal>ON_CLOSE</literal>: es el comportamiento heredado descrito "
+"anteriormente. La sesión de Hibernate obtiene una conexión cuando necesita "
+"acceder a JDBC la primera vez y mantiene esa conexión hasta que se cierra la "
+"sesión."
 
 #. Tag: para
-#: transactions.xml:983
 #, no-c-format
 msgid ""
 "<literal>AFTER_TRANSACTION</literal>: releases connections after a "
 "<literal>org.hibernate.Transaction</literal> has been completed."
 msgstr ""
+"<literal>AFTER_TRANSACTION</literal>: libera las conecciones después de que "
+"se ha completado una <literal>org.hibernate.Transaction</literal>."
 
 #. Tag: para
-#: transactions.xml:989
 #, no-c-format
 msgid ""
 "<literal>AFTER_STATEMENT</literal> (also referred to as aggressive release): "
@@ -2032,18 +1789,25 @@
 "the given session. Currently the only situation where this occurs is through "
 "the use of <literal>org.hibernate.ScrollableResults</literal>."
 msgstr ""
+"<literal>AFTER_STATEMENT</literal> (también se conoce como una liberación "
+"agresiva): libera conexiones después de cada ejecución de una declaración. "
+"Se salta esta liberación agresiva si la declaración deja abiertos recursos "
+"asociados con la sesión dada. Actualmente la única situación donde ocurre "
+"esto es por medio del uso de <literal>org.hibernate.ScrollableResults</"
+"literal>."
 
 #. Tag: para
-#: transactions.xml:999
 #, no-c-format
 msgid ""
 "The configuration parameter <literal>hibernate.connection.release_mode</"
 "literal> is used to specify which release mode to use. The possible values "
 "are as follows:"
 msgstr ""
+"El parámetro de configuración <literal>hibernate.connection.release_mode</"
+"literal> se utiliza para especificar el modo de liberación a utilizar. Los "
+"valores posibles son los siguientes:"
 
 #. Tag: para
-#: transactions.xml:1006
 #, no-c-format
 msgid ""
 "<literal>auto</literal> (the default): this choice delegates to the release "
@@ -2054,17 +1818,26 @@
 "default behavior as failures due to the value of this setting tend to "
 "indicate bugs and/or invalid assumptions in user code."
 msgstr ""
+"<literal>auto</literal> (predeterminado): esta opción delega al modo de "
+"liberación devuelto por el método <literal>org.hibernate.transaction."
+"TransactionFactory.getDefaultReleaseMode()</literal>. Para "
+"JTATransactionFactory, esto devuelve ConnectionReleaseMode.AFTER_STATEMENT; "
+"para JDBCTransactionFactory, esto devuelve ConnectionReleaseMode."
+"AFTER_TRANSACTION. No cambie este comportamiento predeterminado ya que las "
+"fallas debido a este valor de esta configuración tienden a indicar errores y/"
+"o suposiciones en el código del usuario."
 
 #. Tag: para
-#: transactions.xml:1016
 #, no-c-format
 msgid ""
 "<literal>on_close</literal>: uses ConnectionReleaseMode.ON_CLOSE. This "
 "setting is left for backwards compatibility, but its use is discouraged."
 msgstr ""
+"<literal>on_close</literal>: usa ConnectionReleaseMode.ON_CLOSE. Esta "
+"configuración se deja para la compatibilidad con versiones anteriores, pero "
+"no se recomienda para nada su utilización."
 
 #. Tag: para
-#: transactions.xml:1022
 #, no-c-format
 msgid ""
 "<literal>after_transaction</literal>: uses ConnectionReleaseMode."
@@ -2073,9 +1846,13 @@
 "considered to be in auto-commit mode, connections will be released as if the "
 "release mode were AFTER_STATEMENT."
 msgstr ""
+"<literal>after_transaction</literal>: utiliza ConnectionReleaseMode."
+"AFTER_TRANSACTION. Esta configuración no se debe utilizar en entornos JTA. "
+"También note que con ConnectionReleaseMode.AFTER_TRANSACTION, si se "
+"considera que una sesión se encuentra en modo auto-commit, las conexiones "
+"serán liberada como si el modo de liberación fuese AFTER_STATEMENT."
 
 #. Tag: para
-#: transactions.xml:1030
 #, no-c-format
 msgid ""
 "<literal>after_statement</literal>: uses ConnectionReleaseMode."
@@ -2088,3 +1865,12 @@
 "getConnection()</literal> or in auto-commit environments where it does not "
 "matter if we re-establish the same connection."
 msgstr ""
+"<literal>after_statement</literal>: usa ConnectionReleaseMode."
+"AFTER_STATEMENT. Además se consulta la <literal>ConnectionProvider</literal> "
+"configurada para ver si soporta esta característica "
+"<literal>supportsAggressiveRelease()</literal>. Si no, el modo de liberación "
+"se vuelve a establecer como ConnectionReleaseMode.AFTER_TRANSACTION. Esta "
+"configuración sólamente es segura en entornos en donde podemos re-adquirir "
+"la misma conexión JDBC subyacente cada vez que llamamos a "
+"<literal>ConnectionProvider.getConnection()</literal> o en entornos auto-"
+"commit, en donde no importa si recibimos la misma conexión."

Modified: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/tutorial.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/tutorial.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/content/tutorial.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,20 +1,34 @@
-#, fuzzy
+# translation of tutorial.po to
+# Michael H. Smith <mhideo at redhat.com>, 2007.
+# Angela Garcia <agarcia at redhat.com>, 2009, 2010.
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
+# translation of Collection_Mapping.po to
 msgid ""
 msgstr ""
+"Project-Id-Version: tutorial\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-23 18:41+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
+"POT-Creation-Date: 2010-01-08T04:07:20\n"
+"PO-Revision-Date: 2010-01-07 10:05+1000\n"
+"Last-Translator: Angela Garcia <agarcia at redhat.com>\n"
+"Language-Team:  <en at li.org>\n"
+"MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
 
 #. Tag: title
-#: tutorial.xml:31
 #, no-c-format
 msgid "Tutorial"
-msgstr ""
+msgstr "Tutorial"
 
 #. Tag: para
-#: tutorial.xml:33
 #, no-c-format
 msgid ""
 "Intended for new users, this chapter provides an step-by-step introduction "
@@ -23,43 +37,49 @@
 "Gloegl. All code is contained in the <filename>tutorials/web</filename> "
 "directory of the project source."
 msgstr ""
+"Dirigido a los nuevos usuarios, este capítulo brinda una introducción a "
+"Hibernate paso por paso, empezando con una aplicación simple usando una base "
+"de datos en memoria. Este tutorial se basa en un tutorial anterior que "
+"Michael Gloegl desarrolló. Todo el código se encuentra en el directorio "
+"<filename>tutorials/web</filename> de la fuente del proyecto. "
 
 #. Tag: para
-#: tutorial.xml:42
 #, no-c-format
 msgid ""
 "This tutorial expects the user have knowledge of both Java and SQL. If you "
 "have a limited knowledge of JAVA or SQL, it is advised that you start with a "
 "good introduction to that technology prior to attempting to learn Hibernate."
 msgstr ""
+"Este tutorial se basa en que el usuario tenga conocimiento de Java y SQL. Si "
+"tiene un conocimiento muy limitado de JAVA o SQL, le aconsejamos que empiece "
+"con una buena introducción a esta tecnología antes de tratar de aprender "
+"sobre Hibernate."
 
 #. Tag: para
-#: tutorial.xml:51
 #, no-c-format
 msgid ""
 "The distribution contains another example application under the "
 "<filename>tutorial/eg</filename> project source directory."
 msgstr ""
+"La distribución contiene otra aplicación de ejemplo bajo el directorio "
+"fuente del proyecto <filename>tutorial/eg</filename>."
 
 #. Tag: title
-#: tutorial.xml:59
 #, no-c-format
 msgid "Part 1 - The first Hibernate Application"
-msgstr "Parte 1 - La primera Aplicaci&#x00f3;n Hibernate"
+msgstr "Parte 1 - La primera aplicación Hibernate"
 
 #. Tag: para
-#: tutorial.xml:61
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "For this example, we will set up a small database application that can store "
 "events we want to attend and information about the host(s) of these events."
 msgstr ""
-"Asumamos que necesitamos una aplicaci&#x00f3;n peque&#x00f1;a de base de "
-"datos que pueda almacenar eventos que queremos atender, e informaci&#x00f3;n "
-"acerca de los hostales de estos eventos."
+"Para este ejemplo, vamos a configurar una aplicación base de datos pequeña "
+"que pueda almacenar eventos a los que queremos asistir e información sobre "
+"los anfitriones de estos eventos."
 
 #. Tag: para
-#: tutorial.xml:67
 #, no-c-format
 msgid ""
 "Although you can use whatever database you feel comfortable using, we will "
@@ -67,15 +87,17 @@
 "database) to avoid describing installation/setup of any particular database "
 "servers."
 msgstr ""
+"Aunque puede utilizar cualquier base de datos con la que se sienta bien, "
+"vamos a usar <ulink url=\"http://hsqldb.org/\">HSQLDB</ulink> (una base de "
+"datos Java en-memoria) para evitar describir la instalación/configuración de "
+"cualquier servidor de base de datos en particular."
 
 #. Tag: title
-#: tutorial.xml:76
 #, no-c-format
 msgid "Setup"
-msgstr ""
+msgstr "Configuración"
 
 #. Tag: para
-#: tutorial.xml:78
 #, no-c-format
 msgid ""
 "The first thing we need to do is to set up the development environment. We "
@@ -87,190 +109,84 @@
 "making use of <filename>src/main/java</filename>, <filename>src/main/"
 "resources</filename> and <filename>src/main/webapp</filename> directories."
 msgstr ""
+"Lo primero que tenemos que hacer es configurar el entorno de desarrollo. "
+"Vamos a utilizar el \"diseño estándar\" apoyado por muchas herramientas de "
+"construcción tal como <ulink url=\"http://maven.org\">Maven</ulink>. Maven, "
+"en particular, tiene un buen recurso que describe este <ulink url=\"http://"
+"maven.apache.org/guides/introduction/introduction-to-the-standard-directory-"
+"layout.html\">diseño</ulink>. Como este tutorial va a ser una aplicación "
+"web, vamos a crear y a utilizar los directorios <filename>src/main/java</"
+"filename>, <filename>src/main/resources</filename> y <filename>src/main/"
+"webapp</filename>."
 
 #. Tag: para
-#: tutorial.xml:88
 #, no-c-format
 msgid ""
 "We will be using Maven in this tutorial, taking advantage of its transitive "
 "dependency management capabilities as well as the ability of many IDEs to "
 "automatically set up a project for us based on the maven descriptor."
 msgstr ""
+"Vamos a usar Maven en este tutorial, sacando ventaja de sus funcionalidades "
+"de administración de dependencias transitivas así como la habilidad de "
+"muchos IDEs para configurar automáticamente un proyecto para nosotros con "
+"base en el descriptor maven."
 
-#. Tag: programlisting
-#: tutorial.xml:94
-#, no-c-format
-msgid ""
-"<![CDATA[<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n"
-"         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
-"         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven."
-"apache.org/xsd/maven-4.0.0.xsd\">\n"
-"\n"
-"    <modelVersion>4.0.0</modelVersion>\n"
-"\n"
-"    <groupId>org.hibernate.tutorials</groupId>\n"
-"    <artifactId>hibernate-tutorial</artifactId>\n"
-"    <version>1.0.0-SNAPSHOT</version>\n"
-"    <name>First Hibernate Tutorial</name>\n"
-"\n"
-"    <build>\n"
-"         <!-- we dont want the version to be part of the generated war file "
-"name -->\n"
-"         <finalName>${artifactId}</finalName>\n"
-"    </build>\n"
-"\n"
-"    <dependencies>\n"
-"        <dependency>\n"
-"            <groupId>org.hibernate</groupId>\n"
-"            <artifactId>hibernate-core</artifactId>\n"
-"        </dependency>\n"
-"\n"
-"        <!-- Because this is a web app, we also have a dependency on the "
-"servlet api. -->\n"
-"        <dependency>\n"
-"            <groupId>javax.servlet</groupId>\n"
-"            <artifactId>servlet-api</artifactId>\n"
-"        </dependency>\n"
-"\n"
-"        <!-- Hibernate uses slf4j for logging, for our purposes here use the "
-"simple backend -->\n"
-"        <dependency>\n"
-"            <groupId>org.slf4j</groupId>\n"
-"            <artifactId>slf4j-simple</artifactId>\n"
-"        </dependency>\n"
-"\n"
-"        <!-- Hibernate gives you a choice of bytecode providers between "
-"cglib and javassist -->\n"
-"        <dependency>\n"
-"            <groupId>javassist</groupId>\n"
-"            <artifactId>javassist</artifactId>\n"
-"        </dependency>\n"
-"    </dependencies>\n"
-"\n"
-"</project>]]>"
-msgstr ""
-
 #. Tag: para
-#: tutorial.xml:97
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
-"It is not a requirement to use Maven. If you wish to use something else to "
-"build this tutoial (such as Ant), the layout will remain the same. The only "
-"change is that you will need to manually account for all the needed "
-"dependencies. If you use something like <ulink url=\"http://ant.apache.org/"
-"ivy/\">Ivy</ulink> providing transitive dependency management you would "
-"still use the dependencies mentioned below. Otherwise, you'd need to grab "
-"<emphasis>all</emphasis> dependencies, both explicit and transitive, and add "
-"them to the project's classpath. If working from the Hibernate distribution "
-"bundle, this would mean <filename>hibernate3.jar</filename>, all artifacts "
-"in the <filename>lib/required</filename> directory and all files from either "
-"the <filename>lib/bytecode/cglib</filename> or <filename>lib/bytecode/"
-"javassist</filename> directory; additionally you will need both the servlet-"
-"api jar and one of the slf4j logging backends."
+"It is not a requirement to use Maven. If you wish to use another technology "
+"to build this tutorial (such as Ant), the layout will remain the same. The "
+"only change is that you will need to manually account for all the needed "
+"dependencies. If you use <ulink url=\"http://ant.apache.org/ivy/\">Ivy</"
+"ulink> to provide transitive dependency management you would still use the "
+"dependencies mentioned below. Otherwise, you will need to find all the "
+"dependencies, both explicit and transitive, and add them to the projects "
+"classpath. If working from the Hibernate distribution bundle, this would "
+"mean <filename>hibernate3.jar</filename>, all artifacts in the <filename>lib/"
+"required</filename> directory and all files from either the <filename>lib/"
+"bytecode/cglib</filename> or <filename>lib/bytecode/javassist</filename> "
+"directory; additionally you will need both the servlet-api jar and one of "
+"the slf4j logging backends."
 msgstr ""
+"El usar Maven no es un requerimiento. Si desea utilizar otra tecnologia para "
+"construir este tutorial (tal como Ant), el diseño sigue siendo el mismo. El "
+"único cambio es que necesitará dar cuenta manualmente por todas las "
+"dependencias que se necesitan. Si usa <ulink url=\"http://ant.apache.org/ivy/"
+"\">Ivy</ulink> para brindar administración de dependencias transitivas "
+"todavía utilizaría las dependencias que mencionamos anteriormente. De otra "
+"manera, necesitará encontrar todas las dependencias, explícitas y "
+"transitivas y agregarlas a la ruta de clase del proyecto. Si trabaja desde "
+"el paquete de distribución Hibernate, esto significaría que "
+"<filename>hibernate3.jar</filename>, todos los artefactos en el directorio "
+"<filename>lib/required</filename> y todos los archivos del directorio "
+"<filename>lib/bytecode/cglib</filename> o <filename>lib/bytecode/javassist</"
+"filename>; además necesitará el servlet-api jar y uno de los backends de "
+"registro slf4j."
 
 #. Tag: para
-#: tutorial.xml:114
 #, no-c-format
 msgid ""
 "Save this file as <filename>pom.xml</filename> in the project root directory."
 msgstr ""
+"Guarde este archivo como <filename>pom.xml</filename> en el directorio raíz "
+"del proyecto."
 
 #. Tag: title
-#: tutorial.xml:121
 #, no-c-format
 msgid "The first class"
 msgstr "La primera clase"
 
 #. Tag: para
-#: tutorial.xml:123
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Next, we create a class that represents the event we want to store in the "
 "database; it is a simple JavaBean class with some properties:"
 msgstr ""
-"Por siguiente, creamos una clase que represente el evento que queremos "
-"almacenar en base de datos."
+"Luego creamos una clase que representa el evento que queremos almacenar en "
+"la base de datos, es una clase JavaBean simple con algunas propiedades:"
 
-#. Tag: programlisting
-#: tutorial.xml:128
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[package org.hibernate.tutorial.domain;\n"
-"\n"
-"import java.util.Date;\n"
-"\n"
-"public class Event {\n"
-"    private Long id;\n"
-"\n"
-"    private String title;\n"
-"    private Date date;\n"
-"\n"
-"    public 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"
-"}]]>"
-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:130
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This class uses standard JavaBean naming conventions for property getter and "
 "setter methods, as well as private visibility for the fields. Although this "
@@ -278,16 +194,14 @@
 "fields directly, the benefit of accessor methods is robustness for "
 "refactoring."
 msgstr ""
-"Puedes ver que esta clase usa las convenciones de nombrado est&#x00e1;ndar "
-"de JavaBean para m&#x00e9;todos getter y setter de propiedad, as&#x00ed; "
-"como visibilidad privada para los campos. Esto es un dise&#x00f1;o "
-"recomendado, aunque no requerido. Hibernate tambi&#x00e9;n puede acceder a "
-"los campos directamente; el beneficio de los m&#x00e9;todos de acceso es la "
-"robustez para la refactorizaci&#x00f3;n."
+"Esta clase utiliza convenciones de nombrado estándares de JavaBean para los "
+"métodos de propiedades getter y setter así como también visibilidad privada "
+"para los campos. Se recomienda este diseño, pero no se exige. Hibernate "
+"también puede acceder a los campos directamente, los métodos de acceso "
+"benefician la robustez de la refactorización. "
 
 #. Tag: para
-#: tutorial.xml:138
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>id</literal> property holds a unique identifier value for a "
 "particular event. All persistent entity classes (there are less important "
@@ -301,25 +215,22 @@
 "as well as public, private and 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 &#x00fa;nico de "
-"identificador para un evento en particular. Todas las clase de entidad "
-"persistentes ( tambi&#x00e9;n hay clases dependientes menos importantes) "
-"necesitar&#x00e1;n una propiedad identificadora similar si queremos usar el "
-"conjunto completo de funcionalidades de Hibernate. De hecho, la mayor&#x00ed;"
-"a de las aplicaciones (esp. aplicaciones web) necesitan distinguir objetos "
-"por identificador, de modo que debes considerar esto como un aspecto en vez "
-"de una limitaci&#x00f3;n. Sin embargo, usualmente no manipulamos la "
-"identidad de un objeto, por lo tanto el m&#x00e9;todo setter debe ser "
-"privado. S&#x00f3;lo Hibernate asignar&#x00e1; identificadores cuando un "
-"objeto sea salvado. Puedes ver que Hibernate puede acceder a m&#x00e9;todos "
-"de acceso p&#x00fa;blicos, privados y protegidos, tanto como directamente a "
-"campos (p&#x00fa;blicos, privados y protegidos). La elecci&#x00f3;n "
-"est&#x00e1; en ti, y puedes ajustarla a tu dise&#x00f1;o de aplicaci&#x00f3;"
-"n."
+"La propiedad <literal>id</literal> tiene un valor identificador único para "
+"un evento en particular. Todas las clases de entidad persistentes "
+"necesitarán tal propiedad identificadora si queremos utilizar el grupo "
+"completo de funcionalidades de Hibernate (también algunas clases "
+"dependientes menos importantes). De hecho, la mayoría de las aplicaciones "
+"(en especial las aplicaciones web) necesitan distinguir los objetos por "
+"identificador, así que usted debe tomar esto como una funcionalidad más que "
+"una limitación. Sin embargo, usualmente no manipulamos la identidad de un "
+"objeto, por lo tanto, el método setter debe ser privado. Sólamente Hibernate "
+"asignará identificadores cuando se guarde un objeto. Como se puede ver, "
+"Hibernate puede acceder a métodos de acceso públicos, privados y protegidos, "
+"así como también a campos directamente públicos, privados y protegidos. "
+"Puede escoger y hacer que se ajuste a su diseño de su aplicación."
 
 #. Tag: para
-#: tutorial.xml:153
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The no-argument constructor is a requirement for all persistent classes; "
 "Hibernate has to create objects for you, using Java Reflection. The "
@@ -328,28 +239,27 @@
 "instrumentation."
 msgstr ""
 "El constructor sin argumentos es un requerimiento para todas las clases "
-"persistentes. Hibernate tiene que crear objetos para ti, usando "
-"reflecci&#x00f3;n Java. El constructor puede ser privado, sin embargo, la "
-"visibilidad de paquete es requerida para la generaci&#x00f3;n de proxies en "
-"tiempo de ejecuci&#x00f3;n y la recuperaci&#x00f3;n de datos sin "
-"instrumentaci&#x00f3;n del bytecode."
+"persistentes, Hibernate tiene que crear objetos por usted utilizando Java "
+"Reflection. El constructor puede ser privado; sin embargo, se necesita la "
+"visibilidad del paquete para generar proxies en tiempo de ejecución y para "
+"la recuperación de datos de manera efectiva sin la instrumentación del "
+"código byte."
 
 #. Tag: para
-#: tutorial.xml:161
 #, no-c-format
 msgid ""
 "Save this file to the <filename>src/main/java/org/hibernate/tutorial/domain</"
 "filename> directory."
 msgstr ""
+"Duarde este archivo en el directorio <filename>src/main/java/org/hibernate/"
+"tutorial/domain</filename>."
 
 #. Tag: title
-#: tutorial.xml:168
 #, no-c-format
 msgid "The mapping file"
-msgstr "El fichero de mapeo"
+msgstr "El archivo de mapeo"
 
 #. Tag: para
-#: tutorial.xml:170
 #, no-c-format
 msgid ""
 "Hibernate needs to know how to load and store objects of the persistent "
@@ -357,42 +267,18 @@
 "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&#x00f3;mo cargar y almacenar objetos de la clase "
-"persistente. Aqu&#x00ed; es donde el fichero de mapeo de Hibernate entra en "
-"juego. El fichero de mapeo le dice a Hibernate a qu&#x00e9; tabla en la base "
-"de datos tiene que acceder, y qu&#x00e9; columnas en esta tabla debe usar."
+"Hibernate necesita saber cómo cargar y almacenar objetos de la clase "
+"persistente. En este punto es donde entra en juego el archivo de mapeo de "
+"Hibernate. Este archivo le dice a Hibernate a que tabla tiene que acceder en "
+"la base de datos, y que columnas debe utilizar en esta tabla."
 
 #. Tag: para
-#: tutorial.xml:178
 #, no-c-format
 msgid "The basic structure of a mapping file looks like this:"
-msgstr "La estructura b&#x00e1;sica de un fichero de mapeo se parece a esto:"
+msgstr "La estructura básica de un archivo de mapeo se ve así:"
 
-#. Tag: programlisting
-#: tutorial.xml:182
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[<?xml version=\"1.0\"?>\n"
-"<!DOCTYPE hibernate-mapping PUBLIC\n"
-"        \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-"        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-"\n"
-"<hibernate-mapping package=\"org.hibernate.tutorial.domain\">\n"
-"[...]\n"
-"</hibernate-mapping>]]>"
-msgstr ""
-"<![CDATA[<?xml version=\"1.0\"?>\n"
-"<!DOCTYPE hibernate-mapping PUBLIC\n"
-"        \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-"        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-"\n"
-"<hibernate-mapping>\n"
-"[...]\n"
-"</hibernate-mapping>]]>"
-
 #. Tag: para
-#: tutorial.xml:184
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate DTD is sophisticated. You can use it for auto-completion of XML "
 "mapping elements and attributes in your editor or IDE. Opening up the DTD "
@@ -403,65 +289,41 @@
 "<filename>hibernate-core.jar</filename> (it is also included in the "
 "<filename>hibernate3.jar</filename>, if using the distribution bundle)."
 msgstr ""
-"Observa que el DTD de Hibernate es muy sofisticado. Puedes usarlo para "
-"autocompleci&#x00f3;n de los elementos y atributos XML de mapeo en tu editor "
-"o IDE. Debes tambi&#x00e9;n abrir el fichero DTD en tu editor de texto. Es "
-"la forma m&#x00e1;s f&#x00e1;cil para tener un panorama de todos los "
-"elementos y atributos y ver los valores por defectos, as&#x00ed; como "
-"algunos comentarios. Nota que Hibernate no cargar&#x00e1; el fichero DTD de "
-"la web, sino que primero buscar&#x00e1; en el classpath de la "
-"aplicaci&#x00f3;n. El fichero DTD est&#x00e1; inclu&#x00ed;do en "
-"<literal>hibernate3.jar</literal> as&#x00ed; como tambi&#x00e9;n en el "
-"directorio <literal>src/</literal> de la distribuci&#x00f3;n de Hibernate."
+"El DTD de Hibernate es sofisticado. Puede utilizarlo para autocompletar los "
+"elementos y atributos XML de mapeo en su editor o IDE. Abrir el archivo DTD "
+"en su editor de texto es la manera más fácil para obtener una sinopsis de "
+"todos los elementos y atributos y para ver los valores por defecto, así como "
+"algunos de los comentarios. Note que Hibernate no cargará el fichero DTD de "
+"la web, sino que primero lo buscará en la ruta de clase de la aplicación. El "
+"archivo DTD se encuentra incluido en <filename>hibernate-core.jar</filename> "
+"(también en <filename>hibernate3.jar</filename> si está usando el paquete de "
+"la distribución)."
 
 #. Tag: para
-#: tutorial.xml:197
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "We will omit the DTD declaration in future examples to shorten the code. It "
 "is, of course, not optional."
 msgstr ""
-"Omitiremos la declaraci&#x00f3;n de DTD en futuros ejemplos para acortar el "
-"c&#x00f3;digo. Por supuesto, no es opcional."
+"Omitiremos la declaración de DTD en los ejemplos posteriores para hacer más "
+"corto el código. Esto no es opcional."
 
 #. Tag: para
-#: tutorial.xml:203
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Between the two <literal>hibernate-mapping</literal> tags, include a "
 "<literal>class</literal> element. All persistent entity classes (again, "
 "there might be dependent classes later on, which are not first-class "
 "entities) need a mapping to a table in the SQL database:"
 msgstr ""
-"Entre las dos etiquetas <literal>hibernate-mapping</literal>, incluye un "
+"Entre las dos etiquetas <literal>hibernate-mapping</literal>, incluya un "
 "elemento <literal>class</literal>. Todas las clases de entidad persistentes "
-"(de nuevo, podr&#x00ed;a haber m&#x00e1;s adelante clases dependientes, que "
-"no sean entidades de-primera-clase) necesitan dicho mapeo a una tabla en la "
-"base de datos SQL:"
+"(de nuevo, podrían haber clases dependientes más adelante, las cuales no son "
+"entidades de primera clase) necesitan de dicho mapeo en una tabla en la base "
+"de datos SQL:"
 
-#. Tag: programlisting
-#: tutorial.xml:210
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[<hibernate-mapping package=\"org.hibernate.tutorial.domain\">\n"
-"\n"
-"    <class name=\"Event\" table=\"EVENTS\">\n"
-"\n"
-"    </class>\n"
-"\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:212
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "So far we have told Hibernate how to persist and load object of class "
 "<literal>Event</literal> to the table <literal>EVENTS</literal>. Each "
@@ -470,40 +332,15 @@
 "not want to care about handling this identifier, we configure Hibernate's "
 "identifier generation strategy for a surrogate primary key column:"
 msgstr ""
-"Hasta ahora dijimos a Hibernate c&#x00f3;mo persistir y cargar el objeto de "
-"clase <literal>Event</literal> a la tabla <literal>EVENTS</literal>, cada "
-"instancia representada por una fila en esta tabla. Ahora continuamos con un "
-"mapeo de la propiedad de identificado &#x00fa;nico a la clave primaria de la "
-"tabla. Adem&#x00e1;s, como no queremos cuidar del manejo de este "
-"identificador, configuramos la estrategia de generaci&#x00f3;n de "
-"identificadores para una columna clave primaria delegada:"
+"Hasta ahora le hemos dicho a Hibernate cómo persistir y cargar el objeto de "
+"clase <literal>Event</literal> a la tabla <literal>EVENTS</literal>. Cada "
+"instancia se encuentra representada por una fila en esa tabla. Ahora podemos "
+"continuar mapeando la propiedad identificadora única a la clave primaria de "
+"la tabla. Ya que no queremos preocuparnos por el manejo de este "
+"identificador, configuramos la estrategia de generación del identificador de "
+"Hibernate para una columna clave primaria sustituta:"
 
-#. Tag: programlisting
-#: tutorial.xml:222
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[<hibernate-mapping package=\"org.hibernate.tutorial.domain\">\n"
-"\n"
-"    <class name=\"Event\" table=\"EVENTS\">\n"
-"        <id name=\"id\" column=\"EVENT_ID\">\n"
-"            <generator class=\"native\"/>\n"
-"        </id>\n"
-"    </class>\n"
-"\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:224
 #, no-c-format
 msgid ""
 "The <literal>id</literal> element is the declaration of the identifier "
@@ -513,9 +350,14 @@
 "The column attribute tells Hibernate which column of the <literal>EVENTS</"
 "literal> table holds the primary key value."
 msgstr ""
+"El elemento <literal>id</literal> es la declaración de la propiedad "
+"identificadora. El atributo de mapeo <literal>name=\"id\"</literal> declara "
+"el nombre de la propiedad JavaBean y le dice a Hibernate que utilice los "
+"métodos <literal>getId()</literal> y <literal>setId()</literal> para acceder "
+"a la propiedad. El atributo columna le dice a Hibernate qué columna de la "
+"tabla <literal>EVENTS</literal> tiene el valor de la llave principal."
 
 #. Tag: para
-#: tutorial.xml:234
 #, no-c-format
 msgid ""
 "The nested <literal>generator</literal> element specifies the identifier "
@@ -526,59 +368,39 @@
 "Identifier value generation is also one of Hibernate's many extension points "
 "and you can plugin in your own strategy."
 msgstr ""
+"El elemento anidado <literal>generator</literal> especifica la estrategia de "
+"generación del identificador (también conocidos como ¿cómo se generan los "
+"valores del identificador?). En este caso escogimos <literal>native</"
+"literal>, el cual ofrece un nivel de qué tan portátil es dependiendo del "
+"dialecto configurado de la base de datos. Hibernate soporta identificadores "
+"generados por la base de datos, globalmente únicos así como asignados por la "
+"aplicación. La generación del valor del identificador también es uno de los "
+"muchos puntos de extensión de Hibernate y puede conectar su propia "
+"estrategia."
 
 #. Tag: para
-#: tutorial.xml:246
 #, no-c-format
 msgid ""
-"<literal>native</literal> is no longer consider the best strategy in terms "
-"of portability. for further discussion, see"
+"<literal>native</literal> is no longer considered the best strategy in terms "
+"of portability. for further discussion, see <xref linkend=\"portability-idgen"
+"\" />"
 msgstr ""
+"<literal>native</literal> ya no se considera como la mejor estrategia en "
+"términos de portabilidad. Para obtener mayor información consulte <xref "
+"linkend=\"portability-idgen\" />"
 
 #. Tag: para
-#: tutorial.xml:252
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Lastly, we need to tell Hibernate about the remaining entity class "
 "properties. By default, no properties of the class are considered persistent:"
 msgstr ""
-"Finalmente inclu&#x00ed;mos declaraciones para las propiedades persistentes "
-"de la clases en el fichero de mapeo. Por defecto, ninguna propiedad de la "
-"clase se considera persistente:"
+"Por último es necesario decirle a Hibernate sobre las porpiedades de clase "
+"de entidad que quedan. Por defecto, ninguna propiedad de la clase se "
+"considera persistente:"
 
-#. Tag: programlisting
-#: tutorial.xml:258
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[\n"
-"<hibernate-mapping package=\"org.hibernate.tutorial.domain\">\n"
-"\n"
-"    <class name=\"Event\" table=\"EVENTS\">\n"
-"        <id name=\"id\" column=\"EVENT_ID\">\n"
-"            <generator class=\"native\"/>\n"
-"        </id>\n"
-"        <property name=\"date\" type=\"timestamp\" column=\"EVENT_DATE\"/>\n"
-"        <property name=\"title\"/>\n"
-"    </class>\n"
-"\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:260
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Similar to the <literal>id</literal> element, the <literal>name</literal> "
 "attribute of the <literal>property</literal> element tells Hibernate which "
@@ -587,12 +409,13 @@
 "()</literal> and <literal>setTitle()</literal> methods."
 msgstr ""
 "Al igual que con el elemento <literal>id</literal>, el atributo "
-"<literal>name</literal> del elemento <literal>property</literal> dice a "
-"Hibernate c&#x00e1;les m&#x00e9;todos getter y setter usar."
+"<literal>name</literal> del elemento <literal>property</literal> le dice a "
+"Hibernate que métodos getter y setter utilizar. Así que en este caso, "
+"Hibernate buscará los métodos <literal>getDate()</literal>, <literal>setDate"
+"()</literal>, <literal>getTitle()</literal> y <literal>setTitle()</literal>."
 
 #. Tag: para
-#: tutorial.xml:271
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Why does the <literal>date</literal> property mapping include the "
 "<literal>column</literal> attribute, but the <literal>title</literal> does "
@@ -601,17 +424,16 @@
 "literal>, however, <literal>date</literal> is a reserved keyword in most "
 "databases so you will need to map it to a different name."
 msgstr ""
-"¿Por qu&#x00e9; el mapeo de la propiedad <literal>date</literal> incluye el "
-"atributo <literal>column</literal>, pero el de la de <literal>title</"
-"literal> no? Sin el atributo <literal>column</literal> Hibernate usa por "
-"defecto el nombre de propiedad como nombre de columna. Esto funciona bien "
-"para <literal>title</literal>. Sin embargo, However, <literal>date</literal> "
-"es una palabra reservada en la mayor&#x00ed;a de las bases de datos, "
-"as&#x00ed; que mejor la mapeamos a un nombre diferente."
+"¿Por qué el mapeo de la propiedad <literal>date</literal> incluye el "
+"atributo <literal>column</literal>, pero el de <literal>title</literal> no? "
+"Sin el atributo <literal>column</literal> Hibernate utiliza, por defecto, el "
+"nombre de propiedad como nombre de la columna. Esto funciona bien para "
+"<literal>title</literal>. Sin embargo, <literal>date</literal> es una "
+"palabra clave reservada en la mayoría de las bases de datos, así que es "
+"mejor que la mapeamos a un nombre diferente."
 
 #. Tag: para
-#: tutorial.xml:281
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The <literal>title</literal> mapping also lacks a <literal>type</literal> "
 "attribute. The types declared and used in the mapping files are not Java "
@@ -628,25 +450,23 @@
 "literal> column. Full date and time information is preserved by mapping the "
 "property with a <literal>timestamp</literal> converter."
 msgstr ""
-"La pr&#x00f3;xima cosa interesante es que el mapeo de <literal>title</"
-"literal> carece de un atributo <literal>type</literal>. Los tipos que "
-"declaramos y usamos en el fichero de mapeo no son, como podr&#x00ed;as "
-"esperar, tipos de datos Java. Tampoco son tipos de base de datos SQL. Estos "
-"tipos son los llamados as&#x00ed; <emphasis>Tipos de mapeo de Hibernate</"
-"emphasis>, convertidores que pueden traducir de tipos Java a SQL y vice "
-"versa. De nuevo, Hibernate intentar&#x00e1; determinar la conversi&#x00f3;n "
-"y el mapeo mismo de tipo correctos si el atributo <literal>type</literal> no "
-"estuviese presente en el mapeo. En algunos casos esta detecci&#x00f3;n "
-"autom&#x00e1;tica (usando reflecci&#x00f3;n en la clase Java) puede no tener "
-"lo que esperas o necesitas. Este es el caso de la propiedad <literal>date</"
-"literal>. Hibernate no puede saber is la propiedad mapear&#x00e1; a una "
-"columna <literal>date</literal>, <literal>timestamp</literal> o "
-"<literal>time</literal>. Declaramos que queremos preservar la "
-"informaci&#x00f3;n completa de fecha y hora mapeando la propiedad con un "
-"<literal>timestamp</literal>."
+"El mapeo de <literal>title</literal> carece de un atributo <literal>type</"
+"literal>. Los tipos que declaramos y utilizamos en los archivos de mapeo no "
+"son tipos de datos Java. Tampoco son tipos de base de datos SQL. Estos tipos "
+"se llaman <emphasis>tipos de mapeo Hibernate </emphasis>, convertidores que "
+"pueden traducir de tipos de datos de Java a SQL y viceversa. De nuevo, "
+"Hibernate tratará de determinar el tipo correcto de conversión y de mapeo "
+"por sí mismo si el atributo <literal>type</literal> no se encuentra presente "
+"en el mapeo. En algunos casos esta detección automática (utilizando "
+"Reflection en la clase Java) puede que no tenga lo que usted espera o "
+"necesita. Este es el caso de la propiedad <literal>date</literal>. Hibernate "
+"no puede saber is la propiedad, la cual es de <literal>java.util.Date</"
+"literal>, debe mapear a una columna <literal>date</literal>, "
+"<literal>timestamp</literal> o <literal>time</literal> de SQL. Por medio de "
+"un convertidor <literal>timestamp</literal>, mapeamos la propiedad y "
+"mantenemos la información completa sobre la hora y fecha."
 
 #. Tag: para
-#: tutorial.xml:297
 #, no-c-format
 msgid ""
 "Hibernate makes this mapping type determination using reflection when the "
@@ -654,39 +474,43 @@
 "performance is important you should consider explicitly defining the type to "
 "use."
 msgstr ""
+"Hibernate realiza esta determinación de tipo de mapeo usando reflection "
+"cuando se procesan los archivos de mapeo. Esto puede tomar tiempo y recursos "
+"así que el rendimiento al arrancar es importante entonces debe considerar el "
+"definir explícitamente el tipo a usar."
 
 #. Tag: para
-#: tutorial.xml:304
 #, no-c-format
 msgid ""
 "Save this mapping file as <filename>src/main/resources/org/hibernate/"
 "tutorial/domain/Event.hbm.xml</filename>."
 msgstr ""
+"Guarde este archivo de mapeo como <filename>src/main/resources/org/hibernate/"
+"tutorial/domain/Event.hbm.xml</filename>."
 
 #. Tag: title
-#: tutorial.xml:312
 #, no-c-format
 msgid "Hibernate configuration"
-msgstr "Configuraci&#x00f3;n de Hibernate"
+msgstr "Configuración de Hibernate"
 
 #. Tag: para
-#: tutorial.xml:314
 #, no-c-format
 msgid ""
 "At this point, you should have the persistent class and its mapping file in "
 "place. It is now time to configure Hibernate. First let's set up HSQLDB to "
 "run in \"server mode\""
 msgstr ""
+"En este momento debe tener la clase persistente y su archivo de mapeo. Ahora "
+"debe configurar Hibernate. Primero vamos a configurar HSQLDB para que "
+"ejecute en \"modo de servidor\""
 
 #. Tag: para
-#: tutorial.xml:321
-#, no-c-format
-msgid "We do this do that the data remains between runs."
-msgstr ""
+#, fuzzy, no-c-format
+msgid "We do this so that the data remains between runs."
+msgstr "Hacemos esto o lo otro y los datos permanecen entre ejecuciones. "
 
 #. Tag: para
-#: tutorial.xml:326
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "We will utilize the Maven exec plugin to launch the HSQLDB server by "
 "running: <command> mvn exec:java -Dexec.mainClass=\"org.hsqldb.Server\" -"
@@ -696,12 +520,15 @@
 "tutorial, shutdown HSQLDB, delete all files in the <filename>target/data</"
 "filename> directory, and start HSQLDB again."
 msgstr ""
-"Crea un directorio llamado <literal>data</literal> en la ra&#x00ed;z del "
-"directorio de desarrollo. All&#x00ed; es donde HSQL DB almacenar&#x00e1; sus "
-"ficheros de datos."
+"Vamos a utilizar el plugin de ejecución Maven para lanzar el servidor HSQLDB "
+"ejecutando: <command> mvn exec:java -Dexec.mainClass=\"org.hsqldb.Server\" -"
+"Dexec.args=\"-database.0 file:target/data/tutorial\"</command>.Lo verá "
+"iniciando y vinculandose a un enchufe TCP/IP, allí es donde nuestra "
+"aplicación se conectará más adelante. Si quiere dar inicio con una base de "
+"datos fresca durante este tutorial, apague HSQLDB, borre todos los archivos "
+"en el directorio <filename>target/data</filename> e inicie HSQLDB de nuevo."
 
 #. Tag: para
-#: tutorial.xml:337
 #, no-c-format
 msgid ""
 "Hibernate will be connecting to the database on behalf of your application, "
@@ -713,158 +540,80 @@
 "net/\">proxool</ulink>. However, we will be using the Hibernate built-in "
 "connection pool for this tutorial."
 msgstr ""
+"Hibernate se conectará a la base de datos de parte de su aplicación así que "
+"necesita saber cómo obtener conexiones. Para este tutorial vamos a utilizar "
+"un pool de conexiones autónomo (opuesto a <interfacename>javax.sql."
+"DataSource</interfacename>). Hibernate viene con soporte para dos pools de "
+"conexiones JDBC de código abierto de terceros: <ulink url=\"https://"
+"sourceforge.net/projects/c3p0\">c3p0</ulink> y <ulink url=\"http://proxool."
+"sourceforge.net/\">proxool</ulink>. Sin embargo, vamos a utilizar el pool de "
+"conexiones incluido de Hibernate para este tutorial."
 
 #. Tag: para
-#: tutorial.xml:348
 #, no-c-format
 msgid ""
-"The built-in Hibernate connection pool is in no way intended for production "
-"use. It lacks several features found on any decent connection pool."
+"The built-in Hibernate connection pool is not intended for production use."
 msgstr ""
+"El pool de conexiones de Hibernate no está diseñado para utilizarse en "
+"producción. "
 
 #. Tag: para
-#: tutorial.xml:354
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "For Hibernate's configuration, we can use a simple <literal>hibernate."
 "properties</literal> file, a more sophisticated <literal>hibernate.cfg.xml</"
 "literal> file, or even complete programmatic setup. Most users prefer the "
 "XML configuration file:"
 msgstr ""
-"Para la configuraci&#x00f3;n de Hibernate, podemos usar un fichero "
-"<literal>hibernate.properties</literal> simple, un fichero "
-"<literal>hibernate.cfg.xml</literal> ligeramente m&#x00e1;s sofisticado, o "
-"incluso una configuraci&#x00f3;n completamente program&#x00e1;tica. La "
-"mayor&#x00ed;a de los usuarios prefieren el fichero de configuraci&#x00f3;n "
-"XML:"
+"Para la configuración de Hibernate, podemos utilizar un archivo "
+"<literal>hibernate.properties</literal> simple, un archivo "
+"<literal>hibernate.cfg.xml</literal> un poco más sofisticado, o incluso una "
+"configuración completamente programática. La mayoría de los usuarios "
+"prefieren el archivo de configuración XML:"
 
-#. Tag: programlisting
-#: tutorial.xml:360
-#, fuzzy, no-c-format
-msgid ""
-"<![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:hsql://localhost</"
-"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"
-"        <!-- Enable Hibernate's automatic session context management -->\n"
-"        <property name=\"current_session_context_class\">thread</property>\n"
-"\n"
-"        <!-- Disable the second-level cache  -->\n"
-"        <property name=\"cache.provider_class\">org.hibernate.cache."
-"NoCacheProvider</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\">update</property>\n"
-"\n"
-"        <mapping resource=\"org/hibernate/tutorial/domain/Event.hbm.xml\"/>\n"
-"\n"
-"    </session-factory>\n"
-"\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:363
 #, no-c-format
 msgid "Notice that this configuration file specifies a different DTD"
-msgstr ""
+msgstr "Observe que este archivo de configuración especifica un DTD diferente"
 
 #. Tag: para
-#: tutorial.xml:366
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You configure Hibernate's <literal>SessionFactory</literal>. SessionFactory "
 "is a global factory responsible for a particular database. If you have "
 "several databases, for easier startup you should use several <literal>&lt;"
 "session-factory&gt;</literal> configurations in several configuration files."
 msgstr ""
-"Observa que esta configuraci&#x00f3;n XML usa un DTD diferente. Configuramos "
-"la <literal>SessionFactory</literal> de Hibernate, una f&#x00e1;brica global "
-"responsable de una base de datos en particular. Si tienes varias bases de "
-"datos, usa varias configuraciones <literal>&lt;session-factory&gt;</"
-"literal> , usualmente en varios ficheros de configuraci&#x00f3;n (para un "
-"arranque m&#x00e1;s f&#x00e1;cil)."
+"Configure la <literal>SessionFactory</literal> de Hibernate. SessionFactory "
+"es una fábrica global responsable de una base de datos en particular. Si "
+"usted tiene varias bases de datos, para un inicio más fácil utilice varias "
+"configuraciones <literal>&lt;session-factory&gt;</literal> en varios "
+"archivos de configuración."
 
 #. Tag: para
-#: tutorial.xml:373
 #, no-c-format
 msgid ""
 "The first four <literal>property</literal> elements contain the necessary "
 "configuration for the JDBC connection. The dialect <literal>property</"
 "literal> element specifies the particular SQL variant Hibernate generates."
 msgstr ""
+"Los primeros cuatro elementos <literal>property</literal> contienen la "
+"configuración necesaria para la conexión JDBC. El elemento "
+"<literal>property</literal> dialecto especifica la variante SQL en "
+"particular que Hibernate genera."
 
 #. Tag: para
-#: tutorial.xml:380
 #, no-c-format
 msgid ""
-"In most cases, Hibernate is able to properly determine which dialect to use. "
-"See <xref linkend=\"portability-dialectresolver\"/> for more information."
+"Hibernate is able to correctly determine which dialect to use in most cases. "
+"See <xref linkend=\"portability-dialectresolver\" /> for more information."
 msgstr ""
+"Hibernate tiene la habilidad de determinar correctamente qué dialecto "
+"utilizar en la mayoría de los casos. Consulte <xref linkend=\"portability-"
+"dialectresolver\" /> para obtener mayor información."
 
 #. Tag: para
-#: tutorial.xml:386
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate's automatic session management for persistence contexts is "
 "particularly useful in this context. The <literal>hbm2ddl.auto</literal> "
@@ -874,32 +623,30 @@
 "Ant task. Finally, add the mapping file(s) for persistent classes to the "
 "configuration."
 msgstr ""
-"Los primeros cuatro elementos <literal>property</literal> contienen la "
-"configuraci&#x00f3;n necesaria para la conexi&#x00f3;n JDBC. El elemento de "
-"dialecto <literal>property</literal> especifica la variante de SQL en "
-"particular que genera Hibernate. La opci&#x00f3;n <literal>hbm2ddl.auto</"
-"literal> activa la generaci&#x00f3;n autom&#x00e1;tica de esquemas de base "
-"de datos, directamente en la base de datos. Esto, por supuesto, puede "
-"desactivarse (quitando la opci&#x00f3;n config) o redirigido a un fichero "
-"con la ayuda de la tarea de Ant <literal>SchemaExport</literal>. Finalmente, "
-"agregamos el(los) fichero(s) de mapeo para clases persistentes."
+"La administración de la sesión automática de Hibernate para contextos de "
+"persistencia es particularmente útil en este contexto. La opción "
+"<literal>hbm2ddl.auto</literal> activa la generación automática de los "
+"esquemas de la base de datos directamente en la base de datos. Esto se puede "
+"desactivar, eliminando la opción de configuración o redirigiéndolo a un "
+"archivo con la ayuda de la tarea de Ant <literal>SchemaExport</literal>. "
+"Finalmente, agregue a la configuración el/los fichero(s) de mapeo para "
+"clases persistentes."
 
 #. Tag: para
-#: tutorial.xml:395
 #, no-c-format
 msgid ""
 "Save this file as <filename>hibernate.cfg.xml</filename> into the "
 "<filename>src/main/resources</filename> directory."
 msgstr ""
+"Guarde este archivo como <filename>hibernate.cfg.xml</filename> en el "
+"directorio <filename>src/main/resources</filename>."
 
 #. Tag: title
-#: tutorial.xml:403
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Building with Maven"
-msgstr "Construyendo con Ant"
+msgstr "Construcción con Maven"
 
 #. Tag: para
-#: tutorial.xml:405
 #, no-c-format
 msgid ""
 "We will now build the tutorial with Maven. You will need to have Maven "
@@ -909,51 +656,21 @@
 "basic project tasks. First, lets run the <literal>compile</literal> goal to "
 "make sure we can compile everything so far:"
 msgstr ""
+"Ahora vamos a construir el tutorial con Maven. Es necesario que tenga "
+"instalado Maven; se encuentra disponible en la <ulink url=\"http://maven."
+"apache.org/download.html\">página de descargas Maven</ulink>. Maven leerá el "
+"archivo <filename>/pom.xml</filename> que creamos anteriormente y sabrá cómo "
+"realizar algunas tareas de proyectos básicos. Primero, vamos a ejecutar la "
+"meta <literal>compile</literal> para asegurarnos de que podemos compilar "
+"todo hasta el momento:"
 
-#. Tag: programlisting
-#: tutorial.xml:415
-#, no-c-format
-msgid ""
-"<![CDATA[[hibernateTutorial]$ mvn compile\n"
-"[INFO] Scanning for projects...\n"
-"[INFO] "
-"------------------------------------------------------------------------\n"
-"[INFO] Building First Hibernate Tutorial\n"
-"[INFO]    task-segment: [compile]\n"
-"[INFO] "
-"------------------------------------------------------------------------\n"
-"[INFO] [resources:resources]\n"
-"[INFO] Using default encoding to copy filtered resources.\n"
-"[INFO] [compiler:compile]\n"
-"[INFO] Compiling 1 source file to /home/steve/projects/sandbox/"
-"hibernateTutorial/target/classes\n"
-"[INFO] "
-"------------------------------------------------------------------------\n"
-"[INFO] BUILD SUCCESSFUL\n"
-"[INFO] "
-"------------------------------------------------------------------------\n"
-"[INFO] Total time: 2 seconds\n"
-"[INFO] Finished at: Tue Jun 09 12:25:25 CDT 2009\n"
-"[INFO] Final Memory: 5M/547M\n"
-"[INFO] "
-"------------------------------------------------------------------------]]>"
-msgstr ""
-
 #. Tag: title
-#: tutorial.xml:420
 #, no-c-format
 msgid "Startup and helpers"
-msgstr ""
-"Esto dir&#x00e1; a Ant que agregue todos los ficheros en el directorio lib "
-"que terminen con <literal>.jar</literal> al classpath usado para la "
-"compilaci&#x00f3;n. Tambi&#x00e9;n copiar&#x00e1; todos los ficheros que no "
-"sean c&#x00f3;digo Java al directorio objetivo, por ejemplo, ficheros de "
-"configuraci&#x00f3;n y mapeos de Hibernate. Si ahora corres Ant, debes "
-"obtener esta salida:"
+msgstr "Inicio y ayudantes"
 
 #. Tag: para
-#: tutorial.xml:422
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "It is time to load and store some <literal>Event</literal> objects, but "
 "first you have to complete the setup with some infrastructure code. You have "
@@ -966,82 +683,40 @@
 "<interfacename>org.hibernate.SessionFactory</interfacename> is a thread-safe "
 "global object that is instantiated once."
 msgstr ""
-"<![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 ]]>"
+"Es el momento de cargar y almacenar algunos objetos <literal>Event</"
+"literal>, pero primero tiene que completar la configuración con algo de "
+"código de infraestructura. Tiene que iniciar Hibernate construyendo un "
+"objeto <interfacename>org.hibernate.SessionFactory</interfacename> global y "
+"almacenarlo en algún lugar de fácil acceso en el código de la aplicación. "
+"Una <interfacename>org.hibernate.SessionFactory</interfacename> se utiliza "
+"para obtener instancias <interfacename>org.hibernate.Session</"
+"interfacename>. Una <interfacename>org.hibernate.Session</interfacename> "
+"representa una unidad de trabajo mono-hilo. La <interfacename>org.hibernate."
+"SessionFactory</interfacename> es un objeto global seguro entre hilos que se "
+"instancia una sóla vez."
 
 #. Tag: para
-#: tutorial.xml:436
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "We will create a <literal>HibernateUtil</literal> helper class that takes "
 "care of startup and makes accessing the <interfacename>org.hibernate."
 "SessionFactory</interfacename> more convenient."
-msgstr "Arranque y ayudantes"
-
-#. Tag: programlisting
-#: tutorial.xml:442
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[package org.hibernate.tutorial.util;\n"
-"\n"
-"import org.hibernate.SessionFactory;\n"
-"import org.hibernate.cfg.Configuration;\n"
-"\n"
-"public class HibernateUtil {\n"
-"\n"
-"    private static final SessionFactory sessionFactory = buildSessionFactory"
-"();\n"
-"\n"
-"    private static SessionFactory buildSessionFactory() {\n"
-"        try {\n"
-"            // Create the SessionFactory from hibernate.cfg.xml\n"
-"            return new Configuration().configure().buildSessionFactory();\n"
-"        }\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 SessionFactory getSessionFactory() {\n"
-"        return sessionFactory;\n"
-"    }\n"
-"\n"
-"}]]>"
 msgstr ""
-"Es momento de cargar y almacenar algunos objetos <literal>Event</literal>, "
-"pero primero tenemos que completar la configuraci&#x00f3;n de alg&#x00fa;n "
-"c&#x00f3;digo de infraestructura. Tenemos que arrancar Hibernate. Este "
-"arranque incluye construir un objeto <literal>SessionFactory</literal> "
-"global y almacenarlo en alg&#x00fa;n sitio de f&#x00e1;cil acceso en el "
-"c&#x00f3;digo de aplicaci&#x00f3;n. Una <literal>SessionFactory</literal> "
-"puede abrir nuevas <literal>Session</literal>'s. Una <literal>Session</"
-"literal> representa un unidad de trabajo mono-hebra. La "
-"<literal>SessionFactory</literal> es un objeto global seguro entre hebras, "
-"instanciado una sola vez."
+"Vamos a crear una clase de ayuda <literal>HibernateUtil</literal> que se "
+"encargue del inicio y haga más práctico el acceso a <interfacename>org."
+"hibernate.SessionFactory</interfacename>. "
 
 #. Tag: para
-#: tutorial.xml:444
 #, no-c-format
 msgid ""
 "Save this code as <filename>src/main/java/org/hibernate/tutorial/util/"
 "HibernateUtil.java</filename>"
 msgstr ""
+"Guarde este código como <filename>src/main/java/org/hibernate/tutorial/util/"
+"HibernateUtil.java</filename>"
 
 #. Tag: para
-#: tutorial.xml:449
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This class not only produces the global <interfacename>org.hibernate."
 "SessionFactory</interfacename> reference in its static initializer; it also "
@@ -1050,16 +725,15 @@
 "reference from JNDI in an application server or any other location for that "
 "matter."
 msgstr ""
-"Crearemos una clase de ayuda <literal>HibernateUtil</literal> que cuide del "
-"arranque y haga conveniente el manejo de <literal>Session</literal>. El "
-"as&#x00ed; llamado patr&#x00f3;n <emphasis>Sesi&#x00f3;n de Hebra Local "
-"(ThreadLocal Session)</emphasis> es &#x00fa;til aqu&#x00ed;; mantenemos la "
-"unidad de trabajo actual asociada a la hebra actual. Echemos una mirada a la "
-"implementaci&#x00f3;n:"
+"Esta clase no sólamente produce la referencia <interfacename>org.hibernate."
+"SessionFactory</interfacename> global en su inicializador estático, sino que "
+"también esconde el hecho de que utiliza un singleton estático. También puede "
+"que busque la  referencia <interfacename>org.hibernate.SessionFactory</"
+"interfacename> desde JNDI en un servidor de aplicaciones en cualquier otro "
+"lugar."
 
 #. Tag: para
-#: tutorial.xml:458
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "If you give the <interfacename>org.hibernate.SessionFactory</interfacename> "
 "a name in your configuration, Hibernate will try to bind it to JNDI under "
@@ -1068,50 +742,15 @@
 "<literal>HibernateService</literal> to JNDI. Such advanced options are "
 "discussed later."
 msgstr ""
-"<![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"
-"}]]>"
+"Si usted le da un nombre a <interfacename>org.hibernate.SessionFactory</"
+"interfacename> en su archivo de configuración, de hecho, Hibernate tratará "
+"de vincularlo a JNDI bajo ese nombre después de que ha sido construido. Otra "
+"mejor opción es utilizar el despliegue JMX y dejar que el contenedor con "
+"capacidad JMX instancie y vincule un <literal>HibernateService</literal> a "
+"JNDI. Más adelante discutiremos estas opciones avanzadas."
 
 #. Tag: para
-#: tutorial.xml:467
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You now need to configure a logging system. Hibernate uses commons logging "
 "and provides two choices: Log4j and JDK 1.4 logging. Most developers prefer "
@@ -1122,111 +761,56 @@
 "configuration, you can change the settings. By default, only the Hibernate "
 "startup message is shown on stdout."
 msgstr ""
-"Coloca <literal>HibernateUtil.java</literal> en el directorio de fuentes de "
-"desarrollo, junto a <literal>Event.java</literal>:"
+"Ahora necesita configurar un sistema de registro. Hibernate utiliza "
+"registros comunes le da dos opciones: Log4J y registros de JDK 1.4. La "
+"mayoría de los desarrolladores prefieren Log4J: copie <literal>log4j."
+"properties</literal> de la distribución de Hibernate, se encuentra en el "
+"directorio <literal>etc/</literal>) a su directorio <literal>src</literal>, "
+"junto a <literal>hibernate.cfg.xml</literal>. Si desea tener una salida más "
+"verbosa que la que se proporcionó en la configuración del ejemplo entonces "
+"puede cambiar su configuración. Por defecto, sólo se muestra el mensaje de "
+"inicio de Hibernate en la salida estándar."
 
 #. Tag: para
-#: tutorial.xml:477
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The tutorial infrastructure is complete and you are now ready to do some "
 "real work with Hibernate."
 msgstr ""
-"<![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]]>"
+"La infraestructura del tutorial está completa y estamos listos para hacer un "
+"poco de trabajo real con Hibernate."
 
 #. Tag: title
-#: tutorial.xml:485
 #, no-c-format
 msgid "Loading and storing objects"
-msgstr ""
-"Esto tambi&#x00e9;n debe compilar sin problemas. Finalmente necesitamos "
-"configurar un sistema de logging (registro). Hibernate usa commons logging y "
-"te deja la elecci&#x00f3;n entre Log4J y logging de JDK 1.4. La mayor&#x00ed;"
-"a de los desarrolladores prefieren Log4J: copia <literal>log4j.properties</"
-"literal> de la distribuci&#x00f3;n de Hibernate (est&#x00e1; en el "
-"directorio <literal>etc/</literal>) a tu directorio <literal>src</literal>, "
-"junto a <literal>hibernate.cfg.xml</literal>. Echa una mirada a la "
-"configuraci&#x00f3;n de ejemplo y cambia los ajustes si te gusta tener una "
-"salida m&#x00e1;s verborr&#x00e1;gica. Por defecto, s&#x00f3;lo se muestra "
-"el mensaje de arranque de Hibernate en la salida."
+msgstr "Carga y almacenamiento de objetos"
 
 #. Tag: para
-#: tutorial.xml:487
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "We are now ready to start doing some real worjk with Hibernate. Let's start "
 "by writing an <literal>EventManager</literal> class with a <literal>main()</"
 "literal> method:"
 msgstr ""
-"La infraestructura del tutorial est&#x00e1; completa, y estamos listos para "
-"hacer alg&#x00fa;n trabajo real con Hibernate."
+"Ahora estamos listos para hacer un poco de trabajo real con Hibernate. "
+"Empecemos por escribir una clase <literal>EventManager</literal> con un "
+"método <literal>main()</literal>:"
 
-#. Tag: programlisting
-#: tutorial.xml:493
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[package org.hibernate.tutorial;\n"
-"\n"
-"import org.hibernate.Session;\n"
-"\n"
-"import java.util.*;\n"
-"\n"
-"import org.hibernate.tutorial.domain.Event;\n"
-"import org.hibernate.tutorial.util.HibernateUtil;\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.getSessionFactory().close();\n"
-"    }\n"
-"\n"
-"    private void createAndStoreEvent(String title, Date theDate) {\n"
-"        Session session = HibernateUtil.getSessionFactory().getCurrentSession"
-"();\n"
-"        session.beginTransaction();\n"
-"\n"
-"        Event theEvent = new Event();\n"
-"        theEvent.setTitle(title);\n"
-"        theEvent.setDate(theDate);\n"
-"        session.save(theEvent);\n"
-"\n"
-"        session.getTransaction().commit();\n"
-"    }\n"
-"\n"
-"}]]>"
-msgstr "Cargando y almacenando objetos"
-
 #. Tag: para
-#: tutorial.xml:495
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "In <literal>createAndStoreEvent()</literal> we created a new <literal>Event</"
 "literal> object and handed it over to Hibernate. At that point, Hibernate "
 "takes care of the SQL and executes an <literal>INSERT</literal> on the "
 "database."
 msgstr ""
-"Finalmente, podemos usar Hibernate para cargar y almacenar objetos. "
-"Escribimos una clase <literal>EventManager</literal> con un m&#x00e9;todo "
-"<literal>main()</literal>:"
+"En <literal>createAndStoreEvent()</literal> creamos un nuevo objeto "
+"<literal>Event</literal> y se lo entregamos a Hibernate. En ese momento, "
+"Hibernate se encarga de SQL y ejecuta un <literal>INSERT</literal> en la "
+"base de datos."
 
 #. Tag: para
-#: tutorial.xml:502
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A <interface>org.hibernate.Session</interface> is designed to represent a "
 "single unit of work (a single atmoic piece of work to be performed). For now "
@@ -1237,28 +821,18 @@
 "interfacename> API. In this particular case we are using JDBC-based "
 "transactional semantics, but it could also run with JTA."
 msgstr ""
-"<![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"
-"}]]>"
+"Una <interface>org.hibernate.Session</interface> está diseñada para "
+"representar una sóla unidad de trabajo (una sola parte atómica de trabajo "
+"que se va a realizar). Por ahora vamos a mantener las cosas sencillas y "
+"vamos a asumir una granularidad de uno a uno entre la <interface>org."
+"hibernate.Session</interface> de Hibernate y una transacción de la base "
+"datos. Para proteger nuestro código del sistema de transacciones subyacentes "
+"utilizamos el API <interfacename>org.hibernate.Transaction</interfacename> "
+"de Hibernate. En este caso en particular estamos utilizado una semántica "
+"transaccional basada en JDBC pero también puede ejecutarse con JTA. "
 
 #. Tag: para
-#: tutorial.xml:515
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
@@ -1269,11 +843,16 @@
 "xml</filename>? Due to that setting, the context of a current unit of work "
 "is bound to the current Java thread that executes the application."
 msgstr ""
-"Leemos algunos argumentos de la l&#x00ed;nea de comandos, y si el primer "
-"argumento es \"store\", creamos y almacenamos un nuevo Event:"
+"¿Qué hace <literal>sessionFactory.getCurrentSession()</literal>? Primero, la "
+"puede llamar tantas veces como desee y en donde quiera, una vez consiga su "
+"<interfacename>org.hibernate.SessionFactory</interfacename>. El método "
+"<literal>getCurrentSession()</literal> siempre retorna la unidad de trabajo "
+"\"actual\". ¿Recuerda que cambiamos la opción de la configuración de este "
+"mecanismo a \"thread\" en <filename>src/main/resources/hibernate.cfg.xml</"
+"filename>? Por lo tanto, el contexto de una unidad de trabajo actual se "
+"encuentra vinculada al hilo de Java actual que ejecuta nuestra aplicación."
 
 #. Tag: para
-#: tutorial.xml:529
 #, no-c-format
 msgid ""
 "Hibernate offers three methods of current session tracking. The \"thread\" "
@@ -1281,10 +860,13 @@
 "prototyping and tutorials such as this one. Current session tracking is "
 "discussed in more detail later on."
 msgstr ""
+"Hibernate ofrece tres métodos de rastreo de sesión actual. El método basado "
+"en \"hilos\" no está dirigido al uso de producción; sólo es útil para "
+"prototipos y para tutoriales como este. Más adelante discutiremos con más "
+"detalles el rastreo de sesión actual."
 
 #. Tag: para
-#: tutorial.xml:538
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A <interface>org.hibernate.Session</interface> begins when the first call to "
 "<literal>getCurrentSession()</literal> is made for the current thread. It is "
@@ -1295,23 +877,18 @@
 "new <interface>org.hibernate.Session</interface> and can start a new unit of "
 "work."
 msgstr ""
-"<![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"
-"}]]>"
+"Una <interface>org.hibernate.Session</interface> se inicia cuando se realiza "
+"la primera llamada a <literal>getCurrentSession()</literal> para el hilo "
+"actual. Luego Hibernate la vincula al hilo actual. Cuando termina la "
+"transacción, ya sea por medio de guardar o deshacer los cambios, Hibernate "
+"desvincula automáticamente la <interface>org.hibernate.Session</interface> "
+"del hilo y la cierra por usted. Si llama a <literal>getCurrentSession()</"
+"literal> de nuevo, obtiene una <interface>org.hibernate.Session</interface> "
+"nueva y obtiene una nueva <interface>org.hibernate.Session</interface> "
+"unidad de trabajo. "
 
 #. Tag: para
-#: tutorial.xml:551
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Related to the unit of work scope, should the Hibernate <interface>org."
 "hibernate.Session</interface> be used to execute one or several database "
@@ -1325,314 +902,171 @@
 "<emphasis>session-per-operation</emphasis> an anti-pattern. A real web "
 "application is shown later in the tutorial which will help illustrate this."
 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&#x00f3;digo de manejo de "
-"<literal>Session</literal> y <literal>Transaction</literal> antes de "
-"ejecutar esto."
+"En relación con la unidad del campo de trabajo, ¿Se debería utilizar "
+"<interface>org.hibernate.Session</interface> de Hibernate para ejecutar una "
+"o varias operaciones de la base de datos? El ejemplo anterior utiliza una "
+"<interface>org.hibernate.Session</interface> para una operación. Sin "
+"embargo, esto es pura coincidencia; el ejemplo simplemente no es lo "
+"suficientemente complicado para mostrar cualquier otro enfoque. El ámbito de "
+"una <interface>org.hibernate.Session</interface> de Hibernate es flexible "
+"pero nunca debe diseñar su aplicación para que utilice una nueva "
+"<interface>org.hibernate.Session</interface> de Hibernate para "
+"<emphasis>cada</emphasis> operación de la base de datos. Aunque lo "
+"utilizamos en los siguientes ejemplos, considere la <emphasis>sesión-por-"
+"operación</emphasis> como un anti-patrón. Más adelante en este tutorial, se "
+"muestra una aplicación web real, lo cual le ayudará a ilustrar esto."
 
 #. Tag: para
-#: tutorial.xml:568
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
-"See <xref linkend=\"transactions\"/> for more information about transaction "
+"See <xref linkend=\"transactions\" /> for more information about transaction "
 "handling and demarcation. The previous example also skipped any error "
 "handling and rollback."
 msgstr ""
-"Una <literal>Session</literal> es una sola unidad de trabajo. Podr&#x00ed;a "
-"sorprenderte que tengamos una API adicional, <literal>Transaction</literal>. "
-"Esto implica que una unidad de trabajo puede ser \"m&#x00e1;s larga\" que "
-"una sola transacci&#x00f3;n de base de datos; imagina una unidad de trabajo "
-"que se abarca varios ciclos petici&#x00f3;n/respuesta HTTP (por ejemplo, un "
-"di&#x00e1;logo asistente) en una aplicaci&#x00f3;n web. Separar las "
-"transacciones de base de datos de \"las unidades de trabajo de la "
-"aplicaci&#x00f3;n desde el punto de vista del usuario\" es uno de los "
-"conceptos b&#x00e1;sicos de dise&#x00f1;o de Hibernate. Llamamos una unidad "
-"de trabajo larga <emphasis>Transacci&#x00f3;n de Aplicaci&#x00f3;n</"
-"emphasis>, usualmente encapsulando varias transacciones de base de datos "
-"m&#x00e1;s cortas. Por ahora mantendremos las cosas simples y asumiremos una "
-"granularidad uno-a-uno entre una <literal>Session</literal> y una "
-"<literal>Transaction</literal>."
+"Consulte <xref linkend=\"transactions\" /> para obtener mayor información "
+"sobre el manejo de transacciones y la demarcación. En el ejemplo anterior "
+"también nos saltamos el manejo de errores y cómo deshacerlos."
 
 #. Tag: para
-#: tutorial.xml:574
 #, no-c-format
 msgid ""
 "To run this, we will make use of the Maven exec plugin to call our class "
 "with the necessary classpath setup: <command>mvn exec:java -Dexec.mainClass="
 "\"org.hibernate.tutorial.EventManager\" -Dexec.args=\"store\"</command>"
 msgstr ""
+"Para ejecutar esto, utilizaremos el plugin de ejecución Maven para llamar "
+"nuestra clase con la configuración de ruta de clase necesaria: <command>mvn "
+"exec:java -Dexec.mainClass=\"org.hibernate.tutorial.EventManager\" -Dexec."
+"args=\"store\"</command>"
 
 #. Tag: para
-#: tutorial.xml:581
 #, no-c-format
 msgid "You may need to perform <command>mvn compile</command> first."
 msgstr ""
+"Es posible que primero necesite realizar <command>mvn compile</command>."
 
 #. Tag: para
-#: tutorial.xml:586
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You should see Hibernate starting up and, depending on your configuration, "
 "lots of log output. Towards the end, the following line will be displayed:"
-msgstr "<![CDATA[C:\\hibernateTutorial\\>ant run -Daction=store]]>"
-
-#. Tag: programlisting
-#: tutorial.xml:591
-#, no-c-format
-msgid ""
-"<![CDATA[[java] Hibernate: insert into EVENTS (EVENT_DATE, title, EVENT_ID) "
-"values (?, ?, ?)]]>"
 msgstr ""
-"Debes ver, despu&#x00e9;s de la compilaci&#x00f3;n, a Hibernate arrancando "
-"y, dependiendo de tu configuraci&#x00f3;n mucha salida de registro (log). Al "
-"final encontrar&#x00e1;s la siguiente l&#x00ed;nea:"
+"Debe ver que Hibernate inicia y dependiendo de su configuración, también "
+"verá bastantes salidas de registro. Al final, verá la siguiente línea:"
 
 #. Tag: para
-#: tutorial.xml:593
 #, no-c-format
 msgid "This is the <literal>INSERT</literal> executed by Hibernate."
-msgstr ""
+msgstr "Este es el <literal>INSERT</literal> que Hibernate ejecuta."
 
 #. Tag: para
-#: tutorial.xml:597
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "To list stored events an option is added to the main method:"
 msgstr ""
-"Esta es la <literal>INSERT</literal> ejecutada por Hibernate, los signos de "
-"preguntas representan par&#x00e1;metros de ligado JDBC. Para ver los valores "
-"ligados como argumentos, o para reducir la verborragia del registro, chequea "
-"tu <literal>log4j.properties</literal>."
+"Para listar los eventos almacenados se agrega una opción al método principal:"
 
-#. Tag: programlisting
-#: tutorial.xml:601
-#, fuzzy, no-c-format
-msgid ""
-"<![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(\n"
-"                        \"Event: \" + theEvent.getTitle() + \" Time: \" + "
-"theEvent.getDate()\n"
-"                );\n"
-"            }\n"
-"        }]]>"
-msgstr ""
-"Ahora quisi&#x00e9;ramos listar acontecimientos almacenados tambi&#x00e9;n, "
-"as&#x00ed; que agregamos una opci&#x00f3;n al m&#x00e9;todo principal:"
-
 #. Tag: para
-#: tutorial.xml:603
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "A new <literal>listEvents() method is also added</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"
-"}]]>"
+msgstr "También agregamos un método <literal>listEvents()</literal>:"
 
-#. Tag: programlisting
-#: tutorial.xml:607
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[    private List listEvents() {\n"
-"        Session session = HibernateUtil.getSessionFactory().getCurrentSession"
-"();\n"
-"        session.beginTransaction();\n"
-"        List result = session.createQuery(\"from Event\").list();\n"
-"        session.getTransaction().commit();\n"
-"        return result;\n"
-"    }]]>"
-msgstr ""
-"Agregamos tambi&#x00e9;n un nuevo m&#x00e9;todo <literal>listEvents()</"
-"literal>:"
-
 #. Tag: para
-#: tutorial.xml:609
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Here, we are using a Hibernate Query Language (HQL) query to load all "
 "existing <literal>Event</literal> objects from the database. Hibernate will "
 "generate the appropriate SQL, send it to the database and populate "
 "<literal>Event</literal> objects with the data. You can create more complex "
-"queries with HQL. See <xref linkend=\"queryhql\"/> for more information."
+"queries with HQL. See <xref linkend=\"queryhql\" /> for more information."
 msgstr ""
-"<![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"
-"}]]>"
+"Aquí utilizamos una consulta HQL (Hibernate Query Language) para cargar "
+"todos los objetos <literal>Event</literal> desde la base de datos. Hibernate "
+"generará el SQL apropiado, lo enviará a la base de datos y poblará los "
+"objetos <literal>Event</literal> con los datos. Puede crear peticiones más "
+"complejas con HQL. Consulte <xref linkend=\"queryhql\"/> para obtener mayor "
+"información. "
 
 #. Tag: para
-#: tutorial.xml:617
 #, no-c-format
 msgid ""
 "Now we can call our new functionality, again using the Maven exec plugin: "
 "<command>mvn exec:java -Dexec.mainClass=\"org.hibernate.tutorial.EventManager"
 "\" -Dexec.args=\"list\"</command>"
 msgstr ""
+"Ahora podemos llamar nuestra nueva funcionalidad, de nuevo usando el plugin "
+"de ejecución Maven: <command>mvn exec:java -Dexec.mainClass=\"org.hibernate."
+"tutorial.EventManager\" -Dexec.args=\"list\"</command>"
 
 #. Tag: title
-#: tutorial.xml:627
 #, no-c-format
 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 "
-"hbm2ddl creates the database schema on the first run, and subsequent "
-"application restarts will use this schema. If you change the mapping and/or "
-"database schema, you have to re-enable hbm2ddl once again."
+msgstr "Part 2 - Mapeo de asociaciones"
 
 #. Tag: para
-#: tutorial.xml:629
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "So far we have mapped a single persistent entity class to a table in "
 "isolation. Let's expand on that a bit and add some class associations. We "
 "will add people to the application and store a list of events in which they "
 "participate."
-msgstr "Part 2 - Mapeando asociaciones"
+msgstr ""
+"Hasta ahora hemos mapeado una clase de entidad persistente a una tabla "
+"aislada. Vamos a construir sobre esto y agregaremos algunas asociaciones de "
+"clase. Vamos a agregar personas a la aplicación y vamos a almacenar una "
+"lista de eventos en las que participan."
 
 #. Tag: title
-#: tutorial.xml:637
 #, no-c-format
 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&#x00f3;n, y almacenaremos una lista de eventos "
-"en las que participan."
+msgstr "Mapeo de la clase Person"
 
 #. Tag: para
-#: tutorial.xml:639
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "The first cut of the <literal>Person</literal> class looks like this:"
-msgstr "Mapeando la clase Person"
+msgstr "El primer corte de la clase <literal>Person</literal> se ve así:"
 
-#. Tag: programlisting
-#: tutorial.xml:643
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[package org.hibernate.tutorial.domain;\n"
-"\n"
-"public class Person {\n"
-"\n"
-"    private Long id;\n"
-"    private int age;\n"
-"    private String firstname;\n"
-"    private String lastname;\n"
-"\n"
-"    public Person() {}\n"
-"\n"
-"    // Accessor methods for all properties, private setter for 'id'\n"
-"\n"
-"}]]>"
-msgstr "El primer corte de la clase <literal>Person</literal> es simple:"
-
 #. Tag: para
-#: tutorial.xml:645
 #, no-c-format
 msgid ""
 "Save this to a file named <filename>src/main/java/org/hibernate/tutorial/"
 "domain/Person.java</filename>"
 msgstr ""
+"Guarde esto en un archivo llamado <filename>src/main/java/org/hibernate/"
+"tutorial/domain/Person.java</filename>"
 
 #. Tag: para
-#: tutorial.xml:650
 #, no-c-format
 msgid ""
 "Next, create the new mapping file as <filename>src/main/resources/org/"
 "hibernate/tutorial/domain/Person.hbm.xml</filename>"
 msgstr ""
+"Luego, cree el nuevo archivo de mapeo como <filename>src/main/resources/org/"
+"hibernate/tutorial/domain/Person.hbm.xml</filename>"
 
-#. Tag: programlisting
-#: tutorial.xml:655
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[<hibernate-mapping package=\"org.hibernate.tutorial.domain\">\n"
-"\n"
-"    <class name=\"Person\" table=\"PERSON\">\n"
-"        <id name=\"id\" column=\"PERSON_ID\">\n"
-"            <generator class=\"native\"/>\n"
-"        </id>\n"
-"        <property name=\"age\"/>\n"
-"        <property name=\"firstname\"/>\n"
-"        <property name=\"lastname\"/>\n"
-"    </class>\n"
-"\n"
-"</hibernate-mapping>]]>"
-msgstr "Crea un fichero de mapeo llamado <literal>Person.hbm.xml</literal>:"
-
 #. Tag: para
-#: tutorial.xml:657
 #, no-c-format
 msgid "Finally, add the new mapping to Hibernate's configuration:"
-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>]]>"
+msgstr "Finalmente, añada el nuevo mapeo a la configuración de Hibernate:"
 
-#. Tag: programlisting
-#: tutorial.xml:661
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![CDATA[<mapping resource=\"events/Event.hbm.xml\"/>\n"
-"<mapping resource=\"events/Person.hbm.xml\"/>]]>"
-msgstr ""
-"Finalmente, agrega el nuevo mapeo a la configuraci&#x00f3;n de Hibernate:"
-
-#. Tag: para
-#: tutorial.xml:663
-#, fuzzy, no-c-format
-msgid ""
 "Create an association between these two entities. Persons can participate in "
 "events, and events have participants. The design questions you have to deal "
 "with are: directionality, multiplicity, and collection behavior."
 msgstr ""
-"<![CDATA[        <mapping resource=\"Event.hbm.xml\"/>\n"
-"        <mapping resource=\"Person.hbm.xml\"/>\n"
-"]]>"
+"Vamos a crear una asociación entre estas dos entidades. Las personas pueden "
+"participar en los eventos y los eventos cuentan con participantes. Las "
+"cuestiones de diseño con las que tenemos que tratar son: direccionalidad, "
+"multiplicidad y comportamiento de la colección."
 
 #. Tag: title
-#: tutorial.xml:673
 #, no-c-format
 msgid "A unidirectional Set-based association"
-msgstr ""
-"Crearemos ahora una asociaci&#x00f3;n entre estas dos entidades. Obviamente, "
-"las personas pueden participar en eventos, y los eventos tienen "
-"participantes. Las cuestiones de dise&#x00f1;o con que tenemos que tratar "
-"son: direccionalidad, multiplicidad y comportamiento de colecci&#x00f3;n."
+msgstr "Una asociación unidireccional basada en Set"
 
 #. Tag: para
-#: tutorial.xml:675
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "By adding a collection of events to the <literal>Person</literal> class, you "
 "can easily navigate to the events for a particular person, without executing "
@@ -1641,32 +1075,18 @@
 "Collection Framework contracts; here we choose a <interfacename>java.util."
 "Set</interfacename> because the collection will not contain duplicate "
 "elements and the ordering is not relevant to our examples:"
-msgstr "Una asociaci&#x00f3;n unidireccional basada en Set"
-
-#. Tag: programlisting
-#: tutorial.xml:686
-#, no-c-format
-msgid ""
-"<![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"
-"}]]>"
 msgstr ""
-"Hasta ahora hemos dise&#x00f1;ado asociaciones unidireccionales "
-"multivaluadas, implementadas con un <literal>Set</literal>. Escribamos el "
-"c&#x00f3;digo para esto en las clases Java y luego lo mapeemos:"
+"Al agregar una colección de eventos a la clase <literal>Person</literal>, "
+"puede navegar fácilmente a los eventos de una persona en particular, sin "
+"ejecutar una petición explícita - llamando a <literal>Person#getEvents</"
+"literal>. En Hibernate, las asociaciones multi-valores se representan por "
+"medio de uno de los contratos del marco de colecciones Java; aquí escogimos "
+"un <interfacename>java.util.Set</interfacename> ya que la colección no "
+"contendrá elementos duplicados y el orden no es relevante para nuestros "
+"ejemplos."
 
 #. Tag: para
-#: tutorial.xml:688
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Before mapping this association, let's consider the other side. We could "
 "just keep this unidirectional or create another collection on the "
@@ -1678,51 +1098,19 @@
 "on both sides is called a <emphasis>many-to-many</emphasis> association. "
 "Hence, we use Hibernate's many-to-many mapping:"
 msgstr ""
-"<![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"
-"}]]>"
+"Antes de mapear esta asociación, considere el otro lado. Podriamos mantener "
+"esto unidireccional o podríamos crear otra colección en el <literal>Event</"
+"literal>, si queremos tener la habilidad de navegarlo desde ambas "
+"direcciones. Esto no es necesario desde un punto de vista funcional. Siempre "
+"puede ejeutar un pedido explícito para recuperar los participantes de un "
+"evento en particular. Esta es una elección de diseño que depende de usted, "
+"pero lo que queda claro de esta discusión es la multiplicidad de la "
+"asociación: \"muchos\" valuada en ambos lados, denominamos esto como una "
+"asociación <emphasis>muchos-a-muchos</emphasis>. Por lo tanto, utilizamos un "
+"mapeo muchos-a-muchos de Hibernate:"
 
-#. Tag: programlisting
-#: tutorial.xml:701
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[<class name=\"Person\" table=\"PERSON\">\n"
-"    <id name=\"id\" column=\"PERSON_ID\">\n"
-"        <generator class=\"native\"/>\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>]]>"
-msgstr ""
-"Antes que mapeemos esta asociaci&#x00f3;n, piensa sobre el otro lado. "
-"Claramente, podemos mantener esto solamente unidireccional. O podemos crear "
-"otra colecci&#x00f3;n en el <literal>Event</literal>, si queremos ser "
-"capaces de navegarlos bidireccionalmente; por ejemplo, <literal>anEvent."
-"getParticipants()</literal>. Esta es una elecci&#x00f3;n de dise&#x00f1;o "
-"que recae en ti, pero lo que est&#x00e1; claro de esta discusi&#x00f3;n es "
-"la multiplicidad de la asociaci&#x00f3;n: \"multi\" valuada a ambos lados, "
-"llamamos a esto una asociaci&#x00f3;n <emphasis>muchos-a-muchos</emphasis>. "
-"Por lo tanto, usamos un mapeo many-to-many de Hibernate:"
-
 #. Tag: para
-#: tutorial.xml:703
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Hibernate supports a broad range of collection mappings, a <literal>set</"
 "literal> being most common. For a many-to-many association, or <emphasis>n:"
@@ -1736,108 +1124,39 @@
 "tell Hibernate the class of the objects in your collection (the class on the "
 "other side of the collection of references)."
 msgstr ""
-"<![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>]]>"
+"Hibernate soporta un amplio rango de mapeos de colección, el más común "
+"<literal>set</literal>. Para una asociación muchos-a-muchos o la 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. El "
+"nombre de esta tabla se declara con el atributo <literal>table</literal> del "
+"elemento <literal>set</literal>. El nombre de la columna identificadora en "
+"la asociación, del 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 tiene que informarle a Hibernate la clase de los objetos "
+"en su colección (la clase del otro lado de la colección de referencias)."
 
 #. Tag: para
-#: tutorial.xml:719
 #, no-c-format
 msgid "The database schema for this mapping is therefore:"
-msgstr ""
-"Hibernate soporta todo tipo de mapeos de colecci&#x00f3;n, siendo el "
-"m&#x00e1;s com&#x00fa;n un <literal>&lt;set&gt;</literal>. Para una "
-"asociaci&#x00f3;n muchos-a-muchos (o relaci&#x00f3;n de entidad <emphasis>n:"
-"m</emphasis>), se necesita una tabla de asociaci&#x00f3;n. Cada fila en esta "
-"tabla representa un enlace entre una persona y un evento. Esta tabla se "
-"configura con el atributo <literal>table</literal> del elemento "
-"<literal>set</literal>. El nombre de la columna identificadora en la "
-"asociaci&#x00f3;n, para el lado de la persona, se define con el elemento "
-"<literal>&lt;key&gt;</literal>. El nombre de columna para el lado del evento "
-"se define con el atributo <literal>column</literal> del <literal>&lt;many-to-"
-"many&gt;</literal>. Tambi&#x00e9;n tienes que decirle a Hibernate la clase "
-"de los objetos en tu colecci&#x00f3;n (correcto: la clase del otro lado de "
-"la colecci&#x00f3;n de referencias)."
+msgstr "Por consiguiente, el esquema de base de datos para este mapeo es:"
 
-#. Tag: programlisting
-#: tutorial.xml:723
-#, no-c-format
-msgid ""
-"<![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"
-" ]]>"
-msgstr "El esquema de base de datos para este mapeo es, por lo tanto:"
-
 #. Tag: title
-#: tutorial.xml:728
 #, no-c-format
 msgid "Working the association"
-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"
-" ]]>"
+msgstr "Trabajo de la asociación"
 
 #. Tag: para
-#: tutorial.xml:730
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Now we will bring some people and events together in a new method in "
 "<literal>EventManager</literal>:"
-msgstr "Trabajando la asociaci&#x00f3;n"
-
-#. Tag: programlisting
-#: tutorial.xml:734
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[    private void addPersonToEvent(Long personId, Long eventId) {\n"
-"        Session session = HibernateUtil.getSessionFactory().getCurrentSession"
-"();\n"
-"        session.beginTransaction();\n"
-"\n"
-"        Person aPerson = (Person) session.load(Person.class, personId);\n"
-"        Event anEvent = (Event) session.load(Event.class, eventId);\n"
-"        aPerson.getEvents().add(anEvent);\n"
-"\n"
-"        session.getTransaction().commit();\n"
-"    }]]>"
 msgstr ""
-"Traigamos alguna gente y eventos juntos en un nuevo m&#x00e9;todo en "
+"Vamos a reunir a algunas personas y eventos en un nuevo método en "
 "<literal>EventManager</literal>:"
 
 #. Tag: para
-#: tutorial.xml:736
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "After loading a <literal>Person</literal> and an <literal>Event</literal>, "
 "simply modify the collection using the normal collection methods. There is "
@@ -1853,22 +1172,24 @@
 "of a unit of work, is called <emphasis>flushing</emphasis>. In our code, the "
 "unit of work ends with a commit, or rollback, of the database transaction."
 msgstr ""
-"<![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"
-"}]]>"
+"Después de cargar una <literal>Person</literal> y un <literal>Event</"
+"literal>, simplemente modifique la colección utilizando los métodos normales "
+"de colección. No hay una llamada explícita a <literal>update()</literal> o "
+"<literal>save()</literal>; Hibernate detecta automáticamente que se ha "
+"modificado la colección y que se necesita actualizarla. Esto se denomina "
+"<emphasis>chequeo automático de desactualizaciones</emphasis> y también "
+"puede probarlo modificando el nombre o la propiedad de fecha de cualquiera "
+"de sus objetos. Mientras se encuentran en estado <emphasis>persistente</"
+"emphasis>, es decir, enlazado a una <interfacename>org.hibernate.Session</"
+"interfacename> de Hibernate en particular, Hibernate monitorea cualquier "
+"cambio y ejecuta SQL de un modo escribe-detrás. El proceso de sincronización "
+"del estado de la memoria con la base de datos, usualmente sólo al final de "
+"una unidad de trabajo, se denomina <emphasis>vaciado</emphasis>. En nuestro "
+"código la unidad de trabajo termina con guardar o deshacer los cambios de la "
+"transacción de la base de datos."
 
 #. Tag: para
-#: tutorial.xml:755
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can load person and event in different units of work. Or you can modify "
 "an object outside of a <interfacename>org.hibernate.Session</interfacename>, "
@@ -1876,65 +1197,15 @@
 "is called <emphasis>detached</emphasis>). You can even modify a collection "
 "when it is detached:"
 msgstr ""
-"Despu&#x00e9;s de cargar una <literal>Person</literal> y un <literal>Event</"
-"literal>, simplemente modifica la colecci&#x00f3;n usando sus m&#x00e9;todos "
-"normales. Como puedes ver, no hay una llamada expl&#x00ed;cita a "
-"<literal>update()</literal> o <literal>save()</literal>. Hibernate detecta "
-"autom&#x00e1;ticamente que la colecci&#x00f3;n ha sido modificada y necesita "
-"ser salvada. Esto es llamado <emphasis>chequeo sucio autom&#x00f3;tico "
-"(automatic dirty checking)</emphasis>, y tambi&#x00e9;n puedes intentarlo "
-"modificando el nombre de la propiedad de fecha de cualquiera de tus objetos. "
-"Mientras est&#x00e9;n en estado <emphasis>persistente</emphasis>, esto es, "
-"ligados a una <literal>Session</literal> de Hibernate particular (es decir, "
-"justo han sido cargados o almacenados en una unidad de trabajo), Hibernate "
-"monitoriza cualquier cambio y ejecuta SQL en estilo escribe-por-detr&#x00e1;"
-"s. El proceso de sincronizaci&#x00f3;n del estado de memoria con la base de "
-"datos, usualmente s&#x00f3;lo al final de una unidad de trabajo, es llamado "
-"<emphasis>limpieza (flushing)</emphasis>."
+"Puede cargar una persona y un evento en diferentes unidades de trabajo. "
+"También puede modificar un objeto fuera de una <interfacename>org.hibernate."
+"Session</interfacename>, cuando no se encuentra en estado persistente (si "
+"antes era persistente denominamos a este estado <emphasis>separado</"
+"emphasis> ). Inclusive, puede modificar una colección cuando se encuentre "
+"separada:"
 
-#. Tag: programlisting
-#: tutorial.xml:764
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[    private void addPersonToEvent(Long personId, Long eventId) {\n"
-"        Session session = HibernateUtil.getSessionFactory().getCurrentSession"
-"();\n"
-"        session.beginTransaction();\n"
-"\n"
-"        Person aPerson = (Person) session\n"
-"                .createQuery(\"select p from Person p left join fetch p."
-"events where p.id = :pid\")\n"
-"                .setParameter(\"pid\", personId)\n"
-"                .uniqueResult(); // Eager fetch the collection so we can use "
-"it detached\n"
-"        Event anEvent = (Event) session.load(Event.class, eventId);\n"
-"\n"
-"        session.getTransaction().commit();\n"
-"\n"
-"        // End of first unit of work\n"
-"\n"
-"        aPerson.getEvents().add(anEvent); // aPerson (and its collection) is "
-"detached\n"
-"\n"
-"        // Begin second unit of work\n"
-"\n"
-"        Session session2 = HibernateUtil.getSessionFactory()."
-"getCurrentSession();\n"
-"        session2.beginTransaction();\n"
-"        session2.update(aPerson); // Reattachment of aPerson\n"
-"\n"
-"        session2.getTransaction().commit();\n"
-"    }]]>"
-msgstr ""
-"Podr&#x00ed;as, por supuesto, cargar persona y evento en unidades de trabajo "
-"diferentes. O modificas un objeto fuera de una <literal>Session</literal>, "
-"cuando no est&#x00e1; en estado persistente (si antes era persistente "
-"llamamos a este estado <emphasis>separado (detached) </emphasis>). En "
-"c&#x00f3;digo (no muy realista), esto se ver&#x00ed;a como sigue:"
-
 #. Tag: para
-#: tutorial.xml:766
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The call to <literal>update</literal> makes a detached object persistent "
 "again by binding it to a new unit of work, so any modifications you made to "
@@ -1942,32 +1213,14 @@
 "modifications (additions/deletions) you made to a collection of that entity "
 "object."
 msgstr ""
-"<![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"
-"]]>"
+"La llamada a <literal>update</literal> hace que un objeto separado sea "
+"persistente de nuevo enlazándolo a una nueva unidad de trabajo, así que "
+"cualquier modificación que le realizó mientras estaba separado se puede "
+"guardar en la base de datos. Esto incluye cualquier modificación (adiciones "
+"o eliminaciones) que le hizo a una colección de ese objeto entidad."
 
 #. Tag: para
-#: tutorial.xml:775
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This is not much use in our example, but it is an important concept you can "
 "incorporate into your own application. Complete this exercise by adding a "
@@ -1976,34 +1229,16 @@
 "an event - the <literal>save()</literal> method returns it (you might have "
 "to modify some of the previous methods to return that identifier):"
 msgstr ""
-"La llamada a <literal>update</literal> hace a un objeto persistente de "
-"nuevo, podr&#x00ed;as decir que la liga a una nueva unidad de trabajo, de "
-"modo que cualquier modificaci&#x00f3;n que le hagas mientras est&#x00e9; "
-"separado puede ser salvada a base de datos."
+"Esto no se utiliza mucho en nuestro ejemplo, pero es un concepto importante "
+"que puede incorporar en su propia aplicación. Complete este ejercicio "
+"agregando una nueva acción al método main de <literal>EventManager</literal> "
+"y llámela desde la línea de comandos. Si necesita los identificadores de una "
+"persona y de un evento - el método <literal>save()</literal> los retorna "
+"(pueda que necesite modificar algunos de los métodos anteriores para "
+"retornar ese identificador):"
 
-#. Tag: programlisting
-#: tutorial.xml:783
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[        else if (args[0].equals(\"addpersontoevent\")) {\n"
-"            Long eventId = mgr.createAndStoreEvent(\"My Event\", new Date"
-"());\n"
-"            Long personId = mgr.createAndStorePerson(\"Foo\", \"Bar\");\n"
-"            mgr.addPersonToEvent(personId, eventId);\n"
-"            System.out.println(\"Added person \" + personId + \" to event \" "
-"+ eventId);\n"
-"        }]]>"
-msgstr ""
-"Bueno, esto no es muy usado en nuestra situaci&#x00f3;n actual, pero es un "
-"concepto importante que puedes dise&#x00f1;ar en tu propia aplicaci&#x00f3;"
-"n. Por ahora, completa este ejercicio agregando una nueva acci&#x00f3;n al "
-"m&#x00e9;todo main de <literal>EventManager</literal> y ll&#x00e1;mala desde "
-"la l&#x00ed;nea de comandos. Si necesitas los identificadores de una persona "
-"o evento, el m&#x00e9;todo <literal>save()</literal> los devuelve."
-
 #. Tag: para
-#: tutorial.xml:785
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This is an example of an association between two equally important classes : "
 "two entities. As mentioned earlier, there are other classes and types in a "
@@ -2018,95 +1253,56 @@
 "<literal>Address</literal> or <literal>MonetaryAmount</literal> class. In "
 "fact, in a Hibernate application all JDK classes are considered value types."
 msgstr ""
-"Esto fue un ejemplo de una asociaci&#x00f3;n entre dos clases igualmente "
-"importantes, dos entidades. Como se ha mencionado anteriormente, hay otras "
-"clases y tipos en un modelo t&#x00ed;pico, usualmente \"menos importantes\". "
-"Algunos ya los habr&#x00e1;s visto, como un <literal>int</literal> o un "
-"<literal>String</literal>. Llamamos a estas clases <emphasis>tipos de valor "
-"(value types)</emphasis>, y sus instancias <emphasis>dependen</emphasis> de "
-"una entidad en particular. Las instancias de estos tipos no tienen su propia "
-"identidad, ni son compartidas entre entidades (dos personas no referencian "
-"el mismo objeto <literal>firstname</literal>, incluso si tuvieran el mismo "
-"primer nombre). Por supuesto, los tipos de valor no s&#x00f3;lo pueden "
-"encontrarse en el JDK (de hecho, en una aplicaci&#x00f3;n Hibernate todas "
-"las clases del JDK son consideradas tipos de valor), sino que adem&#x00e1;s "
-"puedes escribir por ti mismo clases dependientes, por ejemplo, "
-"<literal>Address</literal> o <literal>MonetaryAmount</literal>."
+"Esto fue un ejemplo de una asociación entre dos clases igualmente "
+"importantes: dos entidades. Como se mencionó anteriormente, hay otras clases "
+"y tipos en un modelo típico, usualmente \"menos importantes\". Algunos de "
+"ustedes las habrán visto, como un <literal>int</literal> o un "
+"<classname>java.lang.String</classname>. Denominamos a estas clases "
+"<emphasis>tipos de valor</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 "
+"tienen el mismo nombre. Los tipos de valor no sólo pueden encontrarse en el "
+"JDK, sino que también puede escribir por sí mismo clases dependientes como "
+"por ejemplo, <literal>Address</literal> o <literal>MonetaryAmount</literal>. "
+"De hecho, en una aplicación Hibernate todas las clases JDK se consideran "
+"como tipos de valor. "
 
 #. Tag: para
-#: tutorial.xml:803
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can also design a collection of value types. This is conceptually "
 "different from a collection of references to other entities, but looks "
 "almost the same in Java."
 msgstr ""
-"Tambi&#x00e9;n puedes dise&#x00f1;ar una colecci&#x00f3;n de tipos de valor. "
-"Esto es conceptualmente muy diferente de una colecci&#x00f3;n de referencias "
-"a otras entidades, pero se ve casi lo mismo en Java."
+"También puede diseñar una colección de tipos de valor. Esto es "
+"conceptualmente diferente de una colección de referencias a otras entidades, "
+"pero se ve casi igual en Java."
 
 #. Tag: title
-#: tutorial.xml:812
 #, no-c-format
 msgid "Collection of values"
-msgstr "Colecci&#x00f3;n de valores"
+msgstr "Colección de valores"
 
 #. Tag: para
-#: tutorial.xml:814
 #, no-c-format
 msgid ""
 "Let's add a collection of email addresses to the <literal>Person</literal> "
 "entity. This will be represented as a <interfacename>java.util.Set</"
 "interfacename> of <classname>java.lang.String</classname> instances:"
 msgstr ""
+"Vamos a agregar una colección de direcciones de correo electrónico a la "
+"entidad <literal>Person</literal>. Esto se representará como un "
+"<interfacename>java.util.Set</interfacename> de las instnaicas "
+"<classname>java.lang.String</classname>:"
 
-#. Tag: programlisting
-#: tutorial.xml:820
-#, fuzzy, no-c-format
-msgid ""
-"<![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"
-"    }]]>"
-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:822
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "The mapping of this <literal>Set</literal> is as follows:"
-msgstr "El mapeo de este <literal>Set</literal>:"
+msgstr "El mapeo de este <literal>Set</literal> es así:"
 
-#. Tag: programlisting
-#: tutorial.xml:826
-#, fuzzy, no-c-format
-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:828
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The difference compared with the earlier mapping is the use of the "
 "<literal>element</literal> part which tells Hibernate that the collection "
@@ -2120,240 +1316,103 @@
 "<literal>element</literal> element defines the column name where the email "
 "address 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&#x00f3;n no contiene "
-"referencias a otra entidad, sino una colecci&#x00f3;n de elementos de tipo "
-"<literal>String</literal> (el nombre en min&#x00fa;sculas te dice que es un "
-"tipo/conversor de mapeo de Hibernate). Una vez m&#x00e1;s, el atributo "
-"<literal>table</literal> del elemento <literal>set</literal> determina el "
-"nombre de la tabla para la colecci&#x00f3;n. El elemento <literal>key</"
-"literal> define el nombre de la columna clave for&#x00e1;nea en la tabla de "
-"colecci&#x00f3;n. El atributo <literal>column</literal> en el elemento "
-"<literal>element</literal> define el nombre de columna donde realmente "
-"ser&#x00e1;n almacenados los valores <literal>String</literal>."
+"La diferencia comparado con el mapeo anterior es el uso de la parte "
+"<literal>element</literal>, que le dice a Hibernate que la colección no "
+"contiene referencias a otra entidad, sino que es una colección de elementos "
+"que son tipos de valores, aquí especificamente de tipo <literal>String</"
+"literal>. El nombre en minúsculas le 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 la columna donde "
+"realmente se almacenarán los valores de la dirección de correo electrónico."
 
 #. Tag: para
-#: tutorial.xml:844
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Here is the updated schema:"
-msgstr "Echa una mirada al esquema actualizado:"
+msgstr "Este es el esquema actualizado:"
 
-#. Tag: programlisting
-#: tutorial.xml:848
+#. Tag: para
 #, no-c-format
 msgid ""
-"<![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"
-" ]]>"
-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:850
-#, fuzzy, no-c-format
-msgid ""
 "You can see that the primary key of the collection table is in fact a "
 "composite key that uses both columns. This also implies that there cannot 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&#x00f3;n es de hecho "
-"una clave compuesta, usando ambas columnas. Esto implica tambi&#x00e9;n que "
-"no pueden haber direcciones de email duplicadas por persona, que es "
-"exactamente la sem&#x00e1;ntica que necesitamos para un conjunto en Java."
+"Puede ver que la clave principal de la tabla de colección es, de hecho, una "
+"clave compuesta que utiliza ambas columnas. Esto también implica que no "
+"pueden haber direcciones de correo electrónico duplicadas por persona, la "
+"cual es exactamente la semántica que necesitamos para un conjunto en Java."
 
 #. Tag: para
-#: tutorial.xml:856
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "You can now try to add elements to this collection, just like we did before "
 "by linking persons and events. It is the same code in Java:"
 msgstr ""
-"<![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"
-"}]]>"
+"Ahora, puede tratar de agregar elementos a esta colección, al igual que lo "
+"hicimos antes vinculando personas y eventos. Es el mismo código en Java."
 
-#. Tag: programlisting
-#: tutorial.xml:861
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[    private void addEmailToPerson(Long personId, String "
-"emailAddress) {\n"
-"        Session session = HibernateUtil.getSessionFactory().getCurrentSession"
-"();\n"
-"        session.beginTransaction();\n"
-"\n"
-"        Person aPerson = (Person) session.load(Person.class, personId);\n"
-"        // adding to the emailAddress collection might trigger a lazy load "
-"of the collection\n"
-"        aPerson.getEmailAddresses().add(emailAddress);\n"
-"\n"
-"        session.getTransaction().commit();\n"
-"    }]]>"
-msgstr ""
-"Puedes ahora intentar y agregar elementos a esta colecci&#x00f3;n, al igual "
-"que hicimos antes enlazando personas y eventos. Es el mismo c&#x00f3;digo en "
-"Java."
-
 #. Tag: para
-#: tutorial.xml:863
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This time we did not use a <emphasis>fetch</emphasis> query to initialize "
 "the collection. Monitor the SQL log and try to optimize this with an eager "
 "fetch."
 msgstr ""
-"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 "
-"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."
+"Esta vez no utilizamos una petición de <emphasis>búqueda - fetch -</"
+"emphasis> para dar inicio a la colección. Monitoree su registro SQL e "
+"intente de optimizar esto con una recuperación temprana."
 
 #. Tag: title
-#: tutorial.xml:872
 #, no-c-format
 msgid "Bi-directional associations"
 msgstr "Asociaciones bidireccionales"
 
 #. Tag: para
-#: tutorial.xml:874
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Next you will map a bi-directional association. You will make the "
 "association between person and event work from both sides in Java. The "
 "database schema does not change, so you will still have many-to-many "
 "multiplicity."
 msgstr ""
-"A continuacion vamos a mapear una asociaci&#x00f3;n bidireccional, haciendo "
-"que la asociaci&#x00f3;n entre persona y evento funcione desde ambos lados "
-"en Java. Por supuesto, el esquema de base de datos no cambia; todav&#x00ed;a "
-"necesitamos multiplicidad muchos-a-muchos. Una base de datos relacional es "
-"m&#x00e1;s flexible que un lenguaje de programaci&#x00f3;n de red, "
-"as&#x00ed; que no necesita nada parecido a una direcci&#x00f3;n de "
-"navegaci&#x00f3;n; los datos pueden ser vistos y recuperados en cualquier "
-"forma posible."
+"A continuacion vamos a mapear una asociación bidireccional. Vamos a hacer "
+"que la asociación entre persona y evento funcione desde ambos lados en Java. "
+"El esquema de la base de datos no cambia así que todavía tendremos una "
+"multiplicidad muchos-a-muchos."
 
 #. Tag: para
-#: tutorial.xml:882
 #, no-c-format
 msgid ""
 "A relational database is more flexible than a network programming language, "
 "in that it does not need a navigation direction; data can be viewed and "
 "retrieved in any possible way."
 msgstr ""
+"Una base de datos relacional es más flexible que un lenguaje de programación "
+"de red ya que no necesita una dirección de navegación; los datos se pueden "
+"ver y recuperar de cualquier forma posible."
 
 #. Tag: para
-#: tutorial.xml:890
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "First, add a collection of participants to the <literal>Event</literal> "
 "class:"
 msgstr ""
-"Primero agrega una colecci&#x00f3;n de participantes a la clase de eventos "
-"<literal>Event</literal>:"
+"Primero, agregue una colección de participantes a la clase <literal>Event</"
+"literal>:"
 
-#. Tag: programlisting
-#: tutorial.xml:895
-#, fuzzy, no-c-format
-msgid ""
-"<![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"
-"    }]]>"
-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:897
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Now map this side of the association in <literal>Event.hbm.xml</literal>."
 msgstr ""
-"Ahora mapea este lado de la asociaci&#x00f3;n tambi&#x00e9;n, en "
-"<literal>Event.hbm.xml</literal>."
+"Ahora mapee este lado de la asociación en <literal>Event.hbm.xml</literal>."
 
-#. Tag: programlisting
-#: tutorial.xml:901
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[        <set name=\"participants\" table=\"PERSON_EVENT\" inverse="
-"\"true\">\n"
-"            <key column=\"EVENT_ID\"/>\n"
-"            <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:903
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "These are normal <literal>set</literal> mappings in both mapping documents. "
 "Notice that the column names in <literal>key</literal> and <literal>many-to-"
@@ -2362,37 +1421,33 @@
 "<literal>set</literal> element of the <literal>Event</literal>'s collection "
 "mapping."
 msgstr ""
-"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&#x00ed; la adici&#x00f3;n m&#x00e1;s importante es "
-"el atributo <literal>inverse=\"true\"</literal> en el elemento <literal>set</"
-"literal> del mapeo de colecci&#x00f3;n de <literal>Event</literal>."
+"Estos son mapeos normales de <literal>set</literal> en ambos documentos de "
+"mapeo. Note que los nombres de las columnas en <literal>key</literal> y "
+"<literal>many-to-many</literal> se intercambiaron en ambos documentos de "
+"mapeo. La adición más importante aquí 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:911
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "What this means is that Hibernate should take the other side, the "
 "<literal>Person</literal> class, when it needs to find out information about "
 "the link between the two. This will be a lot easier to understand once 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&#x00f3;n "
-"sobre el enlace entre las dos. Esto ser&#x00e1; mucho m&#x00e1;s f&#x00e1;"
-"cil de entender una vez que veas c&#x00f3;mo se crea el enlace bidireccional "
-"entre nuestras dos entidades."
+"Esto significa que Hibernate debe tomar el otro lado, la clase "
+"<literal>Person</literal>, cuando necesite encontrar información sobre el "
+"enlace entre las dos. Esto será mucho más fácil de entender una vez que vea "
+"como se crea el enlace bidireccional entre nuestras dos entidades."
 
 #. Tag: title
-#: tutorial.xml:920
 #, no-c-format
 msgid "Working bi-directional links"
-msgstr "Trabajando enlaces bidireccionales"
+msgstr "Trabajo con enlaces bidireccionales"
 
 #. Tag: para
-#: tutorial.xml:922
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
@@ -2404,86 +1459,41 @@
 "literal>. This process of \"setting the link on both sides\" is absolutely "
 "necessary with bi-directional links."
 msgstr ""
-"Primero, ten en mente que Hhibernate no afecta la sem&#x00e1;ntica normal de "
-"Java. ¿C&#x00f3;mo hemos creado un enlace entre una <literal>Person</"
-"literal> y un <literal>Event</literal> en el ejemplo unidireccional? Hemos "
-"agregado una instancia de <literal>Event</literal> a la colecci&#x00f3;n de "
-"referencias de eventos de una instancia de <literal>Person</literal>. De "
-"modo que, obviamente, si queremos que este enlace funcione "
-"bidireccionalmente, tenemos que hacer lo mismo del otro lado, agregando una "
-"referencia a <literal>Person</literal> a la colecci&#x00f3;n en un "
-"<literal>Event</literal>. Este \"establecer el enlace a ambos lados\" es "
-"absolutamente necesario y nunca debes olvidar hacerlo."
+"Primero, recuerde que Hibernate no afecta la semántica normal de Java. ¿Cómo "
+"creamos un enlace entre <literal>Person</literal> y un <literal>Event</"
+"literal> en el ejemplo unidireccional? Agregue una instancia de "
+"<literal>Event</literal> a la colección de referencias de eventos de una "
+"instancia de <literal>Person</literal>. Si quiere que este enlace funcione "
+"bidireccionalmente, tiene que hacer lo mismo del otro lado, añadiendo una "
+"referencia <literal>Person</literal> a la colección en un <literal>Event</"
+"literal>. Este proceso de \"establecer el enlace en ambos lados\" es "
+"absolutamente necesario con enlaces bidireccionales."
 
 #. Tag: para
-#: tutorial.xml:932
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Many developers program defensively and create link management methods to "
 "correctly set both sides (for example, in <literal>Person</literal>):"
 msgstr ""
-"Muchos desarrolladores programan a la defensiva y crean m&#x00e9;todos de "
-"manejo de un enlace para establecer correctamente ambos lados, por ejemplo "
-"en <literal>Person</literal>:"
+"Muchos desarrolladores programan a la defensiva y crean métodos de "
+"administración de enlaces para establecer correctamente ambos lados, (por "
+"ejemplo, en <literal>Person</literal>):"
 
-#. Tag: programlisting
-#: tutorial.xml:937
-#, fuzzy, no-c-format
-msgid ""
-"<![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"
-"    }]]>"
-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:939
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The get and set methods for the collection are now protected. This allows "
 "classes in the same package and subclasses to still access the methods, but "
 "prevents everybody else from altering the collections directly. Repeat the "
 "steps for the collection on the other side."
 msgstr ""
-"Nota que los m&#x00e9;todos get y set para esta colecci&#x00f3;n son ahora "
-"protegidos. Esto le permite a clases en el mismo paquete y a subclases "
-"acceder a&#x00fa;n a los m&#x00e9;todos, pero previene a cualquier otro de "
-"ensuciarse con la colecci&#x00f3;n directamente (bueno, casi). Probablemente "
-"debas hacer lo mismo con la colecci&#x00f3;n al otro lado."
+"Los métodos get y set para la colección ahora se encuentran protegidos. Esto "
+"le permite a las clases en el mismo paquete y a las subclases acceder aún a "
+"los métodos, pero impide a cualquier otro que desordene las colecciones "
+"directamente. Repita los pasos para la colección del otro lado."
 
 #. Tag: para
-#: tutorial.xml:946
-#, fuzzy, no-c-format
+#, no-c-format
 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 "
@@ -2498,32 +1508,27 @@
 "as <literal>inverse</literal>. In a one-to-many association it has to be the "
 "many-side, and in many-to-many association you can select either side."
 msgstr ""
-"Y ¿qu&#x00e9; del atributo de mapeo <literal>inverse</literal>? Para ti, y "
-"para Java, un enlace bidireccional es simplemente cuesti&#x00f3;n de "
-"establecer correctamente las referencias a ambos lados. Hibernate, sin "
-"embargo, no tiene suficiente informaci&#x00f3;n para arreglar correctamente "
-"sentencias <literal>INSERT</literal> y <literal>UPDATE</literal> de SQL "
-"(para evitar violaci&#x00f3;n de restricciones), y necesita alguna ayuda "
-"para manejar asociaciones bidireccionales apropiadamente. El hacer un lado "
-"de la asociaci&#x00f3;n <literal>inverse</literal> le dice a Hibernate que "
-"basicamente lo ignore, que lo considere un <emphasis>espejo</emphasis> del "
-"otro lado. Esto es todo lo necesario para que Hibernate resuelva todas las "
-"incidencias al transformar un modelo de navegaci&#x00f3;n direccional a un "
-"esquema SQL de base de datos. Las reglas que tienes que recordar son "
-"directas: Todas las asociaciones bidireccionales necesitan uno de los lados "
-"como <literal>inverse</literal>. En una asociaci&#x00f3;n uno-a-muchos debe "
-"ser el lado-de-muchos. En una asociaci&#x00f3;n muchos-a-muchos, puedes "
-"tomar cualquier lado, no hay diferencia."
+"¿Y el atributo de mapeo <literal>inverse</literal>? Para usted y para Java, "
+"un enlace bidireccional es simplemente cuestión de establecer correctamente "
+"las referencias en ambos lados. Sin embargo, Hibernate no tiene suficiente "
+"información para organizar correctamente declaraciones <literal>INSERT</"
+"literal> y <literal>UPDATE</literal> de SQL (para evitar violaciones de "
+"restricciones). El hacer un lado de la asociación <literal>inverse</literal> "
+"le dice a Hibernate que lo considere un <emphasis>espejo</emphasis> del otro "
+"lado. Eso es todo lo necesario para que Hibernate resuelva todos los asuntos "
+"que surgen al transformar un modelo de navegación direccional a un esquema "
+"de base de datos SQL. Las reglas son muy simples: todas las asociaciones "
+"bidireccionales necesitan que uno de los lados sea <literal>inverse</"
+"literal>. En una asociación uno-a-muchos debe ser el lado-de-muchos; y en "
+"una asociación muchos-a-muchos, puede escoger cualquier lado."
 
 #. Tag: title
-#: tutorial.xml:962
 #, no-c-format
 msgid "Part 3 - The EventManager web application"
-msgstr "Part 3 - The EventManager web application"
+msgstr "Part 3 - La aplicación web EventManager"
 
 #. Tag: para
-#: tutorial.xml:964
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "A Hibernate web application uses <literal>Session</literal> and "
 "<literal>Transaction</literal> almost like a standalone application. "
@@ -2531,119 +1536,40 @@
 "<literal>EventManagerServlet</literal>. This servlet can list all events "
 "stored in the database, and it provides an HTML form to enter new events."
 msgstr ""
-"A Hibernate web application uses <literal>Session</literal> and "
-"<literal>Transaction</literal> almost like a standalone application. "
-"However, some common patterns are useful. We now write an "
-"<literal>EventManagerServlet</literal>. This servlet can list all events "
-"stored in the database, and it provides an HTML form to enter new events."
+"Una aplicación web de Hibernate utiliza <literal>Session</literal> y "
+"<literal>Transaction</literal> casi como una aplicación autónoma. Sin "
+"embargo, algunos patrones comunes son útiles. Ahora puede escribir un "
+"<literal>EventManagerServlet</literal>. Este servlet puede enumerar todos "
+"los eventos almacenados en la base de datos y proporciona una forma HTML "
+"para ingresar eventos nuevos."
 
 #. Tag: title
-#: tutorial.xml:972
 #, no-c-format
 msgid "Writing the basic servlet"
-msgstr "Writing the basic servlet"
+msgstr "Escritura de un servlet básico"
 
 #. Tag: para
-#: tutorial.xml:974
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "First we need create our basic processing servlet. Since our servlet only "
 "handles HTTP <literal>GET</literal> requests, we will only implement the "
 "<literal>doGet()</literal> method:"
 msgstr ""
-"The servlet handles HTTP <literal>GET</literal> requests only, hence, the "
-"method we implement is <literal>doGet()</literal>:"
+"Primero necesitamos crear nuestro servlet de procesamiento básico. Ya que "
+"nuestro servlet solo maneja pedidos <literal>GET</literal> HTTP sólamente, "
+"solo implementaremos el método <literal>doGet()</literal>:"
 
-#. Tag: programlisting
-#: tutorial.xml:980
-#, fuzzy, no-c-format
-msgid ""
-"<![CDATA[package org.hibernate.tutorial.web;\n"
-"\n"
-"// Imports\n"
-"\n"
-"public class EventManagerServlet extends HttpServlet {\n"
-"\n"
-"    protected void doGet(\n"
-"            HttpServletRequest request,\n"
-"            HttpServletResponse response) throws ServletException, "
-"IOException {\n"
-"\n"
-"        SimpleDateFormat dateFormatter = new SimpleDateFormat( \"dd.MM.yyyy"
-"\" );\n"
-"\n"
-"        try {\n"
-"            // Begin unit of work\n"
-"            HibernateUtil.getSessionFactory().getCurrentSession()."
-"beginTransaction();\n"
-"\n"
-"            // Process request and render page...\n"
-"\n"
-"            // End unit of work\n"
-"            HibernateUtil.getSessionFactory().getCurrentSession()."
-"getTransaction().commit();\n"
-"        }\n"
-"        catch (Exception ex) {\n"
-"            HibernateUtil.getSessionFactory().getCurrentSession()."
-"getTransaction().rollback();\n"
-"            if ( ServletException.class.isInstance( ex ) ) {\n"
-"                throw ( ServletException ) ex;\n"
-"            }\n"
-"            else {\n"
-"                throw new ServletException( ex );\n"
-"            }\n"
-"        }\n"
-"    }\n"
-"\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:982
 #, no-c-format
 msgid ""
 "Save this servlet as <filename>src/main/java/org/hibernate/tutorial/web/"
 "EventManagerServlet.java</filename>"
 msgstr ""
+"Guarde este servlet como <filename>src/main/java/org/hibernate/tutorial/web/"
+"EventManagerServlet.java</filename>"
 
 #. Tag: para
-#: tutorial.xml:987
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The pattern applied here is called <emphasis>session-per-request</emphasis>. "
 "When a request hits the servlet, a new Hibernate <literal>Session</literal> "
@@ -2652,16 +1578,16 @@
 "started. All data access occurs inside a transaction irrespective of whether "
 "the data is read or written. Do not use the auto-commit mode in applications."
 msgstr ""
-"The pattern we are applying here is called <emphasis>session-per-request</"
-"emphasis>. When a request hits the servlet, a new Hibernate "
-"<literal>Session</literal> is opened through the first call to "
-"<literal>getCurrentSession()</literal> on the <literal>SessionFactory</"
-"literal>. Then a database transaction is started&mdash;all data access as to "
-"occur inside a transaction, no matter if data is read or written (we don't "
-"use the auto-commit mode in applications)."
+"El patrón aplicado aquí se llama <emphasis>sesión-por-petición</emphasis>. "
+"Cuando una petición llega al servlet, se abre una nueva <literal>Session</"
+"literal> de Hibernate por medio de la primera llamada a "
+"<literal>getCurrentSession()</literal> en el <literal>SessionFactory</"
+"literal>. Entonces se inicia una transacción de la base de datos. Todo "
+"acceso a los datos tiene que suceder dentro de una transacción, sin importar "
+"que los datos sean leídos o escritos . No utilice el modo auto-commit en las "
+"aplicaciones."
 
 #. Tag: para
-#: tutorial.xml:996
 #, no-c-format
 msgid ""
 "Do <emphasis>not</emphasis> use a new Hibernate <literal>Session</literal> "
@@ -2669,24 +1595,23 @@
 "that is scoped to the whole request. Use <literal>getCurrentSession()</"
 "literal>, so that it is automatically bound to the current Java thread."
 msgstr ""
-"Do <emphasis>not</emphasis> use a new Hibernate <literal>Session</literal> "
-"for every database operation. Use one Hibernate <literal>Session</literal> "
-"that is scoped to the whole request. Use <literal>getCurrentSession()</"
-"literal>, so that it is automatically bound to the current Java thread."
+"<emphasis>No</emphasis> utilice una nueva <literal>Session</literal> de "
+"Hibernate para cada operación de base de datos. Utilice una "
+"<literal>Session</literal> Hibernate que cubra el campo de todo el pedido. "
+"Utilice <literal>getCurrentSession()</literal> para vincularlo "
+"automáticamente al hilo de Java actual."
 
 #. Tag: para
-#: tutorial.xml:1003
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Next, the possible actions of the request are processed and the response "
 "HTML is rendered. We will get to that part soon."
 msgstr ""
-"Next, the possible actions of the request are processed and the response "
-"HTML is rendered. We'll get to that part soon."
+"Después, se procesan las acciones posibles del pedido y se entrega la "
+"respuesta HTML. Llegaremos a esa parte muy pronto. "
 
 #. Tag: para
-#: tutorial.xml:1008
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Finally, the unit of work ends when processing and rendering are complete. "
 "If any problems occurred during processing or rendering, an exception will "
@@ -2697,109 +1622,32 @@
 "called <emphasis>Open Session in View</emphasis>. You will need it as soon "
 "as you consider rendering your view in JSP, not in a servlet."
 msgstr ""
-"Finally, the unit of work ends when processing and rendering is complete. If "
-"any problem occured during processing or rendering, an exception will be "
-"thrown and the database transaction rolled back. This completes the "
-"<literal>session-per-request</literal> pattern. Instead of the transaction "
-"demarcation code in every servlet you could also write a servlet filter. See "
-"the Hibernate website and Wiki for more information about this pattern, "
-"called <emphasis>Open Session in View</emphasis>&mdash;you'll need it as "
-"soon as you consider rendering your view in JSP, not in a servlet."
+"Finalmente, la unidad de trabajo termina cuando se completa el procesamiento "
+"y la entrega. Si surgió algún problema durante el procesamiento o la "
+"entrega , se presentará una excepción y la transacción de la base de datos "
+"se deshará. Esto completa el patrón <literal>session-per-request</literal>. "
+"En vez del código de demarcación de la transacción en todo servlet, también "
+"podría escribir un filtro de servlet. Véa el sitio web de Hibernate y el "
+"Wiki para obtener más información sobre este patrón llamado <emphasis>sesión "
+"abierta en vista</emphasis>. Lo necesitará tan pronto como considere "
+"representar su vista en JSP, no en un servlet."
 
 #. Tag: title
-#: tutorial.xml:1022
 #, no-c-format
 msgid "Processing and rendering"
-msgstr "Processing and rendering"
+msgstr "Procesamiento y entrega"
 
 #. Tag: para
-#: tutorial.xml:1024
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "Now you can implement the processing of the request and the rendering of the "
 "page."
 msgstr ""
-"Let's implement the processing of the request and rendering of the page."
+"Ahora puede implementar el procesamiento del pedido y la representación de "
+"la página."
 
-#. Tag: programlisting
-#: tutorial.xml:1028
-#, fuzzy, no-c-format
-msgid ""
-"<![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"
-"            }\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();]]>"
-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:1030
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This coding style, with a mix of Java and HTML, would not scale in a more "
 "complex application&mdash;keep in mind that we are only illustrating basic "
@@ -2808,167 +1656,37 @@
 "events in the database are printed. The first method is trivial and only "
 "outputs HTML:"
 msgstr ""
-"Granted, this coding style with a mix of Java and HTML would not scale in a "
-"more complex application&mdash;keep in mind that we are only illustrating "
-"basic Hibernate concepts in this tutorial. The code prints an HTML header "
-"and a footer. Inside this page, an HTML form for event entry and a list of "
-"all events in the database are printed. The first method is trivial and only "
-"outputs HTML:"
+"Dado que este estilo de codificación con una mezcla de Java y HTML no "
+"escalaría en una aplicación más compleja - tenga en cuenta que sólo estamos "
+"ilustrando los conceptos básicos de Hibernate en este tutorial. El código "
+"imprime una cabecera y un pie de página HTML. Dentro de esta página se "
+"imprime una forma HTML para entrada de eventos y se imprime una lista de "
+"todos los eventos en la base de datos. El primer método es trivial y su "
+"salida se realiza únicamente en HTML:"
 
-#. Tag: programlisting
-#: tutorial.xml:1039
-#, fuzzy, no-c-format
-msgid ""
-"<![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"
-"    }]]>"
-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:1041
 #, no-c-format
 msgid ""
 "The <literal>listEvents()</literal> method uses the Hibernate "
 "<literal>Session</literal> bound to the current thread to execute a query:"
 msgstr ""
-"The <literal>listEvents()</literal> method uses the Hibernate "
-"<literal>Session</literal> bound to the current thread to execute a query:"
+"El método <literal>listEvents()</literal> utiliza Hibernate "
+"<literal>Session</literal> vinculado al hilo actual para ejecutar una "
+"petición:"
 
-#. Tag: programlisting
-#: tutorial.xml:1047
-#, fuzzy, no-c-format
-msgid ""
-"<![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"
-"            Iterator it = result.iterator();\n"
-"            while (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"
-"    }]]>"
-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:1049
 #, no-c-format
 msgid ""
 "Finally, the <literal>store</literal> action is dispatched to the "
 "<literal>createAndStoreEvent()</literal> method, which also uses the "
 "<literal>Session</literal> of the current thread:"
 msgstr ""
-"Finally, the <literal>store</literal> action is dispatched to the "
-"<literal>createAndStoreEvent()</literal> method, which also uses the "
-"<literal>Session</literal> of the current thread:"
+"Finalmente, la acción <literal>store</literal> se despacha al método "
+"<literal>createAndStoreEvent()</literal>, el cual también utiliza la "
+"<literal>Session</literal> del hilo actual:"
 
-#. Tag: programlisting
-#: tutorial.xml:1055
-#, fuzzy, no-c-format
-msgid ""
-"<![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"
-"    }]]>"
-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:1057
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "The servlet is now complete. A request to the servlet will be processed in a "
 "single <literal>Session</literal> and <literal>Transaction</literal>. As "
@@ -2979,106 +1697,55 @@
 "data access code into data access objects (the DAO pattern). See the "
 "Hibernate Wiki for more examples."
 msgstr ""
-"That's it, the servlet is complete. A request to the servlet will be "
-"processed in a single <literal>Session</literal> and <literal>Transaction</"
-"literal>. As earlier in the standalone application, Hibernate can "
-"automatically bind these ojects to the current thread of execution. This "
-"gives you the freedom to layer your code and access the "
-"<literal>SessionFactory</literal> in any way you like. Usually you'd use a "
-"more sophisticated design and move the data access code into data access "
-"objects (the DAO pattern). See the Hibernate Wiki for more examples."
+"El servlet se encuentra completo. Un pedido al servlet será procesado en una "
+"sola <literal>Session</literal> y <literal>Transaction</literal>. Como lo "
+"vimos antes en la aplicación autónoma, Hibernate puede enlazar "
+"automáticamente estos objetos al hilo actual de ejecución. Esto le da la "
+"libertad de utilizar capas en su código y acceder a la "
+"<literal>SessionFactory</literal> de cualquier manera que lo desee. "
+"Usualmente, usted utilizaría un diseño más sofisticado y movería el código "
+"de acceso de datos a los objetos de acceso de datos (el patrón DAO). "
+"Refiérase al Wiki de Hibernate para ver más ejemplos."
 
 #. Tag: title
-#: tutorial.xml:1071
 #, no-c-format
 msgid "Deploying and testing"
-msgstr "Deploying and testing"
+msgstr "Despliegue y prueba"
 
 #. Tag: para
-#: tutorial.xml:1073
 #, no-c-format
 msgid ""
 "To deploy this application for testing we must create a Web ARchive (WAR). "
 "First we must define the WAR descriptor as <filename>src/main/webapp/WEB-INF/"
 "web.xml</filename>"
 msgstr ""
+"Para implementar esta aplicación para prueba debemos crear una Web ARchive "
+"(WAR). Primero debemos definir el descriptor WAR como <filename>src/main/"
+"webapp/WEB-INF/web.xml</filename>"
 
-#. Tag: programlisting
-#: tutorial.xml:1079
-#, fuzzy, no-c-format
-msgid ""
-"<![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>org.hibernate.tutorial.web.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>]]>"
-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:1081
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "To build and deploy call <literal>mvn package</literal> in your project "
 "directory and copy the <filename>hibernate-tutorial.war</filename> file into "
 "your Tomcat <filename>webapps</filename> directory."
 msgstr ""
-"To build and deploy call <literal>ant war</literal> in your project "
-"directory and copy the <literal>hibernate-tutorial.war</literal> file into "
-"your Tomcat <literal>webapp</literal> directory. If you don't have Tomcat "
-"installed, download it and follow the installation instructions. You don't "
-"have to change any Tomcat configuration to deploy this application though."
+"Para construir y desplegar llame a <literal>mvn package</literal> en su "
+"directorio de proyecto y copie el archivo <literal>hibernate-tutorial.war</"
+"literal> en su directorio <literal>webapp</literal> Tomcat. "
 
 #. Tag: para
-#: tutorial.xml:1088
 #, no-c-format
 msgid ""
 "If you do not have Tomcat installed, download it from <ulink url=\"http://"
-"tomcat.apache.org/\"></ulink> and follow the installation instructions. Our "
+"tomcat.apache.org/\" /> and follow the installation instructions. Our "
 "application requires no changes to the standard Tomcat configuration."
 msgstr ""
+"Si no tiene Tomcat instalado, descárguelo de <ulink url=\"http://tomcat."
+"apache.org/\" /> y siga las instrucciones de instalación. Nuestra aplicación "
+"no requiere cambios a la configuración estándar de Tomcat."
 
 #. Tag: para
-#: tutorial.xml:1096
 #, no-c-format
 msgid ""
 "Once deployed and Tomcat is running, access the application at "
@@ -3088,698 +1755,26 @@
 "<literal>HibernateUtil</literal> is called) and to get the detailed output "
 "if any exceptions occurs."
 msgstr ""
-"Once deployed and Tomcat is running, access the application at "
-"<literal>http://localhost:8080/hibernate-tutorial/eventmanager</literal>. "
-"Make sure you watch the Tomcat log to see Hibernate initialize when the "
-"first request hits your servlet (the static initializer in "
-"<literal>HibernateUtil</literal> is called) and to get the detailed output "
-"if any exceptions occurs."
+"Una vez que se encuentre desplegado y que Tomcat esté ejecutando, acceda la "
+"aplicación en <literal>http://localhost:8080/hibernate-tutorial/"
+"eventmanager</literal>. Asegúrese de ver el registro de Tomcat para ver a "
+"Hibernate iniciar cuando llegue el primer pedido a su servlet (se llama al "
+"inicializador estático en <literal>HibernateUtil</literal>) y para obetener "
+"la salida detallada si ocurre alguna excepción."
 
 #. Tag: title
-#: tutorial.xml:1109
 #, no-c-format
 msgid "Summary"
-msgstr "Summary"
+msgstr "Resumen"
 
 #. Tag: para
-#: tutorial.xml:1111
-#, fuzzy, no-c-format
+#, no-c-format
 msgid ""
 "This tutorial covered the basics of writing a simple standalone Hibernate "
 "application and a small web application. More tutorials are available from "
 "the Hibernate <ulink url=\"http://hibernate.org\">website</ulink>."
 msgstr ""
-"Este tutorial cubri&#x00f3; los fundamentos de escribir una simple "
-"aplicaci&#x00f3;n independiente de Hibernate."
-
-#~ msgid "Introduction to Hibernate"
-#~ msgstr "Introducci&#x00f3;n a Hibernate"
-
-#~ msgid "Preface"
-#~ msgstr "Prefacio"
-
-#~ 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&#x00ed;tulo es un tutorial introductorio de Hibernate. "
-#~ "Comenzamos con una aplicaci&#x00f3;n simple de l&#x00ed;nea de comandos "
-#~ "usando un base de datos en-memoria y desarroll&#x00e1;ndola en f&#x00e1;"
-#~ "cil para entender los pasos."
-
-#~ 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&#x00e1; concebido para usuarios nuevos de Hibernate "
-#~ "pero requiere conocimiento en Java y SQL. Est&#x00e1; basado en un "
-#~ "tutorial de Michael Gloegl. Las bibliotecas de terceros que mencionamos "
-#~ "son para JDK 1.4 y 5.0. Podr&#x00ed;as necesitar otras para JDK 1.3."
-
-#~ msgid ""
-#~ "The source code for the tutorial is included in the distribution in the "
-#~ "<literal>doc/reference/tutorial/</literal> directory."
-#~ msgstr ""
-#~ "UNTRANSLATED!!! The source code for the tutorial is included in the "
-#~ "distribution in the <literal>doc/reference/tutorial/</literal> directory."
-
-#~ 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&#x00f3;n simple de Hibenate basada en "
-#~ "consola. Usamos usamos una base de datos en-memoria (HSQL DB), de modo "
-#~ "que no necesitamos instalar ning&#x00fa;n servidor de base de datos."
-
-#~ 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 Hibernate website. Extract the package and place all required "
-#~ "libraries found in <literal>/lib</literal> into into the <literal>/lib</"
-#~ "literal> directory of your new development working directory. It should "
-#~ "look like this:"
-#~ msgstr ""
-#~ "La primera cosa que hacemos, es armar nuestro directorio de desarrollo y "
-#~ "poner en &#x00e9;l todas las bibliotecas Java que necesitamos. Descarga "
-#~ "la distribuci&#x00f3;n de Hibernate del sitio web de Hibernate. Extrae el "
-#~ "paquete y coloca todas las bibliotecas requeridas encontradas en "
-#~ "<literal>/lib</literal> dentro del directorio <literal>/lib</literal> de "
-#~ "nuestro nuevo directorio de desarrollo de trabajo. Debe asemejarse a esto:"
-
-#~ msgid ""
-#~ "<![CDATA[.\n"
-#~ "+lib\n"
-#~ "  antlr.jar\n"
-#~ "  cglib.jar\n"
-#~ "  asm.jar\n"
-#~ "  asm-attrs.jars\n"
-#~ "  commons-collections.jar\n"
-#~ "  commons-logging.jar\n"
-#~ "  hibernate3.jar\n"
-#~ "  jta.jar\n"
-#~ "  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 ]]>"
-
-#~ 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 "
-#~ "writing</emphasis>. The Hibernate release you are using might require "
-#~ "more or less libraries. See the <literal>README.txt</literal> file in the "
-#~ "<literal>lib/</literal> directory of the Hibernate distribution for more "
-#~ "information about required and optional third-party libraries. (Actually, "
-#~ "Log4j is not required but preferred by many developers.)"
-#~ msgstr ""
-#~ "Este es el conjunto m&#x00ed;nimo de bibliotecas requeridas para "
-#~ "Hibernate (observa que tambi&#x00e9;n hemos copiado hibernate3.jar, el "
-#~ "fichero principal). Ver el fichero <literal>README.txt</literal> en el "
-#~ "directorio <literal>lib/</literal> de la distribuci&#x00f3;n de Hibernate "
-#~ "para m&#x00e1;s informaci&#x00f3;n sobre bibliotecas de terceros "
-#~ "requeridas y opcionales. (Realmente, Log4J no es requerida aunque "
-#~ "preferida por muchos desarrolladores)."
-
-#~ 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:"
-
-#~ 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&#x00f3;digo Java en un directorio llamado "
-#~ "<literal>src</literal> en la carpeta de desarrollo. El directorio ahora "
-#~ "debe verse como esto:"
-
-#~ msgid ""
-#~ "<![CDATA[.\n"
-#~ "+lib\n"
-#~ "  <Hibernate and third-party libraries>\n"
-#~ "+src\n"
-#~ "  +events\n"
-#~ "    Event.java]]>"
-#~ msgstr ""
-#~ "<![CDATA[.\n"
-#~ "+lib\n"
-#~ "  <Hibernate and third-party libraries>\n"
-#~ "+src\n"
-#~ "  Event.java]]>"
-
-#~ msgid "In the next step, we tell Hibernate about this persistent class."
-#~ msgstr ""
-#~ "En el pr&#x00f3;ximo paso, le decimos a Hibernate sobre esta clase "
-#~ "persistente."
-
-#~ msgid ""
-#~ "The <literal>id</literal> element is the declaration of the identifer "
-#~ "property, <literal>name=\"id\"</literal> declares the name of the Java "
-#~ "property - Hibernate will use the getter and setter methods to access the "
-#~ "property. The column attribute tells Hibernate which column of the "
-#~ "<literal>EVENTS</literal> table we use for this primary key. The nested "
-#~ "<literal>generator</literal> element specifies the identifier generation "
-#~ "strategy, in this case we used <literal>native</literal>, which picks the "
-#~ "best strategy depending on the configured database (dialect). Hibernate "
-#~ "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&#x00f3;n de la "
-#~ "propiedad identificadora, <literal>name=\"id\"</literal> declara el "
-#~ "nombre de la propiedad Java. Hibernate usar&#x00e1; los m&#x00e9;todos "
-#~ "getter y setter para acceder a la propiedad. El attributo de columna dice "
-#~ "a Hibernate cu&#x00e1;l columna de la tabla <literal>EVENTS</literal> "
-#~ "usamos para esta clave primaria. El elemento anidado <literal>generator</"
-#~ "literal> especifica la estrategia de generaci&#x00f3;n de "
-#~ "identificadores, en este caso usamos <literal>increment</literal>, que es "
-#~ "un m&#x00e9;todo muy simple de incremento de n&#x00fa;mero en-memoria "
-#~ "&#x00fa;til mayormente para testeo (y tutoriales). Hibernate tambi&#x0e9;"
-#~ "n soporta identificadores generados por base de datos, globalmente "
-#~ "&#x00fa;nicos, as&#x00ed; como tambi&#x00e9;n asignados por "
-#~ "aplicaci&#x00f3;n (o cualquier estrategia para la que hayas escrito una "
-#~ "extensi&#x00f3;n)."
-
-#~ 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 file. The naming of mapping files can be arbitrary, however the "
-#~ "<literal>hbm.xml</literal> suffix is a convention in the Hibernate "
-#~ "developer community. 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&#x00f3;ximo al fichero de c&#x00f3;"
-#~ "digo fuente de la clase Java <literal>Event</literal>. El nombrado de los "
-#~ "ficheros de mapeo puede ser arbitrario, sin embargo, el sufijo "
-#~ "<literal>hbm.xml</literal> se ha vuelto una convenci&#x00f3;n el la "
-#~ "comunidad de desarrolladores de Hibernate. La estructura de directorio "
-#~ "debe ahora verse como esto:"
-
-#~ msgid ""
-#~ "<![CDATA[.\n"
-#~ "+lib\n"
-#~ "  <Hibernate and third-party libraries>\n"
-#~ "+src\n"
-#~ "  +events\n"
-#~ "    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]]>"
-
-#~ msgid "We continue with the main configuration of Hibernate."
-#~ msgstr "Continuamos con la configuraci&#x00f3;n principal de Hibernate."
-
-#~ 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 java-based SQL DBMS, can be downloaded from the HSQL DB website"
-#~ "(http://hsqldb.org/). Actually, you only need the <literal>hsqldb.jar</"
-#~ "literal> from this download. Place this file in the <literal>lib/</"
-#~ "literal> directory of the development folder."
-#~ msgstr ""
-#~ "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&#x00f3;lo necesitas el <literal>hsqldb.jar</literal>. Coloca este "
-#~ "fichero en el directorio <literal>lib/</literal> de la carpeta de "
-#~ "desarrollo."
-
-#~ 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 connection pool, which we also have to configure. The "
-#~ "Hibernate distribution contains several open source JDBC connection "
-#~ "pooling tools, but will use the Hibernate built-in connection pool for "
-#~ "this tutorial. Note that you have to copy the required library into your "
-#~ "classpath and use different connection pooling settings if you want to "
-#~ "use a production-quality third party JDBC pooling software."
-#~ msgstr ""
-#~ "Hibernate es la capa en tu aplicaci&#x00f3;n que se conecta a esta base "
-#~ "de datos, de modo que necesita informaci&#x00f3;n de conexi&#x00f3;n. Las "
-#~ "conexiones se hacen a trav&#x00e9;s de un pool de conexiones JDBC, que "
-#~ "tamb&#x00e9;n tenemos que configurar. La distribuci&#x00f3;n de Hibernate "
-#~ "contiene muchas herramientas de pooling de conexiones JDBC de c&#x00f3;"
-#~ "digo abierto, pero para este tutorial usaremos el pool de conexiones "
-#~ "prefabricado dentro de Hibernate. Observa que tienes que copiar la "
-#~ "biblioteca requerida en tu classpath y usar diferentes configuraciones de "
-#~ "pooling de conexiones si quieres usar un software de pooling JDBC de "
-#~ "terceros de calidad de producci&#x00f3;n."
-
-#~ 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&#x00f3;digo fuente, de modo "
-#~ "que termine ubicado en la rai&#x00ed;z del classpath. Hibernate busca "
-#~ "autom&#x00e1;ticamente un fichero llamado <literal>hibernate.cfg.xml</"
-#~ "literal> en la ra&#x00ed;z del classpath al arrancar."
-
-#~ 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 download page</ulink>. How to install Ant will not "
-#~ "be covered here. Please refer to the <ulink url=\"http://ant.apache.org/"
-#~ "manual/index.html\">Ant manual</ulink>. After you have installed Ant, we "
-#~ "can start to create the buildfile. It will be called <literal>build.xml</"
-#~ "literal> and placed directly in the development directory."
-#~ msgstr ""
-#~ "Construiremos ahora el tutorial con Ant. Necesitar&#x00e1;s tener Ant "
-#~ "instalado. Obt&#x00e9;nlo de <ulink url=\"http://ant.apache.org/"
-#~ "bindownload.cgi\">P&#x00e1;gina de descarga de Ant</ulink>. No se "
-#~ "cubrir&#x00e1; aqu&#x00ed; c&#x00f3;mo instalar Ant. Por favor "
-#~ "refi&#x00e9;rete al <ulink url=\"http://ant.apache.org/manual/index.html"
-#~ "\"> Manual de Ant</ulink>. Despu&#x00e9;s que hayas instalado Ant, "
-#~ "podemos comenzar a crear el buildfile. Ser&#x00e1; llamado <literal>build."
-#~ "xml</literal> y colocado directamente en el directorio de desarrollo."
-
-#~ msgid "A basic build file looks like this:"
-#~ msgstr "Reparar Ant"
-
-#~ msgid ""
-#~ "<![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>]]>"
-#~ msgstr ""
-#~ "Observa que la distribuci&#x00f3;n de Ant est&#x00e1; por defecto rota "
-#~ "(como se describe en el FAQ de Ant) y tiene que ser reparado por ti, por "
-#~ "ejemplo, si quisieras usar JUnit desde dentro de tu fichero de "
-#~ "construcci&#x00f3;n. Para hacer que funcione la tarea de JUnit (no lo "
-#~ "necesitaremos en este tutorial), copia junit.jar a <literal>ANT_HOME/lib</"
-#~ "literal> o quita el trozo de plugin <literal>ANT_HOME/lib/ant-junit.jar</"
-#~ "literal>."
-
-#~ 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 "Un fichero de construcci&#x00f3;n b&#x00e1;sico se ve como esto:"
-
-#~ msgid ""
-#~ "<![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 ]]>"
-#~ 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>]]>"
-
-#~ msgid ""
-#~ "Place <literal>HibernateUtil.java</literal> in the development source "
-#~ "directory, in a package next to <literal>events</literal>:"
-#~ msgstr ""
-#~ "Esta clase no &#x00f3;lo produce la <literal>SessionFactory</literal> "
-#~ "global en su inicializador static (llamado s&#x00f3;lo una vez por la JVM "
-#~ "al cargar la clase), sino que tambi&#x00e9;n tiene una variable "
-#~ "<literal>ThreadLocal</literal> para tener la <literal>Session</literal> "
-#~ "para la hebra actual. No importa cu&#x00e1;ndo llames a "
-#~ "<literal>HibernateUtil.currentSession()</literal>, siempre "
-#~ "devolver&#x00e1; la misma unidad de trabajo de Hibernate en la misma "
-#~ "hebra. Una llamada a <literal>HibernateUtil.closeSession()</literal> "
-#~ "termina la unidad de trabajo actualmente asociada a la hebra."
-
-#~ msgid ""
-#~ "<![CDATA[.\n"
-#~ "+lib\n"
-#~ "  <Hibernate and third-party libraries>\n"
-#~ "+src\n"
-#~ "  +events\n"
-#~ "    Event.java\n"
-#~ "    Event.hbm.xml\n"
-#~ "  +util\n"
-#~ "    HibernateUtil.java\n"
-#~ "  hibernate.cfg.xml\n"
-#~ "+data\n"
-#~ "build.xml]]>"
-#~ msgstr ""
-#~ "Aseg&#x00fa;rate de entender el concepto Java de una variable local a una "
-#~ "hebra antes de usar esta ayuda. Una clase <literal>HibernateUtil</"
-#~ "literal> m&#x00e1;s potente puede encontrarse en <literal>CaveatEmptor</"
-#~ "literal>, http://caveatemptor.hibernate.org/, as&#x00ed; como en el libro "
-#~ "\"Java Persistence with Hibernate\". Observa que esta clase no es "
-#~ "necesaria si despliegas Hibernate en un servidor de aplicaciones J2EE: "
-#~ "una <literal>Session</literal> ser&#x00e1; autom&#x00e1;ticamente ligada "
-#~ "a la transacci&#x00f3;n JTA actual, y puedes buscar la "
-#~ "<literal>SessionFactory</literal> a trav&#x00e9;s de JNDI. Si usas JBoss "
-#~ "AS, Hibernate puede ser desplegado como un servicio de sistema manejado y "
-#~ "autom&#x00e1;ticamente ligar&#x00e1; la <literal>SessionFactory</literal> "
-#~ "a un nombre JNDI."
-
-#~ msgid ""
-#~ "To run this first routine we have to add a callable target to the Ant "
-#~ "build file:"
-#~ msgstr ""
-#~ "¿Qu&#x00e9; es lo que hacen <literal>Transaction.begin()</literal> y "
-#~ "<literal>commit()</literal>? ¿D&#x00f3;nde est&#x00e1; el rollback en "
-#~ "caso que algo vaya mal? La API de <literal>Transaction</literal> de "
-#~ "Hibernate es opcional realmente, pero la usamos por conveniencia y "
-#~ "portabilidad. Si manejases la transacci&#x00f3;n de base de datos por ti "
-#~ "mismo (por ejemplo, llamando a <literal>session.connection.commit()</"
-#~ "literal>), ligar&#x00ed;as el c&#x00f3;digo a un entorno de despliegue "
-#~ "particular, en este JDBC directo no manejado. Estableciendo la f&#x00e1;"
-#~ "brica de <literal>Transaction</literal> en tu configuraci&#x00f3;n de "
-#~ "Hibernate puedes desplegar tu capa de persistencia en cualquier sitio. "
-#~ "Echa una mirada al <xref linkend=\"transactions\"/> para m&#x00e1;s "
-#~ "informaci&#x00f3;n sobre manejo y demarcaci&#x00f3;n de transacciones. "
-#~ "Hemos saltado tambi&#x00e9;n cualquier manejo de excepciones y rollback "
-#~ "en este ejemplo."
-
-#~ msgid ""
-#~ "<![CDATA[<target name=\"run\" depends=\"compile\">\n"
-#~ "    <java fork=\"true\" classname=\"events.EventManager\" classpathref="
-#~ "\"libraries\">\n"
-#~ "        <classpath path=\"${targetdir}\"/>\n"
-#~ "        <arg value=\"${action}\"/>\n"
-#~ "    </java>\n"
-#~ "</target>]]>"
-#~ msgstr ""
-#~ "Para ejecutar la primera rutina tenemos que agregar un objetivo llamable "
-#~ "al fichero de construcci&#x00f3;n de Ant:"
-
-#~ msgid ""
-#~ "The value of the <literal>action</literal> argument is set on the command "
-#~ "line when calling the target:"
-#~ msgstr ""
-#~ "<![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>]]>"
-
-#~ msgid "<![CDATA[C:\\hibernateTutorial\\>ant run -Daction=store]]>"
-#~ msgstr ""
-#~ "El valor del argumento <literal>action</literal> es establecido por "
-#~ "l&#x00ed;nea de comandos al llamar al objetivo:"
-
-#~ 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 ""
-#~ "<![CDATA[[java] Hibernate: insert into EVENTS (EVENT_DATE, title, "
-#~ "EVENT_ID) values (?, ?, ?)]]>"
-
-#~ msgid "Now, to execute and test all of this, follow these steps:"
-#~ msgstr ""
-#~ "Lo que hacemos aqu&#x00ed; es usar una consulta HQL (Lenguaje de Consulta "
-#~ "de Hibernate o Hibernate Query Language) para cargar todos los objetos "
-#~ "<literal>Event</literal> existentes de la base de datos. Hibernate "
-#~ "generar&#x00e1; el SQL apropiado, lo enviar&#x00e1; a la base de datosy "
-#~ "poblar&#x00e1; los objetos <literal>Event</literal> con datos. Puedes, "
-#~ "por supuesto, crear consultas m&#x00e1;s complejas con HQL."
-
-#~ 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 "Now, to execute and test all of this, follow these steps:"
-
-#~ msgid ""
-#~ "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 "
-#~ "<emphasis>drop</emphasis> everything you have stored - the "
-#~ "<literal>create</literal> configuration setting actually translates into "
-#~ "\"drop all tables 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."
-
-#~ 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 "
-#~ "<emphasis>drop</emphasis> everything you have stored - the "
-#~ "<literal>create</literal> configuration setting actually translates into "
-#~ "\"drop all tables from the schema, then re-create all tables, when the "
-#~ "SessionFactory is build\"."
-
-#~ 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 hbm2ddl creates the database schema on the first run, and "
-#~ "subsequent 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."
-
-#~ msgid ""
-#~ "Create a new mapping file called <literal>Person.hbm.xml</literal> (don't "
-#~ "forget the DTD reference at the top):"
-#~ 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"
-#~ "}]]>"
-
-#~ 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 ""
-#~ "Agregaremos una colecci&#x00f3;n de eventos a la clase <literal>Person</"
-#~ "literal>. De esta forma podemos navegar facilmente a los eventos de una "
-#~ "persona en particular, sin ejecutar una consulta expl&#x00ed;cita, "
-#~ "llamando a <literal>aPerson.getEvents()</literal>. Usamos una "
-#~ "colecci&#x00f3;n Java, un <literal>Set</literal>, porque la "
-#~ "colecci&#x00f3;n no contendr&#x00e1; elementos duplicados y el "
-#~ "ordenamiento no nos es relevante."
-
-#~ 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&#x00f3;n de objetos tipificados en valor a la "
-#~ "entidad <literal>Person</literal>. Queremos almacenar direcciones de "
-#~ "email, de modo que el tipo que usamos es <literal>String</literal>, y la "
-#~ "colecci&#x00f3;n es nuevamente un <literal>Set</literal>:"
-
-#~ msgid "Let's turn this into a small web application."
-#~ msgstr "Let's turn this into a small web application."
-
-#~ msgid ""
-#~ "Create a new class in your source directory, in the <literal>events</"
-#~ "literal> package:"
-#~ msgstr ""
-#~ "Create a new class in your source directory, in the <literal>events</"
-#~ "literal> package:"
-
-#~ msgid ""
-#~ "<![CDATA[package events;\n"
-#~ "\n"
-#~ "// Imports\n"
-#~ "\n"
-#~ "public class EventManagerServlet extends HttpServlet {\n"
-#~ "\n"
-#~ "    // Servlet code\n"
-#~ "}]]>"
-#~ msgstr ""
-#~ "<![CDATA[package events;\n"
-#~ "                                                 \n"
-#~ "                                                 // Imports\n"
-#~ "                                                 \n"
-#~ "                                                 public class "
-#~ "EventManagerServlet extends HttpServlet {\n"
-#~ "                                                 \n"
-#~ "                                                 // Servlet code\n"
-#~ "                                                 }]]>"
-
-#~ 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>:"
-#~ msgstr ""
-#~ "To deploy this application you have to create a web archive, a WAR. Add "
-#~ "the following Ant target to your <literal>build.xml</literal>:"
-
-#~ msgid ""
-#~ "<![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>]]>"
-#~ 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>]]>"
-
-#~ msgid ""
-#~ "This target creates a file called <literal>hibernate-tutorial.war</"
-#~ "literal> in your project directory. It packages all libraries and the "
-#~ "<literal>web.xml</literal> descriptor, which is expected in the base "
-#~ "directory of your project:"
-#~ msgstr ""
-#~ "This target creates a file called <literal>hibernate-tutorial.war</"
-#~ "literal> in your project directory. It packages all libraries and the "
-#~ "<literal>web.xml</literal> descriptor, which is expected in the base "
-#~ "directory of your project:"
-
-#~ 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 development kit, if you don't have this library already, get "
-#~ "it from the Sun website and copy it to your library directory. However, "
-#~ "it will be only used for compliation and excluded from the WAR package."
-#~ msgstr ""
-#~ "Before you compile and deploy the web application, note that an "
-#~ "additional library is required: <literal>jsdk.jar</literal>. This is the "
-#~ "Java servlet development kit, if you don't have this library already, get "
-#~ "it from the Sun website and copy it to your library directory. However, "
-#~ "it will be only used for compliation and excluded from the WAR package."
-
-#~ msgid ""
-#~ "If you already feel confident with Hibernate, continue browsing through "
-#~ "the reference documentation table of contents for topics you find "
-#~ "interesting - most asked are transactional processing (<xref linkend="
-#~ "\"transactions\"/>), fetch performance (<xref linkend=\"performance\"/>), "
-#~ "or the usage of the API (<xref linkend=\"objectstate\"/>) and the query "
-#~ "features (<xref linkend=\"objectstate-querying\"/>)."
-#~ msgstr ""
-#~ "Si ya te sientes confidente con Hibernate, contin&#x00fa;a navegando a "
-#~ "trav&#x00e9;s de la tabla de contenidos de la documentaci&#x00f3;n de "
-#~ "referencia para los temas que encuentres interesantes. Los m&#x00e1;s "
-#~ "consultados son procesamiento transaccional (<xref linkend=\"transactions"
-#~ "\"/>), rendimiento de recuperaci&#x00f3;n (<xref linkend=\"performance\"/"
-#~ ">), o el uso de la API (<xref linkend=\"objectstate\"/>) y las "
-#~ "funcionalidades de consulta (<xref linkend=\"objectstate-querying\"/>)."
-
-#~ msgid ""
-#~ "Don't forget to check the Hibernate website for more (specialized) "
-#~ "tutorials."
-#~ msgstr ""
-#~ "No olvides chequear el sitio web de Hibernate por m&#x00e1;s "
-#~ "(especializados) tutoriales."
-
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+"Este tutorial abordó los puntos básicos de la escritura de una simple "
+"aplicación de Hibernate autónoma y una pequeña aplicación web. Encontrará "
+"más tutoriales en el website de Hibernate <ulink url=\"http://hibernate.org"
+"\"></ulink>."

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

Deleted: core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/legal_notice.po
===================================================================
--- core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/legal_notice.po	2010-02-08 05:11:36 UTC (rev 18719)
+++ core/branches/Branch_3_3/documentation/manual/src/main/docbook/es-ES/legal_notice.po	2010-02-08 06:01:28 UTC (rev 18720)
@@ -1,84 +0,0 @@
-#, fuzzy
-msgid ""
-msgstr ""
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-06-16 18:47+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-
-#. Tag: title
-#: legal_notice.xml:28
-#, no-c-format
-msgid "Legal Notice"
-msgstr "Legal Notice"
-
-#. Tag: address
-#: legal_notice.xml:30
-#, no-c-format
-msgid ""
-"<street>1801 Varsity Drive</street> <city>Raleigh</city>, <state>NC</"
-"state><postcode>27606-2072</postcode><country>USA</country> <phone>Phone: +1 "
-"919 754 3700</phone> <phone>Phone: 888 733 4281</phone> <fax>Fax: +1 919 754 "
-"3701</fax> <pob>PO Box 13588</pob><city>Research Triangle Park</city>, "
-"<state>NC</state><postcode>27709</postcode><country>USA</country>"
-msgstr ""
-"<street>1801 Varsity Drive</street> <city>Raleigh</city>, <state>NC</"
-"state><postcode>27606-2072</postcode><country>USA</country> <phone>Phone: +1 "
-"919 754 3700</phone> <phone>Phone: 888 733 4281</phone> <fax>Fax: +1 919 754 "
-"3701</fax> <pob>PO Box 13588</pob><city>Research Triangle Park</city>, "
-"<state>NC</state><postcode>27709</postcode><country>USA</country>"
-
-#. Tag: para
-#: legal_notice.xml:39
-#, fuzzy, no-c-format
-msgid ""
-"Copyright <trademark class=\"copyright\"></trademark> 2007 by Red Hat, Inc. "
-"This copyrighted material is made available to anyone wishing to use, "
-"modify, copy, or redistribute it subject to the terms and conditions of the "
-"GNU <ulink url=\"http://www.gnu.org/licenses/lgpl-2.1.html\">Lesser General "
-"Public License</ulink>, as published by the Free Software Foundation."
-msgstr ""
-"Copyright <trademark class=\"copyright\"></trademark> 2007 by Red Hat, Inc.  "
-"This copyrighted material is made available to anyone wishing to use, "
-"modify, copy, or redistribute it subject to the terms and conditions of the "
-"GNU <ulink url=\"http://www.gnu.org/licenses/lgpl-2.1.html\">Lesser General "
-"Public License</ulink>, as published by the Free Software Foundation."
-
-#. Tag: para
-#: legal_notice.xml:45
-#, no-c-format
-msgid ""
-"Red Hat and the Red Hat \"Shadow Man\" logo are registered trademarks of Red "
-"Hat, Inc. in the United States and other countries."
-msgstr ""
-"Red Hat and the Red Hat \"Shadow Man\" logo are registered trademarks of Red "
-"Hat, Inc. in the United States and other countries."
-
-#. Tag: para
-#: legal_notice.xml:48
-#, no-c-format
-msgid ""
-"All other trademarks referenced herein are the property of their respective "
-"owners."
-msgstr ""
-"All other trademarks referenced herein are the property of their respective "
-"owners."
-
-#. Tag: para
-#: legal_notice.xml:51
-#, no-c-format
-msgid "The GPG fingerprint of the security at redhat.com key is:"
-msgstr "The GPG fingerprint of the security at redhat.com key is:"
-
-#. Tag: para
-#: legal_notice.xml:54
-#, no-c-format
-msgid "CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E"
-msgstr "CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E"
-
-#~ msgid "ROLES_OF_TRANSLATORS"
-#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-#~ msgid "CREDIT_FOR_TRANSLATORS"
-#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"



More information about the hibernate-commits mailing list