[hibernate-commits] Hibernate SVN: r14141 - core/trunk/documentation/manual/translations/fr-FR/content.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Fri Oct 26 03:34:39 EDT 2007


Author: xhuang at jboss.com
Date: 2007-10-26 03:34:37 -0400 (Fri, 26 Oct 2007)
New Revision: 14141

Modified:
   core/trunk/documentation/manual/translations/fr-FR/content/architecture.po
   core/trunk/documentation/manual/translations/fr-FR/content/association_mapping.po
   core/trunk/documentation/manual/translations/fr-FR/content/basic_mapping.po
   core/trunk/documentation/manual/translations/fr-FR/content/batch.po
   core/trunk/documentation/manual/translations/fr-FR/content/best_practices.po
   core/trunk/documentation/manual/translations/fr-FR/content/collection_mapping.po
   core/trunk/documentation/manual/translations/fr-FR/content/component_mapping.po
   core/trunk/documentation/manual/translations/fr-FR/content/configuration.po
   core/trunk/documentation/manual/translations/fr-FR/content/events.po
   core/trunk/documentation/manual/translations/fr-FR/content/example_mappings.po
   core/trunk/documentation/manual/translations/fr-FR/content/example_parentchild.po
   core/trunk/documentation/manual/translations/fr-FR/content/example_weblog.po
   core/trunk/documentation/manual/translations/fr-FR/content/filters.po
   core/trunk/documentation/manual/translations/fr-FR/content/inheritance_mapping.po
   core/trunk/documentation/manual/translations/fr-FR/content/performance.po
   core/trunk/documentation/manual/translations/fr-FR/content/persistent_classes.po
   core/trunk/documentation/manual/translations/fr-FR/content/preface.po
   core/trunk/documentation/manual/translations/fr-FR/content/query_criteria.po
   core/trunk/documentation/manual/translations/fr-FR/content/query_hql.po
   core/trunk/documentation/manual/translations/fr-FR/content/query_sql.po
   core/trunk/documentation/manual/translations/fr-FR/content/session_api.po
   core/trunk/documentation/manual/translations/fr-FR/content/toolset_guide.po
   core/trunk/documentation/manual/translations/fr-FR/content/transactions.po
   core/trunk/documentation/manual/translations/fr-FR/content/tutorial.po
   core/trunk/documentation/manual/translations/fr-FR/content/xml.po
Log:
generated via fr-FR XML and English XML

Modified: core/trunk/documentation/manual/translations/fr-FR/content/architecture.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/architecture.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/architecture.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,216 +1,652 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:21
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: architecture.xml:21
+#, no-c-format
 msgid "Architecture"
 msgstr "Architecture"
 
-#: index.docbook:24
+#. Tag: title
+#: architecture.xml:24
+#, no-c-format
 msgid "Overview"
 msgstr "Généralités"
 
-#: index.docbook:26
+#. Tag: para
+#: architecture.xml:26
+#, no-c-format
 msgid "A (very) high-level view of the Hibernate architecture:"
 msgstr "Voici une vue (très) haut niveau de l'architecture d'Hibernate :"
 
-#: index.docbook:39
-msgid "This diagram shows Hibernate using the database and configuration data to provide persistence services (and persistent objects) to the application."
-msgstr "Ce diagramme montre Hibernate utilisant une base de données et des données de configuration pour fournir un service de persistance (et des objets persistants) à l'application."
+#. Tag: para
+#: architecture.xml:39
+#, no-c-format
+msgid ""
+"This diagram shows Hibernate using the database and configuration data to "
+"provide persistence services (and persistent objects) to the application."
+msgstr ""
+"Ce diagramme montre Hibernate utilisant une base de données et des données "
+"de configuration pour fournir un service de persistance (et des objets "
+"persistants) à l'application."
 
-#: index.docbook:44
-msgid "We would like to show a more detailed view of the runtime architecture. Unfortunately, Hibernate is flexible and supports several approaches. We will show the two extremes. The \"lite\" architecture has the application provide its own JDBC connections and manage its own transactions. This approach uses a minimal subset of Hibernate's APIs:"
-msgstr "Nous aimerions décrire une vue plus détaillée de l'architecture. Malheureusement, Hibernate est flexible et supporte différentes approches. Nous allons en montrer les deux extrêmes. L'architecture légère laisse l'application fournir ses propres connexions JDBC et gérer ses propres transactions. Cette approche utilise le minimum des APIs Hibernate :"
+#. Tag: para
+#: architecture.xml:44
+#, no-c-format
+msgid ""
+"We would like to show a more detailed view of the runtime architecture. "
+"Unfortunately, Hibernate is flexible and supports several approaches. We "
+"will show the two extremes. The \"lite\" architecture has the application "
+"provide its own JDBC connections and manage its own transactions. This "
+"approach uses a minimal subset of Hibernate's APIs:"
+msgstr ""
+"Nous aimerions décrire une vue plus détaillée de l'architecture. "
+"Malheureusement, Hibernate est flexible et supporte différentes approches. "
+"Nous allons en montrer les deux extrêmes. L'architecture légère laisse "
+"l'application fournir ses propres connexions JDBC et gérer ses propres "
+"transactions. Cette approche utilise le minimum des APIs Hibernate :"
 
-#: index.docbook:61
-msgid "The \"full cream\" architecture abstracts the application away from the underlying JDBC/JTA APIs and lets Hibernate take care of the details."
-msgstr "L'architecture la plus complète abstrait l'application des APIs JDBC/JTA sous-jacentes et laisse Hibernate s'occuper des détails."
+#. Tag: para
+#: architecture.xml:61
+#, no-c-format
+msgid ""
+"The \"full cream\" architecture abstracts the application away from the "
+"underlying JDBC/JTA APIs and lets Hibernate take care of the details."
+msgstr ""
+"L'architecture la plus complète abstrait l'application des APIs JDBC/JTA "
+"sous-jacentes et laisse Hibernate s'occuper des détails."
 
-#: index.docbook:75
+#. Tag: para
+#: architecture.xml:75
+#, fuzzy, no-c-format
 msgid "Heres some definitions of the objects in the diagrams:"
-msgstr "Voici quelques définitions des objets des diagrammes :"
+msgstr ""
+"Voici quelques définitions des objets des diagrammes : <placeholder-1/>"
 
-#: index.docbook:80
+#. Tag: term
+#: architecture.xml:80
+#, no-c-format
 msgid "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
 msgstr "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
 
-#: index.docbook:82
-msgid "A threadsafe (immutable) cache of compiled mappings for a single database. A factory for <literal>Session</literal> and a client of <literal>ConnectionProvider</literal>. Might hold an optional (second-level) cache of data that is reusable between transactions, at a process- or cluster-level."
-msgstr "Un cache threadsafe (immuable) des mappings vers une (et une seule) base de données. Une factory (fabrique) de <literal>Session</literal> et un client de <literal>ConnectionProvider</literal>. Peut contenir un cache optionnel de données (de second niveau) qui est réutilisable entre les différentes transactions que cela soit au sein du même processus (JVLM) ou par plusieurs nœuds d'un cluster."
+#. Tag: para
+#: architecture.xml:82
+#, no-c-format
+msgid ""
+"A threadsafe (immutable) cache of compiled mappings for a single database. A "
+"factory for <literal>Session</literal> and a client of "
+"<literal>ConnectionProvider</literal>. Might hold an optional (second-level) "
+"cache of data that is reusable between transactions, at a process- or "
+"cluster-level."
+msgstr ""
+"Un cache threadsafe (immuable) des mappings vers une (et une seule) base de "
+"données. Une factory (fabrique) de <literal>Session</literal> et un client "
+"de <literal>ConnectionProvider</literal>. Peut contenir un cache optionnel "
+"de données (de second niveau) qui est réutilisable entre les différentes "
+"transactions que cela soit au sein du même processus (JVLM) ou par plusieurs "
+"nœuds d'un cluster."
 
-#: index.docbook:92
+#. Tag: term
+#: architecture.xml:92
+#, no-c-format
 msgid "Session (<literal>org.hibernate.Session</literal>)"
 msgstr "Session (<literal>org.hibernate.Session</literal>)"
 
-#: index.docbook:94
-msgid "A single-threaded, short-lived object representing a conversation between the application and the persistent store. Wraps a JDBC connection. Factory for <literal>Transaction</literal>. Holds a mandatory (first-level) cache of persistent objects, used when navigating the object graph or looking up objects by identifier."
-msgstr "Un objet mono-threadé, à durée de vie courte, qui représente une conversation entre l'application et l'entrepôt de persistance. Encapsule une connexion JDBC. Factory (fabrique) des objets <literal>Transaction</literal>. Contient un cache (de premier niveau) des objets persistants, ce cache est obligatoire. Il est utilisé lors de la navigation dans le graphe d'objets ou lors de la récupération d'objets par leur identifiant."
+#. Tag: para
+#: architecture.xml:94
+#, no-c-format
+msgid ""
+"A single-threaded, short-lived object representing a conversation between "
+"the application and the persistent store. Wraps a JDBC connection. Factory "
+"for <literal>Transaction</literal>. Holds a mandatory (first-level) cache of "
+"persistent objects, used when navigating the object graph or looking up "
+"objects by identifier."
+msgstr ""
+"Un objet mono-threadé, à durée de vie courte, qui représente une "
+"conversation entre l'application et l'entrepôt de persistance. Encapsule une "
+"connexion JDBC. Factory (fabrique) des objets <literal>Transaction</"
+"literal>. Contient un cache (de premier niveau) des objets persistants, ce "
+"cache est obligatoire. Il est utilisé lors de la navigation dans le graphe "
+"d'objets ou lors de la récupération d'objets par leur identifiant."
 
-#: index.docbook:104
+#. Tag: term
+#: architecture.xml:104
+#, no-c-format
 msgid "Persistent objects and collections"
 msgstr "Objets et Collections persistants"
 
-#: index.docbook:106
-msgid "Short-lived, single threaded objects containing persistent state and business function. These might be ordinary JavaBeans/POJOs, the only special thing about them is that they are currently associated with (exactly one) <literal>Session</literal>. As soon as the <literal>Session</literal> is closed, they will be detached and free to use in any application layer (e.g. directly as data transfer objects to and from presentation)."
-msgstr "Objets mono-threadés à vie courte contenant l'état de persistance et la fonction métier. Ceux-ci sont en général les objets de type JavaBean (ou POJOs) ; la seule particularité est qu'ils sont associés avec une (et une seule) <literal>Session</literal>. Dès que la <literal>Session</literal> est fermée, ils seront détachés et libres d'être utilisés par n'importe laquelle des couches de l'application (ie. de et vers la présentation en tant que Data Transfer Objects - DTO : objet de transfert de données)."
+#. Tag: para
+#: architecture.xml:106
+#, no-c-format
+msgid ""
+"Short-lived, single threaded objects containing persistent state and "
+"business function. These might be ordinary JavaBeans/POJOs, the only special "
+"thing about them is that they are currently associated with (exactly one) "
+"<literal>Session</literal>. As soon as the <literal>Session</literal> is "
+"closed, they will be detached and free to use in any application layer (e.g. "
+"directly as data transfer objects to and from presentation)."
+msgstr ""
+"Objets mono-threadés à vie courte contenant l'état de persistance et la "
+"fonction métier. Ceux-ci sont en général les objets de type JavaBean (ou "
+"POJOs) ; la seule particularité est qu'ils sont associés avec une (et une "
+"seule) <literal>Session</literal>. Dès que la <literal>Session</literal> est "
+"fermée, ils seront détachés et libres d'être utilisés par n'importe laquelle "
+"des couches de l'application (ie. de et vers la présentation en tant que "
+"Data Transfer Objects - DTO : objet de transfert de données)."
 
-#: index.docbook:117
+#. Tag: term
+#: architecture.xml:117
+#, no-c-format
 msgid "Transient and detached objects and collections"
 msgstr "Objets et collections transients"
 
-#: index.docbook:119
-msgid "Instances of persistent classes that are not currently associated with a <literal>Session</literal>. They may have been instantiated by the application and not (yet) persisted or they may have been instantiated by a closed <literal>Session</literal>."
-msgstr "Instances de classes persistantes qui ne sont actuellement pas associées à une <literal>Session</literal>. Elles ont pu être instanciées par l'application et ne pas avoir (encore) été persistées ou elle ont pu être instanciées par une <literal>Session</literal> fermée."
+#. Tag: para
+#: architecture.xml:119
+#, no-c-format
+msgid ""
+"Instances of persistent classes that are not currently associated with a "
+"<literal>Session</literal>. They may have been instantiated by the "
+"application and not (yet) persisted or they may have been instantiated by a "
+"closed <literal>Session</literal>."
+msgstr ""
+"Instances de classes persistantes qui ne sont actuellement pas associées à "
+"une <literal>Session</literal>. Elles ont pu être instanciées par "
+"l'application et ne pas avoir (encore) été persistées ou elle ont pu être "
+"instanciées par une <literal>Session</literal> fermée."
 
-#: index.docbook:128
+#. Tag: term
+#: architecture.xml:128
+#, no-c-format
 msgid "Transaction (<literal>org.hibernate.Transaction</literal>)"
 msgstr "Transaction (<literal>org.hibernate.Transaction</literal>)"
 
-#: index.docbook:130
-msgid "(Optional) A single-threaded, short-lived object used by the application to specify atomic units of work. Abstracts application from underlying JDBC, JTA or CORBA transaction. A <literal>Session</literal> might span several <literal>Transaction</literal>s in some cases. However, transaction demarcation, either using the underlying API or <literal>Transaction</literal>, is never optional!"
-msgstr "(Optionnel) Un objet mono-threadé à vie courte utilisé par l'application pour définir une unité de travail atomique. Abstrait l'application des transactions sous-jacentes qu'elles soient JDBC, JTA ou CORBA. Une <literal>Session</literal> peut fournir plusieurs <literal>Transaction</literal>s dans certains cas. Toutefois, la délimitation des transactions, via l'API d'Hibernate ou par la <literal>Transaction</literal> sous-jacente, n'est jamais optionnelle!"
+#. Tag: para
+#: architecture.xml:130
+#, no-c-format
+msgid ""
+"(Optional) A single-threaded, short-lived object used by the application to "
+"specify atomic units of work. Abstracts application from underlying JDBC, "
+"JTA or CORBA transaction. A <literal>Session</literal> might span several "
+"<literal>Transaction</literal>s in some cases. However, transaction "
+"demarcation, either using the underlying API or <literal>Transaction</"
+"literal>, is never optional!"
+msgstr ""
+"(Optionnel) Un objet mono-threadé à vie courte utilisé par l'application "
+"pour définir une unité de travail atomique. Abstrait l'application des "
+"transactions sous-jacentes qu'elles soient JDBC, JTA ou CORBA. Une "
+"<literal>Session</literal> peut fournir plusieurs <literal>Transaction</"
+"literal>s dans certains cas. Toutefois, la délimitation des transactions, "
+"via l'API d'Hibernate ou par la <literal>Transaction</literal> sous-jacente, "
+"n'est jamais optionnelle!"
 
-#: index.docbook:141
-msgid "ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</literal>)"
-msgstr "ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</literal>)"
+#. Tag: term
+#: architecture.xml:141
+#, no-c-format
+msgid ""
+"ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</"
+"literal>)"
+msgstr ""
+"ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</"
+"literal>)"
 
-#: index.docbook:143
-msgid "(Optional) A factory for (and pool of) JDBC connections. Abstracts application from underlying <literal>Datasource</literal> or <literal>DriverManager</literal>. Not exposed to application, but can be extended/implemented by the developer."
-msgstr "(Optionnel) Une fabrique de (pool de) connexions JDBC. Abstrait l'application de la <literal>Datasource</literal> ou du <literal>DriverManager</literal> sous-jacent. Non exposé à l'application, mais peut être étendu/implémenté par le développeur."
+#. Tag: para
+#: architecture.xml:143
+#, no-c-format
+msgid ""
+"(Optional) A factory for (and pool of) JDBC connections. Abstracts "
+"application from underlying <literal>Datasource</literal> or "
+"<literal>DriverManager</literal>. Not exposed to application, but can be "
+"extended/implemented by the developer."
+msgstr ""
+"(Optionnel) Une fabrique de (pool de) connexions JDBC. Abstrait "
+"l'application de la <literal>Datasource</literal> ou du "
+"<literal>DriverManager</literal> sous-jacent. Non exposé à l'application, "
+"mais peut être étendu/implémenté par le développeur."
 
-#: index.docbook:151
-msgid "TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
-msgstr "TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
+#. Tag: term
+#: architecture.xml:151
+#, no-c-format
+msgid ""
+"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
+msgstr ""
+"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
 
-#: index.docbook:153
-msgid "(Optional) A factory for <literal>Transaction</literal> instances. Not exposed to the application, but can be extended/implemented by the developer."
-msgstr "(Optionnel) Une fabrique d'instances de <literal>Transaction</literal>. Non exposé à l'application, mais peut être étendu/implémenté par le développeur."
+#. Tag: para
+#: architecture.xml:153
+#, no-c-format
+msgid ""
+"(Optional) A factory for <literal>Transaction</literal> instances. Not "
+"exposed to the application, but can be extended/implemented by the developer."
+msgstr ""
+"(Optionnel) Une fabrique d'instances de <literal>Transaction</literal>. Non "
+"exposé à l'application, mais peut être étendu/implémenté par le développeur."
 
-#: index.docbook:160
+#. Tag: emphasis
+#: architecture.xml:160
+#, no-c-format
 msgid "Extension Interfaces"
 msgstr "Interfaces d'extension"
 
-#: index.docbook:162
-msgid "Hibernate offers many optional extension interfaces you can implement to customize the behavior of your persistence layer. See the API documentation for details."
-msgstr "Hibernate fournit de nombreuses interfaces d'extensions optionnelles que vous pouvez implémenter pour personnaliser le comportement de votre couche de persistance. Reportez vous à la documentation de l'API pour plus de détails."
+#. Tag: para
+#: architecture.xml:162
+#, no-c-format
+msgid ""
+"Hibernate offers many optional extension interfaces you can implement to "
+"customize the behavior of your persistence layer. See the API documentation "
+"for details."
+msgstr ""
+"Hibernate fournit de nombreuses interfaces d'extensions optionnelles que "
+"vous pouvez implémenter pour personnaliser le comportement de votre couche "
+"de persistance. Reportez vous à la documentation de l'API pour plus de "
+"détails."
 
-#: index.docbook:171
-msgid "Given a \"lite\" architecture, the application bypasses the <literal>Transaction</literal>/<literal>TransactionFactory</literal> and/or <literal>ConnectionProvider</literal> APIs to talk to JTA or JDBC directly."
-msgstr "Dans une architecture légère, l'application n'aura pas à utiliser les APIs <literal>Transaction</literal>/<literal>TransactionFactory</literal> et/ou n'utilisera pas les APIs <literal>ConnectionProvider</literal> pour utiliser JTA ou JDBC."
+#. Tag: para
+#: architecture.xml:171
+#, no-c-format
+msgid ""
+"Given a \"lite\" architecture, the application bypasses the "
+"<literal>Transaction</literal>/<literal>TransactionFactory</literal> and/or "
+"<literal>ConnectionProvider</literal> APIs to talk to JTA or JDBC directly."
+msgstr ""
+"Dans une architecture légère, l'application n'aura pas à utiliser les APIs "
+"<literal>Transaction</literal>/<literal>TransactionFactory</literal> et/ou "
+"n'utilisera pas les APIs <literal>ConnectionProvider</literal> pour utiliser "
+"JTA ou JDBC."
 
-#: index.docbook:179
+#. Tag: title
+#: architecture.xml:179
+#, no-c-format
 msgid "Instance states"
 msgstr "Etats des instances"
 
-#: index.docbook:180
-msgid "An instance of a persistent classes may be in one of three different states, which are defined with respect to a <emphasis>persistence context</emphasis>. The Hibernate <literal>Session</literal> object is the persistence context:"
-msgstr "Une instance d'une classe persistante peut être dans l'un des trois états suivants, définis par rapport à un <emphasis>contexte de persistance</emphasis>. L'objet <literal>Session</literal> d'hibernate correspond à ce concept de contexte de persistance :"
+#. Tag: para
+#: architecture.xml:180
+#, no-c-format
+msgid ""
+"An instance of a persistent classes may be in one of three different states, "
+"which are defined with respect to a <emphasis>persistence context</"
+"emphasis>. The Hibernate <literal>Session</literal> object is the "
+"persistence context:"
+msgstr ""
+"Une instance d'une classe persistante peut être dans l'un des trois états "
+"suivants, définis par rapport à un <emphasis>contexte de persistance</"
+"emphasis>. L'objet <literal>Session</literal> d'hibernate correspond à ce "
+"concept de contexte de persistance :"
 
-#: index.docbook:188
+#. Tag: term
+#: architecture.xml:188
+#, no-c-format
 msgid "transient"
 msgstr "passager (transient)"
 
-#: index.docbook:190
-msgid "The instance is not, and has never been associated with any persistence context. It has no persistent identity (primary key value)."
-msgstr "L'instance n'est pas et n'a jamais été associée à un contexte de persistance. Elle ne possède pas d'identité persistante (valeur de clé primaire)"
+#. Tag: para
+#: architecture.xml:190
+#, no-c-format
+msgid ""
+"The instance is not, and has never been associated with any persistence "
+"context. It has no persistent identity (primary key value)."
+msgstr ""
+"L'instance n'est pas et n'a jamais été associée à un contexte de "
+"persistance. Elle ne possède pas d'identité persistante (valeur de clé "
+"primaire)"
 
-#: index.docbook:198
+#. Tag: term
+#: architecture.xml:198
+#, no-c-format
 msgid "persistent"
 msgstr "persistant"
 
-#: index.docbook:200
-msgid "The instance is currently associated with a persistence context. It has a persistent identity (primary key value) and, perhaps, a corresponding row in the database. For a particular persistence context, Hibernate <emphasis>guarantees</emphasis> that persistent identity is equivalent to Java identity (in-memory location of the object)."
-msgstr "L'instance est associée au contexte de persistance. Elle possède une identité persistante (valeur de clé primaire) et, peut-être, un enregistrement correspondant dans la base. Pour un contexte de persistance particulier, Hibernate <emphasis>garantit</emphasis> que l'identité persistante est équivalente à l'identité Java (emplacement mémoire de l'objet)"
+#. Tag: para
+#: architecture.xml:200
+#, no-c-format
+msgid ""
+"The instance is currently associated with a persistence context. It has a "
+"persistent identity (primary key value) and, perhaps, a corresponding row in "
+"the database. For a particular persistence context, Hibernate "
+"<emphasis>guarantees</emphasis> that persistent identity is equivalent to "
+"Java identity (in-memory location of the object)."
+msgstr ""
+"L'instance est associée au contexte de persistance. Elle possède une "
+"identité persistante (valeur de clé primaire) et, peut-être, un "
+"enregistrement correspondant dans la base. Pour un contexte de persistance "
+"particulier, Hibernate <emphasis>garantit</emphasis> que l'identité "
+"persistante est équivalente à l'identité Java (emplacement mémoire de "
+"l'objet)"
 
-#: index.docbook:212
+#. Tag: term
+#: architecture.xml:212
+#, no-c-format
 msgid "detached"
 msgstr "détaché"
 
-#: index.docbook:214
-msgid "The instance was once associated with a persistence context, but that context was closed, or the instance was serialized to another process. It has a persistent identity and, perhaps, a corrsponding row in the database. For detached instances, Hibernate makes no guarantees about the relationship between persistent identity and Java identity."
-msgstr "L'instance a été associée au contexte de persistance mais ce contexte a été fermé, ou l'instance a été sérialisée vers un autre processus. Elle possède une identité persistante et peut-être un enregistrement correspondant dans la base. Pour des instances détachées, Hibernate ne donne aucune garantie sur la relation entre l'identité persistante et l'identité Java."
+#. Tag: para
+#: architecture.xml:214
+#, no-c-format
+msgid ""
+"The instance was once associated with a persistence context, but that "
+"context was closed, or the instance was serialized to another process. It "
+"has a persistent identity and, perhaps, a corrsponding row in the database. "
+"For detached instances, Hibernate makes no guarantees about the relationship "
+"between persistent identity and Java identity."
+msgstr ""
+"L'instance a été associée au contexte de persistance mais ce contexte a été "
+"fermé, ou l'instance a été sérialisée vers un autre processus. Elle possède "
+"une identité persistante et peut-être un enregistrement correspondant dans "
+"la base. Pour des instances détachées, Hibernate ne donne aucune garantie "
+"sur la relation entre l'identité persistante et l'identité Java."
 
-#: index.docbook:229
+#. Tag: title
+#: architecture.xml:229
+#, no-c-format
 msgid "JMX Integration"
 msgstr "Intégration JMX"
 
-#: index.docbook:231
-msgid "JMX is the J2EE standard for management of Java components. Hibernate may be managed via a JMX standard service. We provide an MBean implementation in the distribution, <literal>org.hibernate.jmx.HibernateService</literal>."
-msgstr "JMX est le standard J2EE de gestion des composants Java. Hibernate peut être géré via un service JMX standard. Nous fournissons une implémentation d'un MBean dans la distribution : <literal>org.hibernate.jmx.HibernateService</literal>."
+#. Tag: para
+#: architecture.xml:231
+#, no-c-format
+msgid ""
+"JMX is the J2EE standard for management of Java components. Hibernate may be "
+"managed via a JMX standard service. We provide an MBean implementation in "
+"the distribution, <literal>org.hibernate.jmx.HibernateService</literal>."
+msgstr ""
+"JMX est le standard J2EE de gestion des composants Java. Hibernate peut être "
+"géré via un service JMX standard. Nous fournissons une implémentation d'un "
+"MBean dans la distribution : <literal>org.hibernate.jmx.HibernateService</"
+"literal>."
 
-#: index.docbook:237
-msgid "For an example how to deploy Hibernate as a JMX service on the JBoss Application Server, please see the JBoss User Guide. On JBoss AS, you also get these benefits if you deploy using JMX:"
-msgstr "Pour avoir un exemple sur la manière de déployer Hibernate en tant que service JMX dans le serveur d'application JBoss Application Server, référez vous au guide utilisateur JBoss (JBoss User Guide). Si vous déployez Hibernate via JMX sur JBoss AS, vous aurez également les bénéfices suivants :"
+#. Tag: para
+#: architecture.xml:237
+#, no-c-format
+msgid ""
+"For an example how to deploy Hibernate as a JMX service on the JBoss "
+"Application Server, please see the JBoss User Guide. On JBoss AS, you also "
+"get these benefits if you deploy using JMX:"
+msgstr ""
+"Pour avoir un exemple sur la manière de déployer Hibernate en tant que "
+"service JMX dans le serveur d'application JBoss Application Server, référez "
+"vous au guide utilisateur JBoss (JBoss User Guide). Si vous déployez "
+"Hibernate via JMX sur JBoss AS, vous aurez également les bénéfices suivants :"
 
-#: index.docbook:245
-msgid "<emphasis>Session Management:</emphasis> The Hibernate <literal>Session</literal>'s life cycle can be automatically bound to the scope of a JTA transaction. This means you no longer have to manually open and close the <literal>Session</literal>, this becomes the job of a JBoss EJB interceptor. You also don't have to worry about transaction demarcation in your code anymore (unless you'd like to write a portable persistence layer of course, use the optional Hibernate <literal>Transaction</literal> API for this). You call the <literal>HibernateContext</literal> to access a <literal>Session</literal>."
-msgstr "<emphasis>Gestion de la session :</emphasis> Le cycle de vie de la <literal>Session</literal> Hibernate peut être automatiquement limitée à la portée d'une transaction JTA. Cela signifie que vous n'avez plus besoin d'ouvrir et de fermer la <literal>Session</literal> manuellement, cela devient le travail de l'intercepteur EJB de JBoss. Vous n'avez pas non plus à vous occuper des démarcations des transactions dans votre code (sauf si vous voulez écrire une couche de persistance qui soit portable, dans ce cas vous pouvez utiliser l'API optionnelle <literal>Transaction</literal> d'Hibernate). Vous appelez l'<literal>HibernateContext</literal> pour accéder à la <literal>Session</literal>."
+#. Tag: para
+#: architecture.xml:245
+#, no-c-format
+msgid ""
+"<emphasis>Session Management:</emphasis> The Hibernate <literal>Session</"
+"literal>'s life cycle can be automatically bound to the scope of a JTA "
+"transaction. This means you no longer have to manually open and close the "
+"<literal>Session</literal>, this becomes the job of a JBoss EJB interceptor. "
+"You also don't have to worry about transaction demarcation in your code "
+"anymore (unless you'd like to write a portable persistence layer of course, "
+"use the optional Hibernate <literal>Transaction</literal> API for this). You "
+"call the <literal>HibernateContext</literal> to access a <literal>Session</"
+"literal>."
+msgstr ""
+"<emphasis>Gestion de la session :</emphasis> Le cycle de vie de la "
+"<literal>Session</literal> Hibernate peut être automatiquement limitée à la "
+"portée d'une transaction JTA. Cela signifie que vous n'avez plus besoin "
+"d'ouvrir et de fermer la <literal>Session</literal> manuellement, cela "
+"devient le travail de l'intercepteur EJB de JBoss. Vous n'avez pas non plus "
+"à vous occuper des démarcations des transactions dans votre code (sauf si "
+"vous voulez écrire une couche de persistance qui soit portable, dans ce cas "
+"vous pouvez utiliser l'API optionnelle <literal>Transaction</literal> "
+"d'Hibernate). Vous appelez l'<literal>HibernateContext</literal> pour "
+"accéder à la <literal>Session</literal>."
 
-#: index.docbook:257
-msgid "<emphasis>HAR deployment:</emphasis> Usually you deploy the Hibernate JMX service using a JBoss service deployment descriptor (in an EAR and/or SAR file), it supports all the usual configuration options of a Hibernate <literal>SessionFactory</literal>. However, you still have to name all your mapping files in the deployment descriptor. If you decide to use the optional HAR deployment, JBoss will automatically detect all mapping files in your HAR file."
-msgstr "<emphasis>Déploiement HAR :</emphasis> Habituellement vous déployez le service JMX Hibernate en utilisant le descripteur de déploiement de JBoss (dans un fichier EAR et/ou un SAR), il supporte toutes les options de configuration usuelles d'une <literal>SessionFactory</literal> Hibernate. Cependant, vous devez toujours nommer tous vos fichiers de mapping dans le descripteur de déploiement. Si vous décidez d'utiliser le déploiement optionnel sous forme de HAR, JBoss détectera automatiquement tous vos fichiers de mapping dans votre fichier HAR."
+#. Tag: para
+#: architecture.xml:257
+#, no-c-format
+msgid ""
+"<emphasis>HAR deployment:</emphasis> Usually you deploy the Hibernate JMX "
+"service using a JBoss service deployment descriptor (in an EAR and/or SAR "
+"file), it supports all the usual configuration options of a Hibernate "
+"<literal>SessionFactory</literal>. However, you still have to name all your "
+"mapping files in the deployment descriptor. If you decide to use the "
+"optional HAR deployment, JBoss will automatically detect all mapping files "
+"in your HAR file."
+msgstr ""
+"<emphasis>Déploiement HAR :</emphasis> Habituellement vous déployez le "
+"service JMX Hibernate en utilisant le descripteur de déploiement de JBoss "
+"(dans un fichier EAR et/ou un SAR), il supporte toutes les options de "
+"configuration usuelles d'une <literal>SessionFactory</literal> Hibernate. "
+"Cependant, vous devez toujours nommer tous vos fichiers de mapping dans le "
+"descripteur de déploiement. Si vous décidez d'utiliser le déploiement "
+"optionnel sous forme de HAR, JBoss détectera automatiquement tous vos "
+"fichiers de mapping dans votre fichier HAR."
 
-#: index.docbook:268
-msgid "Consult the JBoss AS user guide for more information about these options."
-msgstr "Consultez le guide d'utilisation de JBoss AS pour plus d'informations sur ces options."
+#. Tag: para
+#: architecture.xml:268
+#, no-c-format
+msgid ""
+"Consult the JBoss AS user guide for more information about these options."
+msgstr ""
+"Consultez le guide d'utilisation de JBoss AS pour plus d'informations sur "
+"ces options."
 
-#: index.docbook:272
-msgid "Another feature available as a JMX service are runtime Hibernate statistics. See <xref linkend=\"configuration-optional-statistics\"/>."
-msgstr "Les statistiques pendant l'exécution d'Hibernate (au runtime) sont une autre fonctionnalité disponible en tant que service JMX. Voyez pour cela <xref linkend=\"configuration-optional-statistics\"/>."
+#. Tag: para
+#: architecture.xml:272
+#, no-c-format
+msgid ""
+"Another feature available as a JMX service are runtime Hibernate statistics. "
+"See <xref linkend=\"configuration-optional-statistics\"/>."
+msgstr ""
+"Les statistiques pendant l'exécution d'Hibernate (au runtime) sont une autre "
+"fonctionnalité disponible en tant que service JMX. Voyez pour cela <xref "
+"linkend=\"configuration-optional-statistics\"/>."
 
-#: index.docbook:279
+#. Tag: title
+#: architecture.xml:279
+#, no-c-format
 msgid "JCA Support"
 msgstr "Support JCA"
 
-#: index.docbook:280
-msgid "Hibernate may also be configured as a JCA connector. Please see the website for more details. Please note that Hibernate JCA support is still considered experimental."
-msgstr "Hibernate peut aussi être configuré en tant que connecteur JCA. Référez-vous au site web pour de plus amples détails. Il est important de noter que le support JCA d'Hibernate est encore considéré comme expérimental."
+#. Tag: para
+#: architecture.xml:280
+#, no-c-format
+msgid ""
+"Hibernate may also be configured as a JCA connector. Please see the website "
+"for more details. Please note that Hibernate JCA support is still considered "
+"experimental."
+msgstr ""
+"Hibernate peut aussi être configuré en tant que connecteur JCA. Référez-vous "
+"au site web pour de plus amples détails. Il est important de noter que le "
+"support JCA d'Hibernate est encore considéré comme expérimental."
 
-#: index.docbook:287
+#. Tag: title
+#: architecture.xml:287
+#, no-c-format
 msgid "Contextual Sessions"
 msgstr "Sessions Contextuelles"
 
-#: index.docbook:288
-msgid "Most applications using Hibernate need some form of \"contextual\" sessions, where a given session is in effect throughout the scope of a given context. However, across applications the definition of what constitutes a context is typically different; and different contexts define different scopes to the notion of current. Applications using Hibernate prior to version 3.0 tended to utilize either home-grown <literal>ThreadLocal</literal>-based contextual sessions, helper classes such as <literal>HibernateUtil</literal>, or utilized third-party frameworks (such as Spring or Pico) which provided proxy/interception-based contextual sessions."
-msgstr "Certaines applications utilisant Hibernate ont besoin d'une sorte de session \"contextuelle\", où une session est liée à la portée d'un contexte particulier. Cependant, les applications ne définissent pas toutes la notion de contexte de la même manière, et différents contextes définissent différentes portées à la notion de \"courant\". Les applications à base d'Hibernate, versions précédentes à la 3.0 utilisaient généralement un principe maison de sessions contextuelles basées sur le <literal>ThreadLocal</literal>, ainsi que sur des classes utilitaires comme <literal>HibernateUtil</literal>, ou utilisaient des framework tiers (comme Spring ou Pico) qui fournissaient des sessions contextuelles basées sur l'utilisation de proxy/interception."
+#. Tag: para
+#: architecture.xml:288
+#, no-c-format
+msgid ""
+"Most applications using Hibernate need some form of \"contextual\" sessions, "
+"where a given session is in effect throughout the scope of a given context. "
+"However, across applications the definition of what constitutes a context is "
+"typically different; and different contexts define different scopes to the "
+"notion of current. Applications using Hibernate prior to version 3.0 tended "
+"to utilize either home-grown <literal>ThreadLocal</literal>-based contextual "
+"sessions, helper classes such as <literal>HibernateUtil</literal>, or "
+"utilized third-party frameworks (such as Spring or Pico) which provided "
+"proxy/interception-based contextual sessions."
+msgstr ""
+"Certaines applications utilisant Hibernate ont besoin d'une sorte de session "
+"\"contextuelle\", où une session est liée à la portée d'un contexte "
+"particulier. Cependant, les applications ne définissent pas toutes la notion "
+"de contexte de la même manière, et différents contextes définissent "
+"différentes portées à la notion de \"courant\". Les applications à base "
+"d'Hibernate, versions précédentes à la 3.0 utilisaient généralement un "
+"principe maison de sessions contextuelles basées sur le "
+"<literal>ThreadLocal</literal>, ainsi que sur des classes utilitaires comme "
+"<literal>HibernateUtil</literal>, ou utilisaient des framework tiers (comme "
+"Spring ou Pico) qui fournissaient des sessions contextuelles basées sur "
+"l'utilisation de proxy/interception."
 
-#: index.docbook:297
-msgid "Starting with version 3.0.1, Hibernate added the <literal>SessionFactory.getCurrentSession()</literal> method. Initially, this assumed usage of <literal>JTA</literal> transactions, where the <literal>JTA</literal> transaction defined both the scope and context of a current session. The Hibernate team maintains that, given the maturity of the numerous stand-alone <literal>JTA TransactionManager</literal> implementations out there, most (if not all) applications should be using <literal>JTA</literal> transaction management whether or not they are deployed into a <literal>J2EE</literal> container. Based on that, the <literal>JTA</literal>-based contextual sessions is all you should ever need to use."
-msgstr "A partir de la version 3.0.1, Hibernate a ajouté la méthode <literal>SessionFactory.getCurrentSession()</literal>. Initialement, cela demandait l'usage de transactions <literal>JTA</literal>, où la transaction <literal>JTA</literal> définissait la portée et le contexte de la session courante. L'équipe Hibernate pense que, étant donnée la maturité des implémentations de <literal>JTA TransactionManager</literal> , la plupart (sinon toutes) des applications devraient utiliser la gestion des transactions par <literal>JTA</literal> qu'elles soient ou non déployées dans un conteneur <literal>J2EE</literal>. Par conséquent, vous devriez toujours contextualiser vos sessions, si vous en avez besoin, via la méthode basée sur JTA."
+#. Tag: para
+#: architecture.xml:297
+#, no-c-format
+msgid ""
+"Starting with version 3.0.1, Hibernate added the <literal>SessionFactory."
+"getCurrentSession()</literal> method. Initially, this assumed usage of "
+"<literal>JTA</literal> transactions, where the <literal>JTA</literal> "
+"transaction defined both the scope and context of a current session. The "
+"Hibernate team maintains that, given the maturity of the numerous stand-"
+"alone <literal>JTA TransactionManager</literal> implementations out there, "
+"most (if not all) applications should be using <literal>JTA</literal> "
+"transaction management whether or not they are deployed into a "
+"<literal>J2EE</literal> container. Based on that, the <literal>JTA</literal>-"
+"based contextual sessions is all you should ever need to use."
+msgstr ""
+"A partir de la version 3.0.1, Hibernate a ajouté la méthode "
+"<literal>SessionFactory.getCurrentSession()</literal>. Initialement, cela "
+"demandait l'usage de transactions <literal>JTA</literal>, où la transaction "
+"<literal>JTA</literal> définissait la portée et le contexte de la session "
+"courante. L'équipe Hibernate pense que, étant donnée la maturité des "
+"implémentations de <literal>JTA TransactionManager</literal> , la plupart "
+"(sinon toutes) des applications devraient utiliser la gestion des "
+"transactions par <literal>JTA</literal> qu'elles soient ou non déployées "
+"dans un conteneur <literal>J2EE</literal>. Par conséquent, vous devriez "
+"toujours contextualiser vos sessions, si vous en avez besoin, via la méthode "
+"basée sur JTA."
 
-#: index.docbook:307
-msgid "However, as of version 3.1, the processing behind <literal>SessionFactory.getCurrentSession()</literal> is now pluggable. To that end, a new extension interface (<literal>org.hibernate.context.CurrentSessionContext</literal>) and a new configuration parameter (<literal>hibernate.current_session_context_class</literal>) have been added to allow pluggability of the scope and context of defining current sessions."
-msgstr "Cependant, depuis la version 3.1, la logique derrière <literal>SessionFactory.getCurrentSession()</literal> est désormais branchable. A cette fin, une nouvelle interface d'extension (<literal>org.hibernate.context.CurrentSessionContext</literal>) et un nouveau paramètre de configuration (<literal>hibernate.current_session_context_class</literal>) ont été ajoutés pour permettre de configurer d'autres moyens de définir la portée et le contexte des sessions courantes."
+#. Tag: para
+#: architecture.xml:307
+#, no-c-format
+msgid ""
+"However, as of version 3.1, the processing behind <literal>SessionFactory."
+"getCurrentSession()</literal> is now pluggable. To that end, a new extension "
+"interface (<literal>org.hibernate.context.CurrentSessionContext</literal>) "
+"and a new configuration parameter (<literal>hibernate."
+"current_session_context_class</literal>) have been added to allow "
+"pluggability of the scope and context of defining current sessions."
+msgstr ""
+"Cependant, depuis la version 3.1, la logique derrière "
+"<literal>SessionFactory.getCurrentSession()</literal> est désormais "
+"branchable. A cette fin, une nouvelle interface d'extension (<literal>org."
+"hibernate.context.CurrentSessionContext</literal>) et un nouveau paramètre "
+"de configuration (<literal>hibernate.current_session_context_class</"
+"literal>) ont été ajoutés pour permettre de configurer d'autres moyens de "
+"définir la portée et le contexte des sessions courantes."
 
-#: index.docbook:314
-msgid "See the Javadocs for the <literal>org.hibernate.context.CurrentSessionContext</literal> interface for a detailed discussion of its contract. It defines a single method, <literal>currentSession()</literal>, by which the implementation is responsible for tracking the current contextual session. Out-of-the-box, Hibernate comes with three implementations of this interface."
-msgstr "Allez voir les Javadocs de l'interface <literal>org.hibernate.context.CurrentSessionContext</literal> pour une description détaillée de son contrat. Elle définit une seule méthode, <literal>currentSession()</literal>, depuis laquelle l'implémentation est responsable de traquer la session courante du contexte. Hibernate fournit deux implémentation de cette interface."
+#. Tag: para
+#: architecture.xml:314
+#, no-c-format
+msgid ""
+"See the Javadocs for the <literal>org.hibernate.context."
+"CurrentSessionContext</literal> interface for a detailed discussion of its "
+"contract. It defines a single method, <literal>currentSession()</literal>, "
+"by which the implementation is responsible for tracking the current "
+"contextual session. Out-of-the-box, Hibernate comes with three "
+"implementations of this interface."
+msgstr ""
+"Allez voir les Javadocs de l'interface <literal>org.hibernate.context."
+"CurrentSessionContext</literal> pour une description détaillée de son "
+"contrat. Elle définit une seule méthode, <literal>currentSession()</"
+"literal>, depuis laquelle l'implémentation est responsable de traquer la "
+"session courante du contexte. Hibernate fournit deux implémentation de cette "
+"interface."
 
-#: index.docbook:324
-msgid "<literal>org.hibernate.context.JTASessionContext</literal> - current sessions are tracked and scoped by a <literal>JTA</literal> transaction. The processing here is exactly the same as in the older JTA-only approach. See the Javadocs for details."
-msgstr "<literal>org.hibernate.context.JTASessionContext</literal> - les sessions courantes sont associées à une transaction <literal>JTA</literal>. La logique est la même que l'ancienne approche basée sur JTA. Voir les javadocs pour les détails."
+#. Tag: para
+#: architecture.xml:324
+#, no-c-format
+msgid ""
+"<literal>org.hibernate.context.JTASessionContext</literal> - current "
+"sessions are tracked and scoped by a <literal>JTA</literal> transaction. The "
+"processing here is exactly the same as in the older JTA-only approach. See "
+"the Javadocs for details."
+msgstr ""
+"<literal>org.hibernate.context.JTASessionContext</literal> - les sessions "
+"courantes sont associées à une transaction <literal>JTA</literal>. La "
+"logique est la même que l'ancienne approche basée sur JTA. Voir les javadocs "
+"pour les détails."
 
-#: index.docbook:332
-msgid "<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - current sessions are tracked by thread of execution. Again, see the Javadocs for details."
-msgstr "<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - les sessions courantes sont associées au thread d'exécution. Voir les javadocs pour les détails."
+#. Tag: para
+#: architecture.xml:332
+#, no-c-format
+msgid ""
+"<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - current "
+"sessions are tracked by thread of execution. Again, see the Javadocs for "
+"details."
+msgstr ""
+"<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - les "
+"sessions courantes sont associées au thread d'exécution. Voir les javadocs "
+"pour les détails."
 
-#: index.docbook:338
-msgid "<literal>org.hibernate.context.ManagedSessionContext</literal> - current sessions are tracked by thread of execution. However, you are responsible to bind and unbind a <literal>Session</literal> instance with static methods on this class, it does never open, flush, or close a <literal>Session</literal>."
-msgstr "Les deux implémentations fournissent un modèle de programmation de type \"une session - une transaction à la base de données\", aussi connu sous le nom de <emphasis>session-per-request</emphasis>. Le début et la fin d'une session Hibernate sont définis par la durée d'une transaction de base de données. Si vous utilisez une démarcation programmatique de la transaction (par exemple sous J2SE ou JTA/UserTransaction/BMT), nous vous conseillons d'utiliser l'API Hibernate <literal>Transaction</literal> pour masquer le système de transaction utilisé. Si vous exécutez sous un conteneur EJB qui supporte CMT, vous n'avez besoin d'aucune opérations de démarcations de session ou transaction dans votre code puisque tout est géré de manière déclarative. Référez vous à <xref linkend=\"transactions\"/> pour plus d'informations et des exemples de code."
+#. Tag: para
+#: architecture.xml:338
+#, no-c-format
+msgid ""
+"<literal>org.hibernate.context.ManagedSessionContext</literal> - current "
+"sessions are tracked by thread of execution. However, you are responsible to "
+"bind and unbind a <literal>Session</literal> instance with static methods on "
+"this class, it does never open, flush, or close a <literal>Session</literal>."
+msgstr ""
+"<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>."
 
-#: index.docbook:347
-msgid "The first two implementations provide a \"one session - one database transaction\" programming model, also known and used as <emphasis>session-per-request</emphasis>. The beginning and end of a Hibernate session is defined by the duration of a database transaction. If you use programatic transaction demarcation in plain JSE without JTA, you are adviced to use the Hibernate <literal>Transaction</literal> API to hide the underlying transaction system from your code. If you use JTA, use the JTA interfaces to demarcate transactions. If you execute in an EJB container that supports CMT, transaction boundaries are defined declaratively and you don't need any transaction or session demarcation operations in your code. Refer to <xref linkend=\"transactions\"/> for more information and code examples."
-msgstr "Le paramètre de configuration <literal>hibernate.current_session_context_class</literal> définit quelle implémentation de <literal>org.hibernate.context.CurrentSessionContext</literal> doit être utilisée. Notez que pour assurer la compatibilité avec les versions précédentes, si ce paramètre n'est pas défini mais qu'un <literal>org.hibernate.transaction.TransactionManagerLookup</literal> est configuré, Hibernate utilisera le <literal>org.hibernate.context.JTASessionContext</literal>. La valeur de ce paramètre devrait juste nommer la classe d'implémentation à utiliser, pour les deux implémentations fournies, il y a cependant deux alias correspondant: \"jta\" et \"thread\"."
+#. Tag: para
+#: architecture.xml:347
+#, no-c-format
+msgid ""
+"The first two implementations provide a \"one session - one database "
+"transaction\" programming model, also known and used as <emphasis>session-"
+"per-request</emphasis>. The beginning and end of a Hibernate session is "
+"defined by the duration of a database transaction. If you use programatic "
+"transaction demarcation in plain JSE without JTA, you are adviced to use the "
+"Hibernate <literal>Transaction</literal> API to hide the underlying "
+"transaction system from your code. If you use JTA, use the JTA interfaces to "
+"demarcate transactions. If you execute in an EJB container that supports "
+"CMT, transaction boundaries are defined declaratively and you don't need any "
+"transaction or session demarcation operations in your code. Refer to <xref "
+"linkend=\"transactions\"/> for more information and code examples."
+msgstr ""
+"Les deux implémentations fournissent un modèle de programmation de type "
+"\"une session - une transaction à la base de données\", aussi connu sous le "
+"nom de <emphasis>session-per-request</emphasis>. Le début et la fin d'une "
+"session Hibernate sont définis par la durée d'une transaction de base de "
+"données. Si vous utilisez une démarcation programmatique de la transaction "
+"(par exemple sous J2SE ou JTA/UserTransaction/BMT), nous vous conseillons "
+"d'utiliser l'API Hibernate <literal>Transaction</literal> pour masquer le "
+"système de transaction utilisé. Si vous exécutez sous un conteneur EJB qui "
+"supporte CMT, vous n'avez besoin d'aucune opérations de démarcations de "
+"session ou transaction dans votre code puisque tout est géré de manière "
+"déclarative. Référez vous à <xref linkend=\"transactions\"/> pour plus "
+"d'informations et des exemples de code."
 
-#: index.docbook:359
-msgid "The <literal>hibernate.current_session_context_class</literal> configuration parameter defines which <literal>org.hibernate.context.CurrentSessionContext</literal> implementation should be used. Note that for backwards compatibility, if this config param is not set but a <literal>org.hibernate.transaction.TransactionManagerLookup</literal> is configured, Hibernate will use the <literal>org.hibernate.context.JTASessionContext</literal>. Typically, the value of this parameter would just name the implementation class to use; for the three out-of-the-box implementations, however, there are three corresponding short names, \"jta\", \"thread\", and \"managed\"."
+#. Tag: para
+#: architecture.xml:359
+#, no-c-format
+msgid ""
+"The <literal>hibernate.current_session_context_class</literal> configuration "
+"parameter defines which <literal>org.hibernate.context."
+"CurrentSessionContext</literal> implementation should be used. Note that for "
+"backwards compatibility, if this config param is not set but a <literal>org."
+"hibernate.transaction.TransactionManagerLookup</literal> is configured, "
+"Hibernate will use the <literal>org.hibernate.context.JTASessionContext</"
+"literal>. Typically, the value of this parameter would just name the "
+"implementation class to use; for the three out-of-the-box implementations, "
+"however, there are three corresponding short names, \"jta\", \"thread\", and "
+"\"managed\"."
 msgstr ""
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+"Le paramètre de configuration <literal>hibernate."
+"current_session_context_class</literal> définit quelle implémentation de "
+"<literal>org.hibernate.context.CurrentSessionContext</literal> doit être "
+"utilisée. Notez que pour assurer la compatibilité avec les versions "
+"précédentes, si ce paramètre n'est pas défini mais qu'un <literal>org."
+"hibernate.transaction.TransactionManagerLookup</literal> est configuré, "
+"Hibernate utilisera le <literal>org.hibernate.context.JTASessionContext</"
+"literal>. La valeur de ce paramètre devrait juste nommer la classe "
+"d'implémentation à utiliser, pour les deux implémentations fournies, il y a "
+"cependant deux alias correspondant: \"jta\" et \"thread\"."

Modified: core/trunk/documentation/manual/translations/fr-FR/content/association_mapping.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/association_mapping.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/association_mapping.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,970 +1,912 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:6
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: association_mapping.xml:6
+#, no-c-format
 msgid "Association Mappings"
 msgstr "Mapper les associations"
 
-#: index.docbook:9
+#. Tag: title
+#: association_mapping.xml:9
+#, no-c-format
 msgid "Introduction"
 msgstr "Introduction"
 
-#: index.docbook:11
-msgid "Association mappings are the often most difficult thing to get right. In this section we'll go through the canonical cases one by one, starting with unidirectional mappings, and then considering the bidirectional cases. We'll use <literal>Person</literal> and <literal>Address</literal> in all the examples."
-msgstr "Correctement mapper les associations est souvent la tâche la plus difficile. Dans cette section nous traiterons les cas classiques les uns après les autres. Nous commencerons d'abbord par les mappings unidirectionnels, puis nous aborderons la question des mappings bidirectionnels. Nous illustrerons tous nos exemples avec les classes <literal>Person</literal> et <literal>Address</literal>."
+#. Tag: para
+#: association_mapping.xml:11
+#, no-c-format
+msgid ""
+"Association mappings are the often most difficult thing to get right. In "
+"this section we'll go through the canonical cases one by one, starting with "
+"unidirectional mappings, and then considering the bidirectional cases. We'll "
+"use <literal>Person</literal> and <literal>Address</literal> in all the "
+"examples."
+msgstr ""
+"Correctement mapper les associations est souvent la tâche la plus difficile. "
+"Dans cette section nous traiterons les cas classiques les uns après les "
+"autres. Nous commencerons d'abbord par les mappings unidirectionnels, puis "
+"nous aborderons la question des mappings bidirectionnels. Nous illustrerons "
+"tous nos exemples avec les classes <literal>Person</literal> et "
+"<literal>Address</literal>."
 
-#: index.docbook:19
-msgid "We'll classify associations by whether or not they map to an intervening join table, and by multiplicity."
-msgstr "Nous utiliserons deux critères pour classer les associations : le premier sera de savoir si l'association est bâti sur une table supplémentaire d'association et le deuxieme sera basé sur la multiplicité de cette association."
+#. Tag: para
+#: association_mapping.xml:19
+#, no-c-format
+msgid ""
+"We'll classify associations by whether or not they map to an intervening "
+"join table, and by multiplicity."
+msgstr ""
+"Nous utiliserons deux critères pour classer les associations : le premier "
+"sera de savoir si l'association est bâti sur une table supplémentaire "
+"d'association et le deuxieme sera basé sur la multiplicité de cette "
+"association."
 
-#: index.docbook:24
-msgid "Nullable foreign keys are not considered good practice in traditional data modelling, so all our examples use not null foreign keys. This is not a requirement of Hibernate, and the mappings will all work if you drop the nullability constraints."
-msgstr "Autoriser une clé étrangère nulle est considéré comme un mauvais choix dans la construction d'un modèle de données. Nous supposerons donc que dans tous les exemples qui vont suivre on aura interdit la valeur nulle pour les clés étrangères. Attention, ceci ne veut pas dire que Hibernate ne supporte pas les clés étrangères pouvant prendre des valeurs nulles, les exemples qui suivent continueront de fonctionner si vous décidiez ne plus imposer la contrainte de non-nullité sur les clés étrangères."
+#. Tag: para
+#: association_mapping.xml:24
+#, no-c-format
+msgid ""
+"Nullable foreign keys are not considered good practice in traditional data "
+"modelling, so all our examples use not null foreign keys. This is not a "
+"requirement of Hibernate, and the mappings will all work if you drop the "
+"nullability constraints."
+msgstr ""
+"Autoriser une clé étrangère nulle est considéré comme un mauvais choix dans "
+"la construction d'un modèle de données. Nous supposerons donc que dans tous "
+"les exemples qui vont suivre on aura interdit la valeur nulle pour les clés "
+"étrangères. Attention, ceci ne veut pas dire que Hibernate ne supporte pas "
+"les clés étrangères pouvant prendre des valeurs nulles, les exemples qui "
+"suivent continueront de fonctionner si vous décidiez ne plus imposer la "
+"contrainte de non-nullité sur les clés étrangères."
 
-#: index.docbook:34
+#. Tag: title
+#: association_mapping.xml:34
+#, no-c-format
 msgid "Unidirectional associations"
 msgstr "Association unidirectionnelle"
 
-#: index.docbook:37, index.docbook:108
+#. Tag: title
+#: association_mapping.xml:37 association_mapping.xml:108
+#, no-c-format
 msgid "many to one"
 msgstr "plusieurs à un"
 
-#: index.docbook:39
-msgid "A <emphasis>unidirectional many-to-one association</emphasis> is the most common kind of unidirectional association."
-msgstr "Une <emphasis>association plusieurs-à-un (many-to-one) unidirectionnelle </emphasis> est le type que l'on rencontre le plus souvent dans les associations unidirectionnelles."
+#. Tag: para
+#: association_mapping.xml:39
+#, no-c-format
+msgid ""
+"A <emphasis>unidirectional many-to-one association</emphasis> is the most "
+"common kind of unidirectional association."
+msgstr ""
+"Une <emphasis>association plusieurs-à-un (many-to-one) unidirectionnelle </"
+"emphasis> est le type que l'on rencontre le plus souvent dans les "
+"associations unidirectionnelles."
 
-#: index.docbook:44
+#. Tag: programlisting
+#: association_mapping.xml:44
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <many-to-one name=\"address\" \n"
+"        column=\"addressId\"\n"
+"        not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
 
-#: index.docbook:45, index.docbook:161
+#. Tag: programlisting
+#: association_mapping.xml:45 association_mapping.xml:161
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key, addressId bigint not null )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key, addressId bigint "
+"not null )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key, addressId bigint not null )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:50, index.docbook:121, index.docbook:185, index.docbook:225
+#. Tag: title
+#: association_mapping.xml:50 association_mapping.xml:121
+#: association_mapping.xml:185 association_mapping.xml:225
+#, fuzzy, no-c-format
 msgid "one to one"
-msgstr "un à un"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"un à un\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"un à un\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Un à un\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Un à un"
 
-#: index.docbook:52
-msgid "A <emphasis>unidirectional one-to-one association on a foreign key</emphasis> is almost identical. The only difference is the column unique constraint."
-msgstr "une <emphasis>association un-à-un (one-to-one) sur une clé étrangère</emphasis> est presque identique. La seule différence est sur la contrainte d'unicité que l'on impose à cette colonne."
+#. Tag: para
+#: association_mapping.xml:52
+#, no-c-format
+msgid ""
+"A <emphasis>unidirectional one-to-one association on a foreign key</"
+"emphasis> is almost identical. The only difference is the column unique "
+"constraint."
+msgstr ""
+"une <emphasis>association un-à-un (one-to-one) sur une clé étrangère</"
+"emphasis> est presque identique. La seule différence est sur la contrainte "
+"d'unicité que l'on impose à cette colonne."
 
-#: index.docbook:57
+#. Tag: programlisting
+#: association_mapping.xml:57
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\" \n"
-      "        unique=\"true\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <many-to-one name=\"address\" \n"
+"        column=\"addressId\" \n"
+"        unique=\"true\"\n"
+"        not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\" \n"
-      "        unique=\"true\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
 
-#: index.docbook:58, index.docbook:193
+#. Tag: programlisting
+#: association_mapping.xml:58 association_mapping.xml:193
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key, addressId bigint not null unique )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key, addressId bigint "
+"not null unique )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key, addressId bigint not null unique )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:60
-msgid "A <emphasis>unidirectional one-to-one association on a primary key</emphasis> usually uses a special id generator. (Notice that we've reversed the direction of the association in this example.)"
-msgstr "Une <emphasis>association un-à-un (one-to-one) unidirectionnelle sur une clé primaire</emphasis> utilise un générateur d'identifiant particulier. (Remarquez que nous avons inversé le sens de cette association dans cet exemple.)"
+#. Tag: para
+#: association_mapping.xml:60
+#, no-c-format
+msgid ""
+"A <emphasis>unidirectional one-to-one association on a primary key</"
+"emphasis> usually uses a special id generator. (Notice that we've reversed "
+"the direction of the association in this example.)"
+msgstr ""
+"Une <emphasis>association un-à-un (one-to-one) unidirectionnelle sur une clé "
+"primaire</emphasis> utilise un générateur d'identifiant particulier. "
+"(Remarquez que nous avons inversé le sens de cette association dans cet "
+"exemple.)"
 
-#: index.docbook:66
+#. Tag: programlisting
+#: association_mapping.xml:66
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"foreign\">\n"
-      "            <param name=\"property\">person</param>\n"
-      "        </generator>\n"
-      "    </id>\n"
-      "    <one-to-one name=\"person\" constrained=\"true\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"foreign\">\n"
+"            <param name=\"property\">person</param>\n"
+"        </generator>\n"
+"    </id>\n"
+"    <one-to-one name=\"person\" constrained=\"true\"/>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"foreign\">\n"
-      "            <param name=\"property\">person</param>\n"
-      "        </generator>\n"
-      "    </id>\n"
-      "    <one-to-one name=\"person\" constrained=\"true\"/>\n"
-      "</class>]]>"
 
-#: index.docbook:67, index.docbook:201
+#. Tag: programlisting
+#: association_mapping.xml:67 association_mapping.xml:201
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table Address ( personId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table Address ( personId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table Address ( personId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:72, index.docbook:94
+#. Tag: title
+#: association_mapping.xml:72 association_mapping.xml:94
+#, no-c-format
 msgid "one to many"
 msgstr "un à plusieurs"
 
-#: index.docbook:74
-msgid "A <emphasis>unidirectional one-to-many association on a foreign key</emphasis> is a very unusual case, and is not really recommended."
-msgstr "Une <emphasis>association un-à-plusieurs (one-to-many) unidirectionnelle sur une clé étrangère</emphasis> est vraiment inhabituelle, et n'est pas vraiment recommandée."
+#. Tag: para
+#: association_mapping.xml:74
+#, no-c-format
+msgid ""
+"A <emphasis>unidirectional one-to-many association on a foreign key</"
+"emphasis> is a very unusual case, and is not really recommended."
+msgstr ""
+"Une <emphasis>association un-à-plusieurs (one-to-many) unidirectionnelle sur "
+"une clé étrangère</emphasis> est vraiment inhabituelle, et n'est pas "
+"vraiment recommandée."
 
-#: index.docbook:79
+#. Tag: programlisting
+#: association_mapping.xml:79
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\">\n"
-      "        <key column=\"personId\" \n"
-      "            not-null=\"true\"/>\n"
-      "        <one-to-many class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <set name=\"addresses\">\n"
+"        <key column=\"personId\" \n"
+"            not-null=\"true\"/>\n"
+"        <one-to-many class=\"Address\"/>\n"
+"    </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\">\n"
-      "        <key column=\"personId\" \n"
-      "            not-null=\"true\"/>\n"
-      "        <one-to-many class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
 
-#: index.docbook:80
+#. Tag: programlisting
+#: association_mapping.xml:80
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table Address ( addressId bigint not null primary key, personId bigint not null )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table Address ( addressId bigint not null primary key, personId "
+"bigint not null )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table Address ( addressId bigint not null primary key, personId bigint not null )\n"
-      "        ]]>"
 
-#: index.docbook:82
+#. Tag: para
+#: association_mapping.xml:82
+#, no-c-format
 msgid "We think it's better to use a join table for this kind of association."
-msgstr "Nous pensons qu'il est préférable d'utiliser une table de jointure pour ce type d'association."
+msgstr ""
+"Nous pensons qu'il est préférable d'utiliser une table de jointure pour ce "
+"type d'association."
 
-#: index.docbook:91
+#. Tag: title
+#: association_mapping.xml:91
+#, no-c-format
 msgid "Unidirectional associations with join tables"
 msgstr "Associations unidirectionnelles avec tables de jointure"
 
-#: index.docbook:96
-msgid "A <emphasis>unidirectional one-to-many association on a join table</emphasis> is much preferred. Notice that by specifying <literal>unique=\"true\"</literal>, we have changed the multiplicity from many-to-many to one-to-many."
-msgstr "Une <emphasis>association unidirectionnelle un-à-plusieurs (one-to-many) avec une table de jointure</emphasis> est un bien meilleur choix. Remarquez qu'en spécifiant <literal>unique=\"true\"</literal>, on a changé la multiplicité plusieurs-à-plusieurs (many-to-many) pour un-à-plusieurs (one-to-many)."
+#. Tag: para
+#: association_mapping.xml:96
+#, no-c-format
+msgid ""
+"A <emphasis>unidirectional one-to-many association on a join table</"
+"emphasis> is much preferred. Notice that by specifying <literal>unique=\"true"
+"\"</literal>, we have changed the multiplicity from many-to-many to one-to-"
+"many."
+msgstr ""
+"Une <emphasis>association unidirectionnelle un-à-plusieurs (one-to-many) "
+"avec une table de jointure</emphasis> est un bien meilleur choix. Remarquez "
+"qu'en spécifiant <literal>unique=\"true\"</literal>, on a changé la "
+"multiplicité plusieurs-à-plusieurs (many-to-many) pour un-à-plusieurs (one-"
+"to-many)."
 
-#: index.docbook:102
+#. Tag: programlisting
+#: association_mapping.xml:102
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            unique=\"true\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <set name=\"addresses\" table=\"PersonAddress\">\n"
+"        <key column=\"personId\"/>\n"
+"        <many-to-many column=\"addressId\"\n"
+"            unique=\"true\"\n"
+"            class=\"Address\"/>\n"
+"    </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            unique=\"true\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
 
-#: index.docbook:103
+#. Tag: programlisting
+#: association_mapping.xml:103
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId not null, addressId bigint not null primary key )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId not null, addressId bigint not null "
+"primary key )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId not null, addressId bigint not null primary key )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:110
-msgid "A <emphasis>unidirectional many-to-one association on a join table</emphasis> is quite common when the association is optional."
-msgstr "Une <emphasis>assiociation plusieurs-à-un (many-to-one) unidirectionnelle sur une table de jointure</emphasis> est très fréquente quand l'association est optionnelle."
+#. Tag: para
+#: association_mapping.xml:110
+#, no-c-format
+msgid ""
+"A <emphasis>unidirectional many-to-one association on a join table</"
+"emphasis> is quite common when the association is optional."
+msgstr ""
+"Une <emphasis>assiociation plusieurs-à-un (many-to-one) unidirectionnelle "
+"sur une table de jointure</emphasis> est très fréquente quand l'association "
+"est optionnelle."
 
-#: index.docbook:115
+#. Tag: programlisting
+#: association_mapping.xml:115
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"personId\" unique=\"true\"/>\n"
-      "        <many-to-one name=\"address\"\n"
-      "            column=\"addressId\" \n"
-      "            not-null=\"true\"/>\n"
-      "    </join>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <join table=\"PersonAddress\" \n"
+"        optional=\"true\">\n"
+"        <key column=\"personId\" unique=\"true\"/>\n"
+"        <many-to-one name=\"address\"\n"
+"            column=\"addressId\" \n"
+"            not-null=\"true\"/>\n"
+"    </join>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"personId\" unique=\"true\"/>\n"
-      "        <many-to-one name=\"address\"\n"
-      "            column=\"addressId\" \n"
-      "            not-null=\"true\"/>\n"
-      "    </join>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
 
-#: index.docbook:116
+#. Tag: programlisting
+#: association_mapping.xml:116
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null primary key, addressId bigint not null )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null primary key, addressId "
+"bigint not null )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null primary key, addressId bigint not null )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:123
-msgid "A <emphasis>unidirectional one-to-one association on a join table</emphasis> is extremely unusual, but possible."
-msgstr "Une <emphasis>association unidirectionnelle un-à-un (one-to-one) sur une table de jointure</emphasis> est extrèmement rare mais envisageable."
+#. Tag: para
+#: association_mapping.xml:123
+#, no-c-format
+msgid ""
+"A <emphasis>unidirectional one-to-one association on a join table</emphasis> "
+"is extremely unusual, but possible."
+msgstr ""
+"Une <emphasis>association unidirectionnelle un-à-un (one-to-one) sur une "
+"table de jointure</emphasis> est extrèmement rare mais envisageable."
 
-#: index.docbook:128
+#. Tag: programlisting
+#: association_mapping.xml:128
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"personId\" \n"
-      "            unique=\"true\"/>\n"
-      "        <many-to-one name=\"address\"\n"
-      "            column=\"addressId\" \n"
-      "            not-null=\"true\"\n"
-      "            unique=\"true\"/>\n"
-      "    </join>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <join table=\"PersonAddress\" \n"
+"        optional=\"true\">\n"
+"        <key column=\"personId\" \n"
+"            unique=\"true\"/>\n"
+"        <many-to-one name=\"address\"\n"
+"            column=\"addressId\" \n"
+"            not-null=\"true\"\n"
+"            unique=\"true\"/>\n"
+"    </join>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"personId\" \n"
-      "            unique=\"true\"/>\n"
-      "        <many-to-one name=\"address\"\n"
-      "            column=\"addressId\" \n"
-      "            not-null=\"true\"\n"
-      "            unique=\"true\"/>\n"
-      "    </join>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
 
-#: index.docbook:129, index.docbook:233
+#. Tag: programlisting
+#: association_mapping.xml:129 association_mapping.xml:233
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null primary key, addressId bigint not null unique )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null primary key, addressId "
+"bigint not null unique )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null primary key, addressId bigint not null unique )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:134, index.docbook:238
+#. Tag: title
+#: association_mapping.xml:134 association_mapping.xml:238
+#, no-c-format
 msgid "many to many"
 msgstr "plusieurs à plusieurs"
 
-#: index.docbook:136
-msgid "Finally, we have a <emphasis>unidirectional many-to-many association</emphasis>."
-msgstr "Finallement, nous avons <emphasis>l'association unidirectionnelle plusieurs-à-plusieurs (many-to-many)</emphasis>."
+#. Tag: para
+#: association_mapping.xml:136
+#, no-c-format
+msgid ""
+"Finally, we have a <emphasis>unidirectional many-to-many association</"
+"emphasis>."
+msgstr ""
+"Finallement, nous avons <emphasis>l'association unidirectionnelle plusieurs-"
+"à-plusieurs (many-to-many)</emphasis>."
 
-#: index.docbook:140
+#. Tag: programlisting
+#: association_mapping.xml:140
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <set name=\"addresses\" table=\"PersonAddress\">\n"
+"        <key column=\"personId\"/>\n"
+"        <many-to-many column=\"addressId\"\n"
+"            class=\"Address\"/>\n"
+"    </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "</class>]]>"
 
-#: index.docbook:141, index.docbook:246
+#. Tag: programlisting
+#: association_mapping.xml:141 association_mapping.xml:246
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null, addressId bigint not null, primary key (personId, addressId) )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null, addressId bigint not "
+"null, primary key (personId, addressId) )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+"        ]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null, addressId bigint not null, primary key (personId, addressId) )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:148
+#. Tag: title
+#: association_mapping.xml:148
+#, no-c-format
 msgid "Bidirectional associations"
 msgstr "Associations bidirectionnelles"
 
-#: index.docbook:151, index.docbook:211
+#. Tag: title
+#: association_mapping.xml:151 association_mapping.xml:211
+#, no-c-format
 msgid "one to many / many to one"
 msgstr "un à plusieurs / plusieurs à un"
 
-#: index.docbook:153
-msgid "A <emphasis>bidirectional many-to-one association</emphasis> is the most common kind of association. (This is the standard parent/child relationship.)"
-msgstr "Une <emphasis>association bidirectionnelle plusieurs à un (many-to-one)</emphasis> est le type d'association que l'on rencontre le plus souvent. (c'est la façon standard de créer des relations parents/enfants.)"
+#. Tag: para
+#: association_mapping.xml:153
+#, no-c-format
+msgid ""
+"A <emphasis>bidirectional many-to-one association</emphasis> is the most "
+"common kind of association. (This is the standard parent/child relationship.)"
+msgstr ""
+"Une <emphasis>association bidirectionnelle plusieurs à un (many-to-one)</"
+"emphasis> est le type d'association que l'on rencontre le plus souvent. "
+"(c'est la façon standard de créer des relations parents/enfants.)"
 
-#: index.docbook:159
+#. Tag: programlisting
+#: association_mapping.xml:159
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"people\" inverse=\"true\">\n"
-      "        <key column=\"addressId\"/>\n"
-      "        <one-to-many class=\"Person\"/>\n"
-      "    </set>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <many-to-one name=\"address\" \n"
+"        column=\"addressId\"\n"
+"        not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <set name=\"people\" inverse=\"true\">\n"
+"        <key column=\"addressId\"/>\n"
+"        <one-to-many class=\"Person\"/>\n"
+"    </set>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"people\" inverse=\"true\">\n"
-      "        <key column=\"addressId\"/>\n"
-      "        <one-to-many class=\"Person\"/>\n"
-      "    </set>\n"
-      "</class>]]>"
 
-#: index.docbook:163
-msgid "If you use a <literal>List</literal> (or other indexed collection) you need to set the <literal>key</literal> column of the foreign key to <literal>not null</literal>, and let Hibernate manage the association from the collections side to maintain the index of each element (making the other side virtually inverse by setting <literal>update=\"false\"</literal> and <literal>insert=\"false\"</literal>):"
-msgstr "Si vous utilisez une <literal>List</literal> (ou toute autre collection indexée) vous devez paramétrer la colonne <literal>key</literal> de la clé étrangère à <literal>not null</literal>, et laisser Hibernate gérer l'association depuis l'extrémité collection pour maintenir l'index de chaque élément (rendant l'autre extrémité virtuellement inverse en paramétrant <literal>update=\"false\"</literal> et <literal>insert=\"false\"</literal>):"
+#. Tag: para
+#: association_mapping.xml:163
+#, no-c-format
+msgid ""
+"If you use a <literal>List</literal> (or other indexed collection) you need "
+"to set the <literal>key</literal> column of the foreign key to <literal>not "
+"null</literal>, and let Hibernate manage the association from the "
+"collections side to maintain the index of each element (making the other "
+"side virtually inverse by setting <literal>update=\"false\"</literal> and "
+"<literal>insert=\"false\"</literal>):"
+msgstr ""
+"Si vous utilisez une <literal>List</literal> (ou toute autre collection "
+"indexée) vous devez paramétrer la colonne <literal>key</literal> de la clé "
+"étrangère à <literal>not null</literal>, et laisser Hibernate gérer "
+"l'association depuis l'extrémité collection pour maintenir l'index de chaque "
+"élément (rendant l'autre extrémité virtuellement inverse en paramétrant "
+"<literal>update=\"false\"</literal> et <literal>insert=\"false\"</literal>):"
 
-#: index.docbook:171
+#. Tag: programlisting
+#: association_mapping.xml:171
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "   <id name=\"id\"/>\n"
-      "   ...\n"
-      "   <many-to-one name=\"address\"\n"
-      "      column=\"addressId\"\n"
-      "      not-null=\"true\"\n"
-      "      insert=\"false\"\n"
-      "      update=\"false\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "   <id name=\"id\"/>\n"
-      "   ...\n"
-      "   <list name=\"people\">\n"
-      "      <key column=\"addressId\" not-null=\"true\"/>\n"
-      "      <list-index column=\"peopleIdx\"/>\n"
-      "      <one-to-many class=\"Person\"/>\n"
-      "   </list>\n"
-      "</class>]]>"
+"<![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>]]>"
 
-#: index.docbook:173
-msgid "It is important that you define <literal>not-null=\"true\"</literal> on the <literal>&lt;key&gt;</literal> element of the collection mapping if the 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."
-msgstr "Un à un"
+#. Tag: para
+#: association_mapping.xml:173
+#, no-c-format
+msgid ""
+"It is important that you define <literal>not-null=\"true\"</literal> on the "
+"<literal>&lt;key&gt;</literal> element of the collection mapping if the "
+"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."
+msgstr ""
+"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."
 
-#: index.docbook:187
-msgid "A <emphasis>bidirectional one-to-one association on a foreign key</emphasis> is quite common."
+#. Tag: para
+#: association_mapping.xml:187
+#, no-c-format
+msgid ""
+"A <emphasis>bidirectional one-to-one association on a foreign key</emphasis> "
+"is quite common."
 msgstr ""
-      "<![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>]]>"
+"Une <emphasis>association bidirectionnelle un à un (one-to-one) sur une clé "
+"étrangère</emphasis> est aussi très fréquente."
 
-#: index.docbook:192
+#. Tag: programlisting
+#: association_mapping.xml:192
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <many-to-one name=\"address\" \n"
-      "        column=\"addressId\" \n"
-      "        unique=\"true\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "   <one-to-one name=\"person\" \n"
-      "        property-ref=\"address\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <many-to-one name=\"address\" \n"
+"        column=\"addressId\" \n"
+"        unique=\"true\"\n"
+"        not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"   <one-to-one name=\"person\" \n"
+"        property-ref=\"address\"/>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key, addressId bigint not null unique )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:195
-msgid "A <emphasis>bidirectional one-to-one association on a primary key</emphasis> uses the special id generator."
+#. Tag: para
+#: association_mapping.xml:195
+#, no-c-format
+msgid ""
+"A <emphasis>bidirectional one-to-one association on a primary key</emphasis> "
+"uses the special id generator."
 msgstr ""
-      "<![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>]]>"
+"Une <emphasis>association bidirectionnelle un-à-un (one-to-one) sur une clé "
+"primaire</emphasis> utilise un générateur particulier d'id."
 
-#: index.docbook:200
+#. Tag: programlisting
+#: association_mapping.xml:200
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <one-to-one name=\"address\"/>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"foreign\">\n"
-      "            <param name=\"property\">person</param>\n"
-      "        </generator>\n"
-      "    </id>\n"
-      "    <one-to-one name=\"person\" \n"
-      "        constrained=\"true\"/>\n"
-      "</class>]]>"
+"<![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[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table Address ( personId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:208
+#. Tag: title
+#: association_mapping.xml:208
+#, no-c-format
 msgid "Bidirectional associations with join tables"
-msgstr "un à plusieurs / plusieurs à un"
+msgstr "Associations bidirectionnelles avec table de jointure"
 
-#: index.docbook:213
-msgid "A <emphasis>bidirectional one-to-many association on a join table</emphasis>. Note that the <literal>inverse=\"true\"</literal> can go on either end of the association, on the collection, or on the join."
+#. Tag: para
+#: association_mapping.xml:213
+#, no-c-format
+msgid ""
+"A <emphasis>bidirectional one-to-many association on a join table</"
+"emphasis>. Note that the <literal>inverse=\"true\"</literal> can go on "
+"either end of the association, on the collection, or on the join."
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" \n"
-      "        table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            unique=\"true\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        inverse=\"true\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"addressId\"/>\n"
-      "        <many-to-one name=\"person\"\n"
-      "            column=\"personId\"\n"
-      "            not-null=\"true\"/>\n"
-      "    </join>\n"
-      "</class>]]>"
+"Une <emphasis>association bidirectionnelle un-à-plusieurs (one-to-many) sur "
+"une table de jointure </emphasis>. Remarquez que <literal>inverse=\"true\"</"
+"literal> peut s'appliquer sur les deux extrémités de l' association, sur la "
+"collection, ou sur la jointure."
 
-#: index.docbook:219
+#. Tag: programlisting
+#: association_mapping.xml:219
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" \n"
-      "        table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            unique=\"true\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        inverse=\"true\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"addressId\"/>\n"
-      "        <many-to-one name=\"person\"\n"
-      "            column=\"personId\"\n"
-      "            not-null=\"true\"/>\n"
-      "    </join>\n"
-      "</class>]]>"
+"<![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[\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"
-      "        ]]>"
 
-#: index.docbook:220
+#. Tag: programlisting
+#: association_mapping.xml:220
+#, 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 "Un à un"
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null, addressId bigint not "
+"null primary key )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+"        ]]>"
+msgstr ""
 
-#: index.docbook:227
-msgid "A <emphasis>bidirectional one-to-one association on a join table</emphasis> is extremely unusual, but possible."
+#. Tag: para
+#: association_mapping.xml:227
+#, no-c-format
+msgid ""
+"A <emphasis>bidirectional one-to-one association on a join table</emphasis> "
+"is extremely unusual, but possible."
 msgstr ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"personId\" \n"
-      "            unique=\"true\"/>\n"
-      "        <many-to-one name=\"address\"\n"
-      "            column=\"addressId\" \n"
-      "            not-null=\"true\"\n"
-      "            unique=\"true\"/>\n"
-      "    </join>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\"\n"
-      "        inverse=\"true\">\n"
-      "        <key column=\"addressId\" \n"
-      "            unique=\"true\"/>\n"
-      "        <many-to-one name=\"person\"\n"
-      "            column=\"personId\" \n"
-      "            not-null=\"true\"\n"
-      "            unique=\"true\"/>\n"
-      "    </join>\n"
-      "</class>]]>"
+"Une <emphasis>association bidirectionnelle un-à-un (one-to-one) sur une "
+"table de jointure</emphasis> est extrèmement rare mais envisageable."
 
-#: index.docbook:232
+#. Tag: programlisting
+#: association_mapping.xml:232
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\">\n"
-      "        <key column=\"personId\" \n"
-      "            unique=\"true\"/>\n"
-      "        <many-to-one name=\"address\"\n"
-      "            column=\"addressId\" \n"
-      "            not-null=\"true\"\n"
-      "            unique=\"true\"/>\n"
-      "    </join>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <join table=\"PersonAddress\" \n"
-      "        optional=\"true\"\n"
-      "        inverse=\"true\">\n"
-      "        <key column=\"addressId\" \n"
-      "            unique=\"true\"/>\n"
-      "        <many-to-one name=\"person\"\n"
-      "            column=\"personId\" \n"
-      "            not-null=\"true\"\n"
-      "            unique=\"true\"/>\n"
-      "    </join>\n"
-      "</class>]]>"
+"<![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[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null primary key, addressId bigint not null unique )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:240
-msgid "Finally, we have a <emphasis>bidirectional many-to-many association</emphasis>."
+#. Tag: para
+#: association_mapping.xml:240
+#, no-c-format
+msgid ""
+"Finally, we have a <emphasis>bidirectional many-to-many association</"
+"emphasis>."
 msgstr ""
-      "<![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>]]>"
+"Finallement nous avons <emphasis>l'association bidirectionnelle plusieurs à "
+"plusieurs</emphasis>."
 
-#: index.docbook:244
+#. Tag: programlisting
+#: association_mapping.xml:244
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"id\" column=\"personId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"addresses\" table=\"PersonAddress\">\n"
-      "        <key column=\"personId\"/>\n"
-      "        <many-to-many column=\"addressId\"\n"
-      "            class=\"Address\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Address\">\n"
-      "    <id name=\"id\" column=\"addressId\">\n"
-      "        <generator class=\"native\"/>\n"
-      "    </id>\n"
-      "    <set name=\"people\" inverse=\"true\" table=\"PersonAddress\">\n"
-      "        <key column=\"addressId\"/>\n"
-      "        <many-to-many column=\"personId\"\n"
-      "            class=\"Person\"/>\n"
-      "    </set>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"id\" column=\"personId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <set name=\"addresses\" table=\"PersonAddress\">\n"
+"        <key column=\"personId\"/>\n"
+"        <many-to-many column=\"addressId\"\n"
+"            class=\"Address\"/>\n"
+"    </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"    <id name=\"id\" column=\"addressId\">\n"
+"        <generator class=\"native\"/>\n"
+"    </id>\n"
+"    <set name=\"people\" inverse=\"true\" table=\"PersonAddress\">\n"
+"        <key column=\"addressId\"/>\n"
+"        <many-to-many column=\"personId\"\n"
+"            class=\"Person\"/>\n"
+"    </set>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[\n"
-      "create table Person ( personId bigint not null primary key )\n"
-      "create table PersonAddress ( personId bigint not null, addressId bigint not null, primary key (personId, addressId) )\n"
-      "create table Address ( addressId bigint not null primary key )\n"
-      "        ]]>"
 
-#: index.docbook:253
+#. Tag: title
+#: association_mapping.xml:253
+#, no-c-format
 msgid "More complex association mappings"
-msgstr "Des associations encore plus complexes sont <emphasis>extrêmement</emphasis> rares. Hibernate permet de gérer des situations plus complexes en utilisant des parties SQL dans les fichiers de mapping. Par exemple, si une table avec l'historiques des informations d'un compte définit les colonnes <literal>accountNumber</literal>, <literal>effectiveEndDate</literal> et <literal>effectiveStartDate</literal>, mappées de telle sorte:"
+msgstr "Des mappings plus complexes"
 
-#: index.docbook:255
-msgid "More complex association joins are <emphasis>extremely</emphasis> rare. Hibernate makes it possible to handle more complex situations using SQL fragments embedded in the mapping document. For example, if a table with historical account information data defines <literal>accountNumber</literal>, <literal>effectiveEndDate</literal> and <literal>effectiveStartDate</literal>columns, mapped as follows:"
+#. Tag: para
+#: association_mapping.xml:255
+#, no-c-format
+msgid ""
+"More complex association joins are <emphasis>extremely</emphasis> rare. "
+"Hibernate makes it possible to handle more complex situations using SQL "
+"fragments embedded in the mapping document. For example, if a table with "
+"historical account information data defines <literal>accountNumber</"
+"literal>, <literal>effectiveEndDate</literal> and "
+"<literal>effectiveStartDate</literal>columns, mapped as follows:"
 msgstr ""
-      "<![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\"/>]]>"
+"Des associations encore plus complexes sont <emphasis>extrêmement</emphasis> "
+"rares. Hibernate permet de gérer des situations plus complexes en utilisant "
+"des parties SQL dans les fichiers de mapping. Par exemple, si une table avec "
+"l'historiques des informations d'un compte définit les colonnes "
+"<literal>accountNumber</literal>, <literal>effectiveEndDate</literal> et "
+"<literal>effectiveStartDate</literal>, mappées de telle sorte:"
 
-#: index.docbook:264
+#. Tag: programlisting
+#: association_mapping.xml:264
+#, no-c-format
 msgid ""
-      "<![CDATA[<properties name=\"currentAccountKey\">\n"
-      "    <property name=\"accountNumber\" type=\"string\" not-null=\"true\"/>\n"
-      "    <property name=\"currentAccount\" type=\"boolean\">\n"
-      "        <formula>case when effectiveEndDate is null then 1 else 0 end</formula>\n"
-      "    </property>\n"
-      "</properties>\n"
-      "<property name=\"effectiveEndDate\" type=\"date\"/>\n"
-      "<property name=\"effectiveStateDate\" type=\"date\" not-null=\"true\"/>]]>"
-msgstr "alors nous pouvons mapper une association à l'instance <emphasis>courante</emphasis> (celle avec une <literal>effectiveEndDate</literal>) nulle en utilisant:"
-
-#: index.docbook:266
-msgid "Then we can map an association to the <emphasis>current</emphasis> instance (the one with null <literal>effectiveEndDate</literal>) using:"
+"<![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[<many-to-one name=\"currentAccountInfo\" \n"
-      "        property-ref=\"currentAccountKey\"\n"
-      "        class=\"AccountInfo\">\n"
-      "    <column name=\"accountNumber\"/>\n"
-      "    <formula>'1'</formula>\n"
-      "</many-to-one>]]>"
 
-#: index.docbook:271
+#. Tag: para
+#: association_mapping.xml:266
+#, 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 "Dans un exemple plus complexe, imaginez qu'une association entre <literal>Employee</literal> et <literal>Organization</literal> est gérée dans une table <literal>Employment</literal> pleines de données historiques. Dans ce cas, une association vers l'employeur <emphasis>le plus récent</emphasis> (celui avec la <literal>startDate</literal> la plus récente) pourrait être mappée comme cela:"
+"Then we can map an association to the <emphasis>current</emphasis> instance "
+"(the one with null <literal>effectiveEndDate</literal>) using:"
+msgstr ""
+"alors nous pouvons mapper une association à l'instance <emphasis>courante</"
+"emphasis> (celle avec une <literal>effectiveEndDate</literal>) nulle en "
+"utilisant:"
 
-#: index.docbook:273
-msgid "In a more complex example, imagine that the association between <literal>Employee</literal> and <literal>Organization</literal> is maintained in an <literal>Employment</literal> table full of historical employment data. Then an association to the employee's <emphasis>most recent</emphasis> employer (the one with the most recent <literal>startDate</literal>) might be mapped this way:"
+#. Tag: programlisting
+#: association_mapping.xml:271
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"currentAccountInfo\" \n"
+"        property-ref=\"currentAccountKey\"\n"
+"        class=\"AccountInfo\">\n"
+"    <column name=\"accountNumber\"/>\n"
+"    <formula>'1'</formula>\n"
+"</many-to-one>]]>"
 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>]]>"
 
-#: index.docbook:281
+#. Tag: para
+#: association_mapping.xml:273
+#, 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 "Vous pouvez être créatif grace à ces possibilités, mais il est généralement plus pratique d'utiliser des requêtes HQL ou criteria dans ce genre de situation."
+"In a more complex example, imagine that the association between "
+"<literal>Employee</literal> and <literal>Organization</literal> is "
+"maintained in an <literal>Employment</literal> table full of historical "
+"employment data. Then an association to the employee's <emphasis>most "
+"recent</emphasis> employer (the one with the most recent <literal>startDate</"
+"literal>) might be mapped this way:"
+msgstr ""
+"Dans un exemple plus complexe, imaginez qu'une association entre "
+"<literal>Employee</literal> et <literal>Organization</literal> est gérée "
+"dans une table <literal>Employment</literal> pleines de données historiques. "
+"Dans ce cas, une association vers l'employeur <emphasis>le plus récent</"
+"emphasis> (celui avec la <literal>startDate</literal> la plus récente) "
+"pourrait être mappée comme cela:"
 
-#: index.docbook:283
-msgid "You can get quite creative with this functionality, but it is usually more practical to handle these kinds of cases using HQL or a criteria query."
+#. Tag: programlisting
+#: association_mapping.xml:281
+#, no-c-format
+msgid ""
+"<![CDATA[<join>\n"
+"    <key column=\"employeeId\"/>\n"
+"    <subselect>\n"
+"        select employeeId, orgId \n"
+"        from Employments \n"
+"        group by orgId \n"
+"        having startDate = max(startDate)\n"
+"    </subselect>\n"
+"    <many-to-one name=\"mostRecentEmployer\" \n"
+"            class=\"Organization\" \n"
+"            column=\"orgId\"/>\n"
+"</join>]]>"
 msgstr ""
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: association_mapping.xml:283
+#, no-c-format
+msgid ""
+"You can get quite creative with this functionality, but it is usually more "
+"practical to handle these kinds of cases using HQL or a criteria query."
+msgstr ""
+"Vous pouvez être créatif grace à ces possibilités, mais il est généralement "
+"plus pratique d'utiliser des requêtes HQL ou criteria dans ce genre de "
+"situation."

Modified: core/trunk/documentation/manual/translations/fr-FR/content/basic_mapping.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/basic_mapping.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/basic_mapping.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,3057 +1,5795 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: basic_mapping.xml:5
+#, no-c-format
 msgid "Basic O/R Mapping"
 msgstr "Mapping O/R basique"
 
-#: index.docbook:8
+#. Tag: title
+#: basic_mapping.xml:8
+#, no-c-format
 msgid "Mapping declaration"
 msgstr "Déclaration de Mapping"
 
-#: index.docbook:10
-msgid "Object/relational mappings are usually defined in an XML document. The mapping document is designed to be readable and hand-editable. The mapping language is Java-centric, meaning that mappings are constructed around persistent class declarations, not table declarations."
-msgstr "Les mappings Objet/relationnel sont généralement définis dans un document XML. Le document de mapping est conçu pour être lisible et éditable à la main. Le langage de mapping est Java-centrique, c'est à dire que les mappings sont construits à partir des déclarations des classes persistantes et non des déclarations des tables."
+#. Tag: para
+#: basic_mapping.xml:10
+#, no-c-format
+msgid ""
+"Object/relational mappings are usually defined in an XML document. The "
+"mapping document is designed to be readable and hand-editable. The mapping "
+"language is Java-centric, meaning that mappings are constructed around "
+"persistent class declarations, not table declarations."
+msgstr ""
+"Les mappings Objet/relationnel sont généralement définis dans un document "
+"XML. Le document de mapping est conçu pour être lisible et éditable à la "
+"main. Le langage de mapping est Java-centrique, c'est à dire que les "
+"mappings sont construits à partir des déclarations des classes persistantes "
+"et non des déclarations des tables."
 
-#: index.docbook:17
-msgid "Note that, even though many Hibernate users choose to write the XML by hand, a number of tools exist to generate the mapping document, including XDoclet, Middlegen and AndroMDA."
-msgstr "Remarquez que même si beaucoup d'utilisateurs de Hibernate préfèrent écrire les fichiers de mappings à la main, plusieurs outils existent pour générer ce document, notamment XDoclet, Middlegen et AndroMDA."
+#. Tag: para
+#: basic_mapping.xml:17
+#, no-c-format
+msgid ""
+"Note that, even though many Hibernate users choose to write the XML by hand, "
+"a number of tools exist to generate the mapping document, including XDoclet, "
+"Middlegen and AndroMDA."
+msgstr ""
+"Remarquez que même si beaucoup d'utilisateurs de Hibernate préfèrent écrire "
+"les fichiers de mappings à la main, plusieurs outils existent pour générer "
+"ce document, notamment XDoclet, Middlegen et AndroMDA."
 
-#: index.docbook:23
+#. Tag: para
+#: basic_mapping.xml:23
+#, no-c-format
 msgid "Lets kick off with an example mapping:"
 msgstr "Démarrons avec un exemple de mapping :"
 
-#: index.docbook:27
+#. Tag: programlisting
+#: basic_mapping.xml:27
+#, no-c-format
 msgid ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "      \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-      "          \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-mapping package=\"eg\">\n"
-      "\n"
-      "        <class name=\"Cat\"\n"
-      "            table=\"cats\"\n"
-      "            discriminator-value=\"C\">\n"
-      "\n"
-      "                <id name=\"id\">\n"
-      "                        <generator class=\"native\"/>\n"
-      "                </id>\n"
-      "\n"
-      "                <discriminator column=\"subclass\"\n"
-      "                     type=\"character\"/>\n"
-      "\n"
-      "                <property name=\"weight\"/>\n"
-      "\n"
-      "                <property name=\"birthdate\"\n"
-      "                    type=\"date\"\n"
-      "                    not-null=\"true\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <property name=\"color\"\n"
-      "                    type=\"eg.types.ColorUserType\"\n"
-      "                    not-null=\"true\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <property name=\"sex\"\n"
-      "                    not-null=\"true\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <property name=\"litterId\"\n"
-      "                    column=\"litterId\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <many-to-one name=\"mother\"\n"
-      "                    column=\"mother_id\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <set name=\"kittens\"\n"
-      "                    inverse=\"true\"\n"
-      "                    order-by=\"litter_id\">\n"
-      "                        <key column=\"mother_id\"/>\n"
-      "                        <one-to-many class=\"Cat\"/>\n"
-      "                </set>\n"
-      "\n"
-      "                <subclass name=\"DomesticCat\"\n"
-      "                    discriminator-value=\"D\">\n"
-      "\n"
-      "                        <property name=\"name\"\n"
-      "                            type=\"string\"/>\n"
-      "\n"
-      "                </subclass>\n"
-      "\n"
-      "        </class>\n"
-      "\n"
-      "        <class name=\"Dog\">\n"
-      "                <!-- mapping for Dog could go here -->\n"
-      "        </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+"      \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+"          \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping package=\"eg\">\n"
+"\n"
+"        <class name=\"Cat\"\n"
+"            table=\"cats\"\n"
+"            discriminator-value=\"C\">\n"
+"\n"
+"                <id name=\"id\">\n"
+"                        <generator class=\"native\"/>\n"
+"                </id>\n"
+"\n"
+"                <discriminator column=\"subclass\"\n"
+"                     type=\"character\"/>\n"
+"\n"
+"                <property name=\"weight\"/>\n"
+"\n"
+"                <property name=\"birthdate\"\n"
+"                    type=\"date\"\n"
+"                    not-null=\"true\"\n"
+"                    update=\"false\"/>\n"
+"\n"
+"                <property name=\"color\"\n"
+"                    type=\"eg.types.ColorUserType\"\n"
+"                    not-null=\"true\"\n"
+"                    update=\"false\"/>\n"
+"\n"
+"                <property name=\"sex\"\n"
+"                    not-null=\"true\"\n"
+"                    update=\"false\"/>\n"
+"\n"
+"                <property name=\"litterId\"\n"
+"                    column=\"litterId\"\n"
+"                    update=\"false\"/>\n"
+"\n"
+"                <many-to-one name=\"mother\"\n"
+"                    column=\"mother_id\"\n"
+"                    update=\"false\"/>\n"
+"\n"
+"                <set name=\"kittens\"\n"
+"                    inverse=\"true\"\n"
+"                    order-by=\"litter_id\">\n"
+"                        <key column=\"mother_id\"/>\n"
+"                        <one-to-many class=\"Cat\"/>\n"
+"                </set>\n"
+"\n"
+"                <subclass name=\"DomesticCat\"\n"
+"                    discriminator-value=\"D\">\n"
+"\n"
+"                        <property name=\"name\"\n"
+"                            type=\"string\"/>\n"
+"\n"
+"                </subclass>\n"
+"\n"
+"        </class>\n"
+"\n"
+"        <class name=\"Dog\">\n"
+"                <!-- mapping for Dog could go here -->\n"
+"        </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
 msgstr ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "      \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-      "          \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-mapping package=\"eg\">\n"
-      "\n"
-      "        <class name=\"Cat\" \n"
-      "            table=\"cats\"\n"
-      "            discriminator-value=\"C\">\n"
-      "                \n"
-      "                <id name=\"id\">\n"
-      "                        <generator class=\"native\"/>\n"
-      "                </id>\n"
-      "\n"
-      "                <discriminator column=\"subclass\" \n"
-      "                     type=\"character\"/>\n"
-      "\n"
-      "                <property name=\"weight\"/>\n"
-      "\n"
-      "                <property name=\"birthdate\"\n"
-      "                    type=\"date\" \n"
-      "                    not-null=\"true\" \n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <property name=\"color\"\n"
-      "                    type=\"eg.types.ColorUserType\"\n"
-      "                    not-null=\"true\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <property name=\"sex\"\n"
-      "                    not-null=\"true\" \n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <property name=\"litterId\"\n"
-      "                    column=\"litterId\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <many-to-one name=\"mother\"\n"
-      "                    column=\"mother_id\"\n"
-      "                    update=\"false\"/>\n"
-      "\n"
-      "                <set name=\"kittens\"\n"
-      "                    inverse=\"true\"\n"
-      "                    order-by=\"litter_id\">\n"
-      "                        <key column=\"mother_id\"/>\n"
-      "                        <one-to-many class=\"Cat\"/>\n"
-      "                </set>\n"
-      "\n"
-      "                <subclass name=\"DomesticCat\"\n"
-      "                    discriminator-value=\"D\">\n"
-      "\n"
-      "                        <property name=\"name\" \n"
-      "                            type=\"string\"/>\n"
-      "\n"
-      "                </subclass>\n"
-      "\n"
-      "        </class>\n"
-      "\n"
-      "        <class name=\"Dog\">\n"
-      "                <!-- mapping for Dog could go here -->\n"
-      "        </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
 
-#: index.docbook:29
-msgid "We will now discuss the content of the mapping document. We will only describe the document elements and attributes that are used by Hibernate at runtime. The mapping document also contains some extra optional attributes and elements that affect the database schemas exported by the schema export tool. (For example the <literal> not-null</literal> attribute.)"
-msgstr "Etudions le contenu du document de mapping. Nous décrirons uniquement les éléments et attributs du document utilisés par Hibernate à l'exécution. Le document de mapping contient aussi des attributs et éléments optionnels qui agissent sur le schéma de base de données exporté par l'outil de génération de schéma. (Par exemple l'attribut <literal>not-null</literal>.)"
+#. Tag: para
+#: basic_mapping.xml:29
+#, no-c-format
+msgid ""
+"We will now discuss the content of the mapping document. We will only "
+"describe the document elements and attributes that are used by Hibernate at "
+"runtime. The mapping document also contains some extra optional attributes "
+"and elements that affect the database schemas exported by the schema export "
+"tool. (For example the <literal> not-null</literal> attribute.)"
+msgstr ""
+"Etudions le contenu du document de mapping. Nous décrirons uniquement les "
+"éléments et attributs du document utilisés par Hibernate à l'exécution. Le "
+"document de mapping contient aussi des attributs et éléments optionnels qui "
+"agissent sur le schéma de base de données exporté par l'outil de génération "
+"de schéma. (Par exemple l'attribut <literal>not-null</literal>.)"
 
-#: index.docbook:40
+#. Tag: title
+#: basic_mapping.xml:40
+#, no-c-format
 msgid "Doctype"
 msgstr "Doctype"
 
-#: index.docbook:42
-msgid "All XML mappings should declare the doctype shown. The actual DTD may be found at the URL above, in the directory <literal>hibernate-x.x.x/src/org/hibernate </literal> or in <literal>hibernate3.jar</literal>. Hibernate will always look for the DTD in its classpath first. If you experience lookups of the DTD using an Internet connection, check your DTD declaration against the contents of your claspath."
-msgstr "Tous les mappings XML devraient utiliser le doctype indiqué. Ce fichier est présent à l'URL ci-dessus, dans le répertoire <literal>hibernate-x.x.x/src/org/hibernate</literal> ou dans <literal>hibernate3.jar</literal>. Hibernate va toujours chercher la DTD dans son classpath en premier lieu. Si vous constatez des recherches de la DTD sur Internet, vérifiez votre déclaration de DTD par rapport au contenu de votre classpath."
+#. Tag: para
+#: basic_mapping.xml:42
+#, no-c-format
+msgid ""
+"All XML mappings should declare the doctype shown. The actual DTD may be "
+"found at the URL above, in the directory <literal>hibernate-x.x.x/src/org/"
+"hibernate </literal> or in <literal>hibernate3.jar</literal>. Hibernate will "
+"always look for the DTD in its classpath first. If you experience lookups of "
+"the DTD using an Internet connection, check your DTD declaration against the "
+"contents of your claspath."
+msgstr ""
+"Tous les mappings XML devraient utiliser le doctype indiqué. Ce fichier est "
+"présent à l'URL ci-dessus, dans le répertoire <literal>hibernate-x.x.x/src/"
+"org/hibernate</literal> ou dans <literal>hibernate3.jar</literal>. Hibernate "
+"va toujours chercher la DTD dans son classpath en premier lieu. Si vous "
+"constatez des recherches de la DTD sur Internet, vérifiez votre déclaration "
+"de DTD par rapport au contenu de votre classpath."
 
-#: index.docbook:52
+#. Tag: title
+#: basic_mapping.xml:52
+#, no-c-format
 msgid "EntityResolver"
-msgstr "hibernate-mapping"
+msgstr "EntityResolver"
 
-#: index.docbook:53
-msgid "As mentioned previously, Hibernate will first attempt to resolve DTDs in its classpath. The manner in which it does this is by registering a custom <literal>org.xml.sax.EntityResolver</literal> implementation with the SAXReader it uses to read in the xml files. This custom <literal>EntityResolver</literal> recognizes two different systemId namespaces."
-msgstr "Cet élément a plusieurs attributs optionnels. Les attributs <literal>schema</literal> et <literal>catalog</literal> indiquent que les tables référencées par ce mapping appartiennent au schéma nommé et/ou au catalogue. S'ils sont spécifiés, les noms de tables seront qualifiés par les noms de schéma et catalogue. L'attribut <literal>default-cascade</literal> indique quel type de cascade sera utlisé par défaut pour les propriétés et collections qui ne précisent pas l'attribut <literal>cascade</literal>. L'attribut <literal>auto-import</literal> nous permet d'utiliser par défaut des noms de classes non qualifiés dans le langage de requête."
+#. Tag: para
+#: basic_mapping.xml:53
+#, no-c-format
+msgid ""
+"As mentioned previously, Hibernate will first attempt to resolve DTDs in its "
+"classpath. The manner in which it does this is by registering a custom "
+"<literal>org.xml.sax.EntityResolver</literal> implementation with the "
+"SAXReader it uses to read in the xml files. This custom "
+"<literal>EntityResolver</literal> recognizes two different systemId "
+"namespaces."
+msgstr ""
+"As mentioned previously, Hibernate will first attempt to resolve DTDs in its "
+"classpath. The manner in which it does this is by registering a custom "
+"<literal>org.xml.sax.EntityResolver</literal> implementation with the "
+"SAXReader it uses to read in the xml files. This custom "
+"<literal>EntityResolver</literal> recognizes two different systemId "
+"namespaces."
 
-#: index.docbook:61
-msgid "a <literal>hibernate namespace</literal> is recognized whenever the resolver encounteres a systemId starting with <literal>http://hibernate.sourceforge.net/</literal>; the resolver attempts to resolve these entities via the classlaoder which loaded the Hibernate classes."
+#. Tag: para
+#: basic_mapping.xml:61
+#, no-c-format
+msgid ""
+"a <literal>hibernate namespace</literal> is recognized whenever the resolver "
+"encounteres a systemId starting with <literal>http://hibernate.sourceforge."
+"net/</literal>; the resolver attempts to resolve these entities via the "
+"classlaoder which loaded the Hibernate classes."
 msgstr ""
-      "<![CDATA[<hibernate-mapping\n"
-      "         schema=\"schemaName\"\n"
-      "         catalog=\"catalogName\"\n"
-      "         default-cascade=\"cascade_style\"\n"
-      "         default-access=\"field|property|ClassName\"\n"
-      "         default-lazy=\"true|false\"\n"
-      "         auto-import=\"true|false\"\n"
-      "         package=\"package.name\"\n"
-      " />]]>"
+"a <literal>hibernate namespace</literal> is recognized whenever the resolver "
+"encounteres a systemId starting with <literal>http://hibernate.sourceforge."
+"net/</literal>; the resolver attempts to resolve these entities via the "
+"classlaoder which loaded the Hibernate classes."
 
-#: index.docbook:70
-msgid "a <literal>user namespace</literal> is recognized whenever the resolver encounteres a systemId using a <literal>classpath://</literal> URL protocol; the resolver will attempt to resolve these entities via (1) the current thread context classloader and (2) the classloader which loaded the Hibernate classes."
-msgstr "<literal>schema</literal> (optionnel) : Le nom d'un schéma de base de données."
+#. Tag: para
+#: basic_mapping.xml:70
+#, no-c-format
+msgid ""
+"a <literal>user namespace</literal> is recognized whenever the resolver "
+"encounteres a systemId using a <literal>classpath://</literal> URL protocol; "
+"the resolver will attempt to resolve these entities via (1) the current "
+"thread context classloader and (2) the classloader which loaded the "
+"Hibernate classes."
+msgstr ""
+"a <literal>user namespace</literal> is recognized whenever the resolver "
+"encounteres a systemId using a <literal>classpath://</literal> URL protocol; "
+"the resolver will attempt to resolve these entities via (1) the current "
+"thread context classloader and (2) the classloader which loaded the "
+"Hibernate classes."
 
-#: index.docbook:79
+#. Tag: para
+#: basic_mapping.xml:79
+#, no-c-format
 msgid "An example of utilizing user namespacing:"
-msgstr "<literal>catalog</literal> (optionnel) : Le nom d'un catalogue de base de données."
+msgstr "An example of utilizing user namespacing:"
 
-#: index.docbook:82
+#. Tag: programlisting
+#: basic_mapping.xml:82
+#, no-c-format
 msgid ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "        \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
-      "        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\" [\n"
-      "    <!ENTITY types SYSTEM \"classpath://your/domain/types.xml\">\n"
-      "]>\n"
-      "\n"
-      "<hibernate-mapping package=\"your.domain\">\n"
-      "    <class name=\"MyEntity\">\n"
-      "        <id name=\"id\" type=\"my-custom-id-type\">\n"
-      "            ...\n"
-      "        </id>\n"
-      "    <class>\n"
-      "    &types;\n"
-      "</hibernate-mapping>]]>"
-msgstr "<literal>default-cascade</literal> (optionnel - par défaut vaut : <literal>none</literal>) : Un type de cascade par défaut."
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+"        \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+"        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\" [\n"
+"    <!ENTITY types SYSTEM \"classpath://your/domain/types.xml\">\n"
+"]>\n"
+"\n"
+"<hibernate-mapping package=\"your.domain\">\n"
+"    <class name=\"MyEntity\">\n"
+"        <id name=\"id\" type=\"my-custom-id-type\">\n"
+"            ...\n"
+"        </id>\n"
+"    <class>\n"
+"    &types;\n"
+"</hibernate-mapping>]]>"
+msgstr ""
 
-#: index.docbook:83
-msgid "Where <literal>types.xml</literal> is a resource in the <literal>your.domain</literal> package and contains a custom <xref linkend=\"mapping-types-custom\"/>typedef."
-msgstr "<literal>default-access</literal> (optionnel - par défaut vaut : <literal>property</literal>) : Comment hibernate accèdera aux propriétés. On peut aussi redéfinir sa propre implémentation de <literal>PropertyAccessor</literal>."
+#. Tag: para
+#: basic_mapping.xml:83
+#, no-c-format
+msgid ""
+"Where <literal>types.xml</literal> is a resource in the <literal>your."
+"domain</literal> package and contains a custom <link linkend=\"mapping-types-"
+"custom\">typedef</link>."
+msgstr ""
+"Where <literal>types.xml</literal> is a resource in the <literal>your."
+"domain</literal> package and contains a custom <link linkend=\"mapping-types-"
+"custom\">typedef</link>."
 
-#: index.docbook:91
+#. Tag: title
+#: basic_mapping.xml:91
+#, no-c-format
 msgid "hibernate-mapping"
-msgstr "<literal>default-lazy</literal> (optionnel - par défaut vaut : <literal>true</literal>) : Valeur par défaut pour un attribut <literal>lazy</literal> non spécifié : celui des mappings de classes et de collection."
+msgstr "hibernate-mapping"
 
-#: index.docbook:93
-msgid "This element has several optional attributes. The <literal>schema</literal> and <literal>catalog</literal> attributes specify that tables referred to in this mapping belong to the named schema and/or catalog. If specified, tablenames will be qualified by the given schema and catalog names. If missing, tablenames will be unqualified. The <literal>default-cascade</literal> attribute specifies what cascade style should be assumed for properties and collections which do not specify a <literal>cascade</literal> attribute. The <literal>auto-import</literal> attribute lets us use unqualified class names in the query language, by default."
-msgstr "<literal>auto-import</literal> (optionnel - par défaut vaut : <literal>true</literal>) : Spécifie si l'on peut utiliser des noms de classes non qualifiés (des classes de ce mapping) dans le langage de requête."
+#. Tag: para
+#: basic_mapping.xml:93
+#, no-c-format
+msgid ""
+"This element has several optional attributes. The <literal>schema</literal> "
+"and <literal>catalog</literal> attributes specify that tables referred to in "
+"this mapping belong to the named schema and/or catalog. If specified, "
+"tablenames will be qualified by the given schema and catalog names. If "
+"missing, tablenames will be unqualified. The <literal>default-cascade</"
+"literal> attribute specifies what cascade style should be assumed for "
+"properties and collections which do not specify a <literal>cascade</literal> "
+"attribute. The <literal>auto-import</literal> attribute lets us use "
+"unqualified class names in the query language, by default."
+msgstr ""
+"Cet élément a plusieurs attributs optionnels. Les attributs <literal>schema</"
+"literal> et <literal>catalog</literal> indiquent que les tables référencées "
+"par ce mapping appartiennent au schéma nommé et/ou au catalogue. S'ils sont "
+"spécifiés, les noms de tables seront qualifiés par les noms de schéma et "
+"catalogue. L'attribut <literal>default-cascade</literal> indique quel type "
+"de cascade sera utlisé par défaut pour les propriétés et collections qui ne "
+"précisent pas l'attribut <literal>cascade</literal>. L'attribut "
+"<literal>auto-import</literal> nous permet d'utiliser par défaut des noms de "
+"classes non qualifiés dans le langage de requête."
 
-#: index.docbook:114
+#. Tag: programlisting
+#: basic_mapping.xml:114
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping\n"
-      "         schema=\"schemaName\"\n"
-      "         catalog=\"catalogName\"\n"
-      "         default-cascade=\"cascade_style\"\n"
-      "         default-access=\"field|property|ClassName\"\n"
-      "         default-lazy=\"true|false\"\n"
-      "         auto-import=\"true|false\"\n"
-      "         package=\"package.name\"\n"
-      " />]]>"
-msgstr "<literal>package</literal> (optionnel) : Préfixe de package par défaut pour les noms de classe non qualifiés du document de mapping."
+"<![CDATA[<hibernate-mapping\n"
+"         schema=\"schemaName\"\n"
+"         catalog=\"catalogName\"\n"
+"         default-cascade=\"cascade_style\"\n"
+"         default-access=\"field|property|ClassName\"\n"
+"         default-lazy=\"true|false\"\n"
+"         auto-import=\"true|false\"\n"
+"         package=\"package.name\"\n"
+" />]]>"
+msgstr ""
 
-#: index.docbook:117
+#. Tag: para
+#: basic_mapping.xml:117
+#, no-c-format
 msgid "<literal>schema</literal> (optional): The name of a database schema."
-msgstr "Si deux classes possèdent le même nom de classe (non qualifié), vous devez indiquer <literal>auto-import=\"false\"</literal>. Hibernate lancera une exception si vous essayez d'assigner à deux classes le même nom importé."
+msgstr ""
+"<literal>schema</literal> (optionnel) : Le nom d'un schéma de base de "
+"données."
 
-#: index.docbook:122
+#. Tag: para
+#: basic_mapping.xml:122
+#, no-c-format
 msgid "<literal>catalog</literal> (optional): The name of a database catalog."
-msgstr "Notez que l'élément <literal>hibernate-mapping</literal> vous permet d'imbriquer plusieurs mappings de <literal>&lt;class&gt;</literal> persistantes, comme dans l'exemple ci-dessus. Cependant la bonne pratique (ce qui est attendu par certains outils) est de mapper une seule classe (ou une seule hiérarchie de classes) par fichier de mapping et de nommer ce fichier d'après le nom de la superclasse, par exemple <literal>Cat.hbm.xml</literal>, <literal>Dog.hbm.xml</literal>, ou en cas d'héritage, <literal>Animal.hbm.xml</literal>."
+msgstr ""
+"<literal>catalog</literal> (optionnel) : Le nom d'un catalogue de base de "
+"données."
 
-#: index.docbook:127
-msgid "<literal>default-cascade</literal> (optional - defaults to <literal>none</literal>): A default cascade style."
-msgstr "<title>class</title>"
+#. Tag: para
+#: basic_mapping.xml:127
+#, no-c-format
+msgid ""
+"<literal>default-cascade</literal> (optional - defaults to <literal>none</"
+"literal>): A default cascade style."
+msgstr ""
+"<literal>default-cascade</literal> (optionnel - par défaut vaut : "
+"<literal>none</literal>) : Un type de cascade par défaut."
 
-#: index.docbook:133
-msgid "<literal>default-access</literal> (optional - defaults to <literal>property</literal>): The strategy Hibernate should use for accessing all properties. Can be a custom implementation of <literal>PropertyAccessor</literal>."
-msgstr "Déclarez une classe persistante avec l'élément <literal>class</literal> :"
+#. Tag: para
+#: basic_mapping.xml:133
+#, no-c-format
+msgid ""
+"<literal>default-access</literal> (optional - defaults to <literal>property</"
+"literal>): The strategy Hibernate should use for accessing all properties. "
+"Can be a custom implementation of <literal>PropertyAccessor</literal>."
+msgstr ""
+"<literal>default-access</literal> (optionnel - par défaut vaut : "
+"<literal>property</literal>) : Comment hibernate accèdera aux propriétés. On "
+"peut aussi redéfinir sa propre implémentation de <literal>PropertyAccessor</"
+"literal>."
 
-#: index.docbook:140
-msgid "<literal>default-lazy</literal> (optional - defaults to <literal>true</literal>): The default value for unspecifed <literal>lazy</literal> attributes of class and collection mappings."
+#. Tag: para
+#: basic_mapping.xml:140
+#, no-c-format
+msgid ""
+"<literal>default-lazy</literal> (optional - defaults to <literal>true</"
+"literal>): The default value for unspecifed <literal>lazy</literal> "
+"attributes of class and collection mappings."
 msgstr ""
-      "<![CDATA[<class\n"
-      "        name=\"ClassName\"\n"
-      "        table=\"tableName\"\n"
-      "        discriminator-value=\"discriminator_value\"\n"
-      "        mutable=\"true|false\"\n"
-      "        schema=\"owner\"\n"
-      "        catalog=\"catalog\"\n"
-      "        proxy=\"ProxyInterface\"\n"
-      "        dynamic-update=\"true|false\"\n"
-      "        dynamic-insert=\"true|false\"\n"
-      "        select-before-update=\"true|false\"\n"
-      "        polymorphism=\"implicit|explicit\"\n"
-      "        where=\"arbitrary sql where condition\"\n"
-      "        persister=\"PersisterClass\"\n"
-      "        batch-size=\"N\"\n"
-      "        optimistic-lock=\"none|version|dirty|all\"\n"
-      "        lazy=\"true|false\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        catalog=\"catalog\"\n"
-      "        check=\"arbitrary sql check condition\"\n"
-      "        rowid=\"rowid\"\n"
-      "        subselect=\"SQL expression\"\n"
-      "        abstract=\"true|false\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "/>]]>"
+"<literal>default-lazy</literal> (optionnel - par défaut vaut : "
+"<literal>true</literal>) : Valeur par défaut pour un attribut <literal>lazy</"
+"literal> non spécifié : celui des mappings de classes et de collection."
 
-#: index.docbook:147
-msgid "<literal>auto-import</literal> (optional - defaults to <literal>true</literal>): Specifies whether we can use unqualified class names (of classes in this mapping) in the query language."
-msgstr "<literal>name</literal> (optionnel) : Le nom Java complet de la classe (ou interface) persistante. Si cet attribut est absent, il est supposé que ce mapping ne se rapporte pas à une entité POJO."
+#. Tag: para
+#: basic_mapping.xml:147
+#, no-c-format
+msgid ""
+"<literal>auto-import</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies whether we can use unqualified class names (of classes "
+"in this mapping) in the query language."
+msgstr ""
+"<literal>auto-import</literal> (optionnel - par défaut vaut : <literal>true</"
+"literal>) : Spécifie si l'on peut utiliser des noms de classes non qualifiés "
+"(des classes de ce mapping) dans le langage de requête."
 
-#: index.docbook:154
-msgid "<literal>package</literal> (optional): Specifies a package prefix to assume for unqualified class names in the mapping document."
-msgstr "<literal>table</literal> (optionnel - par défaut le nom (non-qualifié) de la classe) : Le nom de sa table en base de données."
+#. Tag: para
+#: basic_mapping.xml:154
+#, no-c-format
+msgid ""
+"<literal>package</literal> (optional): Specifies a package prefix to assume "
+"for unqualified class names in the mapping document."
+msgstr ""
+"<literal>package</literal> (optionnel) : Préfixe de package par défaut pour "
+"les noms de classe non qualifiés du document de mapping."
 
-#: index.docbook:162
-msgid "If you have two persistent classes with the same (unqualified) name, you should set <literal>auto-import=\"false\"</literal>. Hibernate will throw an exception if you attempt to assign two classes to the same \"imported\" name."
-msgstr "<literal>discriminator-value</literal> (optionnel - par défaut le nom de la classe) : Une valeur permettant de distinguer les sous-classes dans le cas de l'utilisation du polymorphisme. Les valeurs <literal>null</literal> et <literal>not null</literal> sont autorisées."
+#. Tag: para
+#: basic_mapping.xml:162
+#, no-c-format
+msgid ""
+"If you have two persistent classes with the same (unqualified) name, you "
+"should set <literal>auto-import=\"false\"</literal>. Hibernate will throw an "
+"exception if you attempt to assign two classes to the same \"imported\" name."
+msgstr ""
+"Si deux classes possèdent le même nom de classe (non qualifié), vous devez "
+"indiquer <literal>auto-import=\"false\"</literal>. Hibernate lancera une "
+"exception si vous essayez d'assigner à deux classes le même nom importé."
 
-#: index.docbook:168
-msgid "Note that the <literal>hibernate-mapping</literal> element allows you to nest several persistent <literal>&lt;class&gt;</literal> mappings, as shown above. It is however good practice (and expected by some tools) to map only a single persistent class (or a single class hierarchy) in one mapping file and name it after the persistent superclass, e.g. <literal>Cat.hbm.xml</literal>, <literal>Dog.hbm.xml</literal>, or if using inheritance, <literal>Animal.hbm.xml</literal>."
-msgstr "<literal>mutable</literal> (optionnel, vaut <literal>true</literal> par défaut) : Spécifie que des instances de la classe sont (ou non) immuables."
+#. Tag: para
+#: basic_mapping.xml:168
+#, no-c-format
+msgid ""
+"Note that the <literal>hibernate-mapping</literal> element allows you to "
+"nest several persistent <literal>&lt;class&gt;</literal> mappings, as shown "
+"above. It is however good practice (and expected by some tools) to map only "
+"a single persistent class (or a single class hierarchy) in one mapping file "
+"and name it after the persistent superclass, e.g. <literal>Cat.hbm.xml</"
+"literal>, <literal>Dog.hbm.xml</literal>, or if using inheritance, "
+"<literal>Animal.hbm.xml</literal>."
+msgstr ""
+"Notez que l'élément <literal>hibernate-mapping</literal> vous permet "
+"d'imbriquer plusieurs mappings de <literal>&lt;class&gt;</literal> "
+"persistantes, comme dans l'exemple ci-dessus. Cependant la bonne pratique "
+"(ce qui est attendu par certains outils) est de mapper une seule classe (ou "
+"une seule hiérarchie de classes) par fichier de mapping et de nommer ce "
+"fichier d'après le nom de la superclasse, par exemple <literal>Cat.hbm.xml</"
+"literal>, <literal>Dog.hbm.xml</literal>, ou en cas d'héritage, "
+"<literal>Animal.hbm.xml</literal>."
 
-#: index.docbook:181
+#. Tag: title
+#: basic_mapping.xml:181
+#, no-c-format
 msgid "<title>class</title>"
-msgstr "<literal>schema</literal> (optionnel) : Surcharge le nom de schéma spécifié par l'élément racine <literal>&lt;hibernate-mapping&gt;</literal>."
+msgstr ""
 
-#: index.docbook:183
-msgid "You may declare a persistent class using the <literal>class</literal> element:"
-msgstr "<literal>catalog</literal> (optionnel) : Surcharge le nom du catalogue spécifié par l'élément racine <literal>&lt;hibernate-mapping&gt;</literal>."
+#. Tag: para
+#: basic_mapping.xml:183
+#, no-c-format
+msgid ""
+"You may declare a persistent class using the <literal>class</literal> "
+"element:"
+msgstr ""
+"Déclarez une classe persistante avec l'élément <literal>class</literal> :"
 
-#: index.docbook:211
+#. Tag: programlisting
+#: basic_mapping.xml:211
+#, no-c-format
 msgid ""
-      "<![CDATA[<class\n"
-      "        name=\"ClassName\"\n"
-      "        table=\"tableName\"\n"
-      "        discriminator-value=\"discriminator_value\"\n"
-      "        mutable=\"true|false\"\n"
-      "        schema=\"owner\"\n"
-      "        catalog=\"catalog\"\n"
-      "        proxy=\"ProxyInterface\"\n"
-      "        dynamic-update=\"true|false\"\n"
-      "        dynamic-insert=\"true|false\"\n"
-      "        select-before-update=\"true|false\"\n"
-      "        polymorphism=\"implicit|explicit\"\n"
-      "        where=\"arbitrary sql where condition\"\n"
-      "        persister=\"PersisterClass\"\n"
-      "        batch-size=\"N\"\n"
-      "        optimistic-lock=\"none|version|dirty|all\"\n"
-      "        lazy=\"true|false\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        check=\"arbitrary sql check condition\"\n"
-      "        rowid=\"rowid\"\n"
-      "        subselect=\"SQL expression\"\n"
-      "        abstract=\"true|false\"\n"
-      "        node=\"element-name\"\n"
-      "/>]]>"
-msgstr "<literal>proxy</literal> (optionnel) : Spécifie une interface à utiliser pour l'initialisation différée (lazy loading) des proxies. Vous pouvez indiquer le nom de la classe elle-même."
+"<![CDATA[<class\n"
+"        name=\"ClassName\"\n"
+"        table=\"tableName\"\n"
+"        discriminator-value=\"discriminator_value\"\n"
+"        mutable=\"true|false\"\n"
+"        schema=\"owner\"\n"
+"        catalog=\"catalog\"\n"
+"        proxy=\"ProxyInterface\"\n"
+"        dynamic-update=\"true|false\"\n"
+"        dynamic-insert=\"true|false\"\n"
+"        select-before-update=\"true|false\"\n"
+"        polymorphism=\"implicit|explicit\"\n"
+"        where=\"arbitrary sql where condition\"\n"
+"        persister=\"PersisterClass\"\n"
+"        batch-size=\"N\"\n"
+"        optimistic-lock=\"none|version|dirty|all\"\n"
+"        lazy=\"true|false\"\n"
+"        entity-name=\"EntityName\"\n"
+"        check=\"arbitrary sql check condition\"\n"
+"        rowid=\"rowid\"\n"
+"        subselect=\"SQL expression\"\n"
+"        abstract=\"true|false\"\n"
+"        node=\"element-name\"\n"
+"/>]]>"
+msgstr ""
 
-#: index.docbook:214
-msgid "<literal>name</literal> (optional): The fully qualified Java class name of the persistent class (or interface). If this attribute is missing, it is assumed that the mapping is for a non-POJO entity."
-msgstr "<literal>dynamic-update</literal> (optionnel, par défaut à <literal>false</literal>) : Spécifie que les <literal>UPDATE</literal> SQL doivent être générés à l'exécution et contenir uniquement les colonnes dont les valeurs ont été modifiées."
+#. Tag: para
+#: basic_mapping.xml:214
+#, no-c-format
+msgid ""
+"<literal>name</literal> (optional): The fully qualified Java class name of "
+"the persistent class (or interface). If this attribute is missing, it is "
+"assumed that the mapping is for a non-POJO entity."
+msgstr ""
+"<literal>name</literal> (optionnel) : Le nom Java complet de la classe (ou "
+"interface) persistante. Si cet attribut est absent, il est supposé que ce "
+"mapping ne se rapporte pas à une entité POJO."
 
-#: index.docbook:221
-msgid "<literal>table</literal> (optional - defaults to the unqualified class name): The name of its database table."
-msgstr "<literal>dynamic-insert</literal> (optionnel, par défaut à <literal>false</literal>): Spécifie que les <literal>INSERT</literal> SQL doivent être générés à l'exécution et ne contenir que les colonnes dont les valeurs sont non nulles."
+#. Tag: para
+#: basic_mapping.xml:221
+#, no-c-format
+msgid ""
+"<literal>table</literal> (optional - defaults to the unqualified class "
+"name): The name of its database table."
+msgstr ""
+"<literal>table</literal> (optionnel - par défaut le nom (non-qualifié) de la "
+"classe) : Le nom de sa table en base de données."
 
-#: index.docbook:227
-msgid "<literal>discriminator-value</literal> (optional - defaults to the class name): A value that distiguishes individual subclasses, used for polymorphic behaviour. Acceptable values include <literal>null</literal> and <literal>not null</literal>."
-msgstr "<literal>select-before-update</literal> (optionnel, par défaut à <literal>false</literal>): Spécifie que Hibernate ne doit <emphasis>jamais</emphasis> exécuter un <literal>UPDATE</literal> SQL sans être certain qu'un objet a été réellement modifié. Dans certains cas, (en réalité, seulement quand un objet transient a été associé à une nouvelle session par <literal>update()</literal>), cela signifie que Hibernate exécutera un <literal>SELECT</literal> SQL pour s'assurer qu'un <literal>UPDATE</literal> SQL est véritablement nécessaire."
+#. Tag: para
+#: basic_mapping.xml:227
+#, no-c-format
+msgid ""
+"<literal>discriminator-value</literal> (optional - defaults to the class "
+"name): A value that distiguishes individual subclasses, used for polymorphic "
+"behaviour. Acceptable values include <literal>null</literal> and "
+"<literal>not null</literal>."
+msgstr ""
+"<literal>discriminator-value</literal> (optionnel - par défaut le nom de la "
+"classe) : Une valeur permettant de distinguer les sous-classes dans le cas "
+"de l'utilisation du polymorphisme. Les valeurs <literal>null</literal> et "
+"<literal>not null</literal> sont autorisées."
 
-#: index.docbook:234
-msgid "<literal>mutable</literal> (optional, defaults to <literal>true</literal>): Specifies that instances of the class are (not) mutable."
-msgstr "<literal>polymorphism</literal> (optionnel, vaut <literal>implicit</literal> par défaut) : Détermine si, pour cette classe, une requête polymorphique implicite ou explicite est utilisée."
+#. Tag: para
+#: basic_mapping.xml:234
+#, no-c-format
+msgid ""
+"<literal>mutable</literal> (optional, defaults to <literal>true</literal>): "
+"Specifies that instances of the class are (not) mutable."
+msgstr ""
+"<literal>mutable</literal> (optionnel, vaut <literal>true</literal> par "
+"défaut) : Spécifie que des instances de la classe sont (ou non) immuables."
 
-#: index.docbook:240, index.docbook:2204
-msgid "<literal>schema</literal> (optional): Override the schema name specified by the root <literal>&lt;hibernate-mapping&gt;</literal> element."
-msgstr "<literal>where</literal> (optionnel) spécifie une clause SQL <literal>WHERE</literal> à utiliser lorsque l'on récupère des objets de cette classe."
+#. Tag: para
+#: basic_mapping.xml:240 basic_mapping.xml:2204
+#, fuzzy, no-c-format
+msgid ""
+"<literal>schema</literal> (optional): Override the schema name specified by "
+"the root <literal>&lt;hibernate-mapping&gt;</literal> element."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>schema</literal> (optionnel) : Surcharge le nom de schéma spécifié "
+"par l'élément racine <literal>&lt;hibernate-mapping&gt;</literal>.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>schema</literal> (optionnel) : court-circuite le nom de schéma "
+"spécifié par l'élément de base <literal>&lt;hibernate-mapping&gt;</literal>."
 
-#: index.docbook:246, index.docbook:2210
-msgid "<literal>catalog</literal> (optional): Override the catalog name specified by the root <literal>&lt;hibernate-mapping&gt;</literal> element."
-msgstr "<literal>persister</literal> (optionnel) : Spécifie un <literal>ClassPersister</literal> particulier."
+#. Tag: para
+#: basic_mapping.xml:246 basic_mapping.xml:2210
+#, fuzzy, no-c-format
+msgid ""
+"<literal>catalog</literal> (optional): Override the catalog name specified "
+"by the root <literal>&lt;hibernate-mapping&gt;</literal> element."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>catalog</literal> (optionnel) : Surcharge le nom du catalogue "
+"spécifié par l'élément racine <literal>&lt;hibernate-mapping&gt;</literal>.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>catalog</literal> (optionnel) : court-circuite le nom de catalogue "
+"spécifié par l'élément de base <literal>&lt;hibernate-mapping&gt;</literal>."
 
-#: index.docbook:252
-msgid "<literal>proxy</literal> (optional): Specifies an interface to use for lazy initializing proxies. You may specify the name of the class itself."
-msgstr "<literal>batch-size</literal> (optionnel, par défaut = <literal>1</literal>) : spécifie une taille de batch pour remplir les instances de cette classe par identifiant en une seule requête."
+#. Tag: para
+#: basic_mapping.xml:252
+#, no-c-format
+msgid ""
+"<literal>proxy</literal> (optional): Specifies an interface to use for lazy "
+"initializing proxies. You may specify the name of the class itself."
+msgstr ""
+"<literal>proxy</literal> (optionnel) : Spécifie une interface à utiliser "
+"pour l'initialisation différée (lazy loading) des proxies. Vous pouvez "
+"indiquer le nom de la classe elle-même."
 
-#: index.docbook:258
-msgid "<literal>dynamic-update</literal> (optional, defaults to <literal>false</literal>): Specifies that <literal>UPDATE</literal> SQL should be generated at runtime and contain only those columns whose values have changed."
-msgstr "<literal>optimistic-lock</literal> (optionnel, par défaut = <literal>version</literal>) : Détermine la stratégie de verrou optimiste."
+#. Tag: para
+#: basic_mapping.xml:258
+#, no-c-format
+msgid ""
+"<literal>dynamic-update</literal> (optional, defaults to <literal>false</"
+"literal>): Specifies that <literal>UPDATE</literal> SQL should be generated "
+"at runtime and contain only those columns whose values have changed."
+msgstr ""
+"<literal>dynamic-update</literal> (optionnel, par défaut à <literal>false</"
+"literal>) : Spécifie que les <literal>UPDATE</literal> SQL doivent être "
+"générés à l'exécution et contenir uniquement les colonnes dont les valeurs "
+"ont été modifiées."
 
-#: index.docbook:265
-msgid "<literal>dynamic-insert</literal> (optional, defaults to <literal>false</literal>): Specifies that <literal>INSERT</literal> SQL should be generated at runtime and contain only the columns whose values are not null."
-msgstr "<literal>lazy</literal> (optionnel) : Déclarer <literal>lazy=\"true\"</literal> est un raccourci pour spécifier le nom de la classe comme étant l'interface <literal>proxy</literal>."
+#. Tag: para
+#: basic_mapping.xml:265
+#, no-c-format
+msgid ""
+"<literal>dynamic-insert</literal> (optional, defaults to <literal>false</"
+"literal>): Specifies that <literal>INSERT</literal> SQL should be generated "
+"at runtime and contain only the columns whose values are not null."
+msgstr ""
+"<literal>dynamic-insert</literal> (optionnel, par défaut à <literal>false</"
+"literal>): Spécifie que les <literal>INSERT</literal> SQL doivent être "
+"générés à l'exécution et ne contenir que les colonnes dont les valeurs sont "
+"non nulles."
 
-#: index.docbook:272
-msgid "<literal>select-before-update</literal> (optional, defaults to <literal>false</literal>): Specifies that Hibernate should <emphasis>never</emphasis> perform an SQL <literal>UPDATE</literal> unless it is certain that an object is actually modified. In certain cases (actually, only when a transient object has been associated with a new session using <literal>update()</literal>), this means that Hibernate will perform an extra SQL <literal>SELECT</literal> to determine if an <literal>UPDATE</literal> is actually required."
-msgstr "<literal>entity-name</literal> (optionnel) : Hibernate3 permet à une classe d'être mappée plusieurs fois (potentiellement à plusieurs tables), et permet aux mappings d'entité d'être représentés par des Maps ou du XML au niveau Java. Dans ces cas, vous devez indiquer un nom explicite arbitraire pour les entités. Voir <xref linkend=\"persistent-classes-dynamicmodels\"/> et <xref linkend=\"xml\"/> pour plus d'informations."
+#. Tag: para
+#: basic_mapping.xml:272
+#, no-c-format
+msgid ""
+"<literal>select-before-update</literal> (optional, defaults to "
+"<literal>false</literal>): Specifies that Hibernate should <emphasis>never</"
+"emphasis> perform an SQL <literal>UPDATE</literal> unless it is certain that "
+"an object is actually modified. In certain cases (actually, only when a "
+"transient object has been associated with a new session using <literal>update"
+"()</literal>), this means that Hibernate will perform an extra SQL "
+"<literal>SELECT</literal> to determine if an <literal>UPDATE</literal> is "
+"actually required."
+msgstr ""
+"<literal>select-before-update</literal> (optionnel, par défaut à "
+"<literal>false</literal>): Spécifie que Hibernate ne doit <emphasis>jamais</"
+"emphasis> exécuter un <literal>UPDATE</literal> SQL sans être certain qu'un "
+"objet a été réellement modifié. Dans certains cas, (en réalité, seulement "
+"quand un objet transient a été associé à une nouvelle session par "
+"<literal>update()</literal>), cela signifie que Hibernate exécutera un "
+"<literal>SELECT</literal> SQL pour s'assurer qu'un <literal>UPDATE</literal> "
+"SQL est véritablement nécessaire."
 
-#: index.docbook:282
-msgid "<literal>polymorphism</literal> (optional, defaults to <literal>implicit</literal>): Determines whether implicit or explicit query polymorphism is used."
-msgstr "<literal>catalog</literal> (optionnel) : The name of a database catalog used for this class and its table."
+#. Tag: para
+#: basic_mapping.xml:282
+#, no-c-format
+msgid ""
+"<literal>polymorphism</literal> (optional, defaults to <literal>implicit</"
+"literal>): Determines whether implicit or explicit query polymorphism is "
+"used."
+msgstr ""
+"<literal>polymorphism</literal> (optionnel, vaut <literal>implicit</literal> "
+"par défaut) : Détermine si, pour cette classe, une requête polymorphique "
+"implicite ou explicite est utilisée."
 
-#: index.docbook:288
-msgid "<literal>where</literal> (optional) specify an arbitrary SQL <literal>WHERE</literal> condition to be used when retrieving objects of this class"
-msgstr "<literal>check</literal> (optionnel) : expression SQL utilisée pour générer une contrainte de vérification multi-lignes pour la génération automatique de schéma."
+#. Tag: para
+#: basic_mapping.xml:288
+#, no-c-format
+msgid ""
+"<literal>where</literal> (optional) specify an arbitrary SQL <literal>WHERE</"
+"literal> condition to be used when retrieving objects of this class"
+msgstr ""
+"<literal>where</literal> (optionnel) spécifie une clause SQL <literal>WHERE</"
+"literal> à utiliser lorsque l'on récupère des objets de cette classe."
 
-#: index.docbook:294
-msgid "<literal>persister</literal> (optional): Specifies a custom <literal>ClassPersister</literal>."
-msgstr "<literal>rowid</literal> (optionnel) : Hibernate peut utiliser des ROWID sur les bases de données qui utilisent ce mécanisme. Par exemple avec Oracle, Hibernate peut utiliser la colonne additionnelle <literal>rowid</literal> pour des mises à jour rapides si cette option vaut <literal>rowid</literal>. Un ROWID représente la localisation physique d'un tuple enregistré."
+#. Tag: para
+#: basic_mapping.xml:294
+#, no-c-format
+msgid ""
+"<literal>persister</literal> (optional): Specifies a custom "
+"<literal>ClassPersister</literal>."
+msgstr ""
+"<literal>persister</literal> (optionnel) : Spécifie un "
+"<literal>ClassPersister</literal> particulier."
 
-#: index.docbook:299
-msgid "<literal>batch-size</literal> (optional, defaults to <literal>1</literal>) specify a \"batch size\" for fetching instances of this class by identifier."
-msgstr "<literal>subselect</literal> (optionnel) : Permet de mapper une entité immuable en lecture-seule sur un sous-select de base de données. Utile pour avoir une vue au lieu d'une table en base, mais à éviter. Voir plus bas pour plus d'information."
+#. Tag: para
+#: basic_mapping.xml:299
+#, no-c-format
+msgid ""
+"<literal>batch-size</literal> (optional, defaults to <literal>1</literal>) "
+"specify a \"batch size\" for fetching instances of this class by identifier."
+msgstr ""
+"<literal>batch-size</literal> (optionnel, par défaut = <literal>1</"
+"literal>) : spécifie une taille de batch pour remplir les instances de cette "
+"classe par identifiant en une seule requête."
 
-#: index.docbook:305
-msgid "<literal>optimistic-lock</literal> (optional, defaults to <literal>version</literal>): Determines the optimistic locking strategy."
-msgstr "<literal>abstract</literal> (optionnel) : Utilisé pour marquer des superclasses abstraites dans des hiérarchies de <literal>&lt;union-subclass&gt;</literal>."
+#. Tag: para
+#: basic_mapping.xml:305
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional, defaults to <literal>version</"
+"literal>): Determines the optimistic locking strategy."
+msgstr ""
+"<literal>optimistic-lock</literal> (optionnel, par défaut = "
+"<literal>version</literal>) : Détermine la stratégie de verrou optimiste."
 
-#: index.docbook:311
-msgid "<literal>lazy</literal> (optional): Lazy fetching may be completely disabled by setting <literal>lazy=\"false\"</literal>."
-msgstr "Il est tout à fait possible d'utiliser une interface comme nom de classe persistante. Vous devez alors déclarer les classes implémentant cette interface en utilisant l'élément <literal>&lt;subclass&gt;</literal>. Vous pouvez faire persister toute classe interne <emphasis>static</emphasis>. Vous devez alors spécifier le nom de la classe par la notation habituelle des classes internes c'est à dire <literal>eg.Foo$Bar</literal>."
+#. Tag: para
+#: basic_mapping.xml:311
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional): Lazy fetching may be completely disabled "
+"by setting <literal>lazy=\"false\"</literal>."
+msgstr ""
+"<literal>lazy</literal> (optionnel) : Déclarer <literal>lazy=\"true\"</"
+"literal> est un raccourci pour spécifier le nom de la classe comme étant "
+"l'interface <literal>proxy</literal>."
 
-#: index.docbook:317
-msgid "<literal>entity-name</literal> (optional, defaults to the class name): Hibernate3 allows a class to be mapped multiple times (to different tables, potentially), and allows entity mappings that are represented by Maps or XML at the Java level. In these cases, you should provide an explicit arbitrary name for the entity. See <xref linkend=\"persistent-classes-dynamicmodels\"/> and <xref linkend=\"xml\"/> for more information."
-msgstr "Les classes immuables, <literal>mutable=\"false\"</literal>, ne peuvent pas être modifiées ou supprimées par l'application. Cela permet à Hibernate de faire quelques optimisations mineures sur les performances."
+#. Tag: para
+#: basic_mapping.xml:317
+#, no-c-format
+msgid ""
+"<literal>entity-name</literal> (optional, defaults to the class name): "
+"Hibernate3 allows a class to be mapped multiple times (to different tables, "
+"potentially), and allows entity mappings that are represented by Maps or XML "
+"at the Java level. In these cases, you should provide an explicit arbitrary "
+"name for the entity. See <xref linkend=\"persistent-classes-dynamicmodels\"/"
+"> and <xref linkend=\"xml\"/> for more information."
+msgstr ""
+"<literal>entity-name</literal> (optionnel) : Hibernate3 permet à une classe "
+"d'être mappée plusieurs fois (potentiellement à plusieurs tables), et permet "
+"aux mappings d'entité d'être représentés par des Maps ou du XML au niveau "
+"Java. Dans ces cas, vous devez indiquer un nom explicite arbitraire pour les "
+"entités. Voir <xref linkend=\"persistent-classes-dynamicmodels\"/> et <xref "
+"linkend=\"xml\"/> pour plus d'informations."
 
-#: index.docbook:327
-msgid "<literal>check</literal> (optional): A SQL expression used to generate a multi-row <emphasis>check</emphasis> constraint for automatic schema generation."
-msgstr "L'attribut optionnnel <literal>proxy</literal> permet les intialisations différées des instances persistantes de la classe. Hibernate retournera initialement des proxies CGLIB qui implémentent l'interface nommée. Le véritable objet persistant ne sera chargé que lorsque une méthode du proxy sera appelée. Voir plus bas le paragraphe abordant les proxies et le chargement différé (lazy initialization)."
+#. Tag: para
+#: basic_mapping.xml:327
+#, no-c-format
+msgid ""
+"<literal>check</literal> (optional): A SQL expression used to generate a "
+"multi-row <emphasis>check</emphasis> constraint for automatic schema "
+"generation."
+msgstr ""
+"<literal>check</literal> (optionnel) : expression SQL utilisée pour générer "
+"une contrainte de vérification multi-lignes pour la génération automatique "
+"de schéma."
 
-#: index.docbook:333
-msgid "<literal>rowid</literal> (optional): Hibernate can use so called ROWIDs on databases which support. E.g. on Oracle, Hibernate can use the <literal>rowid</literal> extra column for fast updates if you set this option to <literal>rowid</literal>. A ROWID is an implementation detail and represents the physical location of a stored tuple."
-msgstr "Le polymorphisme <emphasis>implicite</emphasis> signifie que les instances de la classe seront retournées par une requête qui utilise les noms de la classe ou de chacune de ses superclasses ou encore des interfaces implémentées par cette classe ou ses superclasses. Les instances des classes filles seront retournées par une requête qui utilise le nom de la classe elle même. Le polymorphisme <emphasis>explicite</emphasis> signifie que les instances de la classe ne seront retournées que par une requête qui utilise explicitement son nom et que seules les instances des classes filles déclarées dans les éléments <literal>&lt;subclass&gt;</literal> ou <literal>&lt;joined-subclass&gt;</literal> seront retournées. Dans la majorités des cas la valeur par défaut, <literal>polymorphism=\"implicit\"</literal>, est appropriée. Le polymorphisme explicite est utile lorsque deux classes différentes sont mappées à la même table (ceci permet d'écrire une classe \!
 "légère\" qui ne contient qu'une partie des colonnes de la table - voir la partie design pattern du site communautaire)."
+#. Tag: para
+#: basic_mapping.xml:333
+#, no-c-format
+msgid ""
+"<literal>rowid</literal> (optional): Hibernate can use so called ROWIDs on "
+"databases which support. E.g. on Oracle, Hibernate can use the "
+"<literal>rowid</literal> extra column for fast updates if you set this "
+"option to <literal>rowid</literal>. A ROWID is an implementation detail and "
+"represents the physical location of a stored tuple."
+msgstr ""
+"<literal>rowid</literal> (optionnel) : Hibernate peut utiliser des ROWID sur "
+"les bases de données qui utilisent ce mécanisme. Par exemple avec Oracle, "
+"Hibernate peut utiliser la colonne additionnelle <literal>rowid</literal> "
+"pour des mises à jour rapides si cette option vaut <literal>rowid</literal>. "
+"Un ROWID représente la localisation physique d'un tuple enregistré."
 
-#: index.docbook:341
-msgid "<literal>subselect</literal> (optional): Maps an immutable and read-only entity to a database subselect. Useful if you want to have a view instead of a base table, but don't. See below for more information."
-msgstr "L'attribut <literal>persister</literal> vous permet de customiser la stratégie utilisée pour la classe. Vous pouvez, par exemple, spécifier votre propre sous-classe de <literal>org.hibernate.persister.EntityPersister</literal> ou vous pourriez aussi créer une nouvelle implémentation de l'interface <literal>org.hibernate.persister.ClassPersister</literal> qui proposerait une persistance via, par exemple, des appels de procédures stockées, de la sérialisation vers des fichiers plats ou un annuaire LDAP. Voir <literal>org.hibernate.test.CustomPersister</literal> pour un exemple simple (d'une \"persistance\" vers une <literal>Hashtable</literal>)."
+#. Tag: para
+#: basic_mapping.xml:341
+#, no-c-format
+msgid ""
+"<literal>subselect</literal> (optional): Maps an immutable and read-only "
+"entity to a database subselect. Useful if you want to have a view instead of "
+"a base table, but don't. See below for more information."
+msgstr ""
+"<literal>subselect</literal> (optionnel) : Permet de mapper une entité "
+"immuable en lecture-seule sur un sous-select de base de données. Utile pour "
+"avoir une vue au lieu d'une table en base, mais à éviter. Voir plus bas pour "
+"plus d'information."
 
-#: index.docbook:348
-msgid "<literal>abstract</literal> (optional): Used to mark abstract superclasses in <literal>&lt;union-subclass&gt;</literal> hierarchies."
-msgstr "Notez que les paramètres <literal>dynamic-update</literal> et <literal>dynamic-insert</literal> ne sont pas hérités par les sous-classes et peuvent donc être spécifiés pour les éléments <literal>&lt;subclass&gt;</literal> ou <literal>&lt;joined-subclass&gt;</literal> Ces paramètres peuvent améliorer les performances dans certains cas, mais peuvent aussi les amoindrir. A utiliser en connaissance de causes."
+#. Tag: para
+#: basic_mapping.xml:348
+#, no-c-format
+msgid ""
+"<literal>abstract</literal> (optional): Used to mark abstract superclasses "
+"in <literal>&lt;union-subclass&gt;</literal> hierarchies."
+msgstr ""
+"<literal>abstract</literal> (optionnel) : Utilisé pour marquer des "
+"superclasses abstraites dans des hiérarchies de <literal>&lt;union-"
+"subclass&gt;</literal>."
 
-#: index.docbook:356
-msgid "It is perfectly acceptable for the named persistent class to be an interface. You would then declare implementing classes of that interface using the <literal>&lt;subclass&gt;</literal> element. You may persist any <emphasis>static</emphasis> inner class. You should specify the class name using the standard form ie. <literal>eg.Foo$Bar</literal>."
-msgstr "L'utilisation de <literal>select-before-update</literal> va généralement faire baisser les performances. Ce paramètre est pratique pour prévenir l'appel inutile d'un trigger sur modification quand on réattache un graphe d'instances à une <literal>Session</literal>."
+#. Tag: para
+#: basic_mapping.xml:356
+#, no-c-format
+msgid ""
+"It is perfectly acceptable for the named persistent class to be an "
+"interface. You would then declare implementing classes of that interface "
+"using the <literal>&lt;subclass&gt;</literal> element. You may persist any "
+"<emphasis>static</emphasis> inner class. You should specify the class name "
+"using the standard form ie. <literal>eg.Foo$Bar</literal>."
+msgstr ""
+"Il est tout à fait possible d'utiliser une interface comme nom de classe "
+"persistante. Vous devez alors déclarer les classes implémentant cette "
+"interface en utilisant l'élément <literal>&lt;subclass&gt;</literal>. Vous "
+"pouvez faire persister toute classe interne <emphasis>static</emphasis>. "
+"Vous devez alors spécifier le nom de la classe par la notation habituelle "
+"des classes internes c'est à dire <literal>eg.Foo$Bar</literal>."
 
-#: index.docbook:363
-msgid "Immutable classes, <literal>mutable=\"false\"</literal>, may not be updated or deleted by the application. This allows Hibernate to make some minor performance optimizations."
-msgstr "Si vous utilisez le <literal>dynamic-update</literal>, les différentes stratégies de verrouillage optimiste (optimistic locking) sont les suivantes:"
+#. Tag: para
+#: basic_mapping.xml:363
+#, no-c-format
+msgid ""
+"Immutable classes, <literal>mutable=\"false\"</literal>, may not be updated "
+"or deleted by the application. This allows Hibernate to make some minor "
+"performance optimizations."
+msgstr ""
+"Les classes immuables, <literal>mutable=\"false\"</literal>, ne peuvent pas "
+"être modifiées ou supprimées par l'application. Cela permet à Hibernate de "
+"faire quelques optimisations mineures sur les performances."
 
-#: index.docbook:368
-msgid "The optional <literal>proxy</literal> attribute enables lazy initialization of persistent instances of the class. Hibernate will initially return CGLIB proxies which implement the named interface. The actual persistent object will be loaded when a method of the proxy is invoked. See \"Initializing collections and proxies\" below."
-msgstr "<literal>version</literal> vérifie les colonnes version/timestamp"
+#. Tag: para
+#: basic_mapping.xml:368
+#, no-c-format
+msgid ""
+"The optional <literal>proxy</literal> attribute enables lazy initialization "
+"of persistent instances of the class. Hibernate will initially return CGLIB "
+"proxies which implement the named interface. The actual persistent object "
+"will be loaded when a method of the proxy is invoked. See \"Initializing "
+"collections and proxies\" below."
+msgstr ""
+"L'attribut optionnnel <literal>proxy</literal> permet les intialisations "
+"différées des instances persistantes de la classe. Hibernate retournera "
+"initialement des proxies CGLIB qui implémentent l'interface nommée. Le "
+"véritable objet persistant ne sera chargé que lorsque une méthode du proxy "
+"sera appelée. Voir plus bas le paragraphe abordant les proxies et le "
+"chargement différé (lazy initialization)."
 
-#: index.docbook:375
-msgid "<emphasis>Implicit</emphasis> polymorphism means that instances of the class will be returned by a query that names any superclass or implemented interface or the class and that instances of any subclass of the class will be returned by a query that names the class itself. <emphasis>Explicit</emphasis> polymorphism means that class instances will be returned only by queries that explicitly name that class and that queries that name the class will return only instances of subclasses mapped inside this <literal>&lt;class&gt;</literal> declaration as a <literal>&lt;subclass&gt;</literal> or <literal>&lt;joined-subclass&gt;</literal>. For most purposes the default, <literal>polymorphism=\"implicit\"</literal>, is appropriate. Explicit polymorphism is useful when two different classes are mapped to the same table (this allows a \"lightweight\" class that contains a subset of the table columns)."
-msgstr "<literal>all</literal> vérifie toutes les colonnes"
+#. Tag: para
+#: basic_mapping.xml:375
+#, no-c-format
+msgid ""
+"<emphasis>Implicit</emphasis> polymorphism means that instances of the class "
+"will be returned by a query that names any superclass or implemented "
+"interface or the class and that instances of any subclass of the class will "
+"be returned by a query that names the class itself. <emphasis>Explicit</"
+"emphasis> polymorphism means that class instances will be returned only by "
+"queries that explicitly name that class and that queries that name the class "
+"will return only instances of subclasses mapped inside this <literal>&lt;"
+"class&gt;</literal> declaration as a <literal>&lt;subclass&gt;</literal> or "
+"<literal>&lt;joined-subclass&gt;</literal>. For most purposes the default, "
+"<literal>polymorphism=\"implicit\"</literal>, is appropriate. Explicit "
+"polymorphism is useful when two different classes are mapped to the same "
+"table (this allows a \"lightweight\" class that contains a subset of the "
+"table columns)."
+msgstr ""
+"Le polymorphisme <emphasis>implicite</emphasis> signifie que les instances "
+"de la classe seront retournées par une requête qui utilise les noms de la "
+"classe ou de chacune de ses superclasses ou encore des interfaces "
+"implémentées par cette classe ou ses superclasses. Les instances des classes "
+"filles seront retournées par une requête qui utilise le nom de la classe "
+"elle même. Le polymorphisme <emphasis>explicite</emphasis> signifie que les "
+"instances de la classe ne seront retournées que par une requête qui utilise "
+"explicitement son nom et que seules les instances des classes filles "
+"déclarées dans les éléments <literal>&lt;subclass&gt;</literal> ou "
+"<literal>&lt;joined-subclass&gt;</literal> seront retournées. Dans la "
+"majorités des cas la valeur par défaut, <literal>polymorphism=\"implicit\"</"
+"literal>, est appropriée. Le polymorphisme explicite est utile lorsque deux "
+"classes différentes sont mappées à la même table (ceci permet d'écrire une "
+"classe \"légère\" qui ne contient qu'une partie des colonnes de la table - "
+"voir la partie design pattern du site communautaire)."
 
-#: index.docbook:387
-msgid "The <literal>persister</literal> attribute lets you customize the persistence strategy used for the class. You may, for example, specify your own subclass of <literal>org.hibernate.persister.EntityPersister</literal> or you might even provide a completely new implementation of the interface <literal>org.hibernate.persister.ClassPersister</literal> that implements persistence via, for example, stored procedure calls, serialization to flat files or LDAP. See <literal>org.hibernate.test.CustomPersister</literal> for a simple example (of \"persistence\" to a <literal>Hashtable</literal>)."
-msgstr "<literal>dirty</literal> vérifie les colonnes modifiées, permettant des updates concurrents"
+#. Tag: para
+#: basic_mapping.xml:387
+#, no-c-format
+msgid ""
+"The <literal>persister</literal> attribute lets you customize the "
+"persistence strategy used for the class. You may, for example, specify your "
+"own subclass of <literal>org.hibernate.persister.EntityPersister</literal> "
+"or you might even provide a completely new implementation of the interface "
+"<literal>org.hibernate.persister.ClassPersister</literal> that implements "
+"persistence via, for example, stored procedure calls, serialization to flat "
+"files or LDAP. See <literal>org.hibernate.test.CustomPersister</literal> for "
+"a simple example (of \"persistence\" to a <literal>Hashtable</literal>)."
+msgstr ""
+"L'attribut <literal>persister</literal> vous permet de customiser la "
+"stratégie utilisée pour la classe. Vous pouvez, par exemple, spécifier votre "
+"propre sous-classe de <literal>org.hibernate.persister.EntityPersister</"
+"literal> ou vous pourriez aussi créer une nouvelle implémentation de "
+"l'interface <literal>org.hibernate.persister.ClassPersister</literal> qui "
+"proposerait une persistance via, par exemple, des appels de procédures "
+"stockées, de la sérialisation vers des fichiers plats ou un annuaire LDAP. "
+"Voir <literal>org.hibernate.test.CustomPersister</literal> pour un exemple "
+"simple (d'une \"persistance\" vers une <literal>Hashtable</literal>)."
 
-#: index.docbook:398
-msgid "Note that the <literal>dynamic-update</literal> and <literal>dynamic-insert</literal> settings are not inherited by subclasses and so may also be specified on the <literal>&lt;subclass&gt;</literal> or <literal>&lt;joined-subclass&gt;</literal> elements. These settings may increase performance in some cases, but might actually decrease performance in others. Use judiciously."
-msgstr "<literal>none</literal> pas de verrouillage optimiste"
+#. Tag: para
+#: basic_mapping.xml:398
+#, no-c-format
+msgid ""
+"Note that the <literal>dynamic-update</literal> and <literal>dynamic-insert</"
+"literal> settings are not inherited by subclasses and so may also be "
+"specified on the <literal>&lt;subclass&gt;</literal> or <literal>&lt;joined-"
+"subclass&gt;</literal> elements. These settings may increase performance in "
+"some cases, but might actually decrease performance in others. Use "
+"judiciously."
+msgstr ""
+"Notez que les paramètres <literal>dynamic-update</literal> et "
+"<literal>dynamic-insert</literal> ne sont pas hérités par les sous-classes "
+"et peuvent donc être spécifiés pour les éléments <literal>&lt;subclass&gt;</"
+"literal> ou <literal>&lt;joined-subclass&gt;</literal> Ces paramètres "
+"peuvent améliorer les performances dans certains cas, mais peuvent aussi les "
+"amoindrir. A utiliser en connaissance de causes."
 
-#: index.docbook:406
-msgid "Use of <literal>select-before-update</literal> will usually decrease performance. It is very useful to prevent a database update trigger being called unnecessarily if you reattach a graph of detached instances to a <literal>Session</literal>."
-msgstr "Nous encourageons <emphasis>très</emphasis> fortement l'utilisation de colonnes de version/timestamp pour le verrouillage optimiste avec Hibernate. C'est la meilleure stratégie en regard des performances et la seule qui gère correctement les modifications sur les objets détachés (c'est à dire lorsqu'on utilise <literal>Session.merge()</literal>)."
+#. Tag: para
+#: basic_mapping.xml:406
+#, no-c-format
+msgid ""
+"Use of <literal>select-before-update</literal> will usually decrease "
+"performance. It is very useful to prevent a database update trigger being "
+"called unnecessarily if you reattach a graph of detached instances to a "
+"<literal>Session</literal>."
+msgstr ""
+"L'utilisation de <literal>select-before-update</literal> va généralement "
+"faire baisser les performances. Ce paramètre est pratique pour prévenir "
+"l'appel inutile d'un trigger sur modification quand on réattache un graphe "
+"d'instances à une <literal>Session</literal>."
 
-#: index.docbook:412
-msgid "If you enable <literal>dynamic-update</literal>, you will have a choice of optimistic locking strategies:"
-msgstr "Il n'y a pas de différence entre table et vue pour le mapping Hibernate, tant que c'est transparent au niveau base de données (remarquez que certaines BDD ne supportent pas les vues correctement, notamment pour les updates). Vous rencontrerez peut-être des cas où vous souhaitez utiliser une vue mais ne pouvez pas en créer sur votre BDD (par exemple à cause de schémas anciens et figés). Dans ces cas, vous pouvez mapper une entité immuable en lecture seule sur un sous-select SQL donné:"
+#. Tag: para
+#: basic_mapping.xml:412
+#, no-c-format
+msgid ""
+"If you enable <literal>dynamic-update</literal>, you will have a choice of "
+"optimistic locking strategies:"
+msgstr ""
+"Si vous utilisez le <literal>dynamic-update</literal>, les différentes "
+"stratégies de verrouillage optimiste (optimistic locking) sont les suivantes:"
 
-#: index.docbook:418
+#. Tag: para
+#: basic_mapping.xml:418
+#, no-c-format
 msgid "<literal>version</literal> check the version/timestamp columns"
-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>]]>"
+msgstr "<literal>version</literal> vérifie les colonnes version/timestamp"
 
-#: index.docbook:423
+#. Tag: para
+#: basic_mapping.xml:423
+#, no-c-format
 msgid "<literal>all</literal> check all columns"
-msgstr "Déclarez les tables à synchroniser avec cette entité pour assurer que le flush automatique se produise correctement, et pour que les requêtes sur l'entité dérivée ne renvoient pas des données périmées. Le litéral <literal>&lt;subselect&gt;</literal> est disponible comme attribut ou comme élément de mapping."
+msgstr "<literal>all</literal> vérifie toutes les colonnes"
 
-#: index.docbook:428
-msgid "<literal>dirty</literal> check the changed columns, allowing some concurrent updates"
-msgstr "<title>id</title>"
+#. Tag: para
+#: basic_mapping.xml:428
+#, no-c-format
+msgid ""
+"<literal>dirty</literal> check the changed columns, allowing some concurrent "
+"updates"
+msgstr ""
+"<literal>dirty</literal> vérifie les colonnes modifiées, permettant des "
+"updates concurrents"
 
-#: index.docbook:433
+#. Tag: para
+#: basic_mapping.xml:433
+#, no-c-format
 msgid "<literal>none</literal> do not use optimistic locking"
-msgstr "Les classes mappées <emphasis>doivent</emphasis> déclarer la clef primaire de la table en base de données. La plupart des classes auront aussi une propriété de type javabean présentant l'identifiant unique d'une instance. L'élément <literal>&lt;id&gt;</literal> sert à définir le mapping entre cette propriété et la clef primaire en base."
+msgstr "<literal>none</literal> pas de verrouillage optimiste"
 
-#: index.docbook:438
-msgid "We <emphasis>very</emphasis> strongly recommend that you use version/timestamp columns for optimistic locking with Hibernate. This is the optimal strategy with respect to performance and is the only strategy that correctly handles modifications made to detached instances (ie. when <literal>Session.merge()</literal> is used)."
+#. Tag: para
+#: basic_mapping.xml:438
+#, no-c-format
+msgid ""
+"We <emphasis>very</emphasis> strongly recommend that you use version/"
+"timestamp columns for optimistic locking with Hibernate. This is the optimal "
+"strategy with respect to performance and is the only strategy that correctly "
+"handles modifications made to detached instances (ie. when <literal>Session."
+"merge()</literal> is used)."
 msgstr ""
-      "<![CDATA[<id\n"
-      "        name=\"propertyName\"\n"
-      "        type=\"typename\"\n"
-      "        column=\"column_name\"\n"
-      "        unsaved-value=\"null|any|none|undefined|id_value\"\n"
-      "        access=\"field|property|ClassName\">\n"
-      "\n"
-      "        <generator class=\"generatorClass\"/>\n"
-      "</id>]]>"
+"Nous encourageons <emphasis>très</emphasis> fortement l'utilisation de "
+"colonnes de version/timestamp pour le verrouillage optimiste avec Hibernate. "
+"C'est la meilleure stratégie en regard des performances et la seule qui gère "
+"correctement les modifications sur les objets détachés (c'est à dire "
+"lorsqu'on utilise <literal>Session.merge()</literal>)."
 
-#: index.docbook:445
-msgid "There is no difference between a view and a base table for a Hibernate mapping, as expected this is transparent at the database level (note that some DBMS don't support views properly, especially with updates). Sometimes you want to use a view, but can't create one in the database (ie. with a legacy schema). In this case, you can map an immutable and read-only entity to a given SQL subselect expression:"
-msgstr "<literal>name</literal> (optionnel) : Nom de la propriété qui sert d'identifiant."
+#. Tag: para
+#: basic_mapping.xml:445
+#, no-c-format
+msgid ""
+"There is no difference between a view and a base table for a Hibernate "
+"mapping, as expected this is transparent at the database level (note that "
+"some DBMS don't support views properly, especially with updates). Sometimes "
+"you want to use a view, but can't create one in the database (ie. with a "
+"legacy schema). In this case, you can map an immutable and read-only entity "
+"to a given SQL subselect expression:"
+msgstr ""
+"Il n'y a pas de différence entre table et vue pour le mapping Hibernate, "
+"tant que c'est transparent au niveau base de données (remarquez que "
+"certaines BDD ne supportent pas les vues correctement, notamment pour les "
+"updates). Vous rencontrerez peut-être des cas où vous souhaitez utiliser une "
+"vue mais ne pouvez pas en créer sur votre BDD (par exemple à cause de "
+"schémas anciens et figés). Dans ces cas, vous pouvez mapper une entité "
+"immuable en lecture seule sur un sous-select SQL donné:"
 
-#: index.docbook:453
+#. Tag: programlisting
+#: basic_mapping.xml:453
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Summary\">\n"
-      "    <subselect>\n"
-      "        select item.name, max(bid.amount), count(*)\n"
-      "        from item\n"
-      "        join bid on bid.item_id = item.id\n"
-      "        group by item.name\n"
-      "    </subselect>\n"
-      "    <synchronize table=\"item\"/>\n"
-      "    <synchronize table=\"bid\"/>\n"
-      "    <id name=\"name\"/>\n"
-      "    ...\n"
-      "</class>]]>"
-msgstr "<literal>type</literal> (optionnel) : Nom indiquant le type Hibernate."
+"<![CDATA[<class name=\"Summary\">\n"
+"    <subselect>\n"
+"        select item.name, max(bid.amount), count(*)\n"
+"        from item\n"
+"        join bid on bid.item_id = item.id\n"
+"        group by item.name\n"
+"    </subselect>\n"
+"    <synchronize table=\"item\"/>\n"
+"    <synchronize table=\"bid\"/>\n"
+"    <id name=\"name\"/>\n"
+"    ...\n"
+"</class>]]>"
+msgstr ""
 
-#: index.docbook:455
-msgid "Declare the tables to synchronize this entity with, ensuring that auto-flush happens correctly, and that queries against the derived entity do not return stale data. The <literal>&lt;subselect&gt;</literal> is available as both as an attribute and a nested mapping element."
-msgstr "<literal>column</literal> (optionnel - le nom de la propriété est pris par défaut) : Nom de la clef primaire."
+#. Tag: para
+#: basic_mapping.xml:455
+#, 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 as both as "
+"an attribute and a nested mapping element."
+msgstr ""
+"Déclarez les tables à synchroniser avec cette entité pour assurer que le "
+"flush automatique se produise correctement, et pour que les requêtes sur "
+"l'entité dérivée ne renvoient pas des données périmées. Le litéral "
+"<literal>&lt;subselect&gt;</literal> est disponible comme attribut ou comme "
+"élément de mapping."
 
-#: index.docbook:465
+#. Tag: title
+#: basic_mapping.xml:465
+#, no-c-format
 msgid "<title>id</title>"
-msgstr "<literal>unsaved-value</literal> (optionnel - par défaut une valeur \"bien choisie\") : Une valeur de la propriété d'identifiant qui indique que l'instance est nouvellement instanciée (non sauvegardée), et qui la distingue des instances <literal>transient</literal>s qui ont été sauvegardées ou chargées dans une session précédente."
+msgstr ""
 
-#: index.docbook:467
-msgid "Mapped classes <emphasis>must</emphasis> declare the primary key column of the database table. Most classes will also have a JavaBeans-style property holding the unique identifier of an instance. The <literal>&lt;id&gt;</literal> element defines the mapping from that property to the primary key column."
-msgstr "<literal>access</literal> (optionnel - par défaut <literal>property</literal>) : La stratégie que doit utiliser Hibernate pour accéder aux valeurs des propriétés."
+#. Tag: para
+#: basic_mapping.xml:467
+#, no-c-format
+msgid ""
+"Mapped classes <emphasis>must</emphasis> declare the primary key column of "
+"the database table. Most classes will also have a JavaBeans-style property "
+"holding the unique identifier of an instance. The <literal>&lt;id&gt;</"
+"literal> element defines the mapping from that property to the primary key "
+"column."
+msgstr ""
+"Les classes mappées <emphasis>doivent</emphasis> déclarer la clef primaire "
+"de la table en base de données. La plupart des classes auront aussi une "
+"propriété de type javabean présentant l'identifiant unique d'une instance. "
+"L'élément <literal>&lt;id&gt;</literal> sert à définir le mapping entre "
+"cette propriété et la clef primaire en base."
 
-#: index.docbook:482
+#. Tag: programlisting
+#: basic_mapping.xml:482
+#, no-c-format
 msgid ""
-      "<![CDATA[<id\n"
-      "        name=\"propertyName\"\n"
-      "        type=\"typename\"\n"
-      "        column=\"column_name\"\n"
-      "        unsaved-value=\"null|any|none|undefined|id_value\"\n"
-      "        access=\"field|property|ClassName\">\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "\n"
-      "        <generator class=\"generatorClass\"/>\n"
-      "</id>]]>"
-msgstr "Si l'attribut <literal>name</literal> est absent, Hibernate considère que la classe ne possède pas de propriété identifiant."
+"<![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 ""
 
-#: index.docbook:485
-msgid "<literal>name</literal> (optional): The name of the identifier property."
-msgstr "L'attribut <literal>unsaved-value</literal> est important ! Si l'identifiant de votre classe n'a pas une valeur par défaut compatible avec le comportement standard de Java (zéro ou null), vous devez alors préciser la valeur par défaut."
+#. Tag: para
+#: basic_mapping.xml:485
+#, no-c-format
+msgid ""
+"<literal>name</literal> (optional): The name of the identifier property."
+msgstr ""
+"<literal>name</literal> (optionnel) : Nom de la propriété qui sert "
+"d'identifiant."
 
-#: index.docbook:490
-msgid "<literal>type</literal> (optional): A name that indicates the Hibernate type."
-msgstr "La déclaration alternative <literal>&lt;composite-id&gt;</literal> permet l'acccès aux données d'anciens systèmes qui utilisent des clefs composées. Son utilisation est fortement déconseillée pour d'autres cas."
+#. Tag: para
+#: basic_mapping.xml:490
+#, no-c-format
+msgid ""
+"<literal>type</literal> (optional): A name that indicates the Hibernate type."
+msgstr "<literal>type</literal> (optionnel) : Nom indiquant le type Hibernate."
 
-#: index.docbook:495
-msgid "<literal>column</literal> (optional - defaults to the property name): The name of the primary key column."
-msgstr "Generator"
+#. Tag: para
+#: basic_mapping.xml:495
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to the property name): The "
+"name of the primary key column."
+msgstr ""
+"<literal>column</literal> (optionnel - le nom de la propriété est pris par "
+"défaut) : Nom de la clef primaire."
 
-#: index.docbook:501
-msgid "<literal>unsaved-value</literal> (optional - defaults to a \"sensible\" value): An identifier property value that indicates that an instance is newly instantiated (unsaved), distinguishing it from detached instances that were saved or loaded in a previous session."
-msgstr "L'élément fils <literal>&lt;generator&gt;</literal> nomme une classe Java utilisée pour générer les identifiants uniques pour les instances des classes persistantes. Si des paramètres sont requis pour configurer ou initialiser l'instance du générateur, ils sont passés en utilisant l'élément <literal>&lt;param&gt;</literal>."
+#. Tag: para
+#: basic_mapping.xml:501
+#, no-c-format
+msgid ""
+"<literal>unsaved-value</literal> (optional - defaults to a \"sensible\" "
+"value): An identifier property value that indicates that an instance is "
+"newly instantiated (unsaved), distinguishing it from detached instances that "
+"were saved or loaded in a previous session."
+msgstr ""
+"<literal>unsaved-value</literal> (optionnel - par défaut une valeur \"bien "
+"choisie\") : Une valeur de la propriété d'identifiant qui indique que "
+"l'instance est nouvellement instanciée (non sauvegardée), et qui la "
+"distingue des instances <literal>transient</literal>s qui ont été "
+"sauvegardées ou chargées dans une session précédente."
 
-#: index.docbook:509, index.docbook:1017, index.docbook:1156, index.docbook:1238, index.docbook:1345, index.docbook:1534, index.docbook:1708, index.docbook:1878, index.docbook:2457
-msgid "<literal>access</literal> (optional - defaults to <literal>property</literal>): The strategy Hibernate should use for accessing the property value."
+#. Tag: para
+#: basic_mapping.xml:509 basic_mapping.xml:1017 basic_mapping.xml:1156
+#: basic_mapping.xml:1238 basic_mapping.xml:1345 basic_mapping.xml:1534
+#: basic_mapping.xml:1708 basic_mapping.xml:1878 basic_mapping.xml:2457
+#, fuzzy, no-c-format
+msgid ""
+"<literal>access</literal> (optional - defaults to <literal>property</"
+"literal>): The strategy Hibernate should use for accessing the property "
+"value."
 msgstr ""
-      "<![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>]]>"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (optionnel - par défaut <literal>property</"
+"literal>) : La stratégie que doit utiliser Hibernate pour accéder aux "
+"valeurs des propriétés.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (optionnel - défaut à <literal>property</"
+"literal>) : La stratégie qu'Hibernate utilisera pour accéder à la valeur de "
+"la propriété.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (optionnel - par défaut à <literal>property</"
+"literal>) : La stratégie à utiliser par Hibernate pour accéder à la valeur "
+"de la propriété.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (optionnel - par défaut à <literal>property</"
+"literal>) : La stratégie à utiliser par Hibernate pour accéder à la valeur "
+"de la propriété.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (optionnel - par défaut à <literal>property</"
+"literal>): Stratégie que Hibernate doit utiliser pour accéder à cette "
+"valeur.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (optionnel - par défaut à <literal>property</"
+"literal>) : La stratégie à utiliser par Hibernate pour accéder à la valeur "
+"de cette propriété.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>formula</literal> (optionnel) : Presque toutes les associations one-"
+"to-one pointent sur la clef primaire de l'entité propriétaire. Dans les "
+"rares cas différents, vous devez donner une ou plusieurs autres colonnes ou "
+"expression à joindre par une formule SQL (voir <literal>org.hibernate.test."
+"onetooneformula</literal> pour un exemple).\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>lazy</literal> (optionnel - par défaut à <literal>false</"
+"literal>) : Indique que ce composant doit être chargé au premier accès à la "
+"variable d'instance (nécessite une instrumentation du bytecode au moment du "
+"build).\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (optionnel - par défaut à <literal>property</"
+"literal>) : La stratégie à utiliser par Hibernate pour accéder à cette "
+"propriété."
 
-#: index.docbook:517
-msgid "If the <literal>name</literal> attribute is missing, it is assumed that the class has no identifier property."
-msgstr "Tous les générateurs doivent implémenter l'interface <literal>org.hibernate.id.IdentifierGenerator</literal>. C'est une interface très simple ; certaines applications peuvent proposer leur propre implémentations spécialisées. Cependant, Hibernate propose une série d'implémentations intégrées. Il existe des noms raccourcis pour les générateurs intégrés :"
+#. Tag: para
+#: basic_mapping.xml:517
+#, no-c-format
+msgid ""
+"If the <literal>name</literal> attribute is missing, it is assumed that the "
+"class has no identifier property."
+msgstr ""
+"Si l'attribut <literal>name</literal> est absent, Hibernate considère que la "
+"classe ne possède pas de propriété identifiant."
 
-#: index.docbook:522
-msgid "The <literal>unsaved-value</literal> attribute is almost never needed in Hibernate3."
-msgstr "increment"
+#. Tag: para
+#: basic_mapping.xml:522
+#, no-c-format
+msgid ""
+"The <literal>unsaved-value</literal> attribute is almost never needed in "
+"Hibernate3."
+msgstr ""
+"L'attribut <literal>unsaved-value</literal> est important ! Si l'identifiant "
+"de votre classe n'a pas une valeur par défaut compatible avec le "
+"comportement standard de Java (zéro ou null), vous devez alors préciser la "
+"valeur par défaut."
 
-#: index.docbook:526
-msgid "There is an alternative <literal>&lt;composite-id&gt;</literal> declaration to allow access to legacy data with composite keys. We strongly discourage its use for anything else."
-msgstr "Génère des identifiants de type <literal>long</literal>, <literal>short</literal> ou <literal>int</literal> qui ne sont uniques que si aucun autre processus n'insère de données dans la même table. <emphasis>Ne pas utiliser en environnement clusterisé.</emphasis>"
+#. Tag: para
+#: basic_mapping.xml:526
+#, no-c-format
+msgid ""
+"There is an alternative <literal>&lt;composite-id&gt;</literal> declaration "
+"to allow access to legacy data with composite keys. We strongly discourage "
+"its use for anything else."
+msgstr ""
+"La déclaration alternative <literal>&lt;composite-id&gt;</literal> permet "
+"l'acccès aux données d'anciens systèmes qui utilisent des clefs composées. "
+"Son utilisation est fortement déconseillée pour d'autres cas."
 
-#: index.docbook:532
+#. Tag: title
+#: basic_mapping.xml:532
+#, no-c-format
 msgid "Generator"
-msgstr "identity"
+msgstr "Generator"
 
-#: index.docbook:534
-msgid "The optional <literal>&lt;generator&gt;</literal> child element names a Java class used to generate unique identifiers for instances of the persistent class. If any parameters are required to configure or initialize the generator instance, they are passed using the <literal>&lt;param&gt;</literal> element."
-msgstr "Utilisation de la colonne identity de DB2, MySQL, MS SQL Server, Sybase et HypersonicSQL. L'identifiant renvoyé est de type <literal>long</literal>, <literal>short</literal> ou <literal>int</literal>."
+#. Tag: para
+#: basic_mapping.xml:534
+#, no-c-format
+msgid ""
+"The optional <literal>&lt;generator&gt;</literal> child element names a Java "
+"class used to generate unique identifiers for instances of the persistent "
+"class. If any parameters are required to configure or initialize the "
+"generator instance, they are passed using the <literal>&lt;param&gt;</"
+"literal> element."
+msgstr ""
+"L'élément fils <literal>&lt;generator&gt;</literal> nomme une classe Java "
+"utilisée pour générer les identifiants uniques pour les instances des "
+"classes persistantes. Si des paramètres sont requis pour configurer ou "
+"initialiser l'instance du générateur, ils sont passés en utilisant l'élément "
+"<literal>&lt;param&gt;</literal>."
 
-#: index.docbook:541
+#. Tag: programlisting
+#: basic_mapping.xml:541
+#, no-c-format
 msgid ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
-      "        <generator class=\"org.hibernate.id.TableHiLoGenerator\">\n"
-      "                <param name=\"table\">uid_table</param>\n"
-      "                <param name=\"column\">next_hi_value_column</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
-msgstr "sequence"
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
+"        <generator class=\"org.hibernate.id.TableHiLoGenerator\">\n"
+"                <param name=\"table\">uid_table</param>\n"
+"                <param name=\"column\">next_hi_value_column</param>\n"
+"        </generator>\n"
+"</id>]]>"
+msgstr ""
 
-#: index.docbook:543
-msgid "All generators implement the interface <literal>org.hibernate.id.IdentifierGenerator</literal>. This is a very simple interface; some applications may choose to provide their own specialized implementations. However, Hibernate provides a range of built-in implementations. There are shortcut names for the built-in generators:"
-msgstr "Utilisation des séquences dans DB2, PostgreSQL, Oracle, SAP DB, McKoi ou d'un générateur dans Interbase. L'identifiant renvoyé est de type <literal>long</literal>, <literal>short</literal> ou <literal>int</literal>"
+#. Tag: para
+#: basic_mapping.xml:543
+#, fuzzy, no-c-format
+msgid ""
+"All generators implement the interface <literal>org.hibernate.id."
+"IdentifierGenerator</literal>. This is a very simple interface; some "
+"applications may choose to provide their own specialized implementations. "
+"However, Hibernate provides a range of built-in implementations. There are "
+"shortcut names for the built-in generators:"
+msgstr ""
+"Tous les générateurs doivent implémenter l'interface <literal>org.hibernate."
+"id.IdentifierGenerator</literal>. C'est une interface très simple ; "
+"certaines applications peuvent proposer leur propre implémentations "
+"spécialisées. Cependant, Hibernate propose une série d'implémentations "
+"intégrées. Il existe des noms raccourcis pour les générateurs intégrés : "
+"<placeholder-1/>"
 
-#: index.docbook:551
+#. Tag: literal
+#: basic_mapping.xml:551
+#, no-c-format
 msgid "increment"
-msgstr "hilo"
+msgstr "increment"
 
-#: index.docbook:553
-msgid "generates identifiers of type <literal>long</literal>, <literal>short</literal> or <literal>int</literal> that are unique only when no other process is inserting data into the same table. <emphasis>Do not use in a cluster.</emphasis>"
-msgstr "Utilise un algorithme hi/lo pour générer de façon efficace des identifiants de type <literal>long</literal>, <literal>short</literal> ou <literal>int</literal>, en prenant comme source de valeur \"hi\" une table et une colonne (par défaut <literal>hibernate_unique_key</literal> et <literal>next_hi</literal> respectivement). L'algorithme hi/lo génère des identifiants uniques pour une base de données particulière seulement."
+#. Tag: para
+#: basic_mapping.xml:553
+#, no-c-format
+msgid ""
+"generates identifiers of type <literal>long</literal>, <literal>short</"
+"literal> or <literal>int</literal> that are unique only when no other "
+"process is inserting data into the same table. <emphasis>Do not use in a "
+"cluster.</emphasis>"
+msgstr ""
+"Génère des identifiants de type <literal>long</literal>, <literal>short</"
+"literal> ou <literal>int</literal> qui ne sont uniques que si aucun autre "
+"processus n'insère de données dans la même table. <emphasis>Ne pas utiliser "
+"en environnement clusterisé.</emphasis>"
 
-#: index.docbook:562
+#. Tag: literal
+#: basic_mapping.xml:562
+#, no-c-format
 msgid "identity"
-msgstr "seqhilo"
+msgstr "identity"
 
-#: index.docbook:564
-msgid "supports identity columns in DB2, MySQL, MS SQL Server, Sybase and HypersonicSQL. The returned identifier is of type <literal>long</literal>, <literal>short</literal> or <literal>int</literal>."
-msgstr "Utilise un algorithme hi/lo pour générer efficacement des identifiants de type <literal>long</literal>, <literal>short</literal> ou <literal>int</literal>, étant donné un nom de séquence en base."
+#. Tag: para
+#: basic_mapping.xml:564
+#, no-c-format
+msgid ""
+"supports identity columns in DB2, MySQL, MS SQL Server, Sybase and "
+"HypersonicSQL. The returned identifier is of type <literal>long</literal>, "
+"<literal>short</literal> or <literal>int</literal>."
+msgstr ""
+"Utilisation de la colonne identity de DB2, MySQL, MS SQL Server, Sybase et "
+"HypersonicSQL. L'identifiant renvoyé est de type <literal>long</literal>, "
+"<literal>short</literal> ou <literal>int</literal>."
 
-#: index.docbook:572
+#. Tag: literal
+#: basic_mapping.xml:572
+#, no-c-format
 msgid "sequence"
-msgstr "uuid"
+msgstr "sequence"
 
-#: index.docbook:574
-msgid "uses a sequence in DB2, PostgreSQL, Oracle, SAP DB, McKoi or a generator in Interbase. The returned identifier is of type <literal>long</literal>, <literal>short</literal> or <literal>int</literal>"
-msgstr "Utilise un algorithme de type UUID 128 bits pour générer des identifiants de type string, unique au sein d'un réseau (l'adresse IP est utilisée). Le UUID en codé en une chaîne de nombre héxadécimaux de longueur 32."
+#. Tag: para
+#: basic_mapping.xml:574
+#, no-c-format
+msgid ""
+"uses a sequence in DB2, PostgreSQL, Oracle, SAP DB, McKoi or a generator in "
+"Interbase. The returned identifier is of type <literal>long</literal>, "
+"<literal>short</literal> or <literal>int</literal>"
+msgstr ""
+"Utilisation des séquences dans DB2, PostgreSQL, Oracle, SAP DB, McKoi ou "
+"d'un générateur dans Interbase. L'identifiant renvoyé est de type "
+"<literal>long</literal>, <literal>short</literal> ou <literal>int</literal>"
 
-#: index.docbook:582
+#. Tag: literal
+#: basic_mapping.xml:582
+#, no-c-format
 msgid "hilo"
-msgstr "guid"
+msgstr "hilo"
 
-#: index.docbook:584
-msgid "uses a hi/lo algorithm to efficiently generate identifiers of type <literal>long</literal>, <literal>short</literal> or <literal>int</literal>, given a table and column (by default <literal>hibernate_unique_key</literal> and <literal>next_hi</literal> respectively) as a source of hi values. The hi/lo algorithm generates identifiers that are unique only for a particular database."
-msgstr "Utilise une chaîne GUID générée par la base pour MS SQL Server et MySQL."
+#. Tag: para
+#: basic_mapping.xml:584
+#, no-c-format
+msgid ""
+"uses a hi/lo algorithm to efficiently generate identifiers of type "
+"<literal>long</literal>, <literal>short</literal> or <literal>int</literal>, "
+"given a table and column (by default <literal>hibernate_unique_key</literal> "
+"and <literal>next_hi</literal> respectively) as a source of hi values. The "
+"hi/lo algorithm generates identifiers that are unique only for a particular "
+"database."
+msgstr ""
+"Utilise un algorithme hi/lo pour générer de façon efficace des identifiants "
+"de type <literal>long</literal>, <literal>short</literal> ou <literal>int</"
+"literal>, en prenant comme source de valeur \"hi\" une table et une colonne "
+"(par défaut <literal>hibernate_unique_key</literal> et <literal>next_hi</"
+"literal> respectivement). L'algorithme hi/lo génère des identifiants uniques "
+"pour une base de données particulière seulement."
 
-#: index.docbook:594
+#. Tag: literal
+#: basic_mapping.xml:594
+#, no-c-format
 msgid "seqhilo"
-msgstr "native"
+msgstr "seqhilo"
 
-#: index.docbook:596
-msgid "uses a hi/lo algorithm to efficiently generate identifiers of type <literal>long</literal>, <literal>short</literal> or <literal>int</literal>, given a named database sequence."
-msgstr "Choisit <literal>identity</literal>, <literal>sequence</literal> ou <literal>hilo</literal> selon les possibilités offertes par la base de données sous-jacente."
+#. Tag: para
+#: basic_mapping.xml:596
+#, no-c-format
+msgid ""
+"uses a hi/lo algorithm to efficiently generate identifiers of type "
+"<literal>long</literal>, <literal>short</literal> or <literal>int</literal>, "
+"given a named database sequence."
+msgstr ""
+"Utilise un algorithme hi/lo pour générer efficacement des identifiants de "
+"type <literal>long</literal>, <literal>short</literal> ou <literal>int</"
+"literal>, étant donné un nom de séquence en base."
 
-#: index.docbook:604
+#. Tag: literal
+#: basic_mapping.xml:604
+#, no-c-format
 msgid "uuid"
-msgstr "assigned"
+msgstr "uuid"
 
-#: index.docbook:606
-msgid "uses a 128-bit UUID algorithm to generate identifiers of type string, unique within a network (the IP address is used). The UUID is encoded as a string of hexadecimal digits of length 32."
-msgstr "Laisse l'application affecter un identifiant à l'objet avant que la métode <literal>save()</literal> soit appelée. Il s'agit de la stratégie par défaut si aucun <literal>&lt;generator&gt;</literal> n'est spécifié."
+#. Tag: para
+#: basic_mapping.xml:606
+#, no-c-format
+msgid ""
+"uses a 128-bit UUID algorithm to generate identifiers of type string, unique "
+"within a network (the IP address is used). The UUID is encoded as a string "
+"of hexadecimal digits of length 32."
+msgstr ""
+"Utilise un algorithme de type UUID 128 bits pour générer des identifiants de "
+"type string, unique au sein d'un réseau (l'adresse IP est utilisée). Le UUID "
+"en codé en une chaîne de nombre héxadécimaux de longueur 32."
 
-#: index.docbook:614
+#. Tag: literal
+#: basic_mapping.xml:614
+#, no-c-format
 msgid "guid"
-msgstr "select"
+msgstr "guid"
 
-#: index.docbook:616
+#. Tag: para
+#: basic_mapping.xml:616
+#, no-c-format
 msgid "uses a database-generated GUID string on MS SQL Server and MySQL."
-msgstr "Récupère une clef primaire assignée par un trigger en sélectionnant la ligne par une clef unique quelconque."
+msgstr ""
+"Utilise une chaîne GUID générée par la base pour MS SQL Server et MySQL."
 
-#: index.docbook:622
+#. Tag: literal
+#: basic_mapping.xml:622
+#, no-c-format
 msgid "native"
-msgstr "foreign"
+msgstr "native"
 
-#: index.docbook:624
-msgid "picks <literal>identity</literal>, <literal>sequence</literal> or <literal>hilo</literal> depending upon the capabilities of the underlying database."
-msgstr "Utilise l'identifiant d'un objet associé. Habituellement utilisé en conjonction avec une association <literal>&lt;one-to-one&gt;</literal> sur la clef primaire."
+#. Tag: para
+#: basic_mapping.xml:624
+#, no-c-format
+msgid ""
+"picks <literal>identity</literal>, <literal>sequence</literal> or "
+"<literal>hilo</literal> depending upon the capabilities of the underlying "
+"database."
+msgstr ""
+"Choisit <literal>identity</literal>, <literal>sequence</literal> ou "
+"<literal>hilo</literal> selon les possibilités offertes par la base de "
+"données sous-jacente."
 
-#: index.docbook:632
+#. Tag: literal
+#: basic_mapping.xml:632
+#, no-c-format
 msgid "assigned"
-msgstr "algorithme Hi/lo"
+msgstr "assigned"
 
-#: index.docbook:634
-msgid "lets the application to assign an identifier to the object before <literal>save()</literal> is called. This is the default strategy if no <literal>&lt;generator&gt;</literal> element is specified."
-msgstr "Les générateurs <literal>hilo</literal> et <literal>seqhilo</literal> proposent deux implémentations alternatives de l'algorithme hi/lo, une approche largement utilisée pour générer des identifiants. La première implémentation nécessite une table \"spéciale\" en base pour héberger la prochaine valeur \"hi\" disponible. La seconde utilise une séquence de type Oracle (quand la base sous-jacente le propose)."
+#. Tag: para
+#: basic_mapping.xml:634
+#, no-c-format
+msgid ""
+"lets the application to assign an identifier to the object before "
+"<literal>save()</literal> is called. This is the default strategy if no "
+"<literal>&lt;generator&gt;</literal> element is specified."
+msgstr ""
+"Laisse l'application affecter un identifiant à l'objet avant que la métode "
+"<literal>save()</literal> soit appelée. Il s'agit de la stratégie par défaut "
+"si aucun <literal>&lt;generator&gt;</literal> n'est spécifié."
 
-#: index.docbook:642
+#. Tag: literal
+#: basic_mapping.xml:642
+#, no-c-format
 msgid "select"
-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>]]>"
+msgstr "select"
 
-#: index.docbook:644
-msgid "retrieves a primary key assigned by a database trigger by selecting the row by some unique key and retrieving the primary key value."
+#. Tag: para
+#: basic_mapping.xml:644
+#, no-c-format
+msgid ""
+"retrieves a primary key assigned by a database trigger by selecting the row "
+"by some unique key and retrieving the primary key value."
 msgstr ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
-      "        <generator class=\"seqhilo\">\n"
-      "                <param name=\"sequence\">hi_value</param>\n"
-      "                <param name=\"max_lo\">100</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
+"Récupère une clef primaire assignée par un trigger en sélectionnant la ligne "
+"par une clef unique quelconque."
 
-#: index.docbook:651
+#. Tag: literal
+#: basic_mapping.xml:651
+#, no-c-format
 msgid "foreign"
-msgstr "Malheureusement, vous ne pouvez pas utilisez <literal>hilo</literal> quand vous apportez votre propre <literal>Connection</literal> à Hibernate. Quand Hibernate utilise une datasource du serveur d'application pour obtenir des connexions inscrites avec JTA, vous devez correctement configurer <literal>hibernate.transaction.manager_lookup_class</literal>."
+msgstr "foreign"
 
-#: index.docbook:653
-msgid "uses the identifier of another associated object. Usually used in conjunction with a <literal>&lt;one-to-one&gt;</literal> primary key association."
-msgstr "UUID algorithm"
+#. Tag: para
+#: basic_mapping.xml:653
+#, no-c-format
+msgid ""
+"uses the identifier of another associated object. Usually used in "
+"conjunction with a <literal>&lt;one-to-one&gt;</literal> primary key "
+"association."
+msgstr ""
+"Utilise l'identifiant d'un objet associé. Habituellement utilisé en "
+"conjonction avec une association <literal>&lt;one-to-one&gt;</literal> sur "
+"la clef primaire."
 
-#: index.docbook:660
+#. Tag: literal
+#: basic_mapping.xml:660
+#, no-c-format
 msgid "sequence-identity"
-msgstr "Le contenu du UUID est : adresse IP, date de démarrage de la JVM (précis au quart de seconde), l'heure système et un compteur (unique au sein de la JVM). Il n'est pas possible d'obtenir l'adresse MAC ou une adresse mémoire à partir de Java, c'est donc le mieux que l'on puisse faire sans utiliser JNI."
+msgstr "sequence-identity"
 
-#: index.docbook:662
-msgid "a specialized sequence generation strategy which utilizes a database sequence for the actual value generation, but combines this with JDBC3 getGeneratedKeys to actually return the generated identifier value as part of the insert statement execution. This strategy is only known to be supported on Oracle 10g drivers targetted for JDK 1.4. Note comments on these insert statements are disabled due to a bug in the Oracle drivers."
-msgstr "Colonnes identifiantes et séquences"
+#. Tag: para
+#: basic_mapping.xml:662
+#, no-c-format
+msgid ""
+"a specialized sequence generation strategy which utilizes a database "
+"sequence for the actual value generation, but combines this with JDBC3 "
+"getGeneratedKeys to actually return the generated identifier value as part "
+"of the insert statement execution. This strategy is only known to be "
+"supported on Oracle 10g drivers targetted for JDK 1.4. Note comments on "
+"these insert statements are disabled due to a bug in the Oracle drivers."
+msgstr ""
+"a specialized sequence generation strategy which utilizes a database "
+"sequence for the actual value generation, but combines this with JDBC3 "
+"getGeneratedKeys to actually return the generated identifier value as part "
+"of the insert statement execution. This strategy is only known to be "
+"supported on Oracle 10g drivers targetted for JDK 1.4. Note comments on "
+"these insert statements are disabled due to a bug in the Oracle drivers."
 
-#: index.docbook:679
+#. Tag: title
+#: basic_mapping.xml:679
+#, no-c-format
 msgid "Hi/lo algorithm"
-msgstr "Pour les bases qui implémentent les colonnes \"identité\" (DB2, MySQL, Sybase, MS SQL), vous pouvez utiliser la génération de clef par <literal>identity</literal>. Pour les bases qui implémentent les séquences (DB2, Oracle, PostgreSQL, Interbase, McKoi, SAP DB) vous pouvez utiliser la génération de clef par <literal>sequence</literal>. Ces deux méthodes nécessitent deux requêtes SQL pour insérer un objet."
+msgstr "algorithme Hi/lo"
 
-#: index.docbook:680
-msgid "The <literal>hilo</literal> and <literal>seqhilo</literal> generators provide two alternate implementations of the hi/lo algorithm, a favorite approach to identifier generation. The first implementation requires a \"special\" database table to hold the next available \"hi\" value. The second uses an Oracle-style sequence (where supported)."
+#. Tag: para
+#: basic_mapping.xml:680
+#, no-c-format
+msgid ""
+"The <literal>hilo</literal> and <literal>seqhilo</literal> generators "
+"provide two alternate implementations of the hi/lo algorithm, a favorite "
+"approach to identifier generation. The first implementation requires a "
+"\"special\" database table to hold the next available \"hi\" value. The "
+"second uses an Oracle-style sequence (where supported)."
 msgstr ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
-      "        <generator class=\"sequence\">\n"
-      "                <param name=\"sequence\">person_id_sequence</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
+"Les générateurs <literal>hilo</literal> et <literal>seqhilo</literal> "
+"proposent deux implémentations alternatives de l'algorithme hi/lo, une "
+"approche largement utilisée pour générer des identifiants. La première "
+"implémentation nécessite une table \"spéciale\" en base pour héberger la "
+"prochaine valeur \"hi\" disponible. La seconde utilise une séquence de type "
+"Oracle (quand la base sous-jacente le propose)."
 
-#: index.docbook:687
+#. Tag: programlisting
+#: basic_mapping.xml:687
+#, no-c-format
 msgid ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
-      "        <generator class=\"hilo\">\n"
-      "                <param name=\"table\">hi_value</param>\n"
-      "                <param name=\"column\">next_value</param>\n"
-      "                <param name=\"max_lo\">100</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
+"        <generator class=\"hilo\">\n"
+"                <param name=\"table\">hi_value</param>\n"
+"                <param name=\"column\">next_value</param>\n"
+"                <param name=\"max_lo\">100</param>\n"
+"        </generator>\n"
+"</id>]]>"
 msgstr ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\" unsaved-value=\"0\">\n"
-      "        <generator class=\"identity\"/>\n"
-      "</id>]]>"
 
-#: index.docbook:689
+#. Tag: programlisting
+#: basic_mapping.xml:689
+#, 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 "Pour le développement multi-plateformes, la stratégie <literal>native</literal> choisira entre les méthodes <literal>identity</literal>, <literal>sequence</literal> et <literal>hilo</literal>, selon les possibilités offertes par la base sous-jacente."
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
+"        <generator class=\"seqhilo\">\n"
+"                <param name=\"sequence\">hi_value</param>\n"
+"                <param name=\"max_lo\">100</param>\n"
+"        </generator>\n"
+"</id>]]>"
+msgstr ""
 
-#: index.docbook:691
-msgid "Unfortunately, you can't use <literal>hilo</literal> when supplying your own <literal>Connection</literal> to Hibernate. When Hibernate is using an application server datasource to obtain connections enlisted with JTA, you must properly configure the <literal>hibernate.transaction.manager_lookup_class</literal>."
-msgstr "Identifiants assignés"
+#. Tag: para
+#: basic_mapping.xml:691
+#, no-c-format
+msgid ""
+"Unfortunately, you can't use <literal>hilo</literal> when supplying your own "
+"<literal>Connection</literal> to Hibernate. When Hibernate is using an "
+"application server datasource to obtain connections enlisted with JTA, you "
+"must properly configure the <literal>hibernate.transaction."
+"manager_lookup_class</literal>."
+msgstr ""
+"Malheureusement, vous ne pouvez pas utilisez <literal>hilo</literal> quand "
+"vous apportez votre propre <literal>Connection</literal> à Hibernate. Quand "
+"Hibernate utilise une datasource du serveur d'application pour obtenir des "
+"connexions inscrites avec JTA, vous devez correctement configurer "
+"<literal>hibernate.transaction.manager_lookup_class</literal>."
 
-#: index.docbook:700
+#. Tag: title
+#: basic_mapping.xml:700
+#, no-c-format
 msgid "UUID algorithm"
-msgstr "Si vous souhaitez que l'application assigne des identifiants (par opposition à la génération par Hibernate), vous pouvez utiliser le générateur <literal>assigned</literal>. Ce générateur spécial utilisera une valeur d'identifiant déjà utilisé par la propriété identifiant l'objet. Ce générateur est utilisé quand la clef primaire est une clef naturelle plutôt qu'une clef secondaire. C'est le comportement par défaut si vous ne précisez pas d'élément <literal>&lt;generator&gt;</literal>."
+msgstr "UUID algorithm"
 
-#: index.docbook:701
-msgid "The UUID contains: IP address, startup time of the JVM (accurate to a quarter second), system time and a counter value (unique within the JVM). It's not possible to obtain a MAC address or memory address from Java code, so this is the best we can do without using JNI."
-msgstr "Choisir le générateur <literal>assigned</literal> fait utiliser <literal>unsaved-value=\"undefined\"</literal> par Hibernate, le forçant à interroger la base pour déterminer si l'instance est transiente ou détachée, à moins d'utiliser une propriété version ou timestamp, ou alors de définir <literal>Interceptor.isUnsaved()</literal>."
+#. Tag: para
+#: basic_mapping.xml:701
+#, no-c-format
+msgid ""
+"The UUID contains: IP address, startup time of the JVM (accurate to a "
+"quarter second), system time and a counter value (unique within the JVM). "
+"It's not possible to obtain a MAC address or memory address from Java code, "
+"so this is the best we can do without using JNI."
+msgstr ""
+"Le contenu du UUID est : adresse IP, date de démarrage de la JVM (précis au "
+"quart de seconde), l'heure système et un compteur (unique au sein de la "
+"JVM). Il n'est pas possible d'obtenir l'adresse MAC ou une adresse mémoire à "
+"partir de Java, c'est donc le mieux que l'on puisse faire sans utiliser JNI."
 
-#: index.docbook:710
+#. Tag: title
+#: basic_mapping.xml:710
+#, no-c-format
 msgid "Identity columns and sequences"
-msgstr "Clefs primaires assignées par trigger"
+msgstr "Colonnes identifiantes et séquences"
 
-#: index.docbook:711
-msgid "For databases which support identity columns (DB2, MySQL, Sybase, MS SQL), you may use <literal>identity</literal> key generation. For databases that support sequences (DB2, Oracle, PostgreSQL, Interbase, McKoi, SAP DB) you may use <literal>sequence</literal> style key generation. Both these strategies require two SQL queries to insert a new object."
-msgstr "Pour les schémas de base hérités d'anciens systèmes uniquement (Hibernate ne génère pas de DDL avec des triggers)"
+#. Tag: para
+#: basic_mapping.xml:711
+#, no-c-format
+msgid ""
+"For databases which support identity columns (DB2, MySQL, Sybase, MS SQL), "
+"you may use <literal>identity</literal> key generation. For databases that "
+"support sequences (DB2, Oracle, PostgreSQL, Interbase, McKoi, SAP DB) you "
+"may use <literal>sequence</literal> style key generation. Both these "
+"strategies require two SQL queries to insert a new object."
+msgstr ""
+"Pour les bases qui implémentent les colonnes \"identité\" (DB2, MySQL, "
+"Sybase, MS SQL), vous pouvez utiliser la génération de clef par "
+"<literal>identity</literal>. Pour les bases qui implémentent les séquences "
+"(DB2, Oracle, PostgreSQL, Interbase, McKoi, SAP DB) vous pouvez utiliser la "
+"génération de clef par <literal>sequence</literal>. Ces deux méthodes "
+"nécessitent deux requêtes SQL pour insérer un objet."
 
-#: index.docbook:719
+#. Tag: programlisting
+#: basic_mapping.xml:719
+#, no-c-format
 msgid ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
-      "        <generator class=\"sequence\">\n"
-      "                <param name=\"sequence\">person_id_sequence</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
+"<![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=\"select\">\n"
-      "                <param name=\"key\">socialSecurityNumber</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
 
-#: index.docbook:721
+#. Tag: programlisting
+#: basic_mapping.xml:721
+#, no-c-format
 msgid ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\" unsaved-value=\"0\">\n"
-      "        <generator class=\"identity\"/>\n"
-      "</id>]]>"
-msgstr "Dans l'exemple ci-dessus, <literal>socialSecurityNumber</literal> a une valeur unique définie par la classe en tant que clef naturelle et <literal>person_id</literal> est une clef secondaire dont la valeur est générée par trigger."
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\" unsaved-value=\"0"
+"\">\n"
+"        <generator class=\"identity\"/>\n"
+"</id>]]>"
+msgstr ""
 
-#: index.docbook:723
-msgid "For cross-platform development, the <literal>native</literal> strategy will choose from the <literal>identity</literal>, <literal>sequence</literal> and <literal>hilo</literal> strategies, dependant upon the capabilities of the underlying database."
-msgstr "composite-id"
+#. Tag: para
+#: basic_mapping.xml:723
+#, no-c-format
+msgid ""
+"For cross-platform development, the <literal>native</literal> strategy will "
+"choose from the <literal>identity</literal>, <literal>sequence</literal> and "
+"<literal>hilo</literal> strategies, dependant upon the capabilities of the "
+"underlying database."
+msgstr ""
+"Pour le développement multi-plateformes, la stratégie <literal>native</"
+"literal> choisira entre les méthodes <literal>identity</literal>, "
+"<literal>sequence</literal> et <literal>hilo</literal>, selon les "
+"possibilités offertes par la base sous-jacente."
 
-#: index.docbook:732
+#. Tag: title
+#: basic_mapping.xml:732
+#, no-c-format
 msgid "Assigned identifiers"
+msgstr "Identifiants assignés"
+
+#. Tag: para
+#: basic_mapping.xml:733
+#, no-c-format
+msgid ""
+"If you want the application to assign identifiers (as opposed to having "
+"Hibernate generate them), you may use the <literal>assigned</literal> "
+"generator. This special generator will use the identifier value already "
+"assigned to the object's identifier property. This generator is used when "
+"the primary key is a natural key instead of a surrogate key. This is the "
+"default behavior if you do no specify a <literal>&lt;generator&gt;</literal> "
+"element."
 msgstr ""
-      "<![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>]]>"
+"Si vous souhaitez que l'application assigne des identifiants (par opposition "
+"à la génération par Hibernate), vous pouvez utiliser le générateur "
+"<literal>assigned</literal>. Ce générateur spécial utilisera une valeur "
+"d'identifiant déjà utilisé par la propriété identifiant l'objet. Ce "
+"générateur est utilisé quand la clef primaire est une clef naturelle plutôt "
+"qu'une clef secondaire. C'est le comportement par défaut si vous ne précisez "
+"pas d'élément <literal>&lt;generator&gt;</literal>."
 
-#: index.docbook:733
-msgid "If you want the application to assign identifiers (as opposed to having Hibernate generate them), you may use the <literal>assigned</literal> generator. This special generator will use the identifier value already assigned to the object's identifier property. This generator is used when the primary key is a natural key instead of a surrogate key. This is the default behavior if you do no specify a <literal>&lt;generator&gt;</literal> element."
-msgstr "Pour une table avec clef composée, vous pouvez mapper plusieurs attributs de la classe comme propriétés identifiantes. L'élement <literal>&lt;composite-id&gt;</literal> accepte les mappings de propriétés <literal>&lt;key-property&gt;</literal> et les mappings <literal>&lt;key-many-to-one&gt;</literal> comme fils."
-
-#: index.docbook:742
-msgid "Choosing the <literal>assigned</literal> generator makes Hibernate use <literal>unsaved-value=\"undefined\"</literal>, forcing Hibernate to go to the database to determine if an instance is transient or detached, unless there is a version or timestamp property, or you define <literal>Interceptor.isUnsaved()</literal>."
+#. Tag: para
+#: basic_mapping.xml:742
+#, no-c-format
+msgid ""
+"Choosing the <literal>assigned</literal> generator makes Hibernate use "
+"<literal>unsaved-value=\"undefined\"</literal>, forcing Hibernate to go to "
+"the database to determine if an instance is transient or detached, unless "
+"there is a version or timestamp property, or you define <literal>Interceptor."
+"isUnsaved()</literal>."
 msgstr ""
-      "<![CDATA[<composite-id>\n"
-      "        <key-property name=\"medicareNumber\"/>\n"
-      "        <key-property name=\"dependent\"/>\n"
-      "</composite-id>]]>"
+"Choisir le générateur <literal>assigned</literal> fait utiliser "
+"<literal>unsaved-value=\"undefined\"</literal> par Hibernate, le forçant à "
+"interroger la base pour déterminer si l'instance est transiente ou détachée, "
+"à moins d'utiliser une propriété version ou timestamp, ou alors de définir "
+"<literal>Interceptor.isUnsaved()</literal>."
 
-#: index.docbook:752
+#. Tag: title
+#: basic_mapping.xml:752
+#, no-c-format
 msgid "Primary keys assigned by triggers"
-msgstr "Vos classes persistantes <emphasis>doivent</emphasis> surcharger les méthodes <literal>equals()</literal> et <literal>hashCode()</literal> pour implémenter l'égalité d'identifiant composé. Elles doivent aussi implenter l'interface <literal>Serializable</literal>."
+msgstr "Clefs primaires assignées par trigger"
 
-#: index.docbook:753
-msgid "For legacy schemas only (Hibernate does not generate DDL with triggers)."
-msgstr "Malheureusement cette approche sur les identifiants composés signifie qu'un objet persistant est son propre identifiant. Il n'y a pas d'autre moyen pratique de manipuler l'objet que par l'objet lui-même. Vous devez instancier une instance de la classe persistante elle-même et peupler ses attributs identifiants avant de pouvoir appeler la méthode <literal>load()</literal> pour charger son état persistant associé à une clef composée. Nous appelons cette approche \"identifiant composé <emphasis>embarqué</emphasis>\" et ne la recommandons pas pour des applications complexes."
+#. Tag: para
+#: basic_mapping.xml:753
+#, no-c-format
+msgid ""
+"For legacy schemas only (Hibernate does not generate DDL with triggers)."
+msgstr ""
+"Pour les schémas de base hérités d'anciens systèmes uniquement (Hibernate ne "
+"génère pas de DDL avec des triggers)"
 
-#: index.docbook:757
+#. Tag: programlisting
+#: basic_mapping.xml:757
+#, no-c-format
 msgid ""
-      "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
-      "        <generator class=\"select\">\n"
-      "                <param name=\"key\">socialSecurityNumber</param>\n"
-      "        </generator>\n"
-      "</id>]]>"
-msgstr "Une seconde approche, appelée identifiant composé <emphasis>mappé</emphasis>, consiste à encapsuler les propriétés identifiantes (celles contenues dans <literal>&lt;composite-id&gt;</literal>) dans une classe particulière."
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
+"        <generator class=\"select\">\n"
+"                <param name=\"key\">socialSecurityNumber</param>\n"
+"        </generator>\n"
+"</id>]]>"
+msgstr ""
 
-#: index.docbook:759
-msgid "In the above example, there is a unique valued property named <literal>socialSecurityNumber</literal> defined by the class, as a natural key, and a surrogate key named <literal>person_id</literal> whose value is generated by a trigger."
+#. Tag: para
+#: basic_mapping.xml:759
+#, no-c-format
+msgid ""
+"In the above example, there is a unique valued property named "
+"<literal>socialSecurityNumber</literal> defined by the class, as a natural "
+"key, and a surrogate key named <literal>person_id</literal> whose value is "
+"generated by a trigger."
 msgstr ""
-      "<![CDATA[<composite-id class=\"MedicareId\" mapped=\"true\">\n"
-      "        <key-property name=\"medicareNumber\"/>\n"
-      "        <key-property name=\"dependent\"/>\n"
-      "</composite-id>]]>"
+"Dans l'exemple ci-dessus, <literal>socialSecurityNumber</literal> a une "
+"valeur unique définie par la classe en tant que clef naturelle et "
+"<literal>person_id</literal> est une clef secondaire dont la valeur est "
+"générée par trigger."
 
-#: index.docbook:771
+#. Tag: title
+#: basic_mapping.xml:771
+#, no-c-format
 msgid "Enhanced identifier generators"
-msgstr "Dans cet exemple, la classe d'identifiant composée,<literal>MedicareId</literal> et la classe mappée elle-même, possèdent les propriétés <literal>medicareNumber</literal> et <literal>dependent</literal>. La classe identifiante doit redéfinir <literal>equals()</literal> et <literal>hashCode()</literal> et implémenter <literal>Serializable</literal>. Le désavantage de cette approche est la duplication du code."
+msgstr "Enhanced identifier generators"
 
-#: index.docbook:773
-msgid "Starting with release 3.2.3, there are 2 new generators which represent a re-thinking of 2 different aspects of identifier generation. The first aspect is database portability; the second is optimization (not having to query the database for every request for a new identifier value). These two new generators are intended to take the place of some of the named generators described above (starting in 3.3.x); however, they are included in the current releases and can be referenced by FQN."
-msgstr "Les attributs suivants servent à configurer un identifiant composé mappé :"
+#. Tag: para
+#: basic_mapping.xml:773
+#, no-c-format
+msgid ""
+"Starting with release 3.2.3, there are 2 new generators which represent a re-"
+"thinking of 2 different aspects of identifier generation. The first aspect "
+"is database portability; the second is optimization (not having to query the "
+"database for every request for a new identifier value). These two new "
+"generators are intended to take the place of some of the named generators "
+"described above (starting in 3.3.x); however, they are included in the "
+"current releases and can be referenced by FQN."
+msgstr ""
+"Starting with release 3.2.3, there are 2 new generators which represent a re-"
+"thinking of 2 different aspects of identifier generation. The first aspect "
+"is database portability; the second is optimization (not having to query the "
+"database for every request for a new identifier value). These two new "
+"generators are intended to take the place of some of the named generators "
+"described above (starting in 3.3.x); however, they are included in the "
+"current releases and can be referenced by FQN."
 
-#: index.docbook:781
-msgid "The first of these new generators is <literal>org.hibernate.id.enhanced.SequenceStyleGenerator</literal> which is intended firstly as a replacement for the <literal>sequence</literal> generator and secondly as a better portability generator than <literal>native</literal> (because <literal>native</literal> (generally) chooses between <literal>identity</literal> and <literal>sequence</literal> which have largely different semantics which can cause subtle isssues in applications eyeing portability). <literal>org.hibernate.id.enhanced.SequenceStyleGenerator</literal> however achieves portability in a different manner. It chooses between using a table or a sequence in the database to store its incrementing values depending on the capabilities of the dialect being used. The difference between this and <literal>native</literal> is that table-based and sequence-based storage have the same exact semantic (in fact sequences are exactly what Hibernate tries to emmulate with its!
  table-based generators). This generator has a number of configuration parameters:"
-msgstr "<literal>mapped</literal> (optionnel, défaut à <literal>false</literal>) : indique qu'un identifiant composé mappé est utilisé, et que les propriétés contenues font référence aux deux classes (celle mappée et la classe identifiante)."
+#. Tag: para
+#: basic_mapping.xml:781
+#, fuzzy, no-c-format
+msgid ""
+"The first of these new generators is <literal>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</literal> which is intended firstly as a replacement "
+"for the <literal>sequence</literal> generator and secondly as a better "
+"portability generator than <literal>native</literal> (because "
+"<literal>native</literal> (generally) chooses between <literal>identity</"
+"literal> and <literal>sequence</literal> which have largely different "
+"semantics which can cause subtle isssues in applications eyeing "
+"portability). <literal>org.hibernate.id.enhanced.SequenceStyleGenerator</"
+"literal> however achieves portability in a different manner. It chooses "
+"between using a table or a sequence in the database to store its "
+"incrementing values depending on the capabilities of the dialect being used. "
+"The difference between this and <literal>native</literal> is that table-"
+"based and sequence-based storage have the same exact semantic (in fact "
+"sequences are exactly what Hibernate tries to emmulate with its table-based "
+"generators). This generator has a number of configuration parameters:"
+msgstr ""
+"The first of these new generators is <literal>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</literal> which is intended firstly as a replacement "
+"for the <literal>sequence</literal> generator and secondly as a better "
+"portability generator than <literal>native</literal> (because "
+"<literal>native</literal> (generally) chooses between <literal>identity</"
+"literal> and <literal>sequence</literal> which have largely different "
+"semantics which can cause subtle isssues in applications eyeing "
+"portability). <literal>org.hibernate.id.enhanced.SequenceStyleGenerator</"
+"literal> however achieves portability in a different manner. It chooses "
+"between using a table or a sequence in the database to store its "
+"incrementing values depending on the capabilities of the dialect being used. "
+"The difference between this and <literal>native</literal> is that table-"
+"based and sequence-based storage have the same exact semantic (in fact "
+"sequences are exactly what Hibernate tries to emmulate with its table-based "
+"generators). This generator has a number of configuration parameters: "
+"<placeholder-1/>"
 
-#: index.docbook:795
-msgid "<literal>sequence_name</literal> (optional, defaults to <literal>hibernate_sequence</literal>): The name of the sequence (or table) to be used."
-msgstr "<literal>class</literal> (optionnel, mais requis pour un identifiant composé mappé) : La classe composant utilisée comme identifiant composé."
+#. Tag: para
+#: basic_mapping.xml:795
+#, no-c-format
+msgid ""
+"<literal>sequence_name</literal> (optional, defaults to "
+"<literal>hibernate_sequence</literal>): The name of the sequence (or table) "
+"to be used."
+msgstr ""
+"<literal>sequence_name</literal> (optional, defaults to "
+"<literal>hibernate_sequence</literal>): The name of the sequence (or table) "
+"to be used."
 
-#: index.docbook:801
-msgid "<literal>initial_value</literal> (optional, defaults to <literal>1</literal>): The initial value to be retrieved from the sequence/table. In sequence creation terms, this is analogous to the clause typical named \"STARTS WITH\"."
-msgstr "Nous décrirons une troisième approche beaucoup plus efficace ou l'identifiant composé est implémenté comme une classe composant dans <xref linkend=\"components-compositeid\"/>. Les attributs décrits ci dessous, ne s'appliquent que pour cette dernière approche :"
+#. Tag: para
+#: basic_mapping.xml:801
+#, no-c-format
+msgid ""
+"<literal>initial_value</literal> (optional, defaults to <literal>1</"
+"literal>): The initial value to be retrieved from the sequence/table. In "
+"sequence creation terms, this is analogous to the clause typical named "
+"\"STARTS WITH\"."
+msgstr ""
+"<literal>initial_value</literal> (optional, defaults to <literal>1</"
+"literal>): The initial value to be retrieved from the sequence/table. In "
+"sequence creation terms, this is analogous to the clause typical named "
+"\"STARTS WITH\"."
 
-#: index.docbook:808
-msgid "<literal>increment_size</literal> (optional, defaults to <literal>1</literal>): The value by which subsequent calls to the sequence/table should differ. In sequence creation terms, this is analogous to the clause typical named \"INCREMENT BY\"."
-msgstr "<literal>name</literal> (optionnel, requis pour cette approche) : une propriété de type composant qui contient l'identifiant composé (voir chapitre 9)."
+#. Tag: para
+#: basic_mapping.xml:808
+#, no-c-format
+msgid ""
+"<literal>increment_size</literal> (optional, defaults to <literal>1</"
+"literal>): The value by which subsequent calls to the sequence/table should "
+"differ. In sequence creation terms, this is analogous to the clause typical "
+"named \"INCREMENT BY\"."
+msgstr ""
+"<literal>increment_size</literal> (optional, defaults to <literal>1</"
+"literal>): The value by which subsequent calls to the sequence/table should "
+"differ. In sequence creation terms, this is analogous to the clause typical "
+"named \"INCREMENT BY\"."
 
-#: index.docbook:815
-msgid "<literal>force_table_use</literal> (optional, defaults to <literal>false</literal>): Should we force the use of a table as the backing structure even though the dialect might support sequence?"
-msgstr "<literal>access</literal> (optionnel - défaut à <literal>property</literal>) : La stratégie qu'Hibernate utilisera pour accéder à la valeur de la propriété."
+#. Tag: para
+#: basic_mapping.xml:815
+#, no-c-format
+msgid ""
+"<literal>force_table_use</literal> (optional, defaults to <literal>false</"
+"literal>): Should we force the use of a table as the backing structure even "
+"though the dialect might support sequence?"
+msgstr ""
+"<literal>force_table_use</literal> (optional, defaults to <literal>false</"
+"literal>): Should we force the use of a table as the backing structure even "
+"though the dialect might support sequence?"
 
-#: index.docbook:822
-msgid "<literal>value_column</literal> (optional, defaults to <literal>next_val</literal>): Only relevant for table structures! The name of the column on the table which is used to hold the value."
-msgstr "<literal>class</literal> (optionnel - défaut au type de la propriété déterminé par réflexion) : La classe composant utilisée comme identifiant (voir prochaine section)."
+#. Tag: para
+#: basic_mapping.xml:822
+#, no-c-format
+msgid ""
+"<literal>value_column</literal> (optional, defaults to <literal>next_val</"
+"literal>): Only relevant for table structures! The name of the column on the "
+"table which is used to hold the value."
+msgstr ""
+"<literal>value_column</literal> (optional, defaults to <literal>next_val</"
+"literal>): Only relevant for table structures! The name of the column on the "
+"table which is used to hold the value."
 
-#: index.docbook:829
-msgid "<literal>optimizer</literal> (optional, defaults to <literal>none</literal>): See"
-msgstr "Cette dernière approche est celle que nous recommandons pour toutes vos applications."
+#. Tag: para
+#: basic_mapping.xml:829
+#, fuzzy, no-c-format
+msgid ""
+"<literal>optimizer</literal> (optional, defaults to <literal>none</"
+"literal>): See"
+msgstr ""
+"<literal>cascade</literal> (optionnel - par défaut à <literal>none</"
+"literal>) : le style de cascade."
 
-#: index.docbook:836
-msgid "The second of these new generators is <literal>org.hibernate.id.enhanced.TableGenerator</literal> which is intended firstly as a replacement for the <literal>table</literal> generator (although it actually functions much more like <literal>org.hibernate.id.MultipleHiLoPerTableGenerator</literal>) and secondly as a re-implementation of <literal>org.hibernate.id.MultipleHiLoPerTableGenerator</literal> utilizing the notion of pluggable optimiziers. Essentially this generator defines a table capable of holding a number of different increment values simultaneously by using multiple distinctly keyed rows. This generator has a number of configuration parameters:"
-msgstr "discriminator"
+#. Tag: para
+#: basic_mapping.xml:836
+#, fuzzy, no-c-format
+msgid ""
+"The second of these new generators is <literal>org.hibernate.id.enhanced."
+"TableGenerator</literal> which is intended firstly as a replacement for the "
+"<literal>table</literal> generator (although it actually functions much more "
+"like <literal>org.hibernate.id.MultipleHiLoPerTableGenerator</literal>) and "
+"secondly as a re-implementation of <literal>org.hibernate.id."
+"MultipleHiLoPerTableGenerator</literal> utilizing the notion of pluggable "
+"optimiziers. Essentially this generator defines a table capable of holding a "
+"number of different increment values simultaneously by using multiple "
+"distinctly keyed rows. This generator has a number of configuration "
+"parameters:"
+msgstr ""
+"The second of these new generators is <literal>org.hibernate.id.enhanced."
+"TableGenerator</literal> which is intended firstly as a replacement for the "
+"<literal>table</literal> generator (although it actually functions much more "
+"like <literal>org.hibernate.id.MultipleHiLoPerTableGenerator</literal>) and "
+"secondly as a re-implementation of <literal>org.hibernate.id."
+"MultipleHiLoPerTableGenerator</literal> utilizing the notion of pluggable "
+"optimiziers. Essentially this generator defines a table capable of holding a "
+"number of different increment values simultaneously by using multiple "
+"distinctly keyed rows. This generator has a number of configuration "
+"parameters: <placeholder-1/>"
 
-#: index.docbook:846
-msgid "<literal>table_name</literal> (optional, defaults to <literal>hibernate_sequences</literal>): The name of the table to be used."
-msgstr "L'élément <literal>&lt;discriminator&gt;</literal> est nécessaire pour la persistance polymorphique qui utilise la stratégie de mapping de table par hiérarchie de classe. La colonne discriminante contient une valeur marqueur qui permet à la couche de persistance de savoir quelle sous-classe instancier pour une ligne particulière de table en base. Un nombre restreint de types peuvent être utilisés : <literal>string</literal>, <literal>character</literal>, <literal>integer</literal>, <literal>byte</literal>, <literal>short</literal>, <literal>boolean</literal>, <literal>yes_no</literal>, <literal>true_false</literal>."
+#. Tag: para
+#: basic_mapping.xml:846
+#, no-c-format
+msgid ""
+"<literal>table_name</literal> (optional, defaults to "
+"<literal>hibernate_sequences</literal>): The name of the table to be used."
+msgstr ""
+"<literal>table_name</literal> (optional, defaults to "
+"<literal>hibernate_sequences</literal>): The name of the table to be used."
 
-#: index.docbook:852
-msgid "<literal>value_column_name</literal> (optional, defaults to <literal>next_val</literal>): The name of the column on the table which is used to hold the value."
+#. Tag: para
+#: basic_mapping.xml:852
+#, no-c-format
+msgid ""
+"<literal>value_column_name</literal> (optional, defaults to "
+"<literal>next_val</literal>): The name of the column on the table which is "
+"used to hold the value."
 msgstr ""
-      "<![CDATA[<discriminator\n"
-      "        column=\"discriminator_column\"\n"
-      "        type=\"discriminator_type\"\n"
-      "        force=\"true|false\"\n"
-      "        insert=\"true|false\"\n"
-      "        formula=\"arbitrary sql expression\"\n"
-      "/>]]>"
+"<literal>value_column_name</literal> (optional, defaults to "
+"<literal>next_val</literal>): The name of the column on the table which is "
+"used to hold the value."
 
-#: index.docbook:858
-msgid "<literal>segment_column_name</literal> (optional, defaults to <literal>sequence_name</literal>): The name of the column on the table which is used to hold the \"segement key\". This is the value which distinctly identifies which increment value to use."
-msgstr "<literal>column</literal> (optionnel - par défaut à <literal>class</literal>) le nom de la colonne discriminante."
+#. Tag: para
+#: basic_mapping.xml:858
+#, no-c-format
+msgid ""
+"<literal>segment_column_name</literal> (optional, defaults to "
+"<literal>sequence_name</literal>): The name of the column on the table which "
+"is used to hold the \"segement key\". This is the value which distinctly "
+"identifies which increment value to use."
+msgstr ""
+"<literal>segment_column_name</literal> (optional, defaults to "
+"<literal>sequence_name</literal>): The name of the column on the table which "
+"is used to hold the \"segement key\". This is the value which distinctly "
+"identifies which increment value to use."
 
-#: index.docbook:865
-msgid "<literal>segment_value</literal> (optional, defaults to <literal>default</literal>): The \"segment key\" value for the segment from which we want to pull increment values for this generator."
-msgstr "<literal>type</literal> (optionnel - par défaut à <literal>string</literal>) un nom indiquant le type Hibernate."
+#. Tag: para
+#: basic_mapping.xml:865
+#, no-c-format
+msgid ""
+"<literal>segment_value</literal> (optional, defaults to <literal>default</"
+"literal>): The \"segment key\" value for the segment from which we want to "
+"pull increment values for this generator."
+msgstr ""
+"<literal>segment_value</literal> (optional, defaults to <literal>default</"
+"literal>): The \"segment key\" value for the segment from which we want to "
+"pull increment values for this generator."
 
-#: index.docbook:872
-msgid "<literal>segment_value_length</literal> (optional, defaults to <literal>255</literal>): Used for schema generation; the column size to create this segment key column."
-msgstr "<literal>force</literal> (optionnel - par défaut à <literal>false</literal>) \"oblige\" Hibernate à spécifier une valeur discriminante autorisée même quand on récupère toutes les instances de la classe de base."
+#. Tag: para
+#: basic_mapping.xml:872
+#, no-c-format
+msgid ""
+"<literal>segment_value_length</literal> (optional, defaults to <literal>255</"
+"literal>): Used for schema generation; the column size to create this "
+"segment key column."
+msgstr ""
+"<literal>segment_value_length</literal> (optional, defaults to <literal>255</"
+"literal>): Used for schema generation; the column size to create this "
+"segment key column."
 
-#: index.docbook:878
-msgid "<literal>initial_value</literal> (optional, defaults to <literal>1</literal>): The initial value to be retrieved from the table."
-msgstr "<literal>insert</literal> (optionnel - par défaut à <literal>true</literal>) à passer à <literal>false</literal> si la colonne discriminante fait aussi partie d'un identifiant composé mappé (Indique à Hibernate de ne pas inclure la colonne dans les <literal>INSERT</literal> SQL)."
+#. Tag: para
+#: basic_mapping.xml:878
+#, no-c-format
+msgid ""
+"<literal>initial_value</literal> (optional, defaults to <literal>1</"
+"literal>): The initial value to be retrieved from the table."
+msgstr ""
+"<literal>initial_value</literal> (optional, defaults to <literal>1</"
+"literal>): The initial value to be retrieved from the table."
 
-#: index.docbook:884
-msgid "<literal>increment_size</literal> (optional, defaults to <literal>1</literal>): The value by which subsequent calls to the table should differ."
-msgstr "<literal>formula</literal> (optionnel) une expression SQL arbitraire qui est exécutée quand un type doit être évalué. Permet la discrimination basée sur le contenu."
+#. Tag: para
+#: basic_mapping.xml:884
+#, no-c-format
+msgid ""
+"<literal>increment_size</literal> (optional, defaults to <literal>1</"
+"literal>): The value by which subsequent calls to the table should differ."
+msgstr ""
+"<literal>increment_size</literal> (optional, defaults to <literal>1</"
+"literal>): The value by which subsequent calls to the table should differ."
 
-#: index.docbook:890
-msgid "<literal>optimizer</literal> (optional, defaults to <literal></literal>): See"
-msgstr "Les véritables valeurs de la colonne discriminante sont spécifiées par l'attribut <literal>discriminator-value</literal> des éléments <literal>&lt;class&gt;</literal> et <literal>&lt;subclass&gt;</literal>."
+#. Tag: para
+#: basic_mapping.xml:890
+#, fuzzy, no-c-format
+msgid ""
+"<literal>optimizer</literal> (optional, defaults to <literal></literal>): See"
+msgstr ""
+"<literal>cascade</literal> (optionnel - par défaut à <literal>none</"
+"literal>) : le style de cascade."
 
-#: index.docbook:900
+#. Tag: title
+#: basic_mapping.xml:900
+#, no-c-format
 msgid "Identifier generator optimization"
-msgstr "L'attribut <literal>force</literal> n'est utile que si la table contient des lignes avec des valeurs \"extra\" discriminantes qui ne sont pas mappées à une classe persistante. Ce ne sera généralement pas le cas."
+msgstr "Identifier generator optimization"
 
-#: index.docbook:901
-msgid "For identifier generators which store values in the database, it is inefficient for them to hit the database on each and every call to generate a new identifier value. Instead, you'd ideally want to group a bunch of them in memory and only hit the database when you have exhausted your in-memory value group. This is the role of the pluggable optimizers. Currently only the two enhanced generators (<xref linkend=\"mapping-declaration-id-enhanced\"/> support this notion."
-msgstr "En utilisant l'attribut <literal>formula</literal> vous pouvez déclarer une expression SQL arbitraire qui sera utilisée pour évaluer le type d'une ligne :"
+#. Tag: para
+#: basic_mapping.xml:901
+#, fuzzy, no-c-format
+msgid ""
+"For identifier generators which store values in the database, it is "
+"inefficient for them to hit the database on each and every call to generate "
+"a new identifier value. Instead, you'd ideally want to group a bunch of them "
+"in memory and only hit the database when you have exhausted your in-memory "
+"value group. This is the role of the pluggable optimizers. Currently only "
+"the two enhanced generators (<xref linkend=\"mapping-declaration-id-enhanced"
+"\"/> support this notion."
+msgstr ""
+"For identifier generators which store values in the database, it is "
+"inefficient for them to hit the database on each and every call to generate "
+"a new identifier value. Instead, you'd ideally want to group a bunch of them "
+"in memory and only hit the database when you have exhausted your in-memory "
+"value group. This is the role of the pluggable optimizers. Currently only "
+"the two enhanced generators (<xref linkend=\"mapping-declaration-id-enhanced"
+"\"/> support this notion. <placeholder-1/>"
 
-#: index.docbook:909
-msgid "<literal>none</literal> (generally this is the default if no optimizer was specified): This says to not perform any optimizations, and hit the database each and every request."
+#. Tag: para
+#: basic_mapping.xml:909
+#, no-c-format
+msgid ""
+"<literal>none</literal> (generally this is the default if no optimizer was "
+"specified): This says to not perform any optimizations, and hit the database "
+"each and every request."
 msgstr ""
-      "<![CDATA[<discriminator\n"
-      "    formula=\"case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end\"\n"
-      "    type=\"integer\"/>]]>"
+"<literal>none</literal> (generally this is the default if no optimizer was "
+"specified): This says to not perform any optimizations, and hit the database "
+"each and every request."
 
-#: index.docbook:915
-msgid "<literal>hilo</literal>: applies a hi/lo algorithm around the database retrieved values. The values from the database for this optimizer are expected to be sequential. The values retrieved from the database structure for this optimizer indicates the \"group number\"; the <literal>increment_size</literal> is multiplied by that value in memory to define a group \"hi value\"."
-msgstr "version (optionnel)"
+#. Tag: para
+#: basic_mapping.xml:915
+#, no-c-format
+msgid ""
+"<literal>hilo</literal>: applies a hi/lo algorithm around the database "
+"retrieved values. The values from the database for this optimizer are "
+"expected to be sequential. The values retrieved from the database structure "
+"for this optimizer indicates the \"group number\"; the "
+"<literal>increment_size</literal> is multiplied by that value in memory to "
+"define a group \"hi value\"."
+msgstr ""
+"<literal>hilo</literal>: applies a hi/lo algorithm around the database "
+"retrieved values. The values from the database for this optimizer are "
+"expected to be sequential. The values retrieved from the database structure "
+"for this optimizer indicates the \"group number\"; the "
+"<literal>increment_size</literal> is multiplied by that value in memory to "
+"define a group \"hi value\"."
 
-#: index.docbook:924
-msgid "<literal>pooled</literal>: like was discussed for <literal>hilo</literal>, this optimizers attempts to minimize the number of hits to the database. Here, however, we simply store the starting value for the \"next group\" into the database structure rather than a sequential value in combination with an in-memory grouping algorithm. <literal>increment_size</literal> here refers to the values coming from the database."
-msgstr "L'élément <literal>&lt;version&gt;</literal> est optionnel et indique que la table contient des données versionnées. C'est particulièrement utile si vous avez l'intention d'utiliser des <emphasis>transactions longues</emphasis> (voir plus-bas)."
+#. Tag: para
+#: basic_mapping.xml:924
+#, no-c-format
+msgid ""
+"<literal>pooled</literal>: like was discussed for <literal>hilo</literal>, "
+"this optimizers attempts to minimize the number of hits to the database. "
+"Here, however, we simply store the starting value for the \"next group\" "
+"into the database structure rather than a sequential value in combination "
+"with an in-memory grouping algorithm. <literal>increment_size</literal> here "
+"refers to the values coming from the database."
+msgstr ""
+"<literal>pooled</literal>: like was discussed for <literal>hilo</literal>, "
+"this optimizers attempts to minimize the number of hits to the database. "
+"Here, however, we simply store the starting value for the \"next group\" "
+"into the database structure rather than a sequential value in combination "
+"with an in-memory grouping algorithm. <literal>increment_size</literal> here "
+"refers to the values coming from the database."
 
-#: index.docbook:937
+#. Tag: title
+#: basic_mapping.xml:937
+#, no-c-format
 msgid "composite-id"
+msgstr "composite-id"
+
+#. Tag: programlisting
+#: basic_mapping.xml:939
+#, no-c-format
+msgid ""
+"<![CDATA[<composite-id\n"
+"        name=\"propertyName\"\n"
+"        class=\"ClassName\"\n"
+"        mapped=\"true|false\"\n"
+"        access=\"field|property|ClassName\">\n"
+"        node=\"element-name|.\"\n"
+"\n"
+"        <key-property name=\"propertyName\" type=\"typename\" column="
+"\"column_name\"/>\n"
+"        <key-many-to-one name=\"propertyName class=\"ClassName\" column="
+"\"column_name\"/>\n"
+"        ......\n"
+"</composite-id>]]>"
 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"
-      "        generated=\"never|always\"\n"
-      "        insert=\"true|false\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "/>]]>"
 
-#: index.docbook:939
+#. Tag: para
+#: basic_mapping.xml:941
+#, 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 "<literal>column</literal> (optionnel - par défaut égal au nom de la propriété) : Le nom de la colonne contenant le numéro de version."
+"For a table with a composite key, you may map multiple properties of the "
+"class as identifier properties. The <literal>&lt;composite-id&gt;</literal> "
+"element accepts <literal>&lt;key-property&gt;</literal> property mappings "
+"and <literal>&lt;key-many-to-one&gt;</literal> mappings as child elements."
+msgstr ""
+"Pour une table avec clef composée, vous pouvez mapper plusieurs attributs de "
+"la classe comme propriétés identifiantes. L'élement <literal>&lt;composite-"
+"id&gt;</literal> accepte les mappings de propriétés <literal>&lt;key-"
+"property&gt;</literal> et les mappings <literal>&lt;key-many-to-one&gt;</"
+"literal> comme fils."
 
-#: index.docbook:941
-msgid "For a table with a composite key, you may map multiple properties of the class as identifier properties. The <literal>&lt;composite-id&gt;</literal> element accepts <literal>&lt;key-property&gt;</literal> property mappings and <literal>&lt;key-many-to-one&gt;</literal> mappings as child elements."
-msgstr "<literal>name</literal> : Le nom d'un attribut de la classe persistante."
+#. Tag: programlisting
+#: basic_mapping.xml:948
+#, no-c-format
+msgid ""
+"<![CDATA[<composite-id>\n"
+"        <key-property name=\"medicareNumber\"/>\n"
+"        <key-property name=\"dependent\"/>\n"
+"</composite-id>]]>"
+msgstr ""
 
-#: index.docbook:948
+#. Tag: para
+#: basic_mapping.xml:950
+#, no-c-format
 msgid ""
-      "<![CDATA[<composite-id>\n"
-      "        <key-property name=\"medicareNumber\"/>\n"
-      "        <key-property name=\"dependent\"/>\n"
-      "</composite-id>]]>"
-msgstr "<literal>type</literal> (optionnel - par défaut à <literal>integer</literal>) : Le type du numéro de version."
+"Your persistent class <emphasis>must</emphasis> override <literal>equals()</"
+"literal> and <literal>hashCode()</literal> to implement composite identifier "
+"equality. It must also implements <literal>Serializable</literal>."
+msgstr ""
+"Vos classes persistantes <emphasis>doivent</emphasis> surcharger les "
+"méthodes <literal>equals()</literal> et <literal>hashCode()</literal> pour "
+"implémenter l'égalité d'identifiant composé. Elles doivent aussi implenter "
+"l'interface <literal>Serializable</literal>."
 
-#: index.docbook:950
-msgid "Your persistent class <emphasis>must</emphasis> override <literal>equals()</literal> and <literal>hashCode()</literal> to implement composite identifier equality. It must also implements <literal>Serializable</literal>."
-msgstr "<literal>access</literal> (optionnel - par défaut à <literal>property</literal>) : La stratégie à utiliser par Hibernate pour accéder à la valeur de la propriété."
+#. Tag: para
+#: basic_mapping.xml:956
+#, no-c-format
+msgid ""
+"Unfortunately, this approach to composite identifiers means that a "
+"persistent object is its own identifier. There is no convenient \"handle\" "
+"other than the object itself. You must instantiate an instance of the "
+"persistent class itself and populate its identifier properties before you "
+"can <literal>load()</literal> the persistent state associated with a "
+"composite key. We call this approach an <emphasis>embedded</emphasis> "
+"composite identifier, and discourage it for serious applications."
+msgstr ""
+"Malheureusement cette approche sur les identifiants composés signifie qu'un "
+"objet persistant est son propre identifiant. Il n'y a pas d'autre moyen "
+"pratique de manipuler l'objet que par l'objet lui-même. Vous devez "
+"instancier une instance de la classe persistante elle-même et peupler ses "
+"attributs identifiants avant de pouvoir appeler la méthode <literal>load()</"
+"literal> pour charger son état persistant associé à une clef composée. Nous "
+"appelons cette approche \"identifiant composé <emphasis>embarqué</emphasis>"
+"\" et ne la recommandons pas pour des applications complexes."
 
-#: index.docbook:956
-msgid "Unfortunately, this approach to composite identifiers means that a persistent object is its own identifier. There is no convenient \"handle\" other than the object itself. You must instantiate an instance of the persistent class itself and populate its identifier properties before you can <literal>load()</literal> the persistent state associated with a composite key. We call this approach an <emphasis>embedded</emphasis> composite identifier, and discourage it for serious applications."
-msgstr "<literal>unsaved-value</literal> (optionnel - par défaut à <literal>undefined</literal>) : Une valeur de la propriété d'identifiant qui indique que l'instance est nouvellement instanciée (non sauvegardée), et qui la distingue des instances détachées qui ont été sauvegardées ou chargées dans une session précédente (<literal>undefined</literal> indique que la valeur de l'atribut identifiant devrait être utilisé)."
+#. Tag: para
+#: basic_mapping.xml:965
+#, no-c-format
+msgid ""
+"A second approach is what we call a <emphasis>mapped</emphasis> composite "
+"identifier, where the identifier properties named inside the <literal>&lt;"
+"composite-id&gt;</literal> element are duplicated on both the persistent "
+"class and a separate identifier class."
+msgstr ""
+"Une seconde approche, appelée identifiant composé <emphasis>mappé</"
+"emphasis>, consiste à encapsuler les propriétés identifiantes (celles "
+"contenues dans <literal>&lt;composite-id&gt;</literal>) dans une classe "
+"particulière."
 
-#: index.docbook:965
-msgid "A second approach is what we call a <emphasis>mapped</emphasis> composite identifier, where the identifier properties named inside the <literal>&lt;composite-id&gt;</literal> element are duplicated on both the persistent class and a separate identifier class."
-msgstr "<literal>generated</literal> (optional - défaut à <literal>never</literal>) : Indique que la valeur de la propriété version est générée par la base de données cf. <xref linkend=\"mapping-generated\"/>generated properties."
+#. Tag: programlisting
+#: basic_mapping.xml:971
+#, no-c-format
+msgid ""
+"<![CDATA[<composite-id class=\"MedicareId\" mapped=\"true\">\n"
+"        <key-property name=\"medicareNumber\"/>\n"
+"        <key-property name=\"dependent\"/>\n"
+"</composite-id>]]>"
+msgstr ""
 
-#: index.docbook:971
+#. Tag: para
+#: basic_mapping.xml:973
+#, 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 "<literal>insert</literal> (optionnel - défaut à <literal>true</literal>) : Indique si la colonne de version doit être incluse dans les ordres insert. Peut être à <literal>false</literal> si et seulement si la colonne de la base de données est définie avec une valeur par défaut à <literal>0</literal>."
+"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."
+msgstr ""
+"Dans cet exemple, la classe d'identifiant composée,<literal>MedicareId</"
+"literal> et la classe mappée elle-même, possèdent les propriétés "
+"<literal>medicareNumber</literal> et <literal>dependent</literal>. La classe "
+"identifiante doit redéfinir <literal>equals()</literal> et <literal>hashCode"
+"()</literal> et implémenter <literal>Serializable</literal>. Le désavantage "
+"de cette approche est la duplication du code."
 
-#: index.docbook:973
-msgid "In this example, both the composite identifier class, <literal>MedicareId</literal>, and the entity class itself have properties named <literal>medicareNumber</literal> and <literal>dependent</literal>. The identifier class must override <literal>equals()</literal> and <literal>hashCode()</literal> and implement. <literal>Serializable</literal>. The disadvantage of this approach is quite obvious&mdash;code duplication."
-msgstr "Les numéros de version doivent avoir les types Hibernate <literal>long</literal>, <literal>integer</literal>, <literal>short</literal>, <literal>timestamp</literal> ou <literal>calendar</literal>."
+#. Tag: para
+#: basic_mapping.xml:982
+#, no-c-format
+msgid ""
+"The following attributes are used to specify a mapped composite identifier:"
+msgstr ""
+"Les attributs suivants servent à configurer un identifiant composé mappé :"
 
-#: index.docbook:982
-msgid "The following attributes are used to specify a mapped composite identifier:"
-msgstr "Une propriété de version ou un timestamp ne doit jamais être null pour une instance détachée, ainsi Hibernate pourra détecter toute instance ayant une version ou un timestamp null comme transient, quelles que soient les stratégies <literal>unsaved-value</literal> spécifiées. <emphasis>Déclarer un numéro de version ou un timestamp \"nullable\" est un moyen pratique d'éviter tout problème avec les réattachements transitifs dans Hibernate, particulièrement utile pour ceux qui utilisent des identifiants assignés ou des clefs composées !</emphasis>"
+#. Tag: para
+#: basic_mapping.xml:988
+#, no-c-format
+msgid ""
+"<literal>mapped</literal> (optional, defaults to <literal>false</literal>): "
+"indicates that a mapped composite identifier is used, and that the contained "
+"property mappings refer to both the entity class and the composite "
+"identifier class."
+msgstr ""
+"<literal>mapped</literal> (optionnel, défaut à <literal>false</literal>) : "
+"indique qu'un identifiant composé mappé est utilisé, et que les propriétés "
+"contenues font référence aux deux classes (celle mappée et la classe "
+"identifiante)."
 
-#: index.docbook:988
-msgid "<literal>mapped</literal> (optional, defaults to <literal>false</literal>): indicates that a mapped composite identifier is used, and that the contained property mappings refer to both the entity class and the composite identifier class."
-msgstr "timestamp (optionnel)"
+#. Tag: para
+#: basic_mapping.xml:996
+#, no-c-format
+msgid ""
+"<literal>class</literal> (optional, but required for a mapped composite "
+"identifier): The class used as a composite identifier."
+msgstr ""
+"<literal>class</literal> (optionnel, mais requis pour un identifiant composé "
+"mappé) : La classe composant utilisée comme identifiant composé."
 
-#: index.docbook:996
-msgid "<literal>class</literal> (optional, but required for a mapped composite identifier): The class used as a composite identifier."
-msgstr "L'élément optionnel <literal>&lt;timestamp&gt;</literal> indique que la table contient des données horodatées (timestamp). Cela sert d'alternative à l'utilisation de numéros de version. Les timestamps (ou horodatage) sont par nature une implémentation moins fiable pour l'optimistic locking. Cependant, l'application peut parfois utiliser l'horodatage à d'autres fins."
+#. Tag: para
+#: basic_mapping.xml:1003
+#, no-c-format
+msgid ""
+"We will describe a third, even more convenient approach where the composite "
+"identifier is implemented as a component class in <xref linkend=\"components-"
+"compositeid\"/>. The attributes described below apply only to this "
+"alternative approach:"
+msgstr ""
+"Nous décrirons une troisième approche beaucoup plus efficace ou "
+"l'identifiant composé est implémenté comme une classe composant dans <xref "
+"linkend=\"components-compositeid\"/>. Les attributs décrits ci dessous, ne "
+"s'appliquent que pour cette dernière approche :"
 
-#: index.docbook:1003
-msgid "We will describe a third, even more convenient approach where the composite identifier is implemented as a component class in <xref linkend=\"components-compositeid\"/>. The attributes described below apply only to this alternative approach:"
+#. Tag: para
+#: basic_mapping.xml:1011
+#, no-c-format
+msgid ""
+"<literal>name</literal> (optional, required for this approach): A property "
+"of component type that holds the composite identifier (see chapter 9)."
 msgstr ""
-      "<![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"
-      "/>]]>"
+"<literal>name</literal> (optionnel, requis pour cette approche) : une "
+"propriété de type composant qui contient l'identifiant composé (voir "
+"chapitre 9)."
 
-#: index.docbook:1011
-msgid "<literal>name</literal> (optional, required for this approach): A property of component type that holds the composite identifier (see chapter 9)."
-msgstr "<literal>column</literal> (optionnel - par défaut à le nom de la propriété) : Le nom d'une colonne contenant le timestamp."
+#. Tag: para
+#: basic_mapping.xml:1023
+#, no-c-format
+msgid ""
+"<literal>class</literal> (optional - defaults to the property type "
+"determined by reflection): The component class used as a composite "
+"identifier (see next section)."
+msgstr ""
+"<literal>class</literal> (optionnel - défaut au type de la propriété "
+"déterminé par réflexion) : La classe composant utilisée comme identifiant "
+"(voir prochaine section)."
 
-#: index.docbook:1023
-msgid "<literal>class</literal> (optional - defaults to the property type determined by reflection): The component class used as a composite identifier (see next section)."
-msgstr "<literal>access</literal> (optionnel - par défaut à <literal>property</literal>) : La stratégie à utiliser par Hibernate pour accéder à la valeur de la propriété."
+#. Tag: para
+#: basic_mapping.xml:1030
+#, no-c-format
+msgid ""
+"This third approach, an <emphasis>identifier component</emphasis> is the one "
+"we recommend for almost all applications."
+msgstr ""
+"Cette dernière approche est celle que nous recommandons pour toutes vos "
+"applications."
 
-#: index.docbook:1030
-msgid "This third approach, an <emphasis>identifier component</emphasis> is the one we recommend for almost all applications."
-msgstr "<literal>unsaved-value</literal> (optionnel - par défaut à <literal>null</literal>) : Propriété dont la valeur est un numéro de version qui indique que l'instance est nouvellement instanciée (non sauvegardée), et qui la distingue des instances détachées qui ont été sauvegardées ou chargées dans une session précédente (<literal>undefined</literal> indique que la valeur de l'attribut identifiant devrait être utilisée)."
-
-#: index.docbook:1038
+#. Tag: title
+#: basic_mapping.xml:1038
+#, no-c-format
 msgid "discriminator"
-msgstr "<literal>source</literal> (optionnel - par défaut à <literal>vm</literal>) : D'où Hibernate doit-il récupérer la valeur du timestamp? Depuis la base de données ou depuis la JVM d'exécution? Les valeurs de timestamp de la base de données provoquent une surcharge puisque Hibernate doit interroger la base pour déterminer la prochaine valeur mais cela est plus sûr lorsque vous fonctionnez dans un cluster. Remarquez aussi que certains des dialectes ne supportent pas cette fonction, et que d'autres l'implémentent mal, provoquant des erreurs de précision (Oracle 8 par exemple)."
+msgstr "discriminator"
 
-#: index.docbook:1040
-msgid "The <literal>&lt;discriminator&gt;</literal> element is required for polymorphic persistence using the table-per-class-hierarchy mapping strategy and declares a discriminator column of the table. The discriminator column contains marker values that tell the persistence layer what subclass to instantiate for a particular row. A restricted set of types may be used: <literal>string</literal>, <literal>character</literal>, <literal>integer</literal>, <literal>byte</literal>, <literal>short</literal>, <literal>boolean</literal>, <literal>yes_no</literal>, <literal>true_false</literal>."
-msgstr "<literal>generated</literal> (optional - défaut à <literal>never</literal>) : Indique que la valeur de ce timestamp est générée par la base de données cf. <xref linkend=\"mapping-generated\"/>generated properties."
+#. Tag: para
+#: basic_mapping.xml:1040
+#, no-c-format
+msgid ""
+"The <literal>&lt;discriminator&gt;</literal> element is required for "
+"polymorphic persistence using the table-per-class-hierarchy mapping strategy "
+"and declares a discriminator column of the table. The discriminator column "
+"contains marker values that tell the persistence layer what subclass to "
+"instantiate for a particular row. A restricted set of types may be used: "
+"<literal>string</literal>, <literal>character</literal>, <literal>integer</"
+"literal>, <literal>byte</literal>, <literal>short</literal>, "
+"<literal>boolean</literal>, <literal>yes_no</literal>, <literal>true_false</"
+"literal>."
+msgstr ""
+"L'élément <literal>&lt;discriminator&gt;</literal> est nécessaire pour la "
+"persistance polymorphique qui utilise la stratégie de mapping de table par "
+"hiérarchie de classe. La colonne discriminante contient une valeur marqueur "
+"qui permet à la couche de persistance de savoir quelle sous-classe "
+"instancier pour une ligne particulière de table en base. Un nombre restreint "
+"de types peuvent être utilisés : <literal>string</literal>, "
+"<literal>character</literal>, <literal>integer</literal>, <literal>byte</"
+"literal>, <literal>short</literal>, <literal>boolean</literal>, "
+"<literal>yes_no</literal>, <literal>true_false</literal>."
 
-#: index.docbook:1058
+#. Tag: programlisting
+#: basic_mapping.xml:1058
+#, no-c-format
 msgid ""
-      "<![CDATA[<discriminator\n"
-      "        column=\"discriminator_column\"\n"
-      "        type=\"discriminator_type\"\n"
-      "        force=\"true|false\"\n"
-      "        insert=\"true|false\"\n"
-      "        formula=\"arbitrary sql expression\"\n"
-      "/>]]>"
-msgstr "Notez que <literal>&lt;timestamp&gt;</literal> est équivalent à <literal>&lt;version type=\"timestamp\"&gt;</literal>."
+"<![CDATA[<discriminator\n"
+"        column=\"discriminator_column\"\n"
+"        type=\"discriminator_type\"\n"
+"        force=\"true|false\"\n"
+"        insert=\"true|false\"\n"
+"        formula=\"arbitrary sql expression\"\n"
+"/>]]>"
+msgstr ""
 
-#: index.docbook:1061
-msgid "<literal>column</literal> (optional - defaults to <literal>class</literal>) the name of the discriminator column."
-msgstr "property"
+#. Tag: para
+#: basic_mapping.xml:1061
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to <literal>class</literal>) "
+"the name of the discriminator column."
+msgstr ""
+"<literal>column</literal> (optionnel - par défaut à <literal>class</"
+"literal>) le nom de la colonne discriminante."
 
-#: index.docbook:1067
-msgid "<literal>type</literal> (optional - defaults to <literal>string</literal>) a name that indicates the Hibernate type"
-msgstr "L'élément <literal>&lt;property&gt;</literal> déclare une propriété de la classe au sens JavaBean."
+#. Tag: para
+#: basic_mapping.xml:1067
+#, no-c-format
+msgid ""
+"<literal>type</literal> (optional - defaults to <literal>string</literal>) a "
+"name that indicates the Hibernate type"
+msgstr ""
+"<literal>type</literal> (optionnel - par défaut à <literal>string</literal>) "
+"un nom indiquant le type Hibernate."
 
-#: index.docbook:1073
-msgid "<literal>force</literal> (optional - defaults to <literal>false</literal>) \"force\" Hibernate to specify allowed discriminator values even when retrieving all instances of the root class."
+#. Tag: para
+#: basic_mapping.xml:1073
+#, no-c-format
+msgid ""
+"<literal>force</literal> (optional - defaults to <literal>false</literal>) "
+"\"force\" Hibernate to specify allowed discriminator values even when "
+"retrieving all instances of the root class."
 msgstr ""
-      "<![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"
-      "/>]]>"
+"<literal>force</literal> (optionnel - par défaut à <literal>false</literal>) "
+"\"oblige\" Hibernate à spécifier une valeur discriminante autorisée même "
+"quand on récupère toutes les instances de la classe de base."
 
-#: index.docbook:1080
-msgid "<literal>insert</literal> (optional - defaults to <literal>true</literal>) set this to <literal>false</literal> if your discriminator column is also part of a mapped composite identifier. (Tells Hibernate to not include the column in SQL <literal>INSERT</literal>s.)"
-msgstr "<literal>name</literal> : nom de la propriété, avec une lettre initiale en minuscule."
+#. Tag: para
+#: basic_mapping.xml:1080
+#, no-c-format
+msgid ""
+"<literal>insert</literal> (optional - defaults to <literal>true</literal>) "
+"set this to <literal>false</literal> if your discriminator column is also "
+"part of a mapped composite identifier. (Tells Hibernate to not include the "
+"column in SQL <literal>INSERT</literal>s.)"
+msgstr ""
+"<literal>insert</literal> (optionnel - par défaut à <literal>true</literal>) "
+"à passer à <literal>false</literal> si la colonne discriminante fait aussi "
+"partie d'un identifiant composé mappé (Indique à Hibernate de ne pas inclure "
+"la colonne dans les <literal>INSERT</literal> SQL)."
 
-#: index.docbook:1088
-msgid "<literal>formula</literal> (optional) an arbitrary SQL expression that is executed when a type has to be evaluated. Allows content-based discrimination."
-msgstr "<literal>column</literal> (optionnel - par défaut au nom de la propriété) : le nom de la colonne mappée. Cela peut aussi être indiqué dans le(s) sous-élément(s) <literal>&lt;column&gt;</literal>."
+#. Tag: para
+#: basic_mapping.xml:1088
+#, no-c-format
+msgid ""
+"<literal>formula</literal> (optional) an arbitrary SQL expression that is "
+"executed when a type has to be evaluated. Allows content-based "
+"discrimination."
+msgstr ""
+"<literal>formula</literal> (optionnel) une expression SQL arbitraire qui est "
+"exécutée quand un type doit être évalué. Permet la discrimination basée sur "
+"le contenu."
 
-#: index.docbook:1096
-msgid "Actual values of the discriminator column are specified by the <literal>discriminator-value</literal> attribute of the <literal>&lt;class&gt;</literal> and <literal>&lt;subclass&gt;</literal> elements."
-msgstr "<literal>type</literal> (optionnel) : nom indiquant le type Hibernate."
+#. Tag: para
+#: basic_mapping.xml:1096
+#, no-c-format
+msgid ""
+"Actual values of the discriminator column are specified by the "
+"<literal>discriminator-value</literal> attribute of the <literal>&lt;"
+"class&gt;</literal> and <literal>&lt;subclass&gt;</literal> elements."
+msgstr ""
+"Les véritables valeurs de la colonne discriminante sont spécifiées par "
+"l'attribut <literal>discriminator-value</literal> des éléments <literal>&lt;"
+"class&gt;</literal> et <literal>&lt;subclass&gt;</literal>."
 
-#: index.docbook:1102
-msgid "The <literal>force</literal> attribute is (only) useful if the table contains rows with \"extra\" discriminator values that are not mapped to a persistent class. This will not usually be the case."
-msgstr "<literal>update, insert</literal> (optionnel - par défaut à <literal>true</literal>) : indique que les colonnes mappées devraient être incluses dans des <literal>UPDATE</literal> SQL et/ou des <literal>INSERT</literal>. Mettre les deux à <literal>false</literal> empêche la propagation en base de données (utile si vous savez qu'un trigger affectera la valeur à la colonne)."
+#. Tag: para
+#: basic_mapping.xml:1102
+#, no-c-format
+msgid ""
+"The <literal>force</literal> attribute is (only) useful if the table "
+"contains rows with \"extra\" discriminator values that are not mapped to a "
+"persistent class. This will not usually be the case."
+msgstr ""
+"L'attribut <literal>force</literal> n'est utile que si la table contient des "
+"lignes avec des valeurs \"extra\" discriminantes qui ne sont pas mappées à "
+"une classe persistante. Ce ne sera généralement pas le cas."
 
-#: index.docbook:1108
-msgid "Using the <literal>formula</literal> attribute you can declare an arbitrary SQL expression that will be used to evaluate the type of a row:"
-msgstr "<literal>formula</literal> (optionnel) : une expression SQL qui définit la valeur pour une propriété <emphasis>calculée</emphasis>. Les propriétés calculées ne possède pas leur propre mapping."
+#. Tag: para
+#: basic_mapping.xml:1108
+#, no-c-format
+msgid ""
+"Using the <literal>formula</literal> attribute you can declare an arbitrary "
+"SQL expression that will be used to evaluate the type of a row:"
+msgstr ""
+"En utilisant l'attribut <literal>formula</literal> vous pouvez déclarer une "
+"expression SQL arbitraire qui sera utilisée pour évaluer le type d'une "
+"ligne :"
 
-#: index.docbook:1113
+#. Tag: programlisting
+#: basic_mapping.xml:1113
+#, no-c-format
 msgid ""
-      "<![CDATA[<discriminator\n"
-      "    formula=\"case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end\"\n"
-      "    type=\"integer\"/>]]>"
-msgstr "<literal>access</literal> (optionnel - par défaut à <literal>property</literal>): Stratégie que Hibernate doit utiliser pour accéder à cette valeur."
+"<![CDATA[<discriminator\n"
+"    formula=\"case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end\"\n"
+"    type=\"integer\"/>]]>"
+msgstr ""
 
-#: index.docbook:1118
+#. Tag: title
+#: basic_mapping.xml:1118
+#, no-c-format
 msgid "version (optional)"
-msgstr "<literal>lazy</literal> (optionnel - par défaut à <literal>false</literal>): Indique que cette propriété devrait être chargée en différé (lazy loading) quand on accède à la variable d'instance pour la première fois."
+msgstr "version (optionnel)"
 
-#: index.docbook:1120
-msgid "The <literal>&lt;version&gt;</literal> element is optional and indicates that the table contains versioned data. This is particularly useful if you plan to use <emphasis>long transactions</emphasis> (see below)."
-msgstr "<literal>unique</literal> (optionnel): Génère le DDL d'une contrainte d'unicité pour les colonnes. Permet aussi d'en faire la cible d'un <literal>property-ref</literal>."
+#. Tag: para
+#: basic_mapping.xml:1120
+#, 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 "
+"plan to use <emphasis>long transactions</emphasis> (see below)."
+msgstr ""
+"L'élément <literal>&lt;version&gt;</literal> est optionnel et indique que la "
+"table contient des données versionnées. C'est particulièrement utile si vous "
+"avez l'intention d'utiliser des <emphasis>transactions longues</emphasis> "
+"(voir plus-bas)."
 
-#: index.docbook:1136
+#. Tag: programlisting
+#: basic_mapping.xml:1136
+#, no-c-format
 msgid ""
-      "<![CDATA[<version\n"
-      "        column=\"version_column\"\n"
-      "        name=\"propertyName\"\n"
-      "        type=\"typename\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        unsaved-value=\"null|negative|undefined\"\n"
-      "        generated=\"never|always\"\n"
-      "        insert=\"true|false\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "/>]]>"
-msgstr "<literal>not-null</literal> (optionnel): Génère le DDL d'une contrainte de non nullité pour les colonnes."
+"<![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 ""
 
-#: index.docbook:1139
-msgid "<literal>column</literal> (optional - defaults to the property name): The name of the column holding the version number."
-msgstr "<literal>optimistic-lock</literal> (optionnel - par défaut à <literal>true</literal>): Indique que les mises à jour de cette propriété peuvent ou non nécessiter l'acquisition d'un verrou optimiste. En d'autres termes, cela détermine s'il est nécessaire d'incrémenter un numéro de version quand cette propriété est marquée obsolète (dirty)."
+#. Tag: para
+#: basic_mapping.xml:1139
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to the property name): The "
+"name of the column holding the version number."
+msgstr ""
+"<literal>column</literal> (optionnel - par défaut égal au nom de la "
+"propriété) : Le nom de la colonne contenant le numéro de version."
 
-#: index.docbook:1145
-msgid "<literal>name</literal>: The name of a property of the persistent class."
-msgstr "<literal>generated</literal> (optional - défaut à<literal>never</literal>): Indique que la valeur de ce timestamp est générée par la base de données cf. <xref linkend=\"mapping-generated\"/>generated properties."
+#. Tag: para
+#: basic_mapping.xml:1145
+#, no-c-format
+msgid ""
+"<literal>name</literal>: The name of a property of the persistent class."
+msgstr ""
+"<literal>name</literal> : Le nom d'un attribut de la classe persistante."
 
-#: index.docbook:1150
-msgid "<literal>type</literal> (optional - defaults to <literal>integer</literal>): The type of the version number."
-msgstr "<emphasis>typename</emphasis> peut être:"
+#. Tag: para
+#: basic_mapping.xml:1150
+#, no-c-format
+msgid ""
+"<literal>type</literal> (optional - defaults to <literal>integer</literal>): "
+"The type of the version number."
+msgstr ""
+"<literal>type</literal> (optionnel - par défaut à <literal>integer</"
+"literal>) : Le type du numéro de version."
 
-#: index.docbook:1162
-msgid "<literal>unsaved-value</literal> (optional - defaults to <literal>undefined</literal>): A version property value that indicates that an instance is newly instantiated (unsaved), distinguishing it from detached instances that were saved or loaded in a previous session. (<literal>undefined</literal> specifies that the identifier property value should be used.)"
-msgstr "Nom d'une classe Java avec un type basique par défaut (ex: <literal>int, float, char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob</literal>)."
+#. Tag: para
+#: basic_mapping.xml:1162
+#, no-c-format
+msgid ""
+"<literal>unsaved-value</literal> (optional - defaults to <literal>undefined</"
+"literal>): A version property value that indicates that an instance is newly "
+"instantiated (unsaved), distinguishing it from detached instances that were "
+"saved or loaded in a previous session. (<literal>undefined</literal> "
+"specifies that the identifier property value should be used.)"
+msgstr ""
+"<literal>unsaved-value</literal> (optionnel - par défaut à "
+"<literal>undefined</literal>) : Une valeur de la propriété d'identifiant qui "
+"indique que l'instance est nouvellement instanciée (non sauvegardée), et qui "
+"la distingue des instances détachées qui ont été sauvegardées ou chargées "
+"dans une session précédente (<literal>undefined</literal> indique que la "
+"valeur de l'atribut identifiant devrait être utilisé)."
 
-#: index.docbook:1171
-msgid "<literal>generated</literal> (optional - defaults to <literal>never</literal>): Specifies that this version property value is actually generated by the database. See the discussion of <xref linkend=\"mapping-generated\"/>generated properties."
-msgstr "Nom d'une classe Java sérialisable."
+#. Tag: para
+#: basic_mapping.xml:1171
+#, no-c-format
+msgid ""
+"<literal>generated</literal> (optional - defaults to <literal>never</"
+"literal>): Specifies that this version property value is actually generated "
+"by the database. See the discussion of <link linkend=\"mapping-generated"
+"\">generated properties</link>."
+msgstr ""
+"<literal>generated</literal> (optional - défaut à <literal>never</"
+"literal>) : Indique que la valeur de la propriété version est générée par la "
+"base de données cf. <xref linkend=\"mapping-generated\">generated "
+"properties</xref>."
 
-#: index.docbook:1178
-msgid "<literal>insert</literal> (optional - defaults to <literal>true</literal>): Specifies whether the version column should be included in SQL insert statements. May be set to <literal>false</literal> if and only if the database column is defined with a default value of <literal>0</literal>."
-msgstr "Nom d'une classe ayant un type spécifique (ex: <literal>com.illflow.type.MyCustomType</literal>)."
+#. Tag: para
+#: basic_mapping.xml:1178
+#, no-c-format
+msgid ""
+"<literal>insert</literal> (optional - defaults to <literal>true</literal>): "
+"Specifies whether the version column should be included in SQL insert "
+"statements. May be set to <literal>false</literal> if and only if the "
+"database column is defined with a default value of <literal>0</literal>."
+msgstr ""
+"<literal>insert</literal> (optionnel - défaut à <literal>true</literal>) : "
+"Indique si la colonne de version doit être incluse dans les ordres insert. "
+"Peut être à <literal>false</literal> si et seulement si la colonne de la "
+"base de données est définie avec une valeur par défaut à <literal>0</"
+"literal>."
 
-#: index.docbook:1188
-msgid "Version numbers may be of Hibernate type <literal>long</literal>, <literal>integer</literal>, <literal>short</literal>, <literal>timestamp</literal> or <literal>calendar</literal>."
-msgstr "Si vous n'indiquez pas un type, Hibernate utlisera la réflexion sur le nom de la propriété pour tenter de trouver le type Hibernate correct. Hibernate essayera d'interprêter le nom de la classe retournée par le getter de la propriété en utilisant les régles 2, 3, 4 dans cet ordre. Cependant, ce n'est pas toujours suffisant. Dans certains cas vous aurez encore besoin de l'attribut <literal>type</literal> (Par exemple, pour distinguer <literal>Hibernate.DATE</literal> et <literal>Hibernate.TIMESTAMP</literal>, ou pour préciser un type spécifique)."
+#. Tag: para
+#: basic_mapping.xml:1188
+#, no-c-format
+msgid ""
+"Version numbers may be of Hibernate type <literal>long</literal>, "
+"<literal>integer</literal>, <literal>short</literal>, <literal>timestamp</"
+"literal> or <literal>calendar</literal>."
+msgstr ""
+"Les numéros de version doivent avoir les types Hibernate <literal>long</"
+"literal>, <literal>integer</literal>, <literal>short</literal>, "
+"<literal>timestamp</literal> ou <literal>calendar</literal>."
 
-#: index.docbook:1193
-msgid "A version or timestamp property should never be null for a detached instance, so Hibernate will detect any instance with a null version or timestamp as transient, no matter what other <literal>unsaved-value</literal> strategies are specified. <emphasis>Declaring a nullable version or timestamp property is an easy way to avoid any problems with transitive reattachment in Hibernate, especially useful for people using assigned identifiers or composite keys!</emphasis>"
-msgstr "L'attribut <literal>access</literal> permet de contrôler comment Hibernate accèdera à la propriété à l'exécution. Par défaut, Hibernate utilisera les méthodes set/get. Si vous indiquez <literal>access=\"field\"</literal>, Hibernate ignorera les getter/setter et accèdera à la propriété directement en utilisant la réflexion. Vous pouvez spécifier votre propre stratégie d'accès aux propriété en donnant une classe qui implémente l'interface <literal>org.hibernate.property.PropertyAccessor</literal>."
+#. Tag: para
+#: basic_mapping.xml:1193
+#, no-c-format
+msgid ""
+"A version or timestamp property should never be null for a detached "
+"instance, so Hibernate will detect any instance with a null version or "
+"timestamp as transient, no matter what other <literal>unsaved-value</"
+"literal> strategies are specified. <emphasis>Declaring a nullable version or "
+"timestamp property is an easy way to avoid any problems with transitive "
+"reattachment in Hibernate, especially useful for people using assigned "
+"identifiers or composite keys!</emphasis>"
+msgstr ""
+"Une propriété de version ou un timestamp ne doit jamais être null pour une "
+"instance détachée, ainsi Hibernate pourra détecter toute instance ayant une "
+"version ou un timestamp null comme transient, quelles que soient les "
+"stratégies <literal>unsaved-value</literal> spécifiées. <emphasis>Déclarer "
+"un numéro de version ou un timestamp \"nullable\" est un moyen pratique "
+"d'éviter tout problème avec les réattachements transitifs dans Hibernate, "
+"particulièrement utile pour ceux qui utilisent des identifiants assignés ou "
+"des clefs composées !</emphasis>"
 
-#: index.docbook:1204
+#. Tag: title
+#: basic_mapping.xml:1204
+#, no-c-format
 msgid "timestamp (optional)"
-msgstr "Une fonctionnalité particulièrement intéressante est les propriétés dérivées. Ces propriétés sont par définition en lecture seule, la valeur de la propriété est calculée au chargement. Le calcul est déclaré comme une expression SQL, qui se traduit par une sous-requête <literal>SELECT</literal> dans la requête SQL qui charge une instance :"
+msgstr "timestamp (optionnel)"
 
-#: index.docbook:1206
-msgid "The optional <literal>&lt;timestamp&gt;</literal> element indicates that the table contains timestamped data. This is intended as an alternative to versioning. Timestamps are by nature a less safe implementation of optimistic locking. However, sometimes the application might use the timestamps in other ways."
+#. Tag: para
+#: basic_mapping.xml:1206
+#, no-c-format
+msgid ""
+"The optional <literal>&lt;timestamp&gt;</literal> element indicates that the "
+"table contains timestamped data. This is intended as an alternative to "
+"versioning. Timestamps are by nature a less safe implementation of "
+"optimistic locking. However, sometimes the application might use the "
+"timestamps in other ways."
 msgstr ""
-      "<![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 )\"/>]]>"
+"L'élément optionnel <literal>&lt;timestamp&gt;</literal> indique que la "
+"table contient des données horodatées (timestamp). Cela sert d'alternative à "
+"l'utilisation de numéros de version. Les timestamps (ou horodatage) sont par "
+"nature une implémentation moins fiable pour l'optimistic locking. Cependant, "
+"l'application peut parfois utiliser l'horodatage à d'autres fins."
 
-#: index.docbook:1222
+#. Tag: programlisting
+#: basic_mapping.xml:1222
+#, no-c-format
 msgid ""
-      "<![CDATA[<timestamp\n"
-      "        column=\"timestamp_column\"\n"
-      "        name=\"propertyName\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        unsaved-value=\"null|undefined\"\n"
-      "        source=\"vm|db\"\n"
-      "        generated=\"never|always\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "/>]]>"
-msgstr "Remarquez que vous pouvez référencer la propre table des entités en ne déclarant pas un alias sur une colonne particulière (<literal>customerId</literal> dans l'exemple donné). Notez aussi que vous pouvez utiliser le sous-élément de mapping <literal>&lt;formula&gt;</literal> plutôt que d'utiliser l'attribut si vous le souhaitez."
+"<![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 ""
 
-#: index.docbook:1225
-msgid "<literal>column</literal> (optional - defaults to the property name): The name of a column holding the timestamp."
-msgstr "many-to-one"
+#. Tag: para
+#: basic_mapping.xml:1225
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to the property name): The "
+"name of a column holding the timestamp."
+msgstr ""
+"<literal>column</literal> (optionnel - par défaut à le nom de la "
+"propriété) : Le nom d'une colonne contenant le timestamp."
 
-#: index.docbook:1231
-msgid "<literal>name</literal>: The name of a JavaBeans style property of Java type <literal>Date</literal> or <literal>Timestamp</literal> of the persistent class."
-msgstr "Une association ordinaire vers une autre classe persistante est déclarée en utilisant un élément <literal>many-to-one</literal>. Le modèle relationnel est une association de type many-to-one : une clef étrangère dans une table référence la ou les clef(s) primaire(s) dans la table cible."
+#. Tag: para
+#: basic_mapping.xml:1231
+#, no-c-format
+msgid ""
+"<literal>name</literal>: The name of a JavaBeans style property of Java type "
+"<literal>Date</literal> or <literal>Timestamp</literal> of the persistent "
+"class."
+msgstr ""
+"<literal>name</literal> : Le nom d'une propriété au sens JavaBean de type "
+"<literal>Date</literal> ou <literal>Timestamp</literal> de la classe "
+"persistante."
 
-#: index.docbook:1244
-msgid "<literal>unsaved-value</literal> (optional - defaults to <literal>null</literal>): A version property value that indicates that an instance is newly instantiated (unsaved), distinguishing it from detached instances that were saved or loaded in a previous session. (<literal>undefined</literal> specifies that the identifier property value should be used.)"
-msgstr "<literal>name</literal> : Nom de la propriété."
+#. Tag: para
+#: basic_mapping.xml:1244
+#, no-c-format
+msgid ""
+"<literal>unsaved-value</literal> (optional - defaults to <literal>null</"
+"literal>): A version property value that indicates that an instance is newly "
+"instantiated (unsaved), distinguishing it from detached instances that were "
+"saved or loaded in a previous session. (<literal>undefined</literal> "
+"specifies that the identifier property value should be used.)"
+msgstr ""
+"<literal>unsaved-value</literal> (optionnel - par défaut à <literal>null</"
+"literal>) : Propriété dont la valeur est un numéro de version qui indique "
+"que l'instance est nouvellement instanciée (non sauvegardée), et qui la "
+"distingue des instances détachées qui ont été sauvegardées ou chargées dans "
+"une session précédente (<literal>undefined</literal> indique que la valeur "
+"de l'attribut identifiant devrait être utilisée)."
 
-#: index.docbook:1253
-msgid "<literal>source</literal> (optional - defaults to <literal>vm</literal>): From where should Hibernate retrieve the timestamp value? From the database, or from the current JVM? Database-based timestamps incur an overhead because Hibernate must hit the database in order to determine the \"next value\", but will be safer for use in clustered environments. Note also, that not all <literal>Dialect</literal>s are known to support retrieving of the database's current timestamp, while others might be unsafe for usage in locking due to lack of precision (Oracle 8 for example)."
-msgstr "<literal>column</literal> (optionnel) : Le nom de la clef étrangère. Cela peut être aussi indiqué avec le sous-élément <literal>&lt;column&gt;</literal>."
+#. Tag: para
+#: basic_mapping.xml:1253
+#, no-c-format
+msgid ""
+"<literal>source</literal> (optional - defaults to <literal>vm</literal>): "
+"From where should Hibernate retrieve the timestamp value? From the database, "
+"or from the current JVM? Database-based timestamps incur an overhead because "
+"Hibernate must hit the database in order to determine the \"next value\", "
+"but will be safer for use in clustered environments. Note also, that not all "
+"<literal>Dialect</literal>s are known to support retrieving of the "
+"database's current timestamp, while others might be unsafe for usage in "
+"locking due to lack of precision (Oracle 8 for example)."
+msgstr ""
+"<literal>source</literal> (optionnel - par défaut à <literal>vm</literal>) : "
+"D'où Hibernate doit-il récupérer la valeur du timestamp? Depuis la base de "
+"données ou depuis la JVM d'exécution? Les valeurs de timestamp de la base de "
+"données provoquent une surcharge puisque Hibernate doit interroger la base "
+"pour déterminer la prochaine valeur mais cela est plus sûr lorsque vous "
+"fonctionnez dans un cluster. Remarquez aussi que certains des dialectes ne "
+"supportent pas cette fonction, et que d'autres l'implémentent mal, "
+"provoquant des erreurs de précision (Oracle 8 par exemple)."
 
-#: index.docbook:1265
-msgid "<literal>generated</literal> (optional - defaults to <literal>never</literal>): Specifies that this timestamp property value is actually generated by the database. See the discussion of <xref linkend=\"mapping-generated\"/>generated properties."
-msgstr "<literal>class</literal> (optionnel - par défaut le type de la propriété déterminé par réflexion) : Le nom de la classe associée."
+#. Tag: para
+#: basic_mapping.xml:1265
+#, no-c-format
+msgid ""
+"<literal>generated</literal> (optional - defaults to <literal>never</"
+"literal>): Specifies that this timestamp property value is actually "
+"generated by the database. See the discussion of <link linkend=\"mapping-"
+"generated\">generated properties</link>."
+msgstr ""
+"<literal>generated</literal> (optional - défaut à <literal>never</"
+"literal>) : Indique que la valeur de ce timestamp est générée par la base de "
+"données cf. <xref linkend=\"mapping-generated\">generated properties</xref>."
 
-#: index.docbook:1274
-msgid "Note that <literal>&lt;timestamp&gt;</literal> is equivalent to <literal>&lt;version type=\"timestamp\"&gt;</literal>. And <literal>&lt;timestamp source=\"db\"&gt;</literal> is equivalent to <literal>&lt;version type=\"dbtimestamp\"&gt;</literal>"
-msgstr "<literal>cascade</literal> (optionnel) : Indique quelles opérations doivent être propagées de l'objet père vers les objets associés."
+#. Tag: para
+#: basic_mapping.xml:1274
+#, no-c-format
+msgid ""
+"Note that <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 ""
+"Notez que <literal>&lt;timestamp&gt;</literal> est équivalent à <literal>&lt;"
+"version type=\"timestamp\"&gt;</literal>."
 
-#: index.docbook:1284
+#. Tag: title
+#: basic_mapping.xml:1284
+#, no-c-format
 msgid "property"
-msgstr "<literal>fetch</literal> (optionnel - par défaut à <literal>select</literal>) : Choisit entre le chargement de type outer-join ou le chargement par select successifs."
+msgstr "property"
 
-#: index.docbook:1286
-msgid "The <literal>&lt;property&gt;</literal> element declares a persistent, JavaBean style property of the class."
-msgstr "<literal>update, insert</literal> (optionnel - par défaut à <literal>true</literal>) : indique que les colonnes mappées devraient être incluses dans des <literal>UPDATE</literal> SQL et/ou des <literal>INSERT</literal>. Mettre les deux à <literal>false</literal> empêche la propagation en base de données (utile si vous savez qu'un trigger affectera la valeur à la colonne)."
+#. Tag: para
+#: basic_mapping.xml:1286
+#, no-c-format
+msgid ""
+"The <literal>&lt;property&gt;</literal> element declares a persistent, "
+"JavaBean style property of the class."
+msgstr ""
+"L'élément <literal>&lt;property&gt;</literal> déclare une propriété de la "
+"classe au sens JavaBean."
 
-#: index.docbook:1308
+#. Tag: programlisting
+#: basic_mapping.xml:1308
+#, no-c-format
 msgid ""
-      "<![CDATA[<property\n"
-      "        name=\"propertyName\"\n"
-      "        column=\"column_name\"\n"
-      "        type=\"typename\"\n"
-      "        update=\"true|false\"\n"
-      "        insert=\"true|false\"\n"
-      "        formula=\"arbitrary SQL expression\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        lazy=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "        not-null=\"true|false\"\n"
-      "        optimistic-lock=\"true|false\"\n"
-      "        generated=\"never|insert|always\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "        index=\"index_name\"\n"
-      "        unique_key=\"unique_key_id\"\n"
-      "        length=\"L\"\n"
-      "        precision=\"P\"\n"
-      "        scale=\"S\"\n"
-      "/>]]>"
-msgstr "<literal>property-ref</literal> : (optionnel) Le nom d'une propriété de la classe associée qui est liée à cette clef étrangère. Si ce n'est pas spécifié, la clef primaire de la classe associée est utilisée."
+"<![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 ""
 
-#: index.docbook:1311
-msgid "<literal>name</literal>: the name of the property, with an initial lowercase letter."
-msgstr "<literal>access</literal> (optionnel - par défaut à <literal>property</literal>) : La stratégie à utiliser par Hibernate pour accéder à la valeur de cette propriété."
+#. Tag: para
+#: basic_mapping.xml:1311
+#, no-c-format
+msgid ""
+"<literal>name</literal>: the name of the property, with an initial lowercase "
+"letter."
+msgstr ""
+"<literal>name</literal> : nom de la propriété, avec une lettre initiale en "
+"minuscule."
 
-#: index.docbook:1317
-msgid "<literal>column</literal> (optional - defaults to the property name): the name of the mapped database table column. This may also be specified by nested <literal>&lt;column&gt;</literal> element(s)."
-msgstr "<literal>unique</literal> (optionnel) : Génère le DDL d'une contrainte d'unicité pour la clef étrangère. Permet aussi d'en faire la cible d'un <literal>property-ref</literal>. Cela permet de créer une véritable association one-to-one."
+#. Tag: para
+#: basic_mapping.xml:1317
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to the property name): the "
+"name of the mapped database table column. This may also be specified by "
+"nested <literal>&lt;column&gt;</literal> element(s)."
+msgstr ""
+"<literal>column</literal> (optionnel - par défaut au nom de la propriété) : "
+"le nom de la colonne mappée. Cela peut aussi être indiqué dans le(s) sous-"
+"élément(s) <literal>&lt;column&gt;</literal>."
 
-#: index.docbook:1324
-msgid "<literal>type</literal> (optional): a name that indicates the Hibernate type."
-msgstr "<literal>not-null</literal> (optionnel) : Génère le DDL pour une contrainte de non nullité pour la clef étrangère."
+#. Tag: para
+#: basic_mapping.xml:1324
+#, no-c-format
+msgid ""
+"<literal>type</literal> (optional): a name that indicates the Hibernate type."
+msgstr "<literal>type</literal> (optionnel) : nom indiquant le type Hibernate."
 
-#: index.docbook:1329
-msgid "<literal>update, insert</literal> (optional - defaults to <literal>true</literal>) : specifies that the mapped columns should be included in SQL <literal>UPDATE</literal> and/or <literal>INSERT</literal> statements. Setting both to <literal>false</literal> allows a pure \"derived\" property whose value is initialized from some other property that maps to the same colum(s) or by a trigger or other application."
-msgstr "<literal>optimistic-lock</literal> (optionnel - par défaut à <literal>true</literal>) : Indique que les mises à jour de cette propriété requièrent ou non l'acquisition d'un verrou optimiste. En d'autres termes, détermine si un incrément de version doit avoir lieu quand la propriété est marquée obsolète (dirty)."
+#. Tag: para
+#: basic_mapping.xml:1329
+#, no-c-format
+msgid ""
+"<literal>update, insert</literal> (optional - defaults to <literal>true</"
+"literal>) : specifies that the mapped columns should be included in SQL "
+"<literal>UPDATE</literal> and/or <literal>INSERT</literal> statements. "
+"Setting both to <literal>false</literal> allows a pure \"derived\" property "
+"whose value is initialized from some other property that maps to the same "
+"colum(s) or by a trigger or other application."
+msgstr ""
+"<literal>update, insert</literal> (optionnel - par défaut à <literal>true</"
+"literal>) : indique que les colonnes mappées devraient être incluses dans "
+"des <literal>UPDATE</literal> SQL et/ou des <literal>INSERT</literal>. "
+"Mettre les deux à <literal>false</literal> empêche la propagation en base de "
+"données (utile si vous savez qu'un trigger affectera la valeur à la colonne)."
 
-#: index.docbook:1338
-msgid "<literal>formula</literal> (optional): an SQL expression that defines the value for a <emphasis>computed</emphasis> property. Computed properties do not have a column mapping of their own."
-msgstr "<literal>lazy</literal> (optionnel - par défaut à <literal>false</literal>) : Indique que cette propriété doit être chargée en différé (lazy loading) au premier accès à la variable d'instance (nécessite une instrumentation du bytecode lors de la phase de construction). Remarquez que cela n'influence pas le comportement du proxy Hibernate - comme l'attribut <literal>lazy</literal> sur des classes ou des mappings de collections, mais utilise l'interception pour le chargement différé. <literal>lazy=\"false\"</literal> indique que l'association sera toujours chargée."
+#. Tag: para
+#: basic_mapping.xml:1338
+#, no-c-format
+msgid ""
+"<literal>formula</literal> (optional): an SQL expression that defines the "
+"value for a <emphasis>computed</emphasis> property. Computed properties do "
+"not have a column mapping of their own."
+msgstr ""
+"<literal>formula</literal> (optionnel) : une expression SQL qui définit la "
+"valeur pour une propriété <emphasis>calculée</emphasis>. Les propriétés "
+"calculées ne possède pas leur propre mapping."
 
-#: index.docbook:1351
-msgid "<literal>lazy</literal> (optional - defaults to <literal>false</literal>): Specifies that this property should be fetched lazily when the instance variable is first accessed (requires build-time bytecode instrumentation)."
-msgstr "<literal>entity-name</literal> (optionnel) : Le nom de l'entité de la classe associée."
+#. Tag: para
+#: basic_mapping.xml:1351
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional - defaults to <literal>false</literal>): "
+"Specifies that this property should be fetched lazily when the instance "
+"variable is first accessed (requires build-time bytecode instrumentation)."
+msgstr ""
+"<literal>lazy</literal> (optionnel - par défaut à <literal>false</literal>): "
+"Indique que cette propriété devrait être chargée en différé (lazy loading) "
+"quand on accède à la variable d'instance pour la première fois."
 
-#: index.docbook:1358
-msgid "<literal>unique</literal> (optional): Enable the DDL generation of a unique constraint for the columns. Also, allow this to be the target of a <literal>property-ref</literal>."
-msgstr "<literal>formula</literal> (optionnel) : une expression SQL qui définit la valeur pour une clé étrangère calculée."
+#. Tag: para
+#: basic_mapping.xml:1358
+#, no-c-format
+msgid ""
+"<literal>unique</literal> (optional): Enable the DDL generation of a unique "
+"constraint for the columns. Also, allow this to be the target of a "
+"<literal>property-ref</literal>."
+msgstr ""
+"<literal>unique</literal> (optionnel): Génère le DDL d'une contrainte "
+"d'unicité pour les colonnes. Permet aussi d'en faire la cible d'un "
+"<literal>property-ref</literal>."
 
-#: index.docbook:1365
-msgid "<literal>not-null</literal> (optional): Enable the DDL generation of a nullability constraint for the columns."
-msgstr "Donner une valeur significative à l'attribut <literal>cascade</literal> autre que <literal>none</literal> propagera certaines opérations à l'objet associé. Les valeurs significatives sont les noms des opérations Hibernate basiques, <literal>persist, merge, delete, save-update, evict, replicate, lock, refresh</literal>, ainsi que les valeurs spéciales <literal>delete-orphan</literal> et <literal>all</literal> et des combinaisons de noms d'opérations séparées par des virgules, comme par exemple <literal>cascade=\"persist,merge,evict\"</literal> ou <literal>cascade=\"all,delete-orphan\"</literal>. Voir <xref linkend=\"objectstate-transitive\"/> pour une explication complète. Notez que les assocations many-to-one et one-to-one ne supportent pas orphan delete."
+#. Tag: para
+#: basic_mapping.xml:1365
+#, no-c-format
+msgid ""
+"<literal>not-null</literal> (optional): Enable the DDL generation of a "
+"nullability constraint for the columns."
+msgstr ""
+"<literal>not-null</literal> (optionnel): Génère le DDL d'une contrainte de "
+"non nullité pour les colonnes."
 
-#: index.docbook:1371
-msgid "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</literal>): Specifies that updates to this property do or do not require acquisition of the optimistic lock. In other words, determines if a version increment should occur when this property is dirty."
-msgstr "Une déclaration <literal>many-to-one</literal> typique est aussi simple que :"
+#. Tag: para
+#: basic_mapping.xml:1371
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to this property do or do not require "
+"acquisition of the optimistic lock. In other words, determines if a version "
+"increment should occur when this property is dirty."
+msgstr ""
+"<literal>optimistic-lock</literal> (optionnel - par défaut à <literal>true</"
+"literal>): Indique que les mises à jour de cette propriété peuvent ou non "
+"nécessiter l'acquisition d'un verrou optimiste. En d'autres termes, cela "
+"détermine s'il est nécessaire d'incrémenter un numéro de version quand cette "
+"propriété est marquée obsolète (dirty)."
 
-#: index.docbook:1379
-msgid "<literal>generated</literal> (optional - defaults to <literal>never</literal>): Specifies that this property value is actually generated by the database. See the discussion of <xref linkend=\"mapping-generated\"/>generated properties."
-msgstr "<![CDATA[<many-to-one name=\"product\" class=\"Product\" column=\"PRODUCT_ID\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1379
+#, no-c-format
+msgid ""
+"<literal>generated</literal> (optional - defaults to <literal>never</"
+"literal>): Specifies that this property value is actually generated by the "
+"database. See the discussion of <link linkend=\"mapping-generated"
+"\">generated properties</link>."
+msgstr ""
+"<literal>generated</literal> (optional - défaut à<literal>never</literal>): "
+"Indique que la valeur de ce timestamp est générée par la base de données cf. "
+"<xref linkend=\"mapping-generated\">generated properties</xref>."
 
-#: index.docbook:1388
+#. Tag: para
+#: basic_mapping.xml:1388
+#, no-c-format
 msgid "<emphasis>typename</emphasis> could be:"
-msgstr "L'attribut <literal>property-ref</literal> devrait être utilisé pour mapper seulement des données provenant d'un ancien système où les clefs étrangères font référence à une clef unique de la table associée et qui n'est pas la clef primaire. C'est un cas de mauvaise conception relationnelle. Par exemple, supposez que la classe <literal>Product</literal> a un numéro de série unique qui n'est pas la clef primaire. (L'attribut <literal>unique</literal> contrôle la génération DDL par Hibernate avec l'outil SchemaExport.)"
+msgstr "<emphasis>typename</emphasis> peut être:"
 
-#: index.docbook:1394
-msgid "The name of a Hibernate basic type (eg. <literal>integer, string, character, date, timestamp, float, binary, serializable, object, blob</literal>)."
-msgstr "<![CDATA[<property name=\"serialNumber\" unique=\"true\" type=\"string\" column=\"SERIAL_NUMBER\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1394
+#, no-c-format
+msgid ""
+"The name of a Hibernate basic type (eg. <literal>integer, string, character, "
+"date, timestamp, float, binary, serializable, object, blob</literal>)."
+msgstr ""
+"Nom d'un type basique Hibernate (ex: <literal>integer, string, character, "
+"date, timestamp, float, binary, serializable, object, blob</literal>)."
 
-#: index.docbook:1400
-msgid "The name of a Java class with a default basic type (eg. <literal>int, float, char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob</literal>)."
-msgstr "Ainsi le mapping pour <literal>OrderItem</literal> peut utiliser :"
+#. Tag: para
+#: basic_mapping.xml:1400
+#, no-c-format
+msgid ""
+"The name of a Java class with a default basic type (eg. <literal>int, float, "
+"char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob</"
+"literal>)."
+msgstr ""
+"Nom d'une classe Java avec un type basique par défaut (ex: <literal>int, "
+"float, char, java.lang.String, java.util.Date, java.lang.Integer, java.sql."
+"Clob</literal>)."
 
-#: index.docbook:1406
+#. Tag: para
+#: basic_mapping.xml:1406
+#, no-c-format
 msgid "The name of a serializable Java class."
-msgstr "<![CDATA[<many-to-one name=\"product\" property-ref=\"serialNumber\" column=\"PRODUCT_SERIAL_NUMBER\"/>]]>"
+msgstr "Nom d'une classe Java sérialisable."
 
-#: index.docbook:1411
-msgid "The class name of a custom type (eg. <literal>com.illflow.type.MyCustomType</literal>)."
-msgstr "bien que ce ne soit certainement pas encouragé."
+#. Tag: para
+#: basic_mapping.xml:1411
+#, no-c-format
+msgid ""
+"The class name of a custom type (eg. <literal>com.illflow.type.MyCustomType</"
+"literal>)."
+msgstr ""
+"Nom d'une classe ayant un type spécifique (ex: <literal>com.illflow.type."
+"MyCustomType</literal>)."
 
-#: index.docbook:1417
-msgid "If you do not specify a type, Hibernate will use reflection upon the named property to take a guess at the correct Hibernate type. Hibernate will try to interpret the name of the return class of the property getter using rules 2, 3, 4 in that order. However, this is not always enough. In certain cases you will still need the <literal>type</literal> attribute. (For example, to distinguish between <literal>Hibernate.DATE</literal> and <literal>Hibernate.TIMESTAMP</literal>, or to specify a custom type.)"
-msgstr "Si la clef unique référencée comprend des propriétés multiples de l'entité associée, vous devez mapper ces propriétés à l'intérieur d'un élément <literal>&lt;properties&gt;</literal>."
+#. Tag: para
+#: basic_mapping.xml:1417
+#, no-c-format
+msgid ""
+"If you do not specify a type, Hibernate will use reflection upon the named "
+"property to take a guess at the correct Hibernate type. Hibernate will try "
+"to interpret the name of the return class of the property getter using rules "
+"2, 3, 4 in that order. However, this is not always enough. In certain cases "
+"you will still need the <literal>type</literal> attribute. (For example, to "
+"distinguish between <literal>Hibernate.DATE</literal> and <literal>Hibernate."
+"TIMESTAMP</literal>, or to specify a custom type.)"
+msgstr ""
+"Si vous n'indiquez pas un type, Hibernate utlisera la réflexion sur le nom "
+"de la propriété pour tenter de trouver le type Hibernate correct. Hibernate "
+"essayera d'interprêter le nom de la classe retournée par le getter de la "
+"propriété en utilisant les régles 2, 3, 4 dans cet ordre. Cependant, ce "
+"n'est pas toujours suffisant. Dans certains cas vous aurez encore besoin de "
+"l'attribut <literal>type</literal> (Par exemple, pour distinguer "
+"<literal>Hibernate.DATE</literal> et <literal>Hibernate.TIMESTAMP</literal>, "
+"ou pour préciser un type spécifique)."
 
-#: index.docbook:1427
-msgid "The <literal>access</literal> attribute lets you control how Hibernate will access the property at runtime. By default, Hibernate will call the property get/set pair. If you specify <literal>access=\"field\"</literal>, Hibernate will bypass the get/set pair and access the field directly, using reflection. You may specify your own strategy for property access by naming a class that implements the interface <literal>org.hibernate.property.PropertyAccessor</literal>."
-msgstr "one-to-one"
+#. Tag: para
+#: basic_mapping.xml:1427
+#, no-c-format
+msgid ""
+"The <literal>access</literal> attribute lets you control how Hibernate will "
+"access the property at runtime. By default, Hibernate will call the property "
+"get/set pair. If you specify <literal>access=\"field\"</literal>, Hibernate "
+"will bypass the get/set pair and access the field directly, using "
+"reflection. You may specify your own strategy for property access by naming "
+"a class that implements the interface <literal>org.hibernate.property."
+"PropertyAccessor</literal>."
+msgstr ""
+"L'attribut <literal>access</literal> permet de contrôler comment Hibernate "
+"accèdera à la propriété à l'exécution. Par défaut, Hibernate utilisera les "
+"méthodes set/get. Si vous indiquez <literal>access=\"field\"</literal>, "
+"Hibernate ignorera les getter/setter et accèdera à la propriété directement "
+"en utilisant la réflexion. Vous pouvez spécifier votre propre stratégie "
+"d'accès aux propriété en donnant une classe qui implémente l'interface "
+"<literal>org.hibernate.property.PropertyAccessor</literal>."
 
-#: index.docbook:1436
-msgid "An especially powerful feature are derived properties. These properties are by definition read-only, the property value is computed at load time. You declare the computation as a SQL expression, this translates to a <literal>SELECT</literal> clause subquery in the SQL query that loads an instance:"
-msgstr "Une association one-to-one vers une autre classe persistante est déclarée avec l'élément <literal>one-to-one</literal>."
+#. Tag: para
+#: basic_mapping.xml:1436
+#, no-c-format
+msgid ""
+"An especially powerful feature are derived properties. These properties are "
+"by definition read-only, the property value is computed at load time. You "
+"declare the computation as a SQL expression, this translates to a "
+"<literal>SELECT</literal> clause subquery in the SQL query that loads an "
+"instance:"
+msgstr ""
+"Une fonctionnalité particulièrement intéressante est les propriétés "
+"dérivées. Ces propriétés sont par définition en lecture seule, la valeur de "
+"la propriété est calculée au chargement. Le calcul est déclaré comme une "
+"expression SQL, qui se traduit par une sous-requête <literal>SELECT</"
+"literal> dans la requête SQL qui charge une instance :"
 
-#: index.docbook:1443
+#. Tag: programlisting
+#: basic_mapping.xml:1443
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "<property name=\"totalPrice\"\n"
-      "    formula=\"( SELECT SUM (li.quantity*p.price) FROM LineItem li, Product p\n"
-      "                WHERE li.productId = p.productId\n"
-      "                AND li.customerId = customerId\n"
-      "                AND li.orderNumber = orderNumber )\"/>]]>"
+"<![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[<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"
-      "        entity-name=\"EntityName\"\n"
-      "/>]]>"
 
-#: index.docbook:1445
-msgid "Note that you can reference the entities own table by not declaring an alias on a particular column (<literal>customerId</literal> in the given example). Also note that you can use the nested <literal>&lt;formula&gt;</literal> mapping element if you don't like to use the attribute."
-msgstr "<literal>name</literal> : Le nom de la propriété."
+#. Tag: para
+#: basic_mapping.xml:1445
+#, no-c-format
+msgid ""
+"Note that you can reference the entities own table by not declaring an alias "
+"on a particular column (<literal>customerId</literal> in the given example). "
+"Also note that you can use the nested <literal>&lt;formula&gt;</literal> "
+"mapping element if you don't like to use the attribute."
+msgstr ""
+"Remarquez que vous pouvez référencer la propre table des entités en ne "
+"déclarant pas un alias sur une colonne particulière (<literal>customerId</"
+"literal> dans l'exemple donné). Notez aussi que vous pouvez utiliser le sous-"
+"élément de mapping <literal>&lt;formula&gt;</literal> plutôt que d'utiliser "
+"l'attribut si vous le souhaitez."
 
-#: index.docbook:1455
+#. Tag: title
+#: basic_mapping.xml:1455
+#, no-c-format
 msgid "many-to-one"
-msgstr "<literal>class</literal> (optionnel - par défaut du type de la propriété déterminé par réflexion) : Le nom de la classe associée."
+msgstr "many-to-one"
 
-#: index.docbook:1457
-msgid "An ordinary association to another persistent class is declared using a <literal>many-to-one</literal> element. The relational model is a many-to-one association: a foreign key in one table is referencing the primary key column(s) of the target table."
-msgstr "<literal>cascade</literal> (optionnel) : Indique quelles opérations doivent être cascadées de l'objet père vers l'objet associé."
+#. Tag: para
+#: basic_mapping.xml:1457
+#, no-c-format
+msgid ""
+"An ordinary association to another persistent class is declared using a "
+"<literal>many-to-one</literal> element. The relational model is a many-to-"
+"one association: a foreign key in one table is referencing the primary key "
+"column(s) of the target table."
+msgstr ""
+"Une association ordinaire vers une autre classe persistante est déclarée en "
+"utilisant un élément <literal>many-to-one</literal>. Le modèle relationnel "
+"est une association de type many-to-one : une clef étrangère dans une table "
+"référence la ou les clef(s) primaire(s) dans la table cible."
 
-#: index.docbook:1485
+#. Tag: programlisting
+#: basic_mapping.xml:1485
+#, no-c-format
 msgid ""
-      "<![CDATA[<many-to-one\n"
-      "        name=\"propertyName\"\n"
-      "        column=\"column_name\"\n"
-      "        class=\"ClassName\"\n"
-      "        cascade=\"cascade_style\"\n"
-      "        fetch=\"join|select\"\n"
-      "        update=\"true|false\"\n"
-      "        insert=\"true|false\"\n"
-      "        property-ref=\"propertyNameFromAssociatedClass\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        unique=\"true|false\"\n"
-      "        not-null=\"true|false\"\n"
-      "        optimistic-lock=\"true|false\"\n"
-      "        lazy=\"proxy|no-proxy|false\"\n"
-      "        not-found=\"ignore|exception\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        formula=\"arbitrary SQL expression\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "        embed-xml=\"true|false\"\n"
-      "        index=\"index_name\"\n"
-      "        unique_key=\"unique_key_id\"\n"
-      "        foreign-key=\"foreign_key_name\"\n"
-      "/>]]>"
-msgstr "<literal>constrained</literal> (optionnel) : Indique qu'une contrainte de clef étrangère sur la clef primaire de la table mappée référence la table de la classe associée. Cette option affecte l'ordre dans lequel chaque <literal>save()</literal> et chaque <literal>delete()</literal> sont cascadés et détermine si l'association peut utiliser un proxy (aussi utilisé par l'outil d'export de schéma)."
+"<![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 ""
 
-#: index.docbook:1488, index.docbook:1669, index.docbook:1855
+#. Tag: para
+#: basic_mapping.xml:1488 basic_mapping.xml:1669 basic_mapping.xml:1855
+#, fuzzy, no-c-format
 msgid "<literal>name</literal>: The name of the property."
-msgstr "<literal>fetch</literal> (optionnel - par défaut à <literal>select</literal>) : Choisit entre récupération par jointure externe ou select séquentiel."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>name</literal> : Nom de la propriété.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>class</literal> (optionnel - par défaut du type de la propriété "
+"déterminé par réflexion) : Le nom de la classe associée.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>class</literal> (optionnel - par défaut au type de la propriété "
+"déterminé par réflexion) : le nom de la classe (fille) du composant."
 
-#: index.docbook:1493, index.docbook:2284
-msgid "<literal>column</literal> (optional): The name of the foreign key column. This may also be specified by nested <literal>&lt;column&gt;</literal> element(s)."
-msgstr "<literal>property-ref</literal> (optionnel) : Le nom de la propriété de la classe associée qui est jointe à la clef primaire de cette classe. Si ce n'est pas spécifié, la clef primaire de la classe associée est utilisée."
+#. Tag: para
+#: basic_mapping.xml:1493 basic_mapping.xml:2284
+#, fuzzy, no-c-format
+msgid ""
+"<literal>column</literal> (optional): The name of the foreign key column. "
+"This may also be specified by nested <literal>&lt;column&gt;</literal> "
+"element(s)."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>column</literal> (optionnel) : Le nom de la clef étrangère. Cela "
+"peut être aussi indiqué avec le sous-élément <literal>&lt;column&gt;</"
+"literal>.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>column</literal> (optionnel) : Le nom de la colonne de la clef "
+"étrangère Cela peut aussi être spécifié par l'élément(s) intégré(s) "
+"<literal>&lt;column&gt;</literal>."
 
-#: index.docbook:1500, index.docbook:1674
-msgid "<literal>class</literal> (optional - defaults to the property type determined by reflection): The name of the associated class."
-msgstr "<literal>access</literal> (optionnel - par défaut à <literal>property</literal>) : La stratégie à utiliser par Hibernate pour accéder à la valeur de la propriété."
+#. Tag: para
+#: basic_mapping.xml:1500 basic_mapping.xml:1674
+#, fuzzy, no-c-format
+msgid ""
+"<literal>class</literal> (optional - defaults to the property type "
+"determined by reflection): The name of the associated class."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>class</literal> (optionnel - par défaut le type de la propriété "
+"déterminé par réflexion) : Le nom de la classe associée.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>cascade</literal> (optionnel) : Indique quelles opérations doivent "
+"être cascadées de l'objet père vers l'objet associé."
 
-#: index.docbook:1506
-msgid "<literal>cascade</literal> (optional): Specifies which operations should be cascaded from the parent object to the associated object."
-msgstr "<literal>formula</literal> (optionnel) : Presque toutes les associations one-to-one pointent sur la clef primaire de l'entité propriétaire. Dans les rares cas différents, vous devez donner une ou plusieurs autres colonnes ou expression à joindre par une formule SQL (voir <literal>org.hibernate.test.onetooneformula</literal> pour un exemple)."
+#. Tag: para
+#: basic_mapping.xml:1506
+#, no-c-format
+msgid ""
+"<literal>cascade</literal> (optional): Specifies which operations should be "
+"cascaded from the parent object to the associated object."
+msgstr ""
+"<literal>cascade</literal> (optionnel) : Indique quelles opérations doivent "
+"être propagées de l'objet père vers les objets associés."
 
-#: index.docbook:1512, index.docbook:1695
-msgid "<literal>fetch</literal> (optional - defaults to <literal>select</literal>): Chooses between outer-join fetching or sequential select fetching."
-msgstr "<literal>lazy</literal> (optionnel - par défaut <literal>proxy</literal>) : Par défaut, les associations simples sont soumise à proxy. <literal>lazy=\"no-proxy\"</literal> spécifie que la propriété doit être chargée à la demande au premier accès à l'instance. (nécessite l'intrumentation du bytecode à la construction). <literal>lazy=\"false\"</literal> indique que l'association sera toujours chargée agressivement. <emphasis>Notez que si <literal>constrained=\"false\"</literal>, l'utilisation de proxy est impossible et Hibernate chargera automatiquement l'association !</emphasis>"
+#. Tag: para
+#: basic_mapping.xml:1512 basic_mapping.xml:1695
+#, fuzzy, no-c-format
+msgid ""
+"<literal>fetch</literal> (optional - defaults to <literal>select</literal>): "
+"Chooses between outer-join fetching or sequential select fetching."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>fetch</literal> (optionnel - par défaut à <literal>select</"
+"literal>) : Choisit entre le chargement de type outer-join ou le chargement "
+"par select successifs.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>property-ref</literal> (optionnel) : Le nom de la propriété de la "
+"classe associée qui est jointe à la clef primaire de cette classe. Si ce "
+"n'est pas spécifié, la clef primaire de la classe associée est utilisée."
 
-#: index.docbook:1518
-msgid "<literal>update, insert</literal> (optional - defaults to <literal>true</literal>) specifies that the mapped columns should be included in SQL <literal>UPDATE</literal> and/or <literal>INSERT</literal> statements. Setting both to <literal>false</literal> allows a pure \"derived\" association whose value is initialized from some other property that maps to the same colum(s) or by a trigger or other application."
-msgstr "<literal>entity-name</literal> (optional) : The entity name of the associated class."
+#. Tag: para
+#: basic_mapping.xml:1518
+#, no-c-format
+msgid ""
+"<literal>update, insert</literal> (optional - defaults to <literal>true</"
+"literal>) specifies that the mapped columns should be included in SQL "
+"<literal>UPDATE</literal> and/or <literal>INSERT</literal> statements. "
+"Setting both to <literal>false</literal> allows a pure \"derived\" "
+"association whose value is initialized from some other property that maps to "
+"the same colum(s) or by a trigger or other application."
+msgstr ""
+"<literal>update, insert</literal> (optionnel - par défaut à <literal>true</"
+"literal>) : indique que les colonnes mappées devraient être incluses dans "
+"des <literal>UPDATE</literal> SQL et/ou des <literal>INSERT</literal>. "
+"Mettre les deux à <literal>false</literal> empêche la propagation en base de "
+"données (utile si vous savez qu'un trigger affectera la valeur à la colonne)."
 
-#: index.docbook:1527
-msgid "<literal>property-ref</literal>: (optional) The name of a property of the associated class that is joined to this foreign key. If not specified, the primary key of the associated class is used."
-msgstr "Il existe deux types d'associations one-to-one :"
+#. Tag: para
+#: basic_mapping.xml:1527
+#, no-c-format
+msgid ""
+"<literal>property-ref</literal>: (optional) The name of a property of the "
+"associated class that is joined to this foreign key. If not specified, the "
+"primary key of the associated class is used."
+msgstr ""
+"<literal>property-ref</literal> : (optionnel) Le nom d'une propriété de la "
+"classe associée qui est liée à cette clef étrangère. Si ce n'est pas "
+"spécifié, la clef primaire de la classe associée est utilisée."
 
-#: index.docbook:1540
-msgid "<literal>unique</literal> (optional): Enable the DDL generation of a unique constraint for the foreign-key column. Also, allow this to be the target of a <literal>property-ref</literal>. This makes the association multiplicity effectively one to one."
-msgstr "association par clef étrangère unique"
+#. Tag: para
+#: basic_mapping.xml:1540
+#, no-c-format
+msgid ""
+"<literal>unique</literal> (optional): Enable the DDL generation of a unique "
+"constraint for the foreign-key column. Also, allow this to be the target of "
+"a <literal>property-ref</literal>. This makes the association multiplicity "
+"effectively one to one."
+msgstr ""
+"<literal>unique</literal> (optionnel) : Génère le DDL d'une contrainte "
+"d'unicité pour la clef étrangère. Permet aussi d'en faire la cible d'un "
+"<literal>property-ref</literal>. Cela permet de créer une véritable "
+"association one-to-one."
 
-#: index.docbook:1548
-msgid "<literal>not-null</literal> (optional): Enable the DDL generation of a nullability constraint for the foreign key columns."
-msgstr "Les associations par clef primaire ne nécessitent pas une colonne supplémentaire en table ; si deux lignes sont liés par l'association alors les deux lignes de la table partagent la même valeur de clef primaire. Donc si vous voulez que deux objets soient liés par une association par clef primaire, vous devez faire en sorte qu'on leur assigne la même valeur d'identifiant !"
+#. Tag: para
+#: basic_mapping.xml:1548
+#, no-c-format
+msgid ""
+"<literal>not-null</literal> (optional): Enable the DDL generation of a "
+"nullability constraint for the foreign key columns."
+msgstr ""
+"<literal>not-null</literal> (optionnel) : Génère le DDL pour une contrainte "
+"de non nullité pour la clef étrangère."
 
-#: index.docbook:1554
-msgid "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</literal>): Specifies that updates to this property do or do not require acquisition of the optimistic lock. In other words, dertermines if a version increment should occur when this property is dirty."
-msgstr "Pour une association par clef primaire, ajoutez les mappings suivants à <literal>Employee</literal> et <literal>Person</literal>, respectivement."
+#. Tag: para
+#: basic_mapping.xml:1554
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to this property do or do not require "
+"acquisition of the optimistic lock. In other words, dertermines if a version "
+"increment should occur when this property is dirty."
+msgstr ""
+"<literal>optimistic-lock</literal> (optionnel - par défaut à <literal>true</"
+"literal>) : Indique que les mises à jour de cette propriété requièrent ou "
+"non l'acquisition d'un verrou optimiste. En d'autres termes, détermine si un "
+"incrément de version doit avoir lieu quand la propriété est marquée obsolète "
+"(dirty)."
 
-#: index.docbook:1562
-msgid "<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): By default, single point associations are proxied. <literal>lazy=\"no-proxy\"</literal> specifies that the property should be fetched lazily when the instance variable is first accessed (requires build-time bytecode instrumentation). <literal>lazy=\"false\"</literal> specifies that the association will always be eagerly fetched."
-msgstr "<![CDATA[<one-to-one name=\"person\" class=\"Person\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1562
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): "
+"By default, single point associations are proxied. <literal>lazy=\"no-proxy"
+"\"</literal> specifies that the property should be fetched lazily when the "
+"instance variable is first accessed (requires build-time bytecode "
+"instrumentation). <literal>lazy=\"false\"</literal> specifies that the "
+"association will always be eagerly fetched."
+msgstr ""
+"<literal>lazy</literal> (optionnel - par défaut à <literal>false</"
+"literal>) : Indique que cette propriété doit être chargée en différé (lazy "
+"loading) au premier accès à la variable d'instance (nécessite une "
+"instrumentation du bytecode lors de la phase de construction). Remarquez que "
+"cela n'influence pas le comportement du proxy Hibernate - comme l'attribut "
+"<literal>lazy</literal> sur des classes ou des mappings de collections, mais "
+"utilise l'interception pour le chargement différé. <literal>lazy=\"false\"</"
+"literal> indique que l'association sera toujours chargée."
 
-#: index.docbook:1572
-msgid "<literal>not-found</literal> (optional - defaults to <literal>exception</literal>): Specifies how foreign keys that reference missing rows will be handled: <literal>ignore</literal> will treat a missing row as a null association."
-msgstr "<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" constrained=\"true\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1572
+#, no-c-format
+msgid ""
+"<literal>not-found</literal> (optional - defaults to <literal>exception</"
+"literal>): Specifies how foreign keys that reference missing rows will be "
+"handled: <literal>ignore</literal> will treat a missing row as a null "
+"association."
+msgstr ""
+"<literal>not-found</literal> (optionnel - par défaut à <literal>exception</"
+"literal>) : Indique comment les clefs étrangères qui référencent des lignes "
+"manquantes doivent être manipulées : <literal>ignore</literal> traitera une "
+"ligne manquante comme une association nulle."
 
-#: index.docbook:1579, index.docbook:1733
-msgid "<literal>entity-name</literal> (optional): The entity name of the associated class."
-msgstr "Maintenant, vous devez faire en sorte que les clefs primaires des lignes liées dans les tables PERSON et EMPLOYEE sont égales. On utilise une stratégie Hibernate spéciale de génération d'identifiants appelée <literal>foreign</literal> :"
+#. Tag: para
+#: basic_mapping.xml:1579 basic_mapping.xml:1733
+#, fuzzy, no-c-format
+msgid ""
+"<literal>entity-name</literal> (optional): The entity name of the associated "
+"class."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>entity-name</literal> (optionnel) : Le nom de l'entité de la classe "
+"associée.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Il existe deux types d'associations one-to-one :"
 
-#: index.docbook:1585
-msgid "<literal>formula</literal> (optional): an SQL expression that defines the value for a <emphasis>computed</emphasis> foreign key."
+#. Tag: para
+#: basic_mapping.xml:1585
+#, no-c-format
+msgid ""
+"<literal>formula</literal> (optional): an SQL expression that defines the "
+"value for a <emphasis>computed</emphasis> foreign key."
 msgstr ""
-      "<![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>]]>"
+"<literal>formula</literal> (optionnel) : une expression SQL qui définit la "
+"valeur pour une clé étrangère calculée."
 
-#: index.docbook:1592
-msgid "Setting a value of the <literal>cascade</literal> attribute to any meaningful value other than <literal>none</literal> will propagate certain operations to the associated object. The meaningful values are the names of Hibernate's basic operations, <literal>persist, merge, delete, save-update, evict, replicate, lock, refresh</literal>, as well as the special values <literal>delete-orphan</literal> and <literal>all</literal> and comma-separated combinations of operation names, for example, <literal>cascade=\"persist,merge,evict\"</literal> or <literal>cascade=\"all,delete-orphan\"</literal>. See <xref linkend=\"objectstate-transitive\"/> for a full explanation. Note that single valued associations (many-to-one and one-to-one associations) do not support orphan delete."
-msgstr "Une instance fraîchement enregistrée de <literal>Person</literal> se voit alors assignée la même valeur de clef primaire que l'instance de <literal>Employee</literal> référencée par la propriété <literal>employee</literal> de cette <literal>Person</literal>."
+#. Tag: para
+#: basic_mapping.xml:1592
+#, no-c-format
+msgid ""
+"Setting a value of the <literal>cascade</literal> attribute to any "
+"meaningful value other than <literal>none</literal> will propagate certain "
+"operations to the associated object. The meaningful values are the names of "
+"Hibernate's basic operations, <literal>persist, merge, delete, save-update, "
+"evict, replicate, lock, refresh</literal>, as well as the special values "
+"<literal>delete-orphan</literal> and <literal>all</literal> and comma-"
+"separated combinations of operation names, for example, <literal>cascade="
+"\"persist,merge,evict\"</literal> or <literal>cascade=\"all,delete-orphan\"</"
+"literal>. See <xref linkend=\"objectstate-transitive\"/> for a full "
+"explanation. Note that single valued associations (many-to-one and one-to-"
+"one associations) do not support orphan delete."
+msgstr ""
+"Donner une valeur significative à l'attribut <literal>cascade</literal> "
+"autre que <literal>none</literal> propagera certaines opérations à l'objet "
+"associé. Les valeurs significatives sont les noms des opérations Hibernate "
+"basiques, <literal>persist, merge, delete, save-update, evict, replicate, "
+"lock, refresh</literal>, ainsi que les valeurs spéciales <literal>delete-"
+"orphan</literal> et <literal>all</literal> et des combinaisons de noms "
+"d'opérations séparées par des virgules, comme par exemple <literal>cascade="
+"\"persist,merge,evict\"</literal> ou <literal>cascade=\"all,delete-orphan\"</"
+"literal>. Voir <xref linkend=\"objectstate-transitive\"/> pour une "
+"explication complète. Notez que les assocations many-to-one et one-to-one ne "
+"supportent pas orphan delete."
 
-#: index.docbook:1605
-msgid "A typical <literal>many-to-one</literal> declaration looks as simple as this:"
-msgstr "Alternativement, une clef étrangère avec contrainte d'unicité de <literal>Employee</literal> vers <literal>Person</literal> peut être indiquée ainsi :"
+#. Tag: para
+#: basic_mapping.xml:1605
+#, no-c-format
+msgid ""
+"A typical <literal>many-to-one</literal> declaration looks as simple as this:"
+msgstr ""
+"Une déclaration <literal>many-to-one</literal> typique est aussi simple que :"
 
-#: index.docbook:1609
-msgid "<![CDATA[<many-to-one name=\"product\" class=\"Product\" column=\"PRODUCT_ID\"/>]]>"
-msgstr "<![CDATA[<many-to-one name=\"person\" class=\"Person\" column=\"PERSON_ID\" unique=\"true\"/>]]>"
+#. Tag: programlisting
+#: basic_mapping.xml:1609
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"product\" class=\"Product\" column=\"PRODUCT_ID"
+"\"/>]]>"
+msgstr ""
 
-#: index.docbook:1611
-msgid "The <literal>property-ref</literal> attribute should only be used for mapping legacy data where a foreign key refers to a unique key of the associated table other than the primary key. This is an ugly relational model. For example, suppose the <literal>Product</literal> class had a unique serial number, that is not the primary key. (The <literal>unique</literal> attribute controls Hibernate's DDL generation with the SchemaExport tool.)"
-msgstr "Et cette association peut être rendue bidirectionnelle en ajoutant ceci au mapping de <literal>Person</literal> :"
+#. Tag: para
+#: basic_mapping.xml:1611
+#, no-c-format
+msgid ""
+"The <literal>property-ref</literal> attribute should only be used for "
+"mapping legacy data where a foreign key refers to a unique key of the "
+"associated table other than the primary key. This is an ugly relational "
+"model. For example, suppose the <literal>Product</literal> class had a "
+"unique serial number, that is not the primary key. (The <literal>unique</"
+"literal> attribute controls Hibernate's DDL generation with the SchemaExport "
+"tool.)"
+msgstr ""
+"L'attribut <literal>property-ref</literal> devrait être utilisé pour mapper "
+"seulement des données provenant d'un ancien système où les clefs étrangères "
+"font référence à une clef unique de la table associée et qui n'est pas la "
+"clef primaire. C'est un cas de mauvaise conception relationnelle. Par "
+"exemple, supposez que la classe <literal>Product</literal> a un numéro de "
+"série unique qui n'est pas la clef primaire. (L'attribut <literal>unique</"
+"literal> contrôle la génération DDL par Hibernate avec l'outil SchemaExport.)"
 
-#: index.docbook:1620
-msgid "<![CDATA[<property name=\"serialNumber\" unique=\"true\" type=\"string\" column=\"SERIAL_NUMBER\"/>]]>"
-msgstr "<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" property-ref=\"person\"/>]]>"
+#. Tag: programlisting
+#: basic_mapping.xml:1620
+#, no-c-format
+msgid ""
+"<![CDATA[<property name=\"serialNumber\" unique=\"true\" type=\"string\" "
+"column=\"SERIAL_NUMBER\"/>]]>"
+msgstr ""
 
-#: index.docbook:1622
+#. Tag: para
+#: basic_mapping.xml:1622
+#, no-c-format
 msgid "Then the mapping for <literal>OrderItem</literal> might use:"
-msgstr "natural-id"
+msgstr "Ainsi le mapping pour <literal>OrderItem</literal> peut utiliser :"
 
-#: index.docbook:1626
-msgid "<![CDATA[<many-to-one name=\"product\" property-ref=\"serialNumber\" column=\"PRODUCT_SERIAL_NUMBER\"/>]]>"
+#. Tag: programlisting
+#: basic_mapping.xml:1626
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"product\" property-ref=\"serialNumber\" column="
+"\"PRODUCT_SERIAL_NUMBER\"/>]]>"
 msgstr ""
-      "<![CDATA[<natural-id mutable=\"true|false\"/>\n"
-      "        <property ... />\n"
-      "        <many-to-one ... />\n"
-      "        ......\n"
-      "</natural-id>]]>"
 
-#: index.docbook:1628
+#. Tag: para
+#: basic_mapping.xml:1628
+#, no-c-format
 msgid "This is certainly not encouraged, however."
-msgstr "Bien que nous recommandions l'utilisation de clé primaire générée, vous devriez toujours essayer d'identifier des clé métier (naturelles) pour toutes vos entités. Une clé naturelle est une propriété ou une combinaison de propriétés uniques et non nulles. Si elle est aussi immuable, c'est encore mieux. Mappez les propriétés de la clé naturelle dans l'élément <literal>&lt;natural-id&gt;</literal>. Hibernate générera la clé unique nécessaire et les contraintes de non-nullité, et votre mapping s'auto-documentera."
+msgstr "bien que ce ne soit certainement pas encouragé."
 
-#: index.docbook:1632
-msgid "If the referenced unique key comprises multiple properties of the associated entity, you should map the referenced properties inside a named <literal>&lt;properties&gt;</literal> element."
-msgstr "Nous vous recommandons fortement d'implémenter <literal>equals()</literal> et <literal>hashCode()</literal> pour comparer les clés naturelles de l'entité."
+#. Tag: para
+#: basic_mapping.xml:1632
+#, no-c-format
+msgid ""
+"If the referenced unique key comprises multiple properties of the associated "
+"entity, you should map the referenced properties inside a named <literal>&lt;"
+"properties&gt;</literal> element."
+msgstr ""
+"Si la clef unique référencée comprend des propriétés multiples de l'entité "
+"associée, vous devez mapper ces propriétés à l'intérieur d'un élément "
+"<literal>&lt;properties&gt;</literal>."
 
-#: index.docbook:1637
-msgid "If the referenced unique key is the property of a component, you may specify a property path:"
-msgstr "Ce mapping n'est pas destiné à être utilisé avec des entités qui ont des clés naturelles."
+#. Tag: para
+#: basic_mapping.xml:1637
+#, no-c-format
+msgid ""
+"If the referenced unique key is the property of a component, you may specify "
+"a property path:"
+msgstr "one-to-one"
 
-#: index.docbook:1641
-msgid "<![CDATA[<many-to-one name=\"owner\" property-ref=\"identity.ssn\" column=\"OWNER_SSN\"/>]]>"
-msgstr "<literal>mutable</literal> (optionel, par défaut à <literal>false</literal>) : Par défaut, les identifiants naturels sont supposés être immuable (constants)."
+#. Tag: programlisting
+#: basic_mapping.xml:1641
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"owner\" property-ref=\"identity.ssn\" column="
+"\"OWNER_SSN\"/>]]>"
+msgstr ""
 
-#: index.docbook:1646
+#. Tag: title
+#: basic_mapping.xml:1646
+#, no-c-format
 msgid "one-to-one"
-msgstr "component, dynamic-component"
+msgstr ""
+"Une association one-to-one vers une autre classe persistante est déclarée "
+"avec l'élément <literal>one-to-one</literal>."
 
-#: index.docbook:1648
-msgid "A one-to-one association to another persistent class is declared using a <literal>one-to-one</literal> element."
-msgstr "L'élément <literal>&lt;component&gt;</literal> mappe les propriétés d'un objet fils aux colonnes d'une classe parente. Les composants peuvent en retour déclarer leurs propres propriétés, composants ou collections. Voir \"Components\" plus bas."
+#. Tag: para
+#: basic_mapping.xml:1648
+#, no-c-format
+msgid ""
+"A one-to-one association to another persistent class is declared using a "
+"<literal>one-to-one</literal> element."
+msgstr "<literal>name</literal> : Le nom de la propriété."
 
-#: index.docbook:1666
+#. Tag: programlisting
+#: basic_mapping.xml:1666
+#, no-c-format
 msgid ""
-      "<![CDATA[<one-to-one\n"
-      "        name=\"propertyName\"\n"
-      "        class=\"ClassName\"\n"
-      "        cascade=\"cascade_style\"\n"
-      "        constrained=\"true|false\"\n"
-      "        fetch=\"join|select\"\n"
-      "        property-ref=\"propertyNameFromAssociatedClass\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        formula=\"any SQL expression\"\n"
-      "        lazy=\"proxy|no-proxy|false\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name|@attribute-name|element/@attribute|.\"\n"
-      "        embed-xml=\"true|false\"\n"
-      "        foreign-key=\"foreign_key_name\"\n"
-      "/>]]>"
+"<![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[<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"
-      ">\n"
-      "        \n"
-      "        <property ...../>\n"
-      "        <many-to-one .... />\n"
-      "        ........\n"
-      "</component>]]>"
 
-#: index.docbook:1680
-msgid "<literal>cascade</literal> (optional) specifies which operations should be cascaded from the parent object to the associated object."
-msgstr "<literal>insert</literal> : Est ce que les colonnes mappées apparaissent dans les <literal>INSERT</literal>s ?"
+#. Tag: para
+#: basic_mapping.xml:1680
+#, no-c-format
+msgid ""
+"<literal>cascade</literal> (optional) specifies which operations should be "
+"cascaded from the parent object to the associated object."
+msgstr ""
+"<literal>constrained</literal> (optionnel) : Indique qu'une contrainte de "
+"clef étrangère sur la clef primaire de la table mappée référence la table de "
+"la classe associée. Cette option affecte l'ordre dans lequel chaque "
+"<literal>save()</literal> et chaque <literal>delete()</literal> sont "
+"cascadés et détermine si l'association peut utiliser un proxy (aussi utilisé "
+"par l'outil d'export de schéma)."
 
-#: index.docbook:1686
-msgid "<literal>constrained</literal> (optional) specifies that a foreign key constraint on the primary key of the mapped table references the table of the associated class. This option affects the order in which <literal>save()</literal> and <literal>delete()</literal> are cascaded, and determines whether the association may be proxied (it is also used by the schema export tool)."
-msgstr "<literal>update</literal>: Est ce que les colonnes mappées apparaissent dans les <literal>UPDATE</literal>s ?"
+#. Tag: para
+#: basic_mapping.xml:1686
+#, no-c-format
+msgid ""
+"<literal>constrained</literal> (optional) specifies that a foreign key "
+"constraint on the primary key of the mapped table references the table of "
+"the associated class. This option affects the order in which <literal>save()"
+"</literal> and <literal>delete()</literal> are cascaded, and determines "
+"whether the association may be proxied (it is also used by the schema export "
+"tool)."
+msgstr ""
+"<literal>fetch</literal> (optionnel - par défaut à <literal>select</"
+"literal>) : Choisit entre récupération par jointure externe ou select "
+"séquentiel."
 
-#: index.docbook:1701
-msgid "<literal>property-ref</literal>: (optional) The name of a property of the associated class that is joined to the primary key of this class. If not specified, the primary key of the associated class is used."
-msgstr "<literal>lazy</literal> (optionnel - par défaut à <literal>false</literal>) : Indique que ce composant doit être chargé au premier accès à la variable d'instance (nécessite une instrumentation du bytecode au moment du build)."
+#. Tag: para
+#: basic_mapping.xml:1701
+#, no-c-format
+msgid ""
+"<literal>property-ref</literal>: (optional) The name of a property of the "
+"associated class that is joined to the primary key of this class. If not "
+"specified, the primary key of the associated class is used."
+msgstr ""
+"<literal>access</literal> (optionnel - par défaut à <literal>property</"
+"literal>) : La stratégie à utiliser par Hibernate pour accéder à la valeur "
+"de la propriété."
 
-#: index.docbook:1714
-msgid "<literal>formula</literal> (optional): Almost all one to one associations map to the primary key of the owning entity. In the rare case that this is not the case, you may specify a some other column, columns or expression to join on using an SQL formula. (See <literal>org.hibernate.test.onetooneformula</literal> for an example.)"
-msgstr "<literal>unique</literal> (optionnel - par défaut à <literal>false</literal>) : Indique qu'une contrainte d'unicité existe sur toutes les colonnes mappées de ce composant."
+#. Tag: para
+#: basic_mapping.xml:1714
+#, no-c-format
+msgid ""
+"<literal>formula</literal> (optional): Almost all one to one associations "
+"map to the primary key of the owning entity. In the rare case that this is "
+"not the case, you may specify a some other column, columns or expression to "
+"join on using an SQL formula. (See <literal>org.hibernate.test."
+"onetooneformula</literal> for an example.)"
+msgstr ""
+"<literal>lazy</literal> (optionnel - par défaut <literal>proxy</literal>) : "
+"Par défaut, les associations simples sont soumise à proxy. <literal>lazy="
+"\"no-proxy\"</literal> spécifie que la propriété doit être chargée à la "
+"demande au premier accès à l'instance. (nécessite l'intrumentation du "
+"bytecode à la construction). <literal>lazy=\"false\"</literal> indique que "
+"l'association sera toujours chargée agressivement. <emphasis>Notez que si "
+"<literal>constrained=\"false\"</literal>, l'utilisation de proxy est "
+"impossible et Hibernate chargera automatiquement l'association !</emphasis>"
 
-#: index.docbook:1722
-msgid "<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): By default, single point associations are proxied. <literal>lazy=\"no-proxy\"</literal> specifies that the property should be fetched lazily when the instance variable is first accessed (requires build-time bytecode instrumentation). <literal>lazy=\"false\"</literal> specifies that the association will always be eagerly fetched. <emphasis>Note that if <literal>constrained=\"false\"</literal>, proxying is impossible and Hibernate will eager fetch the association!</emphasis>"
-msgstr "Les tags fils <literal>&lt;property&gt;</literal> mappent les propriétés de la classe fille sur les colonnes de la table."
+#. Tag: para
+#: basic_mapping.xml:1722
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): "
+"By default, single point associations are proxied. <literal>lazy=\"no-proxy"
+"\"</literal> specifies that the property should be fetched lazily when the "
+"instance variable is first accessed (requires build-time bytecode "
+"instrumentation). <literal>lazy=\"false\"</literal> specifies that the "
+"association will always be eagerly fetched. <emphasis>Note that if "
+"<literal>constrained=\"false\"</literal>, proxying is impossible and "
+"Hibernate will eager fetch the association!</emphasis>"
+msgstr ""
+"<literal>entity-name</literal> (optional) : The entity name of the "
+"associated class."
 
-#: index.docbook:1740
+#. Tag: para
+#: basic_mapping.xml:1740
+#, no-c-format
 msgid "There are two varieties of one-to-one association:"
-msgstr "L'élément <literal>&lt;dynamic-component&gt;</literal> permet à une <literal>Map</literal> d'être mappée comme un composant, quand les noms de la propriété font référence aux clefs de cette Map, voir <xref linkend=\"components-dynamic\"/>."
+msgstr "associations par clef primaire"
 
-#: index.docbook:1744
+#. Tag: para
+#: basic_mapping.xml:1744
+#, no-c-format
 msgid "primary key associations"
-msgstr "properties"
+msgstr "association par clef étrangère unique"
 
-#: index.docbook:1747
+#. Tag: para
+#: basic_mapping.xml:1747
+#, no-c-format
 msgid "unique foreign key associations"
-msgstr "L'élément <literal>&lt;properties&gt;</literal> permet la définition d'un groupement logique nommé des propriétés d'une classe. L'utilisation la plus importante de cette construction est la possibilité pour une combinaison de propriétés d'être la cible d'un <literal>property-ref</literal>. C'est aussi un moyen pratique de définir une contrainte d'unicité multi-colonnes."
+msgstr ""
+"Les associations par clef primaire ne nécessitent pas une colonne "
+"supplémentaire en table ; si deux lignes sont liés par l'association alors "
+"les deux lignes de la table partagent la même valeur de clef primaire. Donc "
+"si vous voulez que deux objets soient liés par une association par clef "
+"primaire, vous devez faire en sorte qu'on leur assigne la même valeur "
+"d'identifiant !"
 
-#: index.docbook:1752
-msgid "Primary key associations don't need an extra table column; if two rows are related by the association then the two table rows share the same primary key value. So if you want two objects to be related by a primary key association, you must make sure that they are assigned the same identifier value!"
+#. Tag: para
+#: basic_mapping.xml:1752
+#, no-c-format
+msgid ""
+"Primary key associations don't need an extra table column; if two rows are "
+"related by the association then the two table rows share the same primary "
+"key value. So if you want two objects to be related by a primary key "
+"association, you must make sure that they are assigned the same identifier "
+"value!"
 msgstr ""
-      "<![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>]]>"
+"Pour une association par clef primaire, ajoutez les mappings suivants à "
+"<literal>Employee</literal> et <literal>Person</literal>, respectivement."
 
-#: index.docbook:1759
-msgid "For a primary key association, add the following mappings to <literal>Employee</literal> and <literal>Person</literal>, respectively."
-msgstr "<literal>name</literal> : Le nom logique d'un regroupement et <emphasis>non</emphasis> le véritable nom d'une propriété."
+#. Tag: para
+#: basic_mapping.xml:1759
+#, no-c-format
+msgid ""
+"For a primary key association, add the following mappings to "
+"<literal>Employee</literal> and <literal>Person</literal>, respectively."
+msgstr ""
+"Maintenant, vous devez faire en sorte que les clefs primaires des lignes "
+"liées dans les tables PERSON et EMPLOYEE sont égales. On utilise une "
+"stratégie Hibernate spéciale de génération d'identifiants appelée "
+"<literal>foreign</literal> :"
 
-#: index.docbook:1764
+#. Tag: programlisting
+#: basic_mapping.xml:1764
+#, no-c-format
 msgid "<![CDATA[<one-to-one name=\"person\" class=\"Person\"/>]]>"
-msgstr "<literal>insert</literal> : Est-ce que les colonnes mappées apparaissent dans les <literal>INSERT</literal>s ?"
+msgstr ""
 
-#: index.docbook:1765
-msgid "<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" constrained=\"true\"/>]]>"
-msgstr "<literal>update</literal> : Est-ce que les colonnes mappées apparaissent dans les <literal>UPDATE</literal>s ?"
+#. Tag: programlisting
+#: basic_mapping.xml:1765
+#, no-c-format
+msgid ""
+"<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" constrained=\"true"
+"\"/>]]>"
+msgstr ""
 
-#: index.docbook:1767
-msgid "Now we must ensure that the primary keys of related rows in the PERSON and EMPLOYEE tables are equal. We use a special Hibernate identifier generation strategy called <literal>foreign</literal>:"
-msgstr "<literal>optimistic-lock</literal> (optionnel - par défaut à <literal>true</literal>) : Indique que les mises à jour sur ce composant nécessitent ou non l'acquisition d'un verrou optimiste. En d'autres termes, cela détermine si une incrémentation de version doit avoir lieu quand la propriété est marquée obsolète (dirty)."
+#. Tag: para
+#: basic_mapping.xml:1767
+#, no-c-format
+msgid ""
+"Now we must ensure that the primary keys of related rows in the PERSON and "
+"EMPLOYEE tables are equal. We use a special Hibernate identifier generation "
+"strategy called <literal>foreign</literal>:"
+msgstr ""
+"Une instance fraîchement enregistrée de <literal>Person</literal> se voit "
+"alors assignée la même valeur de clef primaire que l'instance de "
+"<literal>Employee</literal> référencée par la propriété <literal>employee</"
+"literal> de cette <literal>Person</literal>."
 
-#: index.docbook:1773
+#. Tag: programlisting
+#: basic_mapping.xml:1773
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"person\" table=\"PERSON\">\n"
-      "    <id name=\"id\" column=\"PERSON_ID\">\n"
-      "        <generator class=\"foreign\">\n"
-      "            <param name=\"property\">employee</param>\n"
-      "        </generator>\n"
-      "    </id>\n"
-      "    ...\n"
-      "    <one-to-one name=\"employee\"\n"
-      "        class=\"Employee\"\n"
-      "        constrained=\"true\"/>\n"
-      "</class>]]>"
-msgstr "<literal>unique</literal> (optionnel - par défaut à <literal>false</literal>) : Indique qu'une contrainte d'unicité existe sur toutes les colonnes mappées de ce composant."
+"<![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 ""
 
-#: index.docbook:1775
-msgid "A newly saved instance of <literal>Person</literal> is then assigned the same primary key value as the <literal>Employee</literal> instance refered with the <literal>employee</literal> property of that <literal>Person</literal>."
-msgstr "Par exemple, si nous avons le mapping de <literal>&lt;properties&gt;</literal> suivant :"
+#. Tag: para
+#: basic_mapping.xml:1775
+#, no-c-format
+msgid ""
+"A newly saved instance of <literal>Person</literal> is then assigned the "
+"same primary key value as the <literal>Employee</literal> instance refered "
+"with the <literal>employee</literal> property of that <literal>Person</"
+"literal>."
+msgstr ""
+"Alternativement, une clef étrangère avec contrainte d'unicité de "
+"<literal>Employee</literal> vers <literal>Person</literal> peut être "
+"indiquée ainsi :"
 
-#: index.docbook:1781
-msgid "Alternatively, a foreign key with a unique constraint, from <literal>Employee</literal> to <literal>Person</literal>, may be expressed as:"
+#. Tag: para
+#: basic_mapping.xml:1781
+#, no-c-format
+msgid ""
+"Alternatively, a foreign key with a unique constraint, from "
+"<literal>Employee</literal> to <literal>Person</literal>, may be expressed "
+"as:"
 msgstr ""
-      "<![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>]]>"
+"Et cette association peut être rendue bidirectionnelle en ajoutant ceci au "
+"mapping de <literal>Person</literal> :"
 
-#: index.docbook:1786
-msgid "<![CDATA[<many-to-one name=\"person\" class=\"Person\" column=\"PERSON_ID\" unique=\"true\"/>]]>"
-msgstr "Alors nous pourrions avoir une association sur des données d'un ancien système (legacy) qui font référence à cette clef unique de la table <literal>Person</literal> au lieu de la clef primaire :"
+#. Tag: programlisting
+#: basic_mapping.xml:1786
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"person\" class=\"Person\" column=\"PERSON_ID\" "
+"unique=\"true\"/>]]>"
+msgstr ""
 
-#: index.docbook:1788
-msgid "And this association may be made bidirectional by adding the following to the <literal>Person</literal> mapping:"
+#. Tag: para
+#: basic_mapping.xml:1788
+#, no-c-format
+msgid ""
+"And this association may be made bidirectional by adding the following to "
+"the <literal>Person</literal> mapping:"
+msgstr "natural-id"
+
+#. Tag: programlisting
+#: basic_mapping.xml:1793
+#, no-c-format
+msgid ""
+"<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" property-ref="
+"\"person\"/>]]>"
 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>]]>"
 
-#: index.docbook:1793
-msgid "<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" property-ref=\"person\"/>]]>"
-msgstr "Nous ne recommandons pas l'utilisation de ce genre de chose en dehors du contexte de mapping de données héritées d'anciens systèmes."
-
-#: index.docbook:1798
+#. Tag: title
+#: basic_mapping.xml:1798
+#, no-c-format
 msgid "natural-id"
-msgstr "subclass"
+msgstr ""
+"Bien que nous recommandions l'utilisation de clé primaire générée, vous "
+"devriez toujours essayer d'identifier des clé métier (naturelles) pour "
+"toutes vos entités. Une clé naturelle est une propriété ou une combinaison "
+"de propriétés uniques et non nulles. Si elle est aussi immuable, c'est "
+"encore mieux. Mappez les propriétés de la clé naturelle dans l'élément "
+"<literal>&lt;natural-id&gt;</literal>. Hibernate générera la clé unique "
+"nécessaire et les contraintes de non-nullité, et votre mapping s'auto-"
+"documentera."
 
-#: index.docbook:1800
+#. Tag: programlisting
+#: basic_mapping.xml:1800
+#, no-c-format
 msgid ""
-      "<![CDATA[<natural-id mutable=\"true|false\"/>\n"
-      "        <property ... />\n"
-      "        <many-to-one ... />\n"
-      "        ......\n"
-      "</natural-id>]]>"
-msgstr "Pour finir, la persistance polymorphique nécessite la déclaration de chaque sous-classe de la classe persistante de base. pour la stratégie de mapping de type table-per-class-hierarchy, on utilise la déclaration <literal>&lt;subclass&gt;</literal>."
+"<![CDATA[<natural-id mutable=\"true|false\"/>\n"
+"        <property ... />\n"
+"        <many-to-one ... />\n"
+"        ......\n"
+"</natural-id>]]>"
+msgstr ""
 
-#: index.docbook:1802
-msgid "Even though we recommend the use of surrogate keys as primary keys, you should still try to identify natural keys for all entities. A natural key is a property or combination of properties that is unique and non-null. If it is also immutable, even better. Map the properties of the natural key inside the <literal>&lt;natural-id&gt;</literal> element. Hibernate will generate the necessary unique key and nullability constraints, and your mapping will be more self-documenting."
+#. Tag: para
+#: basic_mapping.xml:1802
+#, no-c-format
+msgid ""
+"Even though we recommend the use of surrogate keys as primary keys, you "
+"should still try to identify natural keys for all entities. A natural key is "
+"a property or combination of properties that is unique and non-null. If it "
+"is also immutable, even better. Map the properties of the natural key inside "
+"the <literal>&lt;natural-id&gt;</literal> element. Hibernate will generate "
+"the necessary unique key and nullability constraints, and your mapping will "
+"be more self-documenting."
 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"
-      "        extends=\"SuperclassName\">\n"
-      "\n"
-      "        <property .... />\n"
-      "        .....\n"
-      "</subclass>]]>"
+"Nous vous recommandons fortement d'implémenter <literal>equals()</literal> "
+"et <literal>hashCode()</literal> pour comparer les clés naturelles de "
+"l'entité."
 
-#: index.docbook:1811
-msgid "We strongly recommend that you implement <literal>equals()</literal> and <literal>hashCode()</literal> to compare the natural key properties of the entity."
-msgstr "<literal>name</literal> : Le nom complet de la sous-classe."
+#. Tag: para
+#: basic_mapping.xml:1811
+#, no-c-format
+msgid ""
+"We strongly recommend that you implement <literal>equals()</literal> and "
+"<literal>hashCode()</literal> to compare the natural key properties of the "
+"entity."
+msgstr ""
+"Ce mapping n'est pas destiné à être utilisé avec des entités qui ont des "
+"clés naturelles."
 
-#: index.docbook:1816
-msgid "This mapping is not intended for use with entities with natural primary keys."
-msgstr "<literal>discriminator-value</literal> (optionnel - par défaut le nom de la classe) : une valeur qui distingue les différentes sous-classes."
+#. Tag: para
+#: basic_mapping.xml:1816
+#, no-c-format
+msgid ""
+"This mapping is not intended for use with entities with natural primary keys."
+msgstr ""
+"<literal>mutable</literal> (optionel, par défaut à <literal>false</"
+"literal>) : Par défaut, les identifiants naturels sont supposés être "
+"immuable (constants)."
 
-#: index.docbook:1822
-msgid "<literal>mutable</literal> (optional, defaults to <literal>false</literal>): By default, natural identifier properties as assumed to be immutable (constant)."
-msgstr "<literal>proxy</literal> (optionnel) : Indique une classe ou interface à utiliser pour les chargements à la demande des proxies (lazy)."
+#. Tag: para
+#: basic_mapping.xml:1822
+#, no-c-format
+msgid ""
+"<literal>mutable</literal> (optional, defaults to <literal>false</literal>): "
+"By default, natural identifier properties as assumed to be immutable "
+"(constant)."
+msgstr "component, dynamic-component"
 
-#: index.docbook:1832
+#. Tag: title
+#: basic_mapping.xml:1832
+#, no-c-format
 msgid "component, dynamic-component"
-msgstr "<literal>lazy</literal> (optionnel, par défaut à <literal>true</literal>) : Spécifier <literal>lazy=\"false\"</literal> désactive l'utilisation du chargement à la demande (lazy)."
+msgstr ""
+"L'élément <literal>&lt;component&gt;</literal> mappe les propriétés d'un "
+"objet fils aux colonnes d'une classe parente. Les composants peuvent en "
+"retour déclarer leurs propres propriétés, composants ou collections. Voir "
+"\"Components\" plus bas."
 
-#: index.docbook:1834
-msgid "The <literal>&lt;component&gt;</literal> element maps properties of a child object to columns of the table of a parent class. Components may, in turn, declare their own properties, components or collections. See \"Components\" below."
-msgstr "Chaque sous-classe devrait déclarer ses propres propriétés persistantes et sous-classes. Les propriétés <literal>&lt;version&gt;</literal> et <literal>&lt;id&gt;</literal> sont implicitement hérités de la classe de base. Chaque sous-classe dans une hiérarchie doit définir une unique <literal>discriminator-value</literal>. Si aucune n'est spécifiée, le nom complet de la classe Java est utilisé."
+#. Tag: para
+#: basic_mapping.xml:1834
+#, 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 may, in turn, "
+"declare their own properties, components or collections. See \"Components\" "
+"below."
+msgstr "<literal>name</literal> : Nom de la propriété"
 
-#: index.docbook:1852
+#. Tag: programlisting
+#: basic_mapping.xml:1852
+#, no-c-format
 msgid ""
-      "<![CDATA[<component\n"
-      "        name=\"propertyName\"\n"
-      "        class=\"className\"\n"
-      "        insert=\"true|false\"\n"
-      "        update=\"true|false\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        lazy=\"true|false\"\n"
-      "        optimistic-lock=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "        node=\"element-name|.\"\n"
-      ">\n"
-      "\n"
-      "        <property ...../>\n"
-      "        <many-to-one .... />\n"
-      "        ........\n"
-      "</component>]]>"
-msgstr "Pour plus d'infos sur le mapping d'héritage, voir <xref linkend=\"inheritance\"/>."
+"<![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 ""
 
-#: index.docbook:1860
-msgid "<literal>class</literal> (optional - defaults to the property type determined by reflection): The name of the component (child) class."
-msgstr "Pour des informations sur les mappings d'héritage, voir <xref linkend=\"inheritance\"/>."
+#. Tag: para
+#: basic_mapping.xml:1860
+#, no-c-format
+msgid ""
+"<literal>class</literal> (optional - defaults to the property type "
+"determined by reflection): The name of the component (child) class."
+msgstr ""
+"<literal>insert</literal> : Est ce que les colonnes mappées apparaissent "
+"dans les <literal>INSERT</literal>s ?"
 
-#: index.docbook:1866, index.docbook:1955
-msgid "<literal>insert</literal>: Do the mapped columns appear in SQL <literal>INSERT</literal>s?"
-msgstr "joined-subclass"
+#. Tag: para
+#: basic_mapping.xml:1866 basic_mapping.xml:1955
+#, fuzzy, no-c-format
+msgid ""
+"<literal>insert</literal>: Do the mapped columns appear in SQL "
+"<literal>INSERT</literal>s?"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>update</literal>: Est ce que les colonnes mappées apparaissent dans "
+"les <literal>UPDATE</literal>s ?\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>update</literal> : Est-ce que les colonnes mappées apparaissent "
+"dans les <literal>UPDATE</literal>s ?"
 
-#: index.docbook:1872, index.docbook:1961
-msgid "<literal>update</literal>: Do the mapped columns appear in SQL <literal>UPDATE</literal>s?"
-msgstr "Une autre façon possible de faire est la suivante, chaque sous-classe peut être mappée vers sa propre table (stratégie de mapping de type table-per-subclass). L'état hérité est récupéré en joignant la table de la super-classe. L'élément <literal>&lt;joined-subclass&gt;</literal> est utilisé."
+#. Tag: para
+#: basic_mapping.xml:1872 basic_mapping.xml:1961
+#, fuzzy, no-c-format
+msgid ""
+"<literal>update</literal>: Do the mapped columns appear in SQL "
+"<literal>UPDATE</literal>s?"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>access</literal> (optionnel - par défaut à <literal>property</"
+"literal>) : La stratégie que Hibernate doit utiliser pour accéder à la "
+"valeur de cette propriété.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>optimistic-lock</literal> (optionnel - par défaut à <literal>true</"
+"literal>) : Indique que les mises à jour sur ce composant nécessitent ou non "
+"l'acquisition d'un verrou optimiste. En d'autres termes, cela détermine si "
+"une incrémentation de version doit avoir lieu quand la propriété est marquée "
+"obsolète (dirty)."
 
-#: index.docbook:1884
-msgid "<literal>lazy</literal> (optional - defaults to <literal>false</literal>): Specifies that this component should be fetched lazily when the instance variable is first accessed (requires build-time bytecode instrumentation)."
-msgstr "<literal>name</literal> : Le nom Java complet de la sous-classe."
+#. Tag: para
+#: basic_mapping.xml:1884
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional - defaults to <literal>false</literal>): "
+"Specifies that this component should be fetched lazily when the instance "
+"variable is first accessed (requires build-time bytecode instrumentation)."
+msgstr ""
+"<literal>optimistic-lock</literal> (optionnel - par défaut à <literal>true</"
+"literal>) : Indique que les mises à jour sur ce composant nécessitent ou non "
+"l'acquisition d'un verrou optimiste. En d'autres termes, cela détermine si "
+"une incrémentation de version doit avoir lieu quand la propriété est marquée "
+"obsolète (dirty)."
 
-#: index.docbook:1891
-msgid "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</literal>): Specifies that updates to this component do or do not require acquisition of the optimistic lock. In other words, determines if a version increment should occur when this property is dirty."
-msgstr "<literal>table</literal> : Le nom de la table de la sous-classe."
+#. Tag: para
+#: basic_mapping.xml:1891
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to this component do or do not require "
+"acquisition of the optimistic lock. In other words, determines if a version "
+"increment should occur when this property is dirty."
+msgstr ""
+"<literal>unique</literal> (optionnel - par défaut à <literal>false</"
+"literal>) : Indique qu'une contrainte d'unicité existe sur toutes les "
+"colonnes mappées de ce composant."
 
-#: index.docbook:1899, index.docbook:1975
-msgid "<literal>unique</literal> (optional - defaults to <literal>false</literal>): Specifies that a unique constraint exists upon all mapped columns of the component."
-msgstr "<literal>proxy</literal> (optionnel) : Indique une classe ou interface pour le chargement différé des proxies."
+#. Tag: para
+#: basic_mapping.xml:1899 basic_mapping.xml:1975
+#, fuzzy, 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 ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Les tags fils <literal>&lt;property&gt;</literal> mappent les propriétés de "
+"la classe fille sur les colonnes de la table.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Par exemple, si nous avons le mapping de <literal>&lt;properties&gt;</"
+"literal> suivant :"
 
-#: index.docbook:1908
-msgid "The child <literal>&lt;property&gt;</literal> tags map properties of the child class to table columns."
-msgstr "<literal>lazy</literal> (optionnel, par défaut à <literal>true</literal>) : Indiquer <literal>lazy=\"false\"</literal> désactive l'utilisation du chargement à la demande."
+#. Tag: para
+#: basic_mapping.xml:1908
+#, no-c-format
+msgid ""
+"The child <literal>&lt;property&gt;</literal> tags map properties of the "
+"child class to table columns."
+msgstr ""
+"L'élément <literal>&lt;component&gt;</literal> permet de déclarer sous-"
+"élément <literal>&lt;parent&gt;</literal> qui associe une propriété de la "
+"classe composant comme une référence arrière vers l'entité contenante."
 
-#: index.docbook:1913
-msgid "The <literal>&lt;component&gt;</literal> element allows a <literal>&lt;parent&gt;</literal> subelement that maps a property of the component class as a reference back to the containing entity."
-msgstr "Aucune colonne discriminante n'est nécessaire pour cette stratégie de mapping. Cependant, chaque sous-classe doit déclarer une colonne de table contenant l'objet identifiant qui utilise l'élément <literal>&lt;key&gt;</literal>. Le mapping au début de ce chapitre serait ré-écrit ainsi :"
-
-#: index.docbook:1919
-msgid "The <literal>&lt;dynamic-component&gt;</literal> element allows a <literal>Map</literal> to be mapped as a component, where the property names refer to keys of the map, see <xref linkend=\"components-dynamic\"/>."
+#. Tag: para
+#: basic_mapping.xml:1913
+#, no-c-format
+msgid ""
+"The <literal>&lt;component&gt;</literal> element allows a <literal>&lt;"
+"parent&gt;</literal> subelement that maps a property of the component class "
+"as a reference back to the containing entity."
 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>]]>"
+"L'élément <literal>&lt;dynamic-component&gt;</literal> permet à une "
+"<literal>Map</literal> d'être mappée comme un composant, quand les noms de "
+"la propriété font référence aux clefs de cette Map, voir <xref linkend="
+"\"components-dynamic\"/>."
 
-#: index.docbook:1928
+#. Tag: para
+#: basic_mapping.xml:1919
+#, 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\"/>."
+msgstr "properties"
+
+#. Tag: title
+#: basic_mapping.xml:1928
+#, no-c-format
 msgid "properties"
-msgstr "Pour des informations sur les mappings d'héritage, voir <xref linkend=\"inheritance\"/>."
+msgstr ""
+"L'élément <literal>&lt;properties&gt;</literal> permet la définition d'un "
+"groupement logique nommé des propriétés d'une classe. L'utilisation la plus "
+"importante de cette construction est la possibilité pour une combinaison de "
+"propriétés d'être la cible d'un <literal>property-ref</literal>. C'est aussi "
+"un moyen pratique de définir une contrainte d'unicité multi-colonnes."
 
-#: index.docbook:1930
-msgid "The <literal>&lt;properties&gt;</literal> element allows the definition of a named, logical grouping of properties of a class. The most important use of the construct is that it allows a combination of properties to be the target of a <literal>property-ref</literal>. It is also a convenient way to define a multi-column unique constraint."
-msgstr "union-subclass"
+#. Tag: para
+#: basic_mapping.xml:1930
+#, no-c-format
+msgid ""
+"The <literal>&lt;properties&gt;</literal> element allows the definition of a "
+"named, logical grouping of properties of a class. The most important use of "
+"the construct is that it allows a combination of properties to be the target "
+"of a <literal>property-ref</literal>. It is also a convenient way to define "
+"a multi-column unique constraint."
+msgstr ""
+"<literal>name</literal> : Le nom logique d'un regroupement et <emphasis>non</"
+"emphasis> le véritable nom d'une propriété."
 
-#: index.docbook:1946
+#. Tag: programlisting
+#: basic_mapping.xml:1946
+#, no-c-format
 msgid ""
-      "<![CDATA[<properties\n"
-      "        name=\"logicalName\"\n"
-      "        insert=\"true|false\"\n"
-      "        update=\"true|false\"\n"
-      "        optimistic-lock=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      ">\n"
-      "\n"
-      "        <property ...../>\n"
-      "        <many-to-one .... />\n"
-      "        ........\n"
-      "</properties>]]>"
-msgstr "Une troisième option est de seulement mapper vers des tables les classes concrètes d'une hiérarchie d'héritage, (stratégie de type table-per-concrete-class) où chaque table définit tous les états persistants de la classe, y compris les états hérités. Dans Hibernate il n'est absolument pas nécessaire de mapper explicitement de telles hiérarchies d'héritage. Vous pouvez simplement mapper chaque classe avec une déclaration <literal>&lt;class&gt;</literal> différente. Cependant, si vous souhaitez utiliser des associations polymorphiques (càd une association vers la superclasse de la hiérarchie), vous devez utiliser le mapping <literal>&lt;union-subclass&gt;</literal>."
+"<![CDATA[<properties\n"
+"        name=\"logicalName\"\n"
+"        insert=\"true|false\"\n"
+"        update=\"true|false\"\n"
+"        optimistic-lock=\"true|false\"\n"
+"        unique=\"true|false\"\n"
+">\n"
+"\n"
+"        <property ...../>\n"
+"        <many-to-one .... />\n"
+"        ........\n"
+"</properties>]]>"
+msgstr ""
 
-#: index.docbook:1949
-msgid "<literal>name</literal>: The logical name of the grouping - <emphasis>not</emphasis> an actual property name."
+#. Tag: para
+#: basic_mapping.xml:1949
+#, no-c-format
+msgid ""
+"<literal>name</literal>: The logical name of the grouping - <emphasis>not</"
+"emphasis> an actual property name."
 msgstr ""
-      "<![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"
-      "\n"
-      "        <property .... />\n"
-      "        .....\n"
-      "</union-subclass>]]>"
+"<literal>insert</literal> : Est-ce que les colonnes mappées apparaissent "
+"dans les <literal>INSERT</literal>s ?"
 
-#: index.docbook:1967
-msgid "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</literal>): Specifies that updates to these properties do or do not require acquisition of the optimistic lock. In other words, determines if a version increment should occur when these properties are dirty."
-msgstr "<literal>proxy</literal> (optionnel) : Indique une classe ou interface pour le chargement différé des proxies."
+#. Tag: para
+#: basic_mapping.xml:1967
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to these properties do or do not require "
+"acquisition of the optimistic lock. In other words, determines if a version "
+"increment should occur when these properties are dirty."
+msgstr ""
+"<literal>unique</literal> (optionnel - par défaut à <literal>false</"
+"literal>) : Indique qu'une contrainte d'unicité existe sur toutes les "
+"colonnes mappées de ce composant."
 
-#: index.docbook:1984
-msgid "For example, if we have the following <literal>&lt;properties&gt;</literal> mapping:"
-msgstr "Aucune colonne discriminante ou colonne clef n'est requise pour cette stratégie de mapping."
+#. Tag: para
+#: basic_mapping.xml:1984
+#, no-c-format
+msgid ""
+"For example, if we have the following <literal>&lt;properties&gt;</literal> "
+"mapping:"
+msgstr ""
+"Alors nous pourrions avoir une association sur des données d'un ancien "
+"système (legacy) qui font référence à cette clef unique de la table "
+"<literal>Person</literal> au lieu de la clef primaire :"
 
-#: index.docbook:1988
+#. Tag: programlisting
+#: basic_mapping.xml:1988
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <id name=\"personNumber\"/>\n"
-      "    ...\n"
-      "    <properties name=\"name\"\n"
-      "            unique=\"true\" update=\"false\">\n"
-      "        <property name=\"firstName\"/>\n"
-      "        <property name=\"initial\"/>\n"
-      "        <property name=\"lastName\"/>\n"
-      "    </properties>\n"
-      "</class>]]>"
-msgstr "Pour des informations sur les mappings d'héritage, voir <xref linkend=\"inheritance\"/>."
+"<![CDATA[<class name=\"Person\">\n"
+"    <id name=\"personNumber\"/>\n"
+"    ...\n"
+"    <properties name=\"name\"\n"
+"            unique=\"true\" update=\"false\">\n"
+"        <property name=\"firstName\"/>\n"
+"        <property name=\"initial\"/>\n"
+"        <property name=\"lastName\"/>\n"
+"    </properties>\n"
+"</class>]]>"
+msgstr ""
 
-#: index.docbook:1990
-msgid "Then we might have some legacy data association which refers to this unique key of the <literal>Person</literal> table, instead of to the primary key:"
-msgstr "join"
+#. Tag: para
+#: basic_mapping.xml:1990
+#, no-c-format
+msgid ""
+"Then we might have some legacy data association which refers to this unique "
+"key of the <literal>Person</literal> table, instead of to the primary key:"
+msgstr ""
+"Nous ne recommandons pas l'utilisation de ce genre de chose en dehors du "
+"contexte de mapping de données héritées d'anciens systèmes."
 
-#: index.docbook:1995
+#. Tag: programlisting
+#: basic_mapping.xml:1995
+#, no-c-format
 msgid ""
-      "<![CDATA[<many-to-one name=\"person\"\n"
-      "         class=\"Person\" property-ref=\"name\">\n"
-      "    <column name=\"firstName\"/>\n"
-      "    <column name=\"initial\"/>\n"
-      "    <column name=\"lastName\"/>\n"
-      "</many-to-one>]]>"
-msgstr "En utilisant l'élément <literal>&lt;join&gt;</literal>, il est possible de mapper des propriétés d'une classe sur plusieurs tables."
-
-#: index.docbook:1997
-msgid "We don't recommend the use of this kind of thing outside the context of mapping legacy data."
+"<![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[<join\n"
-      "        table=\"tablename\"\n"
-      "        schema=\"owner\"\n"
-      "        catalog=\"catalog\"\n"
-      "        fetch=\"join|select\"\n"
-      "        inverse=\"true|false\"\n"
-      "        optionnel=\"true|false\">\n"
-      "        \n"
-      "        <key ... />\n"
-      "        \n"
-      "        <property ... />\n"
-      "        ...\n"
-      "</join>]]>"
 
-#: index.docbook:2005
+#. Tag: para
+#: basic_mapping.xml:1997
+#, no-c-format
+msgid ""
+"We don't recommend the use of this kind of thing outside the context of "
+"mapping legacy data."
+msgstr "subclass"
+
+#. Tag: title
+#: basic_mapping.xml:2005
+#, no-c-format
 msgid "subclass"
-msgstr "<literal>table</literal> : Le nom de la table jointe."
+msgstr ""
+"Pour finir, la persistance polymorphique nécessite la déclaration de chaque "
+"sous-classe de la classe persistante de base. pour la stratégie de mapping "
+"de type table-per-class-hierarchy, on utilise la déclaration <literal>&lt;"
+"subclass&gt;</literal>."
 
-#: index.docbook:2007
-msgid "Finally, polymorphic persistence requires the declaration of each subclass of the root persistent class. For the table-per-class-hierarchy mapping strategy, the <literal>&lt;subclass&gt;</literal> declaration is used."
-msgstr "<literal>schema</literal> (optionnel) : court-circuite le nom de schéma spécifié par l'élément de base <literal>&lt;hibernate-mapping&gt;</literal>."
+#. Tag: para
+#: basic_mapping.xml:2007
+#, no-c-format
+msgid ""
+"Finally, polymorphic persistence requires the declaration of each subclass "
+"of the root persistent class. For the table-per-class-hierarchy mapping "
+"strategy, the <literal>&lt;subclass&gt;</literal> declaration is used."
+msgstr "<literal>name</literal> : Le nom complet de la sous-classe."
 
-#: index.docbook:2020
+#. Tag: programlisting
+#: basic_mapping.xml:2020
+#, no-c-format
 msgid ""
-      "<![CDATA[<subclass\n"
-      "        name=\"ClassName\"\n"
-      "        discriminator-value=\"discriminator_value\"\n"
-      "        proxy=\"ProxyInterface\"\n"
-      "        lazy=\"true|false\"\n"
-      "        dynamic-update=\"true|false\"\n"
-      "        dynamic-insert=\"true|false\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name\"\n"
-      "        extends=\"SuperclassName\">\n"
-      "\n"
-      "        <property .... />\n"
-      "        .....\n"
-      "</subclass>]]>"
-msgstr "<literal>catalog</literal> (optionnel) : court-circuite le nom de catalogue spécifié par l'élément de base <literal>&lt;hibernate-mapping&gt;</literal>."
+"<![CDATA[<subclass\n"
+"        name=\"ClassName\"\n"
+"        discriminator-value=\"discriminator_value\"\n"
+"        proxy=\"ProxyInterface\"\n"
+"        lazy=\"true|false\"\n"
+"        dynamic-update=\"true|false\"\n"
+"        dynamic-insert=\"true|false\"\n"
+"        entity-name=\"EntityName\"\n"
+"        node=\"element-name\"\n"
+"        extends=\"SuperclassName\">\n"
+"\n"
+"        <property .... />\n"
+"        .....\n"
+"</subclass>]]>"
+msgstr ""
 
-#: index.docbook:2023, index.docbook:2081, index.docbook:2144
-msgid "<literal>name</literal>: The fully qualified class name of the subclass."
-msgstr "<literal>fetch</literal> (optionnel - par défaut à <literal>join</literal>) : Si positionné à <literal>join</literal>, Hibernate utilisera une jointure interne pour charger une <literal>jointure</literal> définie par une classe ou ses super-classes et une jointure externe pour une <literal>&lt;jointure&gt;</literal> définie par une sous-classe. Si positionné à <literal>select</literal> alors Hibernate utilisera un select séquentiel pour une <literal>&lt;jointure&gt;</literal> définie sur une sous-classe, qui ne sera délivrée que si une ligne se représente une instance de la sous-classe. Les jointures internes seront quand même utilisées pour charger une <literal>&lt;jointure&gt;</literal> définie par une classe et ses super-classes."
+#. Tag: para
+#: basic_mapping.xml:2023 basic_mapping.xml:2081 basic_mapping.xml:2144
+#, fuzzy, no-c-format
+msgid ""
+"<literal>name</literal>: The fully qualified class name of the subclass."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>discriminator-value</literal> (optionnel - par défaut le nom de la "
+"classe) : une valeur qui distingue les différentes sous-classes.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>name</literal> : Le nom Java complet de la sous-classe.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>name</literal> : Le nom Java complet de la sous-classe."
 
-#: index.docbook:2028
-msgid "<literal>discriminator-value</literal> (optional - defaults to the class name): A value that distiguishes individual subclasses."
-msgstr "<literal>inverse</literal> (optionnel - par défaut à <literal>false</literal>) : Si positionné à true, Hibernate n'essaiera pas d'insérer ou de mettre à jour les propriétés définies par cette jointure."
+#. Tag: para
+#: basic_mapping.xml:2028
+#, no-c-format
+msgid ""
+"<literal>discriminator-value</literal> (optional - defaults to the class "
+"name): A value that distiguishes individual subclasses."
+msgstr ""
+"<literal>proxy</literal> (optionnel) : Indique une classe ou interface à "
+"utiliser pour les chargements à la demande des proxies (lazy)."
 
-#: index.docbook:2034, index.docbook:2091, index.docbook:2154
-msgid "<literal>proxy</literal> (optional): Specifies a class or interface to use for lazy initializing proxies."
-msgstr "<literal>optionnel</literal> (optionnel - par défaut à <literal>false</literal>) : Si positionné à true, Hibernate insèrera une ligne seulement si les propriétés définies par cette jointure sont non-nulles et utilisera toujours une jointure externe pour charger les propriétés."
+#. Tag: para
+#: basic_mapping.xml:2034 basic_mapping.xml:2091 basic_mapping.xml:2154
+#, fuzzy, no-c-format
+msgid ""
+"<literal>proxy</literal> (optional): Specifies a class or interface to use "
+"for lazy initializing proxies."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>lazy</literal> (optionnel, par défaut à <literal>true</literal>) : "
+"Spécifier <literal>lazy=\"false\"</literal> désactive l'utilisation du "
+"chargement à la demande (lazy).\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>proxy</literal> (optionnel) : Indique une classe ou interface pour "
+"le chargement différé des proxies.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>proxy</literal> (optionnel) : Indique une classe ou interface pour "
+"le chargement différé des proxies."
 
-#: index.docbook:2040, index.docbook:2097, index.docbook:2160
-msgid "<literal>lazy</literal> (optional, defaults to <literal>true</literal>): Setting <literal>lazy=\"false\"</literal> disables the use of lazy fetching."
-msgstr "Par exemple, les informations d'adresse pour une personne peuvent être mappées vers une table séparée (tout en préservant des sémantiques de type valeur pour toutes ses propriétés) :"
+#. Tag: para
+#: basic_mapping.xml:2040 basic_mapping.xml:2097 basic_mapping.xml:2160
+#, fuzzy, 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 ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Chaque sous-classe devrait déclarer ses propres propriétés persistantes et "
+"sous-classes. Les propriétés <literal>&lt;version&gt;</literal> et "
+"<literal>&lt;id&gt;</literal> sont implicitement hérités de la classe de "
+"base. Chaque sous-classe dans une hiérarchie doit définir une unique "
+"<literal>discriminator-value</literal>. Si aucune n'est spécifiée, le nom "
+"complet de la classe Java est utilisé.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>lazy</literal> (optionnel, par défaut à <literal>true</literal>) : "
+"Indiquer <literal>lazy=\"false\"</literal> désactive l'utilisation du "
+"chargement à la demande.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>lazy</literal> (optionnel, par défaut à <literal>true</literal>) : "
+"Indiquer <literal>lazy=\"false\"</literal> désactive l'utilisation du "
+"chargement à la demande."
 
-#: index.docbook:2048
-msgid "Each subclass should declare its own persistent properties and subclasses. <literal>&lt;version&gt;</literal> and <literal>&lt;id&gt;</literal> properties are assumed to be inherited from the root class. Each subclass in a heirarchy must define a unique <literal>discriminator-value</literal>. If none is specified, the fully qualified Java class name is used."
+#. Tag: para
+#: basic_mapping.xml:2048
+#, no-c-format
+msgid ""
+"Each subclass should declare its own persistent properties and subclasses. "
+"<literal>&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."
 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"
-      "    ...]]>"
+"Pour plus d'infos sur le mapping d'héritage, voir <xref linkend=\"inheritance"
+"\"/>."
 
-#: index.docbook:2056, index.docbook:2114, index.docbook:2172
-msgid "For information about inheritance mappings, see <xref linkend=\"inheritance\"/>."
-msgstr "Cette fonctionnalité est souvent seulement utile pour les modèles de données hérités d'anciens systèmes (legacy), nous recommandons d'utiliser moins de tables que de classes et un modèle de domaine à granularité fine. Cependant, c'est utile pour passer d'une stratégie de mapping d'héritage à une autre dans une hiérarchie simple ainsi qu'il est expliqué plus tard."
+#. Tag: para
+#: basic_mapping.xml:2056 basic_mapping.xml:2114 basic_mapping.xml:2172
+#, no-c-format
+msgid ""
+"For information about inheritance mappings, see <xref linkend=\"inheritance"
+"\"/>."
+msgstr ""
+"Pour des informations sur les mappings d'héritage, voir <xref linkend="
+"\"inheritance\"/>."
 
-#: index.docbook:2063
+#. Tag: title
+#: basic_mapping.xml:2063
+#, no-c-format
 msgid "joined-subclass"
-msgstr "<title>key</title>"
+msgstr "joined-subclass"
 
-#: index.docbook:2065
-msgid "Alternatively, each subclass may be mapped to its own table (table-per-subclass mapping strategy). Inherited state is retrieved by joining with the table of the superclass. We use the <literal>&lt;joined-subclass&gt;</literal> element."
-msgstr "Nous avons rencontré l'élément <literal>&lt;key&gt;</literal> à plusieurs reprises maintenant. Il apparaît partout que l'élément de mapping parent définit une jointure sur une nouvele table, et définit la clef étrangère dans la table jointe, ce qui référence la clef primaire de la table d'origine."
+#. Tag: para
+#: basic_mapping.xml:2065
+#, no-c-format
+msgid ""
+"Alternatively, each subclass may be mapped to its own table (table-per-"
+"subclass mapping strategy). Inherited state is retrieved by joining with the "
+"table of the superclass. We use the <literal>&lt;joined-subclass&gt;</"
+"literal> element."
+msgstr ""
+"Une autre façon possible de faire est la suivante, chaque sous-classe peut "
+"être mappée vers sa propre table (stratégie de mapping de type table-per-"
+"subclass). L'état hérité est récupéré en joignant la table de la super-"
+"classe. L'élément <literal>&lt;joined-subclass&gt;</literal> est utilisé."
 
-#: index.docbook:2078
+#. Tag: programlisting
+#: basic_mapping.xml:2078
+#, no-c-format
 msgid ""
-      "<![CDATA[<joined-subclass\n"
-      "        name=\"ClassName\"\n"
-      "        table=\"tablename\"\n"
-      "        proxy=\"ProxyInterface\"\n"
-      "        lazy=\"true|false\"\n"
-      "        dynamic-update=\"true|false\"\n"
-      "        dynamic-insert=\"true|false\"\n"
-      "        schema=\"schema\"\n"
-      "        catalog=\"catalog\"\n"
-      "        extends=\"SuperclassName\"\n"
-      "        persister=\"ClassName\"\n"
-      "        subselect=\"SQL expression\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name\">\n"
-      "\n"
-      "        <key .... >\n"
-      "\n"
-      "        <property .... />\n"
-      "        .....\n"
-      "</joined-subclass>]]>"
+"<![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[<key\n"
-      "        column=\"columnname\"\n"
-      "        on-delete=\"noaction|cascade\"\n"
-      "        property-ref=\"propertyName\"\n"
-      "        not-null=\"true|false\"\n"
-      "        update=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "/>]]>"
 
-#: index.docbook:2086, index.docbook:2149
+#. Tag: para
+#: basic_mapping.xml:2086 basic_mapping.xml:2149
+#, fuzzy, no-c-format
 msgid "<literal>table</literal>: The name of the subclass table."
-msgstr "<literal>on-delete</literal> (optionnel, par défaut à <literal>noaction</literal>) : Indique si la contrainte de clef étrangère possède la possibilité au niveau base de données de suppression en cascade."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>table</literal> : Le nom de la table de la sous-classe.\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>table</literal> : nom de la table de la sous-classe."
 
-#: index.docbook:2105
-msgid "No discriminator column is required for this mapping strategy. Each subclass must, however, declare a table column holding the object identifier using the <literal>&lt;key&gt;</literal> element. The mapping at the start of the chapter would be re-written as:"
-msgstr "<literal>update</literal> (optionnel) : Indique que la clef étrangère ne devrait jamais être mise à jour (implicite si celle-ci fait partie de la clef primaire)."
+#. Tag: para
+#: basic_mapping.xml:2105
+#, no-c-format
+msgid ""
+"No discriminator column is required for this mapping strategy. Each subclass "
+"must, however, declare a table column holding the object identifier using "
+"the <literal>&lt;key&gt;</literal> element. The mapping at the start of the "
+"chapter would be re-written as:"
+msgstr ""
+"Aucune colonne discriminante n'est nécessaire pour cette stratégie de "
+"mapping. Cependant, chaque sous-classe doit déclarer une colonne de table "
+"contenant l'objet identifiant qui utilise l'élément <literal>&lt;key&gt;</"
+"literal>. Le mapping au début de ce chapitre serait ré-écrit ainsi :"
 
-#: index.docbook:2112
+#. Tag: programlisting
+#: basic_mapping.xml:2112
+#, no-c-format
 msgid ""
-      "<![CDATA[<?xml version=\"1.0\"?>\n"
-      "<!DOCTYPE hibernate-mapping PUBLIC\n"
-      "        \"-//Hibernate/Hibernate Mapping DTD//EN\"\n"
-      "        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
-      "\n"
-      "<hibernate-mapping package=\"eg\">\n"
-      "\n"
-      "        <class name=\"Cat\" table=\"CATS\">\n"
-      "                <id name=\"id\" column=\"uid\" type=\"long\">\n"
-      "                        <generator class=\"hilo\"/>\n"
-      "                </id>\n"
-      "                <property name=\"birthdate\" type=\"date\"/>\n"
-      "                <property name=\"color\" not-null=\"true\"/>\n"
-      "                <property name=\"sex\" not-null=\"true\"/>\n"
-      "                <property name=\"weight\"/>\n"
-      "                <many-to-one name=\"mate\"/>\n"
-      "                <set name=\"kittens\">\n"
-      "                        <key column=\"MOTHER\"/>\n"
-      "                        <one-to-many class=\"Cat\"/>\n"
-      "                </set>\n"
-      "                <joined-subclass name=\"DomesticCat\" table=\"DOMESTIC_CATS\">\n"
-      "                    <key column=\"CAT\"/>\n"
-      "                    <property name=\"name\" type=\"string\"/>\n"
-      "                </joined-subclass>\n"
-      "        </class>\n"
-      "\n"
-      "        <class name=\"eg.Dog\">\n"
-      "                <!-- mapping for Dog could go here -->\n"
-      "        </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
-msgstr "<literal>unique</literal> (optionnel) : Indique que la clef étrangère doit posséder une contrainte d'unicité (implicite si la clef étrangère est aussi la clef primaire)."
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+"        \"-//Hibernate/Hibernate Mapping DTD//EN\"\n"
+"        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping package=\"eg\">\n"
+"\n"
+"        <class name=\"Cat\" table=\"CATS\">\n"
+"                <id name=\"id\" column=\"uid\" type=\"long\">\n"
+"                        <generator class=\"hilo\"/>\n"
+"                </id>\n"
+"                <property name=\"birthdate\" type=\"date\"/>\n"
+"                <property name=\"color\" not-null=\"true\"/>\n"
+"                <property name=\"sex\" not-null=\"true\"/>\n"
+"                <property name=\"weight\"/>\n"
+"                <many-to-one name=\"mate\"/>\n"
+"                <set name=\"kittens\">\n"
+"                        <key column=\"MOTHER\"/>\n"
+"                        <one-to-many class=\"Cat\"/>\n"
+"                </set>\n"
+"                <joined-subclass name=\"DomesticCat\" table=\"DOMESTIC_CATS"
+"\">\n"
+"                    <key column=\"CAT\"/>\n"
+"                    <property name=\"name\" type=\"string\"/>\n"
+"                </joined-subclass>\n"
+"        </class>\n"
+"\n"
+"        <class name=\"eg.Dog\">\n"
+"                <!-- mapping for Dog could go here -->\n"
+"        </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
+msgstr ""
 
-#: index.docbook:2121
+#. Tag: title
+#: basic_mapping.xml:2121
+#, no-c-format
 msgid "union-subclass"
-msgstr "Les attributs <literal>not-null</literal> et <literal>update</literal> sont utiles pour mapper une association one-to-many unidirectionnelle. Si vous mappez un one-to-many unidirectionnel vers une clef étrangère non nulle, vous <emphasis>devez</emphasis> déclarer la colonne de la clef en utilisant <literal>&lt;key not-null=\"true\"&gt;</literal>."
+msgstr "union-subclass"
 
-#: index.docbook:2123
-msgid "A third option is to map only the concrete classes of an inheritance hierarchy to tables, (the table-per-concrete-class strategy) where each table defines all persistent state of the class, including inherited state. In Hibernate, it is not absolutely necessary to explicitly map such inheritance hierarchies. You can simply map each class with a separate <literal>&lt;class&gt;</literal> declaration. However, if you wish use polymorphic associations (e.g. an association to the superclass of your hierarchy), you need to use the <literal>&lt;union-subclass&gt;</literal> mapping."
-msgstr "éléments column et formula"
+#. Tag: para
+#: basic_mapping.xml:2123
+#, no-c-format
+msgid ""
+"A third option is to map only the concrete classes of an inheritance "
+"hierarchy to tables, (the table-per-concrete-class strategy) where each "
+"table defines all persistent state of the class, including inherited state. "
+"In Hibernate, it is not absolutely necessary to explicitly map such "
+"inheritance hierarchies. You can simply map each class with a separate "
+"<literal>&lt;class&gt;</literal> declaration. However, if you wish use "
+"polymorphic associations (e.g. an association to the superclass of your "
+"hierarchy), you need to use the <literal>&lt;union-subclass&gt;</literal> "
+"mapping."
+msgstr ""
+"Une troisième option est de seulement mapper vers des tables les classes "
+"concrètes d'une hiérarchie d'héritage, (stratégie de type table-per-concrete-"
+"class) où chaque table définit tous les états persistants de la classe, y "
+"compris les états hérités. Dans Hibernate il n'est absolument pas nécessaire "
+"de mapper explicitement de telles hiérarchies d'héritage. Vous pouvez "
+"simplement mapper chaque classe avec une déclaration <literal>&lt;class&gt;</"
+"literal> différente. Cependant, si vous souhaitez utiliser des associations "
+"polymorphiques (càd une association vers la superclasse de la hiérarchie), "
+"vous devez utiliser le mapping <literal>&lt;union-subclass&gt;</literal>."
 
-#: index.docbook:2141
+#. Tag: programlisting
+#: basic_mapping.xml:2141
+#, no-c-format
 msgid ""
-      "<![CDATA[<union-subclass\n"
-      "        name=\"ClassName\"\n"
-      "        table=\"tablename\"\n"
-      "        proxy=\"ProxyInterface\"\n"
-      "        lazy=\"true|false\"\n"
-      "        dynamic-update=\"true|false\"\n"
-      "        dynamic-insert=\"true|false\"\n"
-      "        schema=\"schema\"\n"
-      "        catalog=\"catalog\"\n"
-      "        extends=\"SuperclassName\"\n"
-      "        abstract=\"true|false\"\n"
-      "        persister=\"ClassName\"\n"
-      "        subselect=\"SQL expression\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name\">\n"
-      "\n"
-      "        <property .... />\n"
-      "        .....\n"
-      "</union-subclass>]]>"
-msgstr "Tout élément de mapping qui accepte un attribut <literal>column</literal> acceptera alternativement un sous-élément <literal>&lt;column&gt;</literal>. De façon identique, <literal>&lt;formula&gt;</literal> est une alternative à l'attribut <literal>formula</literal>."
+"<![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 ""
 
-#: index.docbook:2168
-msgid "No discriminator column or key column is required for this mapping strategy."
-msgstr "import"
+#. Tag: para
+#: basic_mapping.xml:2168
+#, no-c-format
+msgid ""
+"No discriminator column or key column is required for this mapping strategy."
+msgstr ""
+"Aucune colonne discriminante ou colonne clef n'est requise pour cette "
+"stratégie de mapping."
 
-#: index.docbook:2179
+#. Tag: title
+#: basic_mapping.xml:2179
+#, no-c-format
 msgid "join"
-msgstr "<![CDATA[<import class=\"java.lang.Object\" rename=\"Universe\"/>]]>"
+msgstr "join"
 
-#: index.docbook:2181
-msgid "Using the <literal>&lt;join&gt;</literal> element, it is possible to map properties of one class to several tables, when there's a 1-to-1 relationship between the tables."
+#. Tag: para
+#: basic_mapping.xml:2181
+#, no-c-format
+msgid ""
+"Using the <literal>&lt;join&gt;</literal> element, it is possible to map "
+"properties of one class to several tables, when there's a 1-to-1 "
+"relationship between the tables."
 msgstr ""
-      "<![CDATA[<import\n"
-      "        class=\"ClassName\"\n"
-      "        rename=\"ShortName\"\n"
-      "/>]]>"
+"En utilisant l'élément <literal>&lt;join&gt;</literal>, il est possible de "
+"mapper des propriétés d'une classe sur plusieurs tables."
 
-#: index.docbook:2195
+#. Tag: programlisting
+#: basic_mapping.xml:2195
+#, no-c-format
 msgid ""
-      "<![CDATA[<join\n"
-      "        table=\"tablename\"\n"
-      "        schema=\"owner\"\n"
-      "        catalog=\"catalog\"\n"
-      "        fetch=\"join|select\"\n"
-      "        inverse=\"true|false\"\n"
-      "        optional=\"true|false\">\n"
-      "\n"
-      "        <key ... />\n"
-      "\n"
-      "        <property ... />\n"
-      "        ...\n"
-      "</join>]]>"
-msgstr "<literal>class</literal> : Nom Java complet de la classe."
+"<![CDATA[<join\n"
+"        table=\"tablename\"\n"
+"        schema=\"owner\"\n"
+"        catalog=\"catalog\"\n"
+"        fetch=\"join|select\"\n"
+"        inverse=\"true|false\"\n"
+"        optional=\"true|false\">\n"
+"\n"
+"        <key ... />\n"
+"\n"
+"        <property ... />\n"
+"        ...\n"
+"</join>]]>"
+msgstr ""
 
-#: index.docbook:2199
+#. Tag: para
+#: basic_mapping.xml:2199
+#, no-c-format
 msgid "<literal>table</literal>: The name of the joined table."
-msgstr "<literal>rename</literal> (optionnel - par défaut vaut le nom de la classe Java (sans package)) : Nom pouvant être utilisé dans le langage de requête."
+msgstr "<literal>table</literal> : Le nom de la table jointe."
 
-#: index.docbook:2216
-msgid "<literal>fetch</literal> (optional - defaults to <literal>join</literal>): If set to <literal>join</literal>, the default, Hibernate will use an inner join to retrieve a <literal>&lt;join&gt;</literal> defined by a class or its superclasses and an outer join for a <literal>&lt;join&gt;</literal> defined by a subclass. If set to <literal>select</literal> then Hibernate will use a sequential select for a <literal>&lt;join&gt;</literal> defined on a subclass, which will be issued only if a row turns out to represent an instance of the subclass. Inner joins will still be used to retrieve a <literal>&lt;join&gt;</literal> defined by the class and its superclasses."
-msgstr "L'attribut <literal>meta-type</literal> permet à l'application de spécifier un type personnalisé qui mappe des valeurs de colonnes de le base de données sur des classes persistantes qui ont un attribut identifiant du type spécifié par <literal>id-type</literal>. Vous devez spécifier le mapping à partir de valeurs du méta-type sur les noms des classes."
+#. Tag: para
+#: basic_mapping.xml:2216
+#, no-c-format
+msgid ""
+"<literal>fetch</literal> (optional - defaults to <literal>join</literal>): "
+"If set to <literal>join</literal>, the default, Hibernate will use an inner "
+"join to retrieve a <literal>&lt;join&gt;</literal> defined by a class or its "
+"superclasses and an outer join for a <literal>&lt;join&gt;</literal> defined "
+"by a subclass. If set to <literal>select</literal> then Hibernate will use a "
+"sequential select for a <literal>&lt;join&gt;</literal> defined on a "
+"subclass, which will be issued only if a row turns out to represent an "
+"instance of the subclass. Inner joins will still be used to retrieve a "
+"<literal>&lt;join&gt;</literal> defined by the class and its superclasses."
+msgstr ""
+"<literal>fetch</literal> (optionnel - par défaut à <literal>join</"
+"literal>) : Si positionné à <literal>join</literal>, Hibernate utilisera une "
+"jointure interne pour charger une <literal>jointure</literal> définie par "
+"une classe ou ses super-classes et une jointure externe pour une "
+"<literal>&lt;jointure&gt;</literal> définie par une sous-classe. Si "
+"positionné à <literal>select</literal> alors Hibernate utilisera un select "
+"séquentiel pour une <literal>&lt;jointure&gt;</literal> définie sur une sous-"
+"classe, qui ne sera délivrée que si une ligne se représente une instance de "
+"la sous-classe. Les jointures internes seront quand même utilisées pour "
+"charger une <literal>&lt;jointure&gt;</literal> définie par une classe et "
+"ses super-classes."
 
-#: index.docbook:2229
-msgid "<literal>inverse</literal> (optional - defaults to <literal>false</literal>): If enabled, Hibernate will not try to insert or update the properties defined by this join."
+#. Tag: para
+#: basic_mapping.xml:2229
+#, no-c-format
+msgid ""
+"<literal>inverse</literal> (optional - defaults to <literal>false</"
+"literal>): If enabled, Hibernate will not try to insert or update the "
+"properties defined by this join."
 msgstr ""
-      "<![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>]]>"
+"<literal>inverse</literal> (optionnel - par défaut à <literal>false</"
+"literal>) : Si positionné à true, Hibernate n'essaiera pas d'insérer ou de "
+"mettre à jour les propriétés définies par cette jointure."
 
-#: index.docbook:2236
-msgid "<literal>optional</literal> (optional - defaults to <literal>false</literal>): If enabled, Hibernate will insert a row only if the properties defined by this join are non-null and will always use an outer join to retrieve the properties."
+#. Tag: para
+#: basic_mapping.xml:2236
+#, no-c-format
+msgid ""
+"<literal>optional</literal> (optional - defaults to <literal>false</"
+"literal>): If enabled, Hibernate will insert a row only if the properties "
+"defined by this join are non-null and will always use an outer join to "
+"retrieve the properties."
 msgstr ""
-      "<![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>]]>"
+"<literal>optionnel</literal> (optionnel - par défaut à <literal>false</"
+"literal>) : Si positionné à true, Hibernate insèrera une ligne seulement si "
+"les propriétés définies par cette jointure sont non-nulles et utilisera "
+"toujours une jointure externe pour charger les propriétés."
 
-#: index.docbook:2245
-msgid "For example, the address information for a person can be mapped to a separate table (while preserving value type semantics for all properties):"
-msgstr "<literal>name</literal> : le nom de la propriété."
+#. Tag: para
+#: basic_mapping.xml:2245
+#, no-c-format
+msgid ""
+"For example, the address information for a person can be mapped to a "
+"separate table (while preserving value type semantics for all properties):"
+msgstr ""
+"Par exemple, les informations d'adresse pour une personne peuvent être "
+"mappées vers une table séparée (tout en préservant des sémantiques de type "
+"valeur pour toutes ses propriétés) :"
 
-#: index.docbook:2250
+#. Tag: programlisting
+#: basic_mapping.xml:2250
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\"\n"
-      "    table=\"PERSON\">\n"
-      "\n"
-      "    <id name=\"id\" column=\"PERSON_ID\">...</id>\n"
-      "\n"
-      "    <join table=\"ADDRESS\">\n"
-      "        <key column=\"ADDRESS_ID\"/>\n"
-      "        <property name=\"address\"/>\n"
-      "        <property name=\"zip\"/>\n"
-      "        <property name=\"country\"/>\n"
-      "    </join>\n"
-      "    ...]]>"
-msgstr "<literal>id-type</literal> : le type identifiant."
+"<![CDATA[<class name=\"Person\"\n"
+"    table=\"PERSON\">\n"
+"\n"
+"    <id name=\"id\" column=\"PERSON_ID\">...</id>\n"
+"\n"
+"    <join table=\"ADDRESS\">\n"
+"        <key column=\"ADDRESS_ID\"/>\n"
+"        <property name=\"address\"/>\n"
+"        <property name=\"zip\"/>\n"
+"        <property name=\"country\"/>\n"
+"    </join>\n"
+"    ...]]>"
+msgstr ""
 
-#: index.docbook:2252
-msgid "This feature is often only useful for legacy data models, we recommend fewer tables than classes and a fine-grained domain model. However, it is useful for switching between inheritance mapping strategies in a single hierarchy, as explained later."
-msgstr "<literal>meta-type</literal> (optionnel - par défaut à <literal>string</literal>) : Tout type permis pour un mapping par discriminateur."
+#. Tag: para
+#: basic_mapping.xml:2252
+#, no-c-format
+msgid ""
+"This feature is often only useful for legacy data models, we recommend fewer "
+"tables than classes and a fine-grained domain model. However, it is useful "
+"for switching between inheritance mapping strategies in a single hierarchy, "
+"as explained later."
+msgstr ""
+"Cette fonctionnalité est souvent seulement utile pour les modèles de données "
+"hérités d'anciens systèmes (legacy), nous recommandons d'utiliser moins de "
+"tables que de classes et un modèle de domaine à granularité fine. Cependant, "
+"c'est utile pour passer d'une stratégie de mapping d'héritage à une autre "
+"dans une hiérarchie simple ainsi qu'il est expliqué plus tard."
 
-#: index.docbook:2262
+#. Tag: title
+#: basic_mapping.xml:2262
+#, no-c-format
 msgid "<title>key</title>"
-msgstr "<literal>cascade</literal> (optionnel - par défaut à <literal>none</literal>) : le style de cascade."
+msgstr ""
 
-#: index.docbook:2264
-msgid "We've seen the <literal>&lt;key&gt;</literal> element crop up a few times now. It appears anywhere the parent mapping element defines a join to a new table, and defines the foreign key in the joined table, that references the primary key of the original table."
-msgstr "<literal>access</literal> (optionnel - par défaut à <literal>property</literal>) : La stratégie à utiliser par Hibernate pour accéder à cette propriété."
+#. Tag: para
+#: basic_mapping.xml:2264
+#, no-c-format
+msgid ""
+"We've seen the <literal>&lt;key&gt;</literal> element crop up a few times "
+"now. It appears anywhere the parent mapping element defines a join to a new "
+"table, and defines the foreign key in the joined table, that references the "
+"primary key of the original table."
+msgstr ""
+"Nous avons rencontré l'élément <literal>&lt;key&gt;</literal> à plusieurs "
+"reprises maintenant. Il apparaît partout que l'élément de mapping parent "
+"définit une jointure sur une nouvele table, et définit la clef étrangère "
+"dans la table jointe, ce qui référence la clef primaire de la table "
+"d'origine."
 
-#: index.docbook:2280
+#. Tag: programlisting
+#: basic_mapping.xml:2280
+#, no-c-format
 msgid ""
-      "<![CDATA[<key\n"
-      "        column=\"columnname\"\n"
-      "        on-delete=\"noaction|cascade\"\n"
-      "        property-ref=\"propertyName\"\n"
-      "        not-null=\"true|false\"\n"
-      "        update=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "/>]]>"
-msgstr "<literal>optimistic-lock</literal> (optionnel - par défaut à <literal>true</literal>) : Indique que les mises à jour sur cette propriété nécessitent ou non l'acquisition d'un verrou optimiste. En d'autres termes, définit si un incrément de version doit avoir lieu quand cette propriété est marquée dirty."
+"<![CDATA[<key\n"
+"        column=\"columnname\"\n"
+"        on-delete=\"noaction|cascade\"\n"
+"        property-ref=\"propertyName\"\n"
+"        not-null=\"true|false\"\n"
+"        update=\"true|false\"\n"
+"        unique=\"true|false\"\n"
+"/>]]>"
+msgstr ""
 
-#: index.docbook:2291
-msgid "<literal>on-delete</literal> (optional, defaults to <literal>noaction</literal>): Specifies whether the foreign key constraint has database-level cascade delete enabled."
-msgstr "Entités et valeurs"
+#. Tag: para
+#: basic_mapping.xml:2291
+#, no-c-format
+msgid ""
+"<literal>on-delete</literal> (optional, defaults to <literal>noaction</"
+"literal>): Specifies whether the foreign key constraint has database-level "
+"cascade delete enabled."
+msgstr ""
+"<literal>on-delete</literal> (optionnel, par défaut à <literal>noaction</"
+"literal>) : Indique si la contrainte de clef étrangère possède la "
+"possibilité au niveau base de données de suppression en cascade."
 
-#: index.docbook:2298
-msgid "<literal>property-ref</literal> (optional): Specifies that the foreign key refers to columns that are not the primary key of the orginal table. (Provided for legacy data.)"
-msgstr "Pour comprendre le comportement des différents objets Java par rapport au service de persistance, nous avons besoin de les classer en deux groupes :"
+#. Tag: para
+#: basic_mapping.xml:2298
+#, no-c-format
+msgid ""
+"<literal>property-ref</literal> (optional): Specifies that the foreign key "
+"refers to columns that are not the primary key of the orginal table. "
+"(Provided for legacy data.)"
+msgstr ""
+"<literal>property-ref</literal> (optionnel) : Indique que la clef étrangère "
+"fait référence à des colonnes qui ne sont pas la clef primaire de la table "
+"d'origine (Pour les données de systèmes legacy)."
 
-#: index.docbook:2305
-msgid "<literal>not-null</literal> (optional): Specifies that the foreign key columns are not nullable (this is implied whenever the foreign key is also part of the primary key)."
-msgstr "Une <emphasis>entité</emphasis> existe indépendamment de tout autre objet possédant une référence vers l'entité. Comparez cela avec le modèle Java habituel où un objet est supprimé par le garbage collector dès qu'il n'est plus référencé. Les entités doivent être explicitement enregistrées et supprimées (sauf dans les cas où sauvegardes et suppressions sont <emphasis>cascadées</emphasis> d'une entité mère vers ses enfants). C'est différent du modèle ODMG de persistance par atteignabilité - et correspond mieux à la façon dont les objets sont habituellement utilisés dans des grands systèmes. Les entités permettent les références circulaires et partagées. Elles peuvent aussi être versionnées."
+#. Tag: para
+#: basic_mapping.xml:2305
+#, no-c-format
+msgid ""
+"<literal>not-null</literal> (optional): Specifies that the foreign key "
+"columns are not nullable (this is implied whenever the foreign key is also "
+"part of the primary key)."
+msgstr ""
+"<literal>not-null</literal> (optionnel) : Indique que les colonnes des clefs "
+"étrangères ne peuvent pas être nulles (c'est implicite si la clef étrangère "
+"fait partie de la clef primaire)."
 
-#: index.docbook:2312
-msgid "<literal>update</literal> (optional): Specifies that the foreign key should never be updated (this is implied whenever the foreign key is also part of the primary key)."
-msgstr "L'état persistant d'une entité consiste en des références vers d'autres entités et instances de types <emphasis>valeurs</emphasis>. Ces valeurs sont des types primitifs, des collections (et non le contenu d'une collection), des composants de certains objets immuables. Contrairement aux entités, les valeurs (et en particulier les collections et composants) <emphasis>sont</emphasis> persistés par atteignabiliité. Comme les valeurs (et types primitifs) sont persistés et supprimés avec l'entité qui les contient, ils ne peuvent pas posséder leurs propres versions. Les valeurs n'ont pas d'identité indépendantes, ainsi elles ne peuvent pas être partagées par deux entités ou collections."
+#. Tag: para
+#: basic_mapping.xml:2312
+#, no-c-format
+msgid ""
+"<literal>update</literal> (optional): Specifies that the foreign key should "
+"never be updated (this is implied whenever the foreign key is also part of "
+"the primary key)."
+msgstr ""
+"<literal>update</literal> (optionnel) : Indique que la clef étrangère ne "
+"devrait jamais être mise à jour (implicite si celle-ci fait partie de la "
+"clef primaire)."
 
-#: index.docbook:2319
-msgid "<literal>unique</literal> (optional): Specifies that the foreign key should have a unique constraint (this is implied whenever the foreign key is also the primary key)."
-msgstr "Jusqu'à présent nous avons utilisé le terme \"classe persistante\" pour parler d'entités. Nous allons continuer à faire ainsi. Cependant, au sens strict, toutes les classes définies par un utilisateur possédant un état persistant ne sont pas des entités. Un <emphasis>composant</emphasis> est une classe définie par un utilisateur avec les caractéristiques d'une valeur. Une propriété Java de type <literal>java.lang.String</literal> a aussi les caractéristiques d'une valeur. Given this definition, we can say that all types (classes) provided by the JDK have value type semantics in Java, while user-defined types may be mapped with entity or value type semantics. This decision is up to the application developer. A good hint for an entity class in a domain model are shared references to a single instance of that class, while composition or aggregation usually translates to a value type."
+#. Tag: para
+#: basic_mapping.xml:2319
+#, no-c-format
+msgid ""
+"<literal>unique</literal> (optional): Specifies that the foreign key should "
+"have a unique constraint (this is implied whenever the foreign key is also "
+"the primary key)."
+msgstr ""
+"<literal>unique</literal> (optionnel) : Indique que la clef étrangère doit "
+"posséder une contrainte d'unicité (implicite si la clef étrangère est aussi "
+"la clef primaire)."
 
-#: index.docbook:2327
-msgid "We recommend that for systems where delete performance is important, all keys should be defined <literal>on-delete=\"cascade\"</literal>, and Hibernate will use a database-level <literal>ON CASCADE DELETE</literal> constraint, instead of many individual <literal>DELETE</literal> statements. Be aware that this feature bypasses Hibernate's usual optimistic locking strategy for versioned data."
-msgstr "Nous nous pencherons sur ces deux concepts tout au long de la documentation."
+#. Tag: para
+#: basic_mapping.xml:2327
+#, no-c-format
+msgid ""
+"We recommend that for systems where delete performance is important, all "
+"keys should be defined <literal>on-delete=\"cascade\"</literal>, and "
+"Hibernate will use a database-level <literal>ON CASCADE DELETE</literal> "
+"constraint, instead of many individual <literal>DELETE</literal> statements. "
+"Be aware that this feature bypasses Hibernate's usual optimistic locking "
+"strategy for versioned data."
+msgstr ""
+"Nous recommandons pour les systèmes où les suppressions doivent être "
+"performantes de définir toutes les clefs <literal>on-delete=\"cascade\"</"
+"literal>, ainsi Hibernate utilisera une contrainte <literal>ON CASCADE "
+"DELETE</literal> au niveau base de données, plutôt que de nombreux "
+"<literal>DELETE</literal> individuels. Attention, cette fonctionnalité court-"
+"circuite la stratégie habituelle de verrou optimiste pour les données "
+"versionnées."
 
-#: index.docbook:2335
-msgid "The <literal>not-null</literal> and <literal>update</literal> attributes are useful when mapping a unidirectional one to many association. If you map a unidirectional one to many to a non-nullable foreign key, you <emphasis>must</emphasis> declare the key column using <literal>&lt;key not-null=\"true\"&gt;</literal>."
-msgstr "Le défi est de mapper les type Javas (et la définition des développeurs des entités et valeurs types) sur les types du SQL ou des bases de données. Le pont entre les deux systèmes est proposé par Hibernate : pour les entités nous utilisons <literal>&lt;class&gt;</literal>, <literal>&lt;subclass&gt;</literal> et ainsi de suite. Pour les types valeurs nous utilisons <literal>&lt;property&gt;</literal>, <literal>&lt;component&gt;</literal>, etc., habituellement avec un attribut <literal>type</literal>. La valeur de cet attribut est le nom d'un <emphasis>type de mapping</emphasis> Hibernate. Hibernate propose de base de nombreux mappings (pour les types de valeurs standards du JDK). Vous pouvez écrire vos propres types de mappings et implémenter aussi vos propres stratégies de conversion, nous le verrons plus tard."
+#. Tag: para
+#: basic_mapping.xml:2335
+#, no-c-format
+msgid ""
+"The <literal>not-null</literal> and <literal>update</literal> attributes are "
+"useful when mapping a unidirectional one to many association. If you map a "
+"unidirectional one to many to a non-nullable foreign key, you "
+"<emphasis>must</emphasis> declare the key column using <literal>&lt;key not-"
+"null=\"true\"&gt;</literal>."
+msgstr ""
+"Les attributs <literal>not-null</literal> et <literal>update</literal> sont "
+"utiles pour mapper une association one-to-many unidirectionnelle. Si vous "
+"mappez un one-to-many unidirectionnel vers une clef étrangère non nulle, "
+"vous <emphasis>devez</emphasis> déclarer la colonne de la clef en utilisant "
+"<literal>&lt;key not-null=\"true\"&gt;</literal>."
 
-#: index.docbook:2345
+#. Tag: title
+#: basic_mapping.xml:2345
+#, no-c-format
 msgid "column and formula elements"
-msgstr "Tous les types proposés de base par Hibernate à part les collections autorisent la valeur null."
+msgstr "éléments column et formula"
 
-#: index.docbook:2346
-msgid "Any mapping element which accepts 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."
-msgstr "Basic value types"
+#. Tag: para
+#: basic_mapping.xml:2346
+#, no-c-format
+msgid ""
+"Any mapping element which accepts a <literal>column</literal> attribute will "
+"alternatively accept a <literal>&lt;column&gt;</literal> subelement. "
+"Likewise, <literal>&lt;formula&gt;</literal> is an alternative to the "
+"<literal>formula</literal> attribute."
+msgstr ""
+"Tout élément de mapping qui accepte un attribut <literal>column</literal> "
+"acceptera alternativement un sous-élément <literal>&lt;column&gt;</literal>. "
+"De façon identique, <literal>&lt;formula&gt;</literal> est une alternative à "
+"l'attribut <literal>formula</literal>."
 
-#: index.docbook:2352
+#. Tag: programlisting
+#: basic_mapping.xml:2352
+#, no-c-format
 msgid ""
-      "<![CDATA[<column\n"
-      "        name=\"column_name\"\n"
-      "        length=\"N\"\n"
-      "        precision=\"N\"\n"
-      "        scale=\"N\"\n"
-      "        not-null=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "        unique-key=\"multicolumn_unique_key_name\"\n"
-      "        index=\"index_name\"\n"
-      "        sql-type=\"sql_type_name\"\n"
-      "        check=\"SQL expression\"\n"
-      "        default=\"SQL expression\"/>]]>"
-msgstr "Les <emphasis>types basiques de mapping</emphasis> proposés de base peuvent grossièrement être rangés dans les catégories suivantes :"
+"<![CDATA[<column\n"
+"        name=\"column_name\"\n"
+"        length=\"N\"\n"
+"        precision=\"N\"\n"
+"        scale=\"N\"\n"
+"        not-null=\"true|false\"\n"
+"        unique=\"true|false\"\n"
+"        unique-key=\"multicolumn_unique_key_name\"\n"
+"        index=\"index_name\"\n"
+"        sql-type=\"sql_type_name\"\n"
+"        check=\"SQL expression\"\n"
+"        default=\"SQL expression\"/>]]>"
+msgstr ""
 
-#: index.docbook:2354
+#. Tag: programlisting
+#: basic_mapping.xml:2354
+#, no-c-format
 msgid "<![CDATA[<formula>SQL expression</formula>]]>"
-msgstr "integer, long, short, float, double, character, byte, boolean, yes_no, true_false"
+msgstr ""
 
-#: index.docbook:2356
-msgid "<literal>column</literal> and <literal>formula</literal> attributes may even be combined within the same property or association mapping to express, for example, exotic join conditions."
-msgstr "Les mappings de type des primitives Java ou leurs classes wrappers (ex: Integer pour int) vers les types SQL (propriétaires) appropriés. <literal>boolean, yes_no</literal>et <literal>true_false</literal> sont tous des alternatives pour les types Java <literal>boolean</literal> ou <literal>java.lang.Boolean</literal>."
+#. Tag: para
+#: basic_mapping.xml:2356
+#, no-c-format
+msgid ""
+"<literal>column</literal> and <literal>formula</literal> attributes may even "
+"be combined within the same property or association mapping to express, for "
+"example, exotic join conditions."
+msgstr ""
+"Les attributs <literal>column</literal> et <literal>formula</literal> "
+"peuvent même être combinés au sein d'une même propriété ou mapping "
+"d'association pour exprimer, par exemple, des conditions de jointure "
+"exotiques."
 
-#: index.docbook:2362
+#. Tag: programlisting
+#: basic_mapping.xml:2362
+#, no-c-format
 msgid ""
-      "<![CDATA[<many-to-one name=\"homeAddress\" class=\"Address\"\n"
-      "        insert=\"false\" update=\"false\">\n"
-      "    <column name=\"person_id\" not-null=\"true\" length=\"10\"/>\n"
-      "    <formula>'MAILING'</formula>\n"
-      "</many-to-one>]]>"
-msgstr "string"
+"<![CDATA[<many-to-one name=\"homeAddress\" class=\"Address\"\n"
+"        insert=\"false\" update=\"false\">\n"
+"    <column name=\"person_id\" not-null=\"true\" length=\"10\"/>\n"
+"    <formula>'MAILING'</formula>\n"
+"</many-to-one>]]>"
+msgstr ""
 
-#: index.docbook:2367
+#. Tag: title
+#: basic_mapping.xml:2367
+#, no-c-format
 msgid "import"
-msgstr "Mapping de type de <literal>java.lang.String</literal> vers <literal>VARCHAR</literal> (ou le <literal>VARCHAR2</literal> Oracle)."
+msgstr "import"
 
-#: index.docbook:2369
-msgid "Suppose your application has two persistent classes with the same name, and you don't want to specify the fully qualified (package) name in Hibernate queries. Classes may be \"imported\" explicitly, rather than relying upon <literal>auto-import=\"true\"</literal>. You may even import classes and interfaces that are not explicitly mapped."
-msgstr "date, time, timestamp"
+#. Tag: para
+#: basic_mapping.xml:2369
+#, no-c-format
+msgid ""
+"Suppose your application has two persistent classes with the same name, and "
+"you don't want to specify the fully qualified (package) name in Hibernate "
+"queries. Classes may be \"imported\" explicitly, rather than relying upon "
+"<literal>auto-import=\"true\"</literal>. You may even import classes and "
+"interfaces that are not explicitly mapped."
+msgstr ""
+"Supposez que votre application possède deux classes persistantes du même "
+"nom, et vous ne voulez pas préciser le nom Java complet (packages inclus) "
+"dans les queries Hibernate. Les classes peuvent alors être \"importées\" "
+"explicitement plutôt que de compter sur <literal>auto-import=\"true\"</"
+"literal>.Vous pouvez même importer des classes et interfaces qui ne sont pas "
+"mappées explicitement."
 
-#: index.docbook:2376
+#. Tag: programlisting
+#: basic_mapping.xml:2376
+#, no-c-format
 msgid "<![CDATA[<import class=\"java.lang.Object\" rename=\"Universe\"/>]]>"
-msgstr "Mappings de type pour <literal>java.util.Date</literal> et ses sous-classes vers les types SQL <literal>DATE</literal>, <literal>TIME</literal> et <literal>TIMESTAMP</literal> (ou équivalent)."
+msgstr ""
 
-#: index.docbook:2383
+#. Tag: programlisting
+#: basic_mapping.xml:2383
+#, no-c-format
 msgid ""
-      "<![CDATA[<import\n"
-      "        class=\"ClassName\"\n"
-      "        rename=\"ShortName\"\n"
-      "/>]]>"
-msgstr "calendar, calendar_date"
+"<![CDATA[<import\n"
+"        class=\"ClassName\"\n"
+"        rename=\"ShortName\"\n"
+"/>]]>"
+msgstr ""
 
-#: index.docbook:2386
-msgid "<literal>class</literal>: The fully qualified class name of of any Java class."
-msgstr "Mappings de type pour <literal>java.util.Calendar</literal> vers les types SQL <literal>TIMESTAMP</literal> et <literal>DATE</literal> (ou équivalent)."
+#. Tag: para
+#: basic_mapping.xml:2386
+#, no-c-format
+msgid ""
+"<literal>class</literal>: The fully qualified class name of of any Java "
+"class."
+msgstr "<literal>class</literal> : Nom Java complet de la classe."
 
-#: index.docbook:2391
-msgid "<literal>rename</literal> (optional - defaults to the unqualified class name): A name that may be used in the query language."
-msgstr "big_decimal, big_integer"
+#. Tag: para
+#: basic_mapping.xml:2391
+#, no-c-format
+msgid ""
+"<literal>rename</literal> (optional - defaults to the unqualified class "
+"name): A name that may be used in the query language."
+msgstr ""
+"<literal>rename</literal> (optionnel - par défaut vaut le nom de la classe "
+"Java (sans package)) : Nom pouvant être utilisé dans le langage de requête."
 
-#: index.docbook:2402
+#. Tag: title
+#: basic_mapping.xml:2402
+#, no-c-format
 msgid "<title>any</title>"
-msgstr "Mappings de type pour <literal>java.math.BigDecimal</literal> et <literal>java.math.BigInteger</literal> vers <literal>NUMERIC</literal> (ou le <literal>NUMBER</literal> Oracle)."
+msgstr ""
 
-#: index.docbook:2404
-msgid "There is one further type of property mapping. The <literal>&lt;any&gt;</literal> mapping element defines a polymorphic association to classes from multiple tables. This type of mapping always requires more than one column. The first column holds the type of the associated entity. The remaining columns hold the identifier. It is impossible to specify a foreign key constraint for this kind of association, so this is most certainly not meant as the usual way of mapping (polymorphic) associations. You should use this only in very special cases (eg. audit logs, user session data, etc)."
-msgstr "locale, timezone, currency"
+#. Tag: para
+#: basic_mapping.xml:2404
+#, no-c-format
+msgid ""
+"There is one further type of property mapping. The <literal>&lt;any&gt;</"
+"literal> mapping element defines a polymorphic association to classes from "
+"multiple tables. This type of mapping always requires more than one column. "
+"The first column holds the type of the associated entity. The remaining "
+"columns hold the identifier. It is impossible to specify a foreign key "
+"constraint for this kind of association, so this is most certainly not meant "
+"as the usual way of mapping (polymorphic) associations. You should use this "
+"only in very special cases (eg. audit logs, user session data, etc)."
+msgstr ""
+"Il existe encore un type de mapping de propriété. L'élément de mapping "
+"<literal>&lt;any&gt;</literal> définit une association polymorphique vers "
+"des classes de tables multiples. Ce type de mapping requiert toujours plus "
+"d'une colonne. La première colonne contient le type de l'entité associée. "
+"Les colonnes restantes contiennent l'identifiant. il est impossible de "
+"spécifier une contrainte de clef étrangère pour ce type d'association, donc "
+"ce n'est certainement pas considéré comme le moyen habituel de mapper des "
+"associations (polymorphiques). Vous devriez utiliser cela uniquement dans "
+"des cas particuliers (par exemple des logs d'audit, des données de session "
+"utilisateur, etc...)."
 
-#: index.docbook:2414
-msgid "The <literal>meta-type</literal> attribute lets the application specify a custom type that maps database column values to persistent classes which have identifier properties of the type specified by <literal>id-type</literal>. You must specify the mapping from values of the meta-type to class names."
-msgstr "Mappings de type pour <literal>java.util.Locale</literal>, <literal>java.util.TimeZone</literal> et <literal>java.util.Currency</literal> vers <literal>VARCHAR</literal> (ou le <literal>VARCHAR2</literal> Oracle). Les instances de <literal>Locale</literal> et <literal>Currency</literal> sont mappées sur leurs codes ISO. Les instances de <literal>TimeZone</literal> sont mappées sur leur <literal>ID</literal>."
+#. Tag: para
+#: basic_mapping.xml:2414
+#, no-c-format
+msgid ""
+"The <literal>meta-type</literal> attribute lets the application specify a "
+"custom type that maps database column values to persistent classes which "
+"have identifier properties of the type specified by <literal>id-type</"
+"literal>. You must specify the mapping from values of the meta-type to class "
+"names."
+msgstr ""
+"L'attribut <literal>meta-type</literal> permet à l'application de spécifier "
+"un type personnalisé qui mappe des valeurs de colonnes de le base de données "
+"sur des classes persistantes qui ont un attribut identifiant du type "
+"spécifié par <literal>id-type</literal>. Vous devez spécifier le mapping à "
+"partir de valeurs du méta-type sur les noms des classes."
 
-#: index.docbook:2421
+#. Tag: programlisting
+#: basic_mapping.xml:2421
+#, no-c-format
 msgid ""
-      "<![CDATA[<any name=\"being\" id-type=\"long\" meta-type=\"string\">\n"
-      "    <meta-value value=\"TBL_ANIMAL\" class=\"Animal\"/>\n"
-      "    <meta-value value=\"TBL_HUMAN\" class=\"Human\"/>\n"
-      "    <meta-value value=\"TBL_ALIEN\" class=\"Alien\"/>\n"
-      "    <column name=\"table_name\"/>\n"
-      "    <column name=\"id\"/>\n"
-      "</any>]]>"
-msgstr "<literal>class</literal>"
+"<![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 ""
 
-#: index.docbook:2432
+#. Tag: programlisting
+#: basic_mapping.xml:2432
+#, no-c-format
 msgid ""
-      "<![CDATA[<any\n"
-      "        name=\"propertyName\"\n"
-      "        id-type=\"idtypename\"\n"
-      "        meta-type=\"metatypename\"\n"
-      "        cascade=\"cascade_style\"\n"
-      "        access=\"field|property|ClassName\"\n"
-      "        optimistic-lock=\"true|false\"\n"
-      ">\n"
-      "        <meta-value ... />\n"
-      "        <meta-value ... />\n"
-      "        .....\n"
-      "        <column .... />\n"
-      "        <column .... />\n"
-      "        .....\n"
-      "</any>]]>"
-msgstr "Un type de mapping pour <literal>java.lang.Class</literal> vers <literal>VARCHAR</literal> (ou le <literal>VARCHAR2</literal> Oracle). Un objet <literal>Class</literal> est mappé sur son nom Java complet."
+"<![CDATA[<any\n"
+"        name=\"propertyName\"\n"
+"        id-type=\"idtypename\"\n"
+"        meta-type=\"metatypename\"\n"
+"        cascade=\"cascade_style\"\n"
+"        access=\"field|property|ClassName\"\n"
+"        optimistic-lock=\"true|false\"\n"
+">\n"
+"        <meta-value ... />\n"
+"        <meta-value ... />\n"
+"        .....\n"
+"        <column .... />\n"
+"        <column .... />\n"
+"        .....\n"
+"</any>]]>"
+msgstr ""
 
-#: index.docbook:2435
+#. Tag: para
+#: basic_mapping.xml:2435
+#, no-c-format
 msgid "<literal>name</literal>: the property name."
-msgstr "binary"
+msgstr "<literal>name</literal> : le nom de la propriété."
 
-#: index.docbook:2440
+#. Tag: para
+#: basic_mapping.xml:2440
+#, no-c-format
 msgid "<literal>id-type</literal>: the identifier type."
-msgstr "Mappe les tableaux de bytes vers le type binaire SQL approprié."
+msgstr "<literal>id-type</literal> : le type identifiant."
 
-#: index.docbook:2445
-msgid "<literal>meta-type</literal> (optional - defaults to <literal>string</literal>): Any type that is allowed for a discriminator mapping."
-msgstr "text"
+#. Tag: para
+#: basic_mapping.xml:2445
+#, no-c-format
+msgid ""
+"<literal>meta-type</literal> (optional - defaults to <literal>string</"
+"literal>): Any type that is allowed for a discriminator mapping."
+msgstr ""
+"<literal>meta-type</literal> (optionnel - par défaut à <literal>string</"
+"literal>) : Tout type permis pour un mapping par discriminateur."
 
-#: index.docbook:2451
-msgid "<literal>cascade</literal> (optional- defaults to <literal>none</literal>): the cascade style."
-msgstr "Mappe les longues chaînes de caractères Java vers les types SQL <literal>CLOB</literal> ou <literal>TEXT</literal>."
+#. Tag: para
+#: basic_mapping.xml:2451
+#, no-c-format
+msgid ""
+"<literal>cascade</literal> (optional- defaults to <literal>none</literal>): "
+"the cascade style."
+msgstr ""
+"<literal>cascade</literal> (optionnel - par défaut à <literal>none</"
+"literal>) : le style de cascade."
 
-#: index.docbook:2463
-msgid "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</literal>): Specifies that updates to this property do or do not require acquisition of the optimistic lock. In other words, define if a version increment should occur if this property is dirty."
-msgstr "Mappe les types Java sérialisables vers le type SQL binaire approprié. Vous pouvez aussi indiquer le type Hibernate <literal>serializable</literal> avec le nom d'une classe Java sérialisable ou une interface qui ne soit pas par défaut un type de base."
+#. Tag: para
+#: basic_mapping.xml:2463
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to this property do or do not require "
+"acquisition of the optimistic lock. In other words, define if a version "
+"increment should occur if this property is dirty."
+msgstr ""
+"<literal>optimistic-lock</literal> (optionnel - par défaut à <literal>true</"
+"literal>) : Indique que les mises à jour sur cette propriété nécessitent ou "
+"non l'acquisition d'un verrou optimiste. En d'autres termes, définit si un "
+"incrément de version doit avoir lieu quand cette propriété est marquée dirty."
 
-#: index.docbook:2478
+#. Tag: title
+#: basic_mapping.xml:2478
+#, no-c-format
 msgid "Hibernate Types"
-msgstr "clob, blob"
+msgstr "Hibernate Types"
 
-#: index.docbook:2481
+#. Tag: title
+#: basic_mapping.xml:2481
+#, no-c-format
 msgid "Entities and values"
-msgstr "Mappings de type pour les classes JDBC <literal>java.sql.Clob</literal> and <literal>java.sql.Blob</literal>. Ces types peuvent ne pas convenir pour certaines applications car un objet blob ou clob peut ne pas être réutilisable en dehors d'une transaction (de plus l'implémentation par les pilotes est moyennement bonne)."
+msgstr "Entités et valeurs"
 
-#: index.docbook:2483
-msgid "To understand the behaviour of various Java language-level objects with respect to the persistence service, we need to classify them into two groups:"
-msgstr "imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, imm_serializable, imm_binary"
+#. Tag: para
+#: basic_mapping.xml:2483
+#, no-c-format
+msgid ""
+"To understand the behaviour of various Java language-level objects with "
+"respect to the persistence service, we need to classify them into two groups:"
+msgstr ""
+"Pour comprendre le comportement des différents objets Java par rapport au "
+"service de persistance, nous avons besoin de les classer en deux groupes :"
 
-#: index.docbook:2488
-msgid "An <emphasis>entity</emphasis> exists independently of any other objects holding references to the entity. Contrast this with the usual Java model where an unreferenced object is garbage collected. Entities must be explicitly saved and deleted (except that saves and deletions may be <emphasis>cascaded</emphasis> from a parent entity to its children). This is different from the ODMG model of object persistence by reachablity - and corresponds more closely to how application objects are usually used in large systems. Entities support circular and shared references. They may also be versioned."
-msgstr "Mappings de type pour ceux qui sont habituellement modifiable, pour lesquels Hibernate effectue certains optimisations convenant seulement aux types Java immuables, et l'application les traite comme immuable. Par exemple, vous ne devriez pas appeler <literal>Date.setTime()</literal> sur une instance mappée sur un <literal>imm_timestamp</literal>. Pour changer la valeur de la propriété, et faire que cette modification soit persistée, l'application doit assigner un nouvel (non identique) objet à la propriété."
+#. Tag: para
+#: basic_mapping.xml:2488
+#, no-c-format
+msgid ""
+"An <emphasis>entity</emphasis> exists independently of any other objects "
+"holding references to the entity. Contrast this with the usual Java model "
+"where an unreferenced object is garbage collected. Entities must be "
+"explicitly saved and deleted (except that saves and deletions may be "
+"<emphasis>cascaded</emphasis> from a parent entity to its children). This is "
+"different from the ODMG model of object persistence by reachablity - and "
+"corresponds more closely to how application objects are usually used in "
+"large systems. Entities support circular and shared references. They may "
+"also be versioned."
+msgstr ""
+"Une <emphasis>entité</emphasis> existe indépendamment de tout autre objet "
+"possédant une référence vers l'entité. Comparez cela avec le modèle Java "
+"habituel où un objet est supprimé par le garbage collector dès qu'il n'est "
+"plus référencé. Les entités doivent être explicitement enregistrées et "
+"supprimées (sauf dans les cas où sauvegardes et suppressions sont "
+"<emphasis>cascadées</emphasis> d'une entité mère vers ses enfants). C'est "
+"différent du modèle ODMG de persistance par atteignabilité - et correspond "
+"mieux à la façon dont les objets sont habituellement utilisés dans des "
+"grands systèmes. Les entités permettent les références circulaires et "
+"partagées. Elles peuvent aussi être versionnées."
 
-#: index.docbook:2499
-msgid "An entity's persistent state consists of references to other entities and instances of <emphasis>value</emphasis> types. Values are primitives, collections (not what's inside a collection), components and certain immutable objects. Unlike entities, values (in particular collections and components) <emphasis>are</emphasis> persisted and deleted by reachability. Since value objects (and primitives) are persisted and deleted along with their containing entity they may not be independently versioned. Values have no independent identity, so they cannot be shared by two entities or collections."
-msgstr "Les identifiants uniques des entités et collections peuvent être de n'importe quel type de base excepté <literal>binary</literal>, <literal>blob</literal> et <literal>clob</literal> (les identifiants composites sont aussi permis, voir plus bas)."
+#. Tag: para
+#: basic_mapping.xml:2499
+#, no-c-format
+msgid ""
+"An entity's persistent state consists of references to other entities and "
+"instances of <emphasis>value</emphasis> types. Values are primitives, "
+"collections (not what's inside a collection), components and certain "
+"immutable objects. Unlike entities, values (in particular collections and "
+"components) <emphasis>are</emphasis> persisted and deleted by reachability. "
+"Since value objects (and primitives) are persisted and deleted along with "
+"their containing entity they may not be independently versioned. Values have "
+"no independent identity, so they cannot be shared by two entities or "
+"collections."
+msgstr ""
+"L'état persistant d'une entité consiste en des références vers d'autres "
+"entités et instances de types <emphasis>valeurs</emphasis>. Ces valeurs sont "
+"des types primitifs, des collections (et non le contenu d'une collection), "
+"des composants de certains objets immuables. Contrairement aux entités, les "
+"valeurs (et en particulier les collections et composants) <emphasis>sont</"
+"emphasis> persistés par atteignabiliité. Comme les valeurs (et types "
+"primitifs) sont persistés et supprimés avec l'entité qui les contient, ils "
+"ne peuvent pas posséder leurs propres versions. Les valeurs n'ont pas "
+"d'identité indépendantes, ainsi elles ne peuvent pas être partagées par deux "
+"entités ou collections."
 
-#: index.docbook:2510
-msgid "Up until now, we've been using the term \"persistent class\" to refer to entities. We will continue to do that. Strictly speaking, however, not all user-defined classes with persistent state are entities. A <emphasis>component</emphasis> is a user defined class with value semantics. A Java property of type <literal>java.lang.String</literal> also has value semantics. Given this definition, we can say that all types (classes) provided by the JDK have value type semantics in Java, while user-defined types may be mapped with entity or value type semantics. This decision is up to the application developer. A good hint for an entity class in a domain model are shared references to a single instance of that class, while composition or aggregation usually translates to a value type."
-msgstr "Les types de base des valeurs ont des <literal>Type</literal> constants correspondants définis dans <literal>org.hibernate.Hibernate</literal>. Par exemple, <literal>Hibernate.STRING</literal> représenté le type <literal>string</literal>."
+#. Tag: para
+#: basic_mapping.xml:2510
+#, no-c-format
+msgid ""
+"Up until now, we've been using the term \"persistent class\" to refer to "
+"entities. We will continue to do that. Strictly speaking, however, not all "
+"user-defined classes with persistent state are entities. A "
+"<emphasis>component</emphasis> is a user defined class with value semantics. "
+"A Java property of type <literal>java.lang.String</literal> also has value "
+"semantics. Given this definition, we can say that all types (classes) "
+"provided by the JDK have value type semantics in Java, while user-defined "
+"types may be mapped with entity or value type semantics. This decision is up "
+"to the application developer. A good hint for an entity class in a domain "
+"model are shared references to a single instance of that class, while "
+"composition or aggregation usually translates to a value type."
+msgstr ""
+"Jusqu'à présent nous avons utilisé le terme \"classe persistante\" pour "
+"parler d'entités. Nous allons continuer à faire ainsi. Cependant, au sens "
+"strict, toutes les classes définies par un utilisateur possédant un état "
+"persistant ne sont pas des entités. Un <emphasis>composant</emphasis> est "
+"une classe définie par un utilisateur avec les caractéristiques d'une "
+"valeur. Une propriété Java de type <literal>java.lang.String</literal> a "
+"aussi les caractéristiques d'une valeur. Given this definition, we can say "
+"that all types (classes) provided by the JDK have value type semantics in "
+"Java, while user-defined types may be mapped with entity or value type "
+"semantics. This decision is up to the application developer. A good hint for "
+"an entity class in a domain model are shared references to a single instance "
+"of that class, while composition or aggregation usually translates to a "
+"value type."
 
-#: index.docbook:2524
+#. Tag: para
+#: basic_mapping.xml:2524
+#, no-c-format
 msgid "We'll revisit both concepts throughout the documentation."
-msgstr "Types de valeur définis par l'utilisateur"
+msgstr ""
+"Nous nous pencherons sur ces deux concepts tout au long de la documentation."
 
-#: index.docbook:2528
-msgid "The challenge is to map the Java type system (and the developers' definition of entities and value types) to the SQL/database type system. The bridge between both systems is provided by Hibernate: for entities we use <literal>&lt;class&gt;</literal>, <literal>&lt;subclass&gt;</literal> and so on. For value types we use <literal>&lt;property&gt;</literal>, <literal>&lt;component&gt;</literal>, etc, usually with a <literal>type</literal> attribute. The value of this attribute is the name of a Hibernate <emphasis>mapping type</emphasis>. Hibernate provides many mappings (for standard JDK value types) out of the box. You can write your own mapping types and implement your custom conversion strategies as well, as you'll see later."
-msgstr "Il est assez facile pour les développeurs de créer leurs propres types de valeurs. Par exemple, vous pourriez vouloir persister des propriétés du type <literal>java.lang.BigInteger</literal> dans des colonnnes <literal>VARCHAR</literal>. Hibernate ne procure pas par défaut un type pour cela. Mais les types que vous pouvez créer ne se limitent pas à mapper des propriétés (ou élément collection) à une simple colonne d'une table. Donc, par exemple, vous pourriez avoir une propriété Java <literal>getName()</literal>/<literal>setName()</literal> de type <literal>java.lang.String</literal> persistée dans les colonnes <literal>FIRST_NAME</literal>, <literal>INITIAL</literal>, <literal>SURNAME</literal>."
+#. Tag: para
+#: basic_mapping.xml:2528
+#, no-c-format
+msgid ""
+"The challenge is to map the Java type system (and the developers' definition "
+"of entities and value types) to the SQL/database type system. The bridge "
+"between both systems is provided by Hibernate: for entities we use "
+"<literal>&lt;class&gt;</literal>, <literal>&lt;subclass&gt;</literal> and so "
+"on. For value types we use <literal>&lt;property&gt;</literal>, <literal>&lt;"
+"component&gt;</literal>, etc, usually with a <literal>type</literal> "
+"attribute. The value of this attribute is the name of a Hibernate "
+"<emphasis>mapping type</emphasis>. Hibernate provides many mappings (for "
+"standard JDK value types) out of the box. You can write your own mapping "
+"types and implement your custom conversion strategies as well, as you'll see "
+"later."
+msgstr ""
+"Le défi est de mapper les type Javas (et la définition des développeurs des "
+"entités et valeurs types) sur les types du SQL ou des bases de données. Le "
+"pont entre les deux systèmes est proposé par Hibernate : pour les entités "
+"nous utilisons <literal>&lt;class&gt;</literal>, <literal>&lt;subclass&gt;</"
+"literal> et ainsi de suite. Pour les types valeurs nous utilisons "
+"<literal>&lt;property&gt;</literal>, <literal>&lt;component&gt;</literal>, "
+"etc., habituellement avec un attribut <literal>type</literal>. La valeur de "
+"cet attribut est le nom d'un <emphasis>type de mapping</emphasis> Hibernate. "
+"Hibernate propose de base de nombreux mappings (pour les types de valeurs "
+"standards du JDK). Vous pouvez écrire vos propres types de mappings et "
+"implémenter aussi vos propres stratégies de conversion, nous le verrons plus "
+"tard."
 
-#: index.docbook:2541
+#. Tag: para
+#: basic_mapping.xml:2541
+#, no-c-format
 msgid "All built-in Hibernate types except collections support null semantics."
-msgstr "Pour implémenter votre propre type, vous pouvez soit implémenter <literal>org.hibernate.UserType</literal> soit <literal>org.hibernate.CompositeUserType</literal> et déclarer des propriétés utilisant des noms de classes complets du type. Regardez <literal>org.hibernate.test.DoubleStringType</literal> pour voir ce qu'il est possible de faire."
+msgstr ""
+"Tous les types proposés de base par Hibernate à part les collections "
+"autorisent la valeur null."
 
-#: index.docbook:2548
+#. Tag: title
+#: basic_mapping.xml:2548
+#, no-c-format
 msgid "Basic value types"
+msgstr "Basic value types"
+
+#. Tag: para
+#: basic_mapping.xml:2550
+#, fuzzy, no-c-format
+msgid ""
+"The built-in <emphasis>basic mapping types</emphasis> may be roughly "
+"categorized into"
 msgstr ""
-      "<![CDATA[<property name=\"twoStrings\" type=\"org.hibernate.test.DoubleStringType\">\n"
-      "    <column name=\"first_string\"/>\n"
-      "    <column name=\"second_string\"/>\n"
-      "</property>]]>"
+"Les <emphasis>types basiques de mapping</emphasis> proposés de base peuvent "
+"grossièrement être rangés dans les catégories suivantes : <placeholder-1/>"
 
-#: index.docbook:2550
-msgid "The built-in <emphasis>basic mapping types</emphasis> may be roughly categorized into"
-msgstr "Remarquez l'utilisation des tags <literal>&lt;column&gt;</literal> pour mapper une propriété sur des colonnes multiples."
+#. Tag: literal
+#: basic_mapping.xml:2555
+#, no-c-format
+msgid ""
+"integer, long, short, float, double, character, byte, boolean, yes_no, "
+"true_false"
+msgstr ""
+"integer, long, short, float, double, character, byte, boolean, yes_no, "
+"true_false"
 
-#: index.docbook:2555
-msgid "integer, long, short, float, double, character, byte, boolean, yes_no, true_false"
-msgstr "Les interfaces <literal>CompositeUserType</literal>, <literal>EnhancedUserType</literal>, <literal>UserCollectionType</literal>, et <literal>UserVersionType</literal> permettent des utilisations plus spécialisées."
+#. Tag: para
+#: basic_mapping.xml:2558
+#, no-c-format
+msgid ""
+"Type mappings from Java primitives or wrapper classes to appropriate (vendor-"
+"specific) SQL column types. <literal>boolean, yes_no</literal> and "
+"<literal>true_false</literal> are all alternative encodings for a Java "
+"<literal>boolean</literal> or <literal>java.lang.Boolean</literal>."
+msgstr ""
+"Les mappings de type des primitives Java ou leurs classes wrappers (ex: "
+"Integer pour int) vers les types SQL (propriétaires) appropriés. "
+"<literal>boolean, yes_no</literal>et <literal>true_false</literal> sont tous "
+"des alternatives pour les types Java <literal>boolean</literal> ou "
+"<literal>java.lang.Boolean</literal>."
 
-#: index.docbook:2558
-msgid "Type mappings from Java primitives or wrapper classes to appropriate (vendor-specific) SQL column types. <literal>boolean, yes_no</literal> and <literal>true_false</literal> are all alternative encodings for a Java <literal>boolean</literal> or <literal>java.lang.Boolean</literal>."
-msgstr "Vous pouvez même donner des paramètres en indiquant <literal>UserType</literal> dans le fichier de mapping ; Pour cela, votre <literal>UserType</literal> doit implémenter l'interface <literal>org.hibernate.usertype.ParameterizedType</literal>. Pour spécifier des paramètres dans votre type propre, vous pouvez utiliser l'élément <literal>&lt;type&gt;</literal> dans vos fichiers de mapping."
+#. Tag: literal
+#: basic_mapping.xml:2567
+#, no-c-format
+msgid "string"
+msgstr "string"
 
-#: index.docbook:2567
-msgid "string"
+#. Tag: para
+#: basic_mapping.xml:2569
+#, no-c-format
+msgid ""
+"A type mapping from <literal>java.lang.String</literal> to <literal>VARCHAR</"
+"literal> (or Oracle <literal>VARCHAR2</literal>)."
 msgstr ""
-      "<![CDATA[<property name=\"priority\">\n"
-      "    <type name=\"com.mycompany.usertypes.DefaultValueIntegerType\">\n"
-      "        <param name=\"default\">0</param>\n"
-      "    </type>\n"
-      "</property>]]>"
+"Mapping de type de <literal>java.lang.String</literal> vers "
+"<literal>VARCHAR</literal> (ou le <literal>VARCHAR2</literal> Oracle)."
 
-#: index.docbook:2569
-msgid "A type mapping from <literal>java.lang.String</literal> to <literal>VARCHAR</literal> (or Oracle <literal>VARCHAR2</literal>)."
-msgstr "Le <literal>UserType</literal> permet maintenant de récupérer la valeur pour le paramètre nommé <literal>default</literal> à partir de l'objet <literal>Properties</literal> qui lui est passé."
-
-#: index.docbook:2576
+#. Tag: literal
+#: basic_mapping.xml:2576
+#, no-c-format
 msgid "date, time, timestamp"
-msgstr "Si vous utilisez fréquemment un <literal>UserType</literal>, cela peut être utile de lui définir un nom plus court. Vous pouvez faire cela en utilisant l'élément <literal>&lt;typedef&gt;</literal>. Les typedefs permettent d'assigner un nom à votre type propre et peuvent aussi contenir une liste de valeurs de paramètres par défaut si ce type est paramétré."
+msgstr "date, time, timestamp"
 
-#: index.docbook:2578
-msgid "Type mappings from <literal>java.util.Date</literal> and its subclasses to SQL types <literal>DATE</literal>, <literal>TIME</literal> and <literal>TIMESTAMP</literal> (or equivalent)."
+#. Tag: para
+#: basic_mapping.xml:2578
+#, no-c-format
+msgid ""
+"Type mappings from <literal>java.util.Date</literal> and its subclasses to "
+"SQL types <literal>DATE</literal>, <literal>TIME</literal> and "
+"<literal>TIMESTAMP</literal> (or equivalent)."
 msgstr ""
-      "<![CDATA[<typedef class=\"com.mycompany.usertypes.DefaultValueIntegerType\" name=\"default_zero\">\n"
-      "    <param name=\"default\">0</param>\n"
-      "</typedef>]]>"
+"Mappings de type pour <literal>java.util.Date</literal> et ses sous-classes "
+"vers les types SQL <literal>DATE</literal>, <literal>TIME</literal> et "
+"<literal>TIMESTAMP</literal> (ou équivalent)."
 
-#: index.docbook:2586
+#. Tag: literal
+#: basic_mapping.xml:2586
+#, no-c-format
 msgid "calendar, calendar_date"
-msgstr "<![CDATA[<property name=\"priority\" type=\"default_zero\"/>]]>"
+msgstr "calendar, calendar_date"
 
-#: index.docbook:2588
-msgid "Type mappings from <literal>java.util.Calendar</literal> to SQL types <literal>TIMESTAMP</literal> and <literal>DATE</literal> (or equivalent)."
-msgstr "Il est aussi possible de redéfinir les paramètres par défaut du typedef au cas par cas en utilisant des paramètres type sur le mapping de la propriété."
+#. Tag: para
+#: basic_mapping.xml:2588
+#, no-c-format
+msgid ""
+"Type mappings from <literal>java.util.Calendar</literal> to SQL types "
+"<literal>TIMESTAMP</literal> and <literal>DATE</literal> (or equivalent)."
+msgstr ""
+"Mappings de type pour <literal>java.util.Calendar</literal> vers les types "
+"SQL <literal>TIMESTAMP</literal> et <literal>DATE</literal> (ou équivalent)."
 
-#: index.docbook:2596
+#. Tag: literal
+#: basic_mapping.xml:2596
+#, no-c-format
 msgid "big_decimal, big_integer"
-msgstr "Bien que le fait que Hibernate propose de base une riche variété de types, et qu'il supporte les composants signifie que vous aurez très rarement <emphasis>besoin</emphasis> d'utiliser un nouveau type propre, il est néanmoins de bonne pratique d'utiliser des types propres pour les classes (non entités) qui apparaissent fréquemment dans votre application. Par exemple une classe <literal>MonetaryAmount</literal> est un bon candidat pour un <literal>CompositeUserType</literal> même s'il pourrait facilement être mappé comme un composant. Une motivation pour cela est l'abstraction. Avec un type propre vos documents de mapping sont à l'abri des changements futurs dans votre façon de représenter des valeurs monétaires."
+msgstr "big_decimal, big_integer"
 
-#: index.docbook:2598
-msgid "Type mappings from <literal>java.math.BigDecimal</literal> and <literal>java.math.BigInteger</literal> to <literal>NUMERIC</literal> (or Oracle <literal>NUMBER</literal>)."
-msgstr "Mapper une classe plus d'une fois"
+#. Tag: para
+#: basic_mapping.xml:2598
+#, no-c-format
+msgid ""
+"Type mappings from <literal>java.math.BigDecimal</literal> and <literal>java."
+"math.BigInteger</literal> to <literal>NUMERIC</literal> (or Oracle "
+"<literal>NUMBER</literal>)."
+msgstr ""
+"Mappings de type pour <literal>java.math.BigDecimal</literal> et "
+"<literal>java.math.BigInteger</literal> vers <literal>NUMERIC</literal> (ou "
+"le <literal>NUMBER</literal> Oracle)."
 
-#: index.docbook:2606
+#. Tag: literal
+#: basic_mapping.xml:2606
+#, no-c-format
 msgid "locale, timezone, currency"
-msgstr "Il est possible de proposer plus d'un mapping par classe persistante. Dans ce cas, vous devez spécifier un <emphasis>nom d'entité</emphasis> pour lever l'ambiguité entre les instances des entités mappées (par défaut, le nom de l'entité est celui de la classe). Hibernate vous permet de spécifier le nom de l'entité lorsque vous utilisez des objets persistants, lorsque vous écrivez des requêtes ou quand vous mappez des associations vers les entités nommées."
+msgstr "locale, timezone, currency"
 
-#: index.docbook:2608
-msgid "Type mappings from <literal>java.util.Locale</literal>, <literal>java.util.TimeZone</literal> and <literal>java.util.Currency</literal> to <literal>VARCHAR</literal> (or Oracle <literal>VARCHAR2</literal>). Instances of <literal>Locale</literal> and <literal>Currency</literal> are mapped to their ISO codes. Instances of <literal>TimeZone</literal> are mapped to their <literal>ID</literal>."
+#. Tag: para
+#: basic_mapping.xml:2608
+#, no-c-format
+msgid ""
+"Type mappings from <literal>java.util.Locale</literal>, <literal>java.util."
+"TimeZone</literal> and <literal>java.util.Currency</literal> to "
+"<literal>VARCHAR</literal> (or Oracle <literal>VARCHAR2</literal>). "
+"Instances of <literal>Locale</literal> and <literal>Currency</literal> are "
+"mapped to their ISO codes. Instances of <literal>TimeZone</literal> are "
+"mapped to their <literal>ID</literal>."
 msgstr ""
-      "<![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>]]>"
+"Mappings de type pour <literal>java.util.Locale</literal>, <literal>java."
+"util.TimeZone</literal> et <literal>java.util.Currency</literal> vers "
+"<literal>VARCHAR</literal> (ou le <literal>VARCHAR2</literal> Oracle). Les "
+"instances de <literal>Locale</literal> et <literal>Currency</literal> sont "
+"mappées sur leurs codes ISO. Les instances de <literal>TimeZone</literal> "
+"sont mappées sur leur <literal>ID</literal>."
 
-#: index.docbook:2620
+#. Tag: literal
+#: basic_mapping.xml:2620
+#, fuzzy, no-c-format
 msgid "<literal>class</literal>"
-msgstr "Remarquez comment les associations sont désormais spécifiées en utilisant <literal>entity-name</literal> au lieu de <literal>class</literal>."
+msgstr "<literal>all</literal> vérifie toutes les colonnes"
 
-#: index.docbook:2622
-msgid "A type mapping from <literal>java.lang.Class</literal> to <literal>VARCHAR</literal> (or Oracle <literal>VARCHAR2</literal>). A <literal>Class</literal> is mapped to its fully qualified name."
-msgstr "SQL quoted identifiers"
+#. Tag: para
+#: basic_mapping.xml:2622
+#, no-c-format
+msgid ""
+"A type mapping from <literal>java.lang.Class</literal> to <literal>VARCHAR</"
+"literal> (or Oracle <literal>VARCHAR2</literal>). A <literal>Class</literal> "
+"is mapped to its fully qualified name."
+msgstr ""
+"Un type de mapping pour <literal>java.lang.Class</literal> vers "
+"<literal>VARCHAR</literal> (ou le <literal>VARCHAR2</literal> Oracle). Un "
+"objet <literal>Class</literal> est mappé sur son nom Java complet."
 
-#: index.docbook:2630
+#. Tag: literal
+#: basic_mapping.xml:2630
+#, no-c-format
 msgid "binary"
-msgstr "Vous pouvez forcer Hibernate à mettre un identifiant entre quotes dans le SQL généré en mettant le nom de la table ou de la colonne entre backticks dans le document de mapping. Hibernate utilisera les bons styles de quotes pour le <literal>Dialect</literal> SQL (habituellement des doubles quotes, mais des parenthèses pour SQL server et des backticks pour MySQL)."
+msgstr "binary"
 
-#: index.docbook:2632
+#. Tag: para
+#: basic_mapping.xml:2632
+#, no-c-format
 msgid "Maps byte arrays to an appropriate SQL binary type."
-msgstr ""
-      "<![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 "Mappe les tableaux de bytes vers le type binaire SQL approprié."
 
-#: index.docbook:2638
+#. Tag: literal
+#: basic_mapping.xml:2638
+#, no-c-format
 msgid "text"
-msgstr "alternatives Metadata"
+msgstr "text"
 
-#: index.docbook:2640
-msgid "Maps long Java strings to a SQL <literal>CLOB</literal> or <literal>TEXT</literal> type."
-msgstr "XML ne convient pas à tout le monde, il y a donc des moyens alternatifs pour définir des metatda de mappings O/R dans Hibernate."
+#. Tag: para
+#: basic_mapping.xml:2640
+#, no-c-format
+msgid ""
+"Maps long Java strings to a SQL <literal>CLOB</literal> or <literal>TEXT</"
+"literal> type."
+msgstr ""
+"Mappe les longues chaînes de caractères Java vers les types SQL "
+"<literal>CLOB</literal> ou <literal>TEXT</literal>."
 
-#: index.docbook:2647
+#. Tag: literal
+#: basic_mapping.xml:2647
+#, no-c-format
 msgid "serializable"
-msgstr "utilisation de XDoclet"
+msgstr "serializable"
 
-#: index.docbook:2649
-msgid "Maps serializable Java types to an appropriate SQL binary type. You may also indicate the Hibernate type <literal>serializable</literal> with the name of a serializable Java class or interface that does not default to a basic type."
-msgstr "De nombreux utilisateurs de Hibernate préfèrent embarquer les informations de mappings directement au sein du code source en utilisant les tags XDoclet <literal>@hibernate.tags</literal>. Nous ne couvrons pas cette approche dans ce document cependant, puisque c'est considéré comme faisant partie de XDoclet. Cependant, nous présentons l'exemple suivant de la classe <literal>Cat</literal> avec des mappings XDoclet."
+#. Tag: para
+#: basic_mapping.xml:2649
+#, no-c-format
+msgid ""
+"Maps serializable Java types to an appropriate SQL binary type. You may also "
+"indicate the Hibernate type <literal>serializable</literal> with the name of "
+"a serializable Java class or interface that does not default to a basic type."
+msgstr ""
+"Mappe les types Java sérialisables vers le type SQL binaire approprié. Vous "
+"pouvez aussi indiquer le type Hibernate <literal>serializable</literal> avec "
+"le nom d'une classe Java sérialisable ou une interface qui ne soit pas par "
+"défaut un type de base."
 
-#: index.docbook:2658
+#. Tag: literal
+#: basic_mapping.xml:2658
+#, no-c-format
 msgid "clob, blob"
+msgstr "clob, blob"
+
+#. Tag: para
+#: basic_mapping.xml:2660
+#, no-c-format
+msgid ""
+"Type mappings for the JDBC classes <literal>java.sql.Clob</literal> and "
+"<literal>java.sql.Blob</literal>. These types may be inconvenient for some "
+"applications, since the blob or clob object may not be reused outside of a "
+"transaction. (Furthermore, driver support is patchy and inconsistent.)"
 msgstr ""
-      "<![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"
-      "}]]>"
+"Mappings de type pour les classes JDBC <literal>java.sql.Clob</literal> and "
+"<literal>java.sql.Blob</literal>. Ces types peuvent ne pas convenir pour "
+"certaines applications car un objet blob ou clob peut ne pas être "
+"réutilisable en dehors d'une transaction (de plus l'implémentation par les "
+"pilotes est moyennement bonne)."
 
-#: index.docbook:2660
-msgid "Type mappings for the JDBC classes <literal>java.sql.Clob</literal> and <literal>java.sql.Blob</literal>. These types may be inconvenient for some applications, since the blob or clob object may not be reused outside of a transaction. (Furthermore, driver support is patchy and inconsistent.)"
-msgstr "Voyez le site web de Hibernate pour plus d'exemples sur XDoclet et Hibernate."
+#. Tag: literal
+#: basic_mapping.xml:2670
+#, no-c-format
+msgid ""
+"imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, "
+"imm_serializable, imm_binary"
+msgstr ""
+"imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, "
+"imm_serializable, imm_binary"
 
-#: index.docbook:2670
-msgid "imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, imm_serializable, imm_binary"
-msgstr "Utilisation des annotations JDK 5.0"
+#. Tag: para
+#: basic_mapping.xml:2674
+#, no-c-format
+msgid ""
+"Type mappings for what are usually considered mutable Java types, where "
+"Hibernate makes certain optimizations appropriate only for immutable Java "
+"types, and the application treats the object as immutable. For example, you "
+"should not call <literal>Date.setTime()</literal> for an instance mapped as "
+"<literal>imm_timestamp</literal>. To change the value of the property, and "
+"have that change made persistent, the application must assign a new "
+"(nonidentical) object to the property."
+msgstr ""
+"Mappings de type pour ceux qui sont habituellement modifiable, pour lesquels "
+"Hibernate effectue certains optimisations convenant seulement aux types Java "
+"immuables, et l'application les traite comme immuable. Par exemple, vous ne "
+"devriez pas appeler <literal>Date.setTime()</literal> sur une instance "
+"mappée sur un <literal>imm_timestamp</literal>. Pour changer la valeur de la "
+"propriété, et faire que cette modification soit persistée, l'application "
+"doit assigner un nouvel (non identique) objet à la propriété."
 
-#: index.docbook:2674
-msgid "Type mappings for what are usually considered mutable Java types, where Hibernate makes certain optimizations appropriate only for immutable Java types, and the application treats the object as immutable. For example, you should not call <literal>Date.setTime()</literal> for an instance mapped as <literal>imm_timestamp</literal>. To change the value of the property, and have that change made persistent, the application must assign a new (nonidentical) object to the property."
-msgstr "Le JDK 5.0 introduit des annotations proches de celles de XDoclet au niveau java, qui sont type-safe et vérifiées à la compilation. Ce mécanisme est plus puissant que XDoclet et mieux supporté par les outils et IDE. IntelliJ IDEA, par exemple, supporte l'auto-complétion et le surlignement syntaxique des annotations JDK 5.0. La nouvelle révision des spécifications des EJB (JSR-220) utilise les annotations JDK 5.0 comme mécanisme primaire pour les meta-données des beans entités. Hibernate3 implémente l'<literal>EntityManager</literal> de la JSR-220 (API de persistance), le support du mapping de meta-données est disponible via le package <emphasis>Hibernate Annotations</emphasis>, en tant que module séparé à télécharger. EJB3 (JSR-220) et les métadata Hibernate3 sont supportés."
+#. Tag: para
+#: basic_mapping.xml:2689
+#, no-c-format
+msgid ""
+"Unique identifiers of entities and collections may be of any basic type "
+"except <literal>binary</literal>, <literal>blob</literal> and <literal>clob</"
+"literal>. (Composite identifiers are also allowed, see below.)"
+msgstr ""
+"Les identifiants uniques des entités et collections peuvent être de "
+"n'importe quel type de base excepté <literal>binary</literal>, "
+"<literal>blob</literal> et <literal>clob</literal> (les identifiants "
+"composites sont aussi permis, voir plus bas)."
 
-#: index.docbook:2689
-msgid "Unique identifiers of entities and collections may be of any basic type except <literal>binary</literal>, <literal>blob</literal> and <literal>clob</literal>. (Composite identifiers are also allowed, see below.)"
-msgstr "Ceci est un exemple d'une classe POJO annotée comme un EJB entité :"
-
-#: index.docbook:2695
-msgid "The basic value types have corresponding <literal>Type</literal> constants defined on <literal>org.hibernate.Hibernate</literal>. For example, <literal>Hibernate.STRING</literal> represents the <literal>string</literal> type."
+#. Tag: para
+#: basic_mapping.xml:2695
+#, no-c-format
+msgid ""
+"The basic value types have corresponding <literal>Type</literal> constants "
+"defined on <literal>org.hibernate.Hibernate</literal>. For example, "
+"<literal>Hibernate.STRING</literal> represents the <literal>string</literal> "
+"type."
 msgstr ""
-      "<![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"
-      "}]]>"
+"Les types de base des valeurs ont des <literal>Type</literal> constants "
+"correspondants définis dans <literal>org.hibernate.Hibernate</literal>. Par "
+"exemple, <literal>Hibernate.STRING</literal> représenté le type "
+"<literal>string</literal>."
 
-#: index.docbook:2704
+#. Tag: title
+#: basic_mapping.xml:2704
+#, no-c-format
 msgid "Custom value types"
-msgstr "Notez que le support des annotations JDK 5.0 (et de la JSR-220) est encore en cours et n'est pas terminé. Référez vous au module Hibernate Annotation pour plus de détails."
+msgstr "Types de valeur définis par l'utilisateur"
 
-#: index.docbook:2706
-msgid "It is relatively easy for developers to create their own value types. For example, you might want to persist properties of type <literal>java.lang.BigInteger</literal> to <literal>VARCHAR</literal> columns. Hibernate does not provide a built-in type for this. But custom types are not limited to mapping a property (or collection element) to a single table column. So, for example, you might have a Java property <literal>getName()</literal>/<literal>setName()</literal> of type <literal>java.lang.String</literal> that is persisted to the columns <literal>FIRST_NAME</literal>, <literal>INITIAL</literal>, <literal>SURNAME</literal>."
-msgstr "Propriétés générées"
+#. Tag: para
+#: basic_mapping.xml:2706
+#, no-c-format
+msgid ""
+"It is relatively easy for developers to create their own value types. For "
+"example, you might want to persist properties of type <literal>java.lang."
+"BigInteger</literal> to <literal>VARCHAR</literal> columns. Hibernate does "
+"not provide a built-in type for this. But custom types are not limited to "
+"mapping a property (or collection element) to a single table column. So, for "
+"example, you might have a Java property <literal>getName()</literal>/"
+"<literal>setName()</literal> of type <literal>java.lang.String</literal> "
+"that is persisted to the columns <literal>FIRST_NAME</literal>, "
+"<literal>INITIAL</literal>, <literal>SURNAME</literal>."
+msgstr ""
+"Il est assez facile pour les développeurs de créer leurs propres types de "
+"valeurs. Par exemple, vous pourriez vouloir persister des propriétés du type "
+"<literal>java.lang.BigInteger</literal> dans des colonnnes <literal>VARCHAR</"
+"literal>. Hibernate ne procure pas par défaut un type pour cela. Mais les "
+"types que vous pouvez créer ne se limitent pas à mapper des propriétés (ou "
+"élément collection) à une simple colonne d'une table. Donc, par exemple, "
+"vous pourriez avoir une propriété Java <literal>getName()</literal>/"
+"<literal>setName()</literal> de type <literal>java.lang.String</literal> "
+"persistée dans les colonnes <literal>FIRST_NAME</literal>, <literal>INITIAL</"
+"literal>, <literal>SURNAME</literal>."
 
-#: index.docbook:2717
-msgid "To implement a custom type, implement either <literal>org.hibernate.UserType</literal> or <literal>org.hibernate.CompositeUserType</literal> and declare properties using the fully qualified classname of the type. Check out <literal>org.hibernate.test.DoubleStringType</literal> to see the kind of things that are possible."
-msgstr "Les propriétés générées sont des propriétés dont les valeurs sont générées par la base de données. Typiquement, les applications Hibernate avaient besoin d'invoquer <literal>refresh</literal> sur les instances qui contenaient des propriétés pour lesquelles la base de données générait des valeurs. Marquer les propriétés comme générées permet à l'application de déléguer cette responsabilité à Hibernate. Principalement, à chaque fois qu'Hibernate réalise une insertion ou une mise à jour en base de données pour une entité marquée comme telle, cela provoque immédiatement un select pour récupérer les valeurs générées."
+#. Tag: para
+#: basic_mapping.xml:2717
+#, no-c-format
+msgid ""
+"To implement a custom type, implement either <literal>org.hibernate."
+"UserType</literal> or <literal>org.hibernate.CompositeUserType</literal> and "
+"declare properties using the fully qualified classname of the type. Check "
+"out <literal>org.hibernate.test.DoubleStringType</literal> to see the kind "
+"of things that are possible."
+msgstr ""
+"Pour implémenter votre propre type, vous pouvez soit implémenter "
+"<literal>org.hibernate.UserType</literal> soit <literal>org.hibernate."
+"CompositeUserType</literal> et déclarer des propriétés utilisant des noms de "
+"classes complets du type. Regardez <literal>org.hibernate.test."
+"DoubleStringType</literal> pour voir ce qu'il est possible de faire."
 
-#: index.docbook:2725
+#. Tag: programlisting
+#: basic_mapping.xml:2725
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"twoStrings\" type=\"org.hibernate.test.DoubleStringType\">\n"
-      "    <column name=\"first_string\"/>\n"
-      "    <column name=\"second_string\"/>\n"
-      "</property>]]>"
-msgstr "Les propriétés marquées comme générées doivent de plus ne pas être insérables et modifiables Seuls <xref linkend=\"mapping-declaration-version\"/>versions, <xref linkend=\"mapping-declaration-timestamp\"/>timestamps, et <xref linkend=\"mapping-declaration-property\"/>simple properties peuvent être marqués comme générées."
+"<![CDATA[<property name=\"twoStrings\" type=\"org.hibernate.test."
+"DoubleStringType\">\n"
+"    <column name=\"first_string\"/>\n"
+"    <column name=\"second_string\"/>\n"
+"</property>]]>"
+msgstr ""
 
-#: index.docbook:2727
-msgid "Notice the use of <literal>&lt;column&gt;</literal> tags to map a property to multiple columns."
-msgstr "<literal>never</literal> (par défaut) - indique la valeur de la propriété n'est pas générée dans la base de données."
+#. Tag: para
+#: basic_mapping.xml:2727
+#, no-c-format
+msgid ""
+"Notice the use of <literal>&lt;column&gt;</literal> tags to map a property "
+"to multiple columns."
+msgstr ""
+"Remarquez l'utilisation des tags <literal>&lt;column&gt;</literal> pour "
+"mapper une propriété sur des colonnes multiples."
 
-#: index.docbook:2732
-msgid "The <literal>CompositeUserType</literal>, <literal>EnhancedUserType</literal>, <literal>UserCollectionType</literal>, and <literal>UserVersionType</literal> interfaces provide support for more specialized uses."
-msgstr "<literal>insert</literal> - indique que la valeur de la propriété donnée est générée à l'insertion mais pas lors des futures mises à jour de l'enregistrement. Les colonnes de type \"date de création\" sont le cas d'utilisation typique de cette option. Notez que même les propriétés <xref linkend=\"mapping-declaration-version\"/>version et <xref linkend=\"mapping-declaration-timestamp\"/>timestamp peuvent être déclarées comme générées, cette option n'est pas disponible à cet endroit..."
+#. Tag: para
+#: basic_mapping.xml:2732
+#, no-c-format
+msgid ""
+"The <literal>CompositeUserType</literal>, <literal>EnhancedUserType</"
+"literal>, <literal>UserCollectionType</literal>, and "
+"<literal>UserVersionType</literal> interfaces provide support for more "
+"specialized uses."
+msgstr ""
+"Les interfaces <literal>CompositeUserType</literal>, "
+"<literal>EnhancedUserType</literal>, <literal>UserCollectionType</literal>, "
+"et <literal>UserVersionType</literal> permettent des utilisations plus "
+"spécialisées."
 
-#: index.docbook:2738
-msgid "You may even supply parameters to a <literal>UserType</literal> in the mapping file. To do this, your <literal>UserType</literal> must implement the <literal>org.hibernate.usertype.ParameterizedType</literal> interface. To supply parameters to your custom type, you can use the <literal>&lt;type&gt;</literal> element in your mapping files."
-msgstr "<literal>always</literal> - indique que la valeur de la propriété est générée à l'insert comme aux updates."
+#. Tag: para
+#: basic_mapping.xml:2738
+#, no-c-format
+msgid ""
+"You may even supply parameters to a <literal>UserType</literal> in the "
+"mapping file. To do this, your <literal>UserType</literal> must implement "
+"the <literal>org.hibernate.usertype.ParameterizedType</literal> interface. "
+"To supply parameters to your custom type, you can use the <literal>&lt;"
+"type&gt;</literal> element in your mapping files."
+msgstr ""
+"Vous pouvez même donner des paramètres en indiquant <literal>UserType</"
+"literal> dans le fichier de mapping ; Pour cela, votre <literal>UserType</"
+"literal> doit implémenter l'interface <literal>org.hibernate.usertype."
+"ParameterizedType</literal>. Pour spécifier des paramètres dans votre type "
+"propre, vous pouvez utiliser l'élément <literal>&lt;type&gt;</literal> dans "
+"vos fichiers de mapping."
 
-#: index.docbook:2746
+#. Tag: programlisting
+#: basic_mapping.xml:2746
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"priority\">\n"
-      "    <type name=\"com.mycompany.usertypes.DefaultValueIntegerType\">\n"
-      "        <param name=\"default\">0</param>\n"
-      "    </type>\n"
-      "</property>]]>"
-msgstr "Objets auxiliaires de la base de données"
+"<![CDATA[<property name=\"priority\">\n"
+"    <type name=\"com.mycompany.usertypes.DefaultValueIntegerType\">\n"
+"        <param name=\"default\">0</param>\n"
+"    </type>\n"
+"</property>]]>"
+msgstr ""
 
-#: index.docbook:2748
-msgid "The <literal>UserType</literal> can now retrieve the value for the parameter named <literal>default</literal> from the <literal>Properties</literal> object passed to it."
-msgstr "Permettent les ordres CREATE et DROP d'objets arbitraire de la base de donnéées, en conjonction avec les outils Hibernate d'évolutions de schéma, pour permettre de définir complètement un schéma utilisateur au sein des fichiers de mapping Hibernate. Bien que conçu spécifiquement pour créer et supprimer des objets tels que des triggers et des procédures stockées, ou toute commande pouvant être exécutée via une méthode de <literal>java.sql.Statement.execute()</literal> (ALTERs, INSERTS, etc). Il y a principalement deux modes pour définir les objets auxiliaires de base de données..."
+#. Tag: para
+#: basic_mapping.xml:2748
+#, no-c-format
+msgid ""
+"The <literal>UserType</literal> can now retrieve the value for the parameter "
+"named <literal>default</literal> from the <literal>Properties</literal> "
+"object passed to it."
+msgstr ""
+"Le <literal>UserType</literal> permet maintenant de récupérer la valeur pour "
+"le paramètre nommé <literal>default</literal> à partir de l'objet "
+"<literal>Properties</literal> qui lui est passé."
 
-#: index.docbook:2753
-msgid "If you use a certain <literal>UserType</literal> very often, it may be useful to define a shorter name for it. You can do this using the <literal>&lt;typedef&gt;</literal> element. Typedefs assign a name to a custom type, and may also contain a list of default parameter values if the type is parameterized."
-msgstr "Le premier mode est de lister explicitement les commandes CREATE et DROP dans le fichier de mapping:"
+#. Tag: para
+#: basic_mapping.xml:2753
+#, no-c-format
+msgid ""
+"If you use a certain <literal>UserType</literal> very often, it may be "
+"useful to define a shorter name for it. You can do this using the "
+"<literal>&lt;typedef&gt;</literal> element. Typedefs assign a name to a "
+"custom type, and may also contain a list of default parameter values if the "
+"type is parameterized."
+msgstr ""
+"Si vous utilisez fréquemment un <literal>UserType</literal>, cela peut être "
+"utile de lui définir un nom plus court. Vous pouvez faire cela en utilisant "
+"l'élément <literal>&lt;typedef&gt;</literal>. Les typedefs permettent "
+"d'assigner un nom à votre type propre et peuvent aussi contenir une liste de "
+"valeurs de paramètres par défaut si ce type est paramétré."
 
-#: index.docbook:2760
+#. Tag: programlisting
+#: basic_mapping.xml:2760
+#, no-c-format
 msgid ""
-      "<![CDATA[<typedef class=\"com.mycompany.usertypes.DefaultValueIntegerType\" name=\"default_zero\">\n"
-      "    <param name=\"default\">0</param>\n"
-      "</typedef>]]>"
+"<![CDATA[<typedef class=\"com.mycompany.usertypes.DefaultValueIntegerType\" "
+"name=\"default_zero\">\n"
+"    <param name=\"default\">0</param>\n"
+"</typedef>]]>"
 msgstr ""
-      "<![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>]]>"
 
-#: index.docbook:2762
+#. Tag: programlisting
+#: basic_mapping.xml:2762
+#, no-c-format
 msgid "<![CDATA[<property name=\"priority\" type=\"default_zero\"/>]]>"
-msgstr "Le second mode est de fournir une classe particulière qui connait comment construire les commandes CREATE et DROP. Cette classe particulière doit implémenter l'interface <literal>org.hibernate.mapping.AuxiliaryDatabaseObject</literal>."
+msgstr ""
 
-#: index.docbook:2764
-msgid "It is also possible to override the parameters supplied in a typedef on a case-by-case basis by using type parameters on the property mapping."
+#. Tag: para
+#: basic_mapping.xml:2764
+#, no-c-format
+msgid ""
+"It is also possible to override the parameters supplied in a typedef on a "
+"case-by-case basis by using type parameters on the property mapping."
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "    ...\n"
-      "    <database-object>\n"
-      "        <definition class=\"MyTriggerDefinition\"/>\n"
-      "    </database-object>\n"
-      "</hibernate-mapping>]]>"
+"Il est aussi possible de redéfinir les paramètres par défaut du typedef au "
+"cas par cas en utilisant des paramètres type sur le mapping de la propriété."
 
-#: index.docbook:2769
-msgid "Even though Hibernate's rich range of built-in types and support for components means you will very rarely <emphasis>need</emphasis> to use a custom type, it is nevertheless considered good form to use custom types for (non-entity) classes that occur frequently in your application. For example, a <literal>MonetaryAmount</literal> class is a good candidate for a <literal>CompositeUserType</literal>, even though it could easily be mapped as a component. One motivation for this is abstraction. With a custom type, your mapping documents would be future-proofed against possible changes in your way of representing monetary values."
-msgstr "Additionnellement, ces objets de base de données peuvent être optionnellement traités selon l'utilisation de dialectes particuliers.."
+#. Tag: para
+#: basic_mapping.xml:2769
+#, no-c-format
+msgid ""
+"Even though Hibernate's rich range of built-in types and support for "
+"components means you will very rarely <emphasis>need</emphasis> to use a "
+"custom type, it is nevertheless considered good form to use custom types for "
+"(non-entity) classes that occur frequently in your application. For example, "
+"a <literal>MonetaryAmount</literal> class is a good candidate for a "
+"<literal>CompositeUserType</literal>, even though it could easily be mapped "
+"as a component. One motivation for this is abstraction. With a custom type, "
+"your mapping documents would be future-proofed against possible changes in "
+"your way of representing monetary values."
+msgstr ""
+"Bien que le fait que Hibernate propose de base une riche variété de types, "
+"et qu'il supporte les composants signifie que vous aurez très rarement "
+"<emphasis>besoin</emphasis> d'utiliser un nouveau type propre, il est "
+"néanmoins de bonne pratique d'utiliser des types propres pour les classes "
+"(non entités) qui apparaissent fréquemment dans votre application. Par "
+"exemple une classe <literal>MonetaryAmount</literal> est un bon candidat "
+"pour un <literal>CompositeUserType</literal> même s'il pourrait facilement "
+"être mappé comme un composant. Une motivation pour cela est l'abstraction. "
+"Avec un type propre vos documents de mapping sont à l'abri des changements "
+"futurs dans votre façon de représenter des valeurs monétaires."
 
-#: index.docbook:2785
+#. Tag: title
+#: basic_mapping.xml:2785
+#, no-c-format
 msgid "Mapping a class more than once"
-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>]]>"
+msgstr "Mapper une classe plus d'une fois"
 
-#: index.docbook:2786
-msgid "It is possible to provide more than one mapping for a particular persistent class. In this case you must specify an <emphasis>entity name</emphasis> do disambiguate between instances of the two mapped entities. (By default, the entity name is the same as the class name.) Hibernate lets you specify the entity name when working with persistent objects, when writing queries, or when mapping associations to the named entity."
+#. Tag: para
+#: basic_mapping.xml:2786
+#, no-c-format
+msgid ""
+"It is possible to provide more than one mapping for a particular persistent "
+"class. In this case you must specify an <emphasis>entity name</emphasis> do "
+"disambiguate between instances of the two mapped entities. (By default, the "
+"entity name is the same as the class name.) Hibernate lets you specify the "
+"entity name when working with persistent objects, when writing queries, or "
+"when mapping associations to the named entity."
 msgstr ""
+"Il est possible de proposer plus d'un mapping par classe persistante. Dans "
+"ce cas, vous devez spécifier un <emphasis>nom d'entité</emphasis> pour lever "
+"l'ambiguité entre les instances des entités mappées (par défaut, le nom de "
+"l'entité est celui de la classe). Hibernate vous permet de spécifier le nom "
+"de l'entité lorsque vous utilisez des objets persistants, lorsque vous "
+"écrivez des requêtes ou quand vous mappez des associations vers les entités "
+"nommées."
 
-#: index.docbook:2794
+#. Tag: programlisting
+#: basic_mapping.xml:2794
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Contract\" table=\"Contracts\"\n"
-      "        entity-name=\"CurrentContract\">\n"
-      "    ...\n"
-      "    <set name=\"history\" inverse=\"true\"\n"
-      "            order-by=\"effectiveEndDate desc\">\n"
-      "        <key column=\"currentContractId\"/>\n"
-      "        <one-to-many entity-name=\"HistoricalContract\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Contract\" table=\"ContractHistory\"\n"
-      "        entity-name=\"HistoricalContract\">\n"
-      "    ...\n"
-      "    <many-to-one name=\"currentContract\"\n"
-      "            column=\"currentContractId\"\n"
-      "            entity-name=\"CurrentContract\"/>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Contract\" table=\"Contracts\"\n"
+"        entity-name=\"CurrentContract\">\n"
+"    ...\n"
+"    <set name=\"history\" inverse=\"true\"\n"
+"            order-by=\"effectiveEndDate desc\">\n"
+"        <key column=\"currentContractId\"/>\n"
+"        <one-to-many entity-name=\"HistoricalContract\"/>\n"
+"    </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Contract\" table=\"ContractHistory\"\n"
+"        entity-name=\"HistoricalContract\">\n"
+"    ...\n"
+"    <many-to-one name=\"currentContract\"\n"
+"            column=\"currentContractId\"\n"
+"            entity-name=\"CurrentContract\"/>\n"
+"</class>]]>"
 msgstr ""
 
-#: index.docbook:2796
-msgid "Notice how associations are now specified using <literal>entity-name</literal> instead of <literal>class</literal>."
+#. Tag: para
+#: basic_mapping.xml:2796
+#, no-c-format
+msgid ""
+"Notice how associations are now specified using <literal>entity-name</"
+"literal> instead of <literal>class</literal>."
 msgstr ""
+"Remarquez comment les associations sont désormais spécifiées en utilisant "
+"<literal>entity-name</literal> au lieu de <literal>class</literal>."
 
-#: index.docbook:2804
+#. Tag: title
+#: basic_mapping.xml:2804
+#, no-c-format
 msgid "SQL quoted identifiers"
-msgstr ""
+msgstr "SQL quoted identifiers"
 
-#: index.docbook:2805
-msgid "You may force Hibernate to quote an identifier in the generated SQL by enclosing the table or column name in backticks in the mapping document. Hibernate will use the correct quotation style for the SQL <literal>Dialect</literal> (usually double quotes, but brackets for SQL Server and backticks for MySQL)."
+#. Tag: para
+#: basic_mapping.xml:2805
+#, no-c-format
+msgid ""
+"You may force Hibernate to quote an identifier in the generated SQL by "
+"enclosing the table or column name in backticks in the mapping document. "
+"Hibernate will use the correct quotation style for the SQL <literal>Dialect</"
+"literal> (usually double quotes, but brackets for SQL Server and backticks "
+"for MySQL)."
 msgstr ""
+"Vous pouvez forcer Hibernate à mettre un identifiant entre quotes dans le "
+"SQL généré en mettant le nom de la table ou de la colonne entre backticks "
+"dans le document de mapping. Hibernate utilisera les bons styles de quotes "
+"pour le <literal>Dialect</literal> SQL (habituellement des doubles quotes, "
+"mais des parenthèses pour SQL server et des backticks pour MySQL)."
 
-#: index.docbook:2812
+#. Tag: programlisting
+#: basic_mapping.xml:2812
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"LineItem\" table=\"`Line Item`\">\n"
-      "    <id name=\"id\" column=\"`Item Id`\"/><generator class=\"assigned\"/></id>\n"
-      "    <property name=\"itemNumber\" column=\"`Item #`\"/>\n"
-      "    ...\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"LineItem\" table=\"`Line Item`\">\n"
+"    <id name=\"id\" column=\"`Item Id`\"/><generator class=\"assigned\"/></"
+"id>\n"
+"    <property name=\"itemNumber\" column=\"`Item #`\"/>\n"
+"    ...\n"
+"</class>]]>"
 msgstr ""
 
-#: index.docbook:2818
+#. Tag: title
+#: basic_mapping.xml:2818
+#, no-c-format
 msgid "Metadata alternatives"
-msgstr ""
+msgstr "alternatives Metadata"
 
-#: index.docbook:2820
-msgid "XML isn't for everyone, and so there are some alternative ways to define O/R mapping metadata in Hibernate."
+#. Tag: para
+#: basic_mapping.xml:2820
+#, no-c-format
+msgid ""
+"XML isn't for everyone, and so there are some alternative ways to define O/R "
+"mapping metadata in Hibernate."
 msgstr ""
+"XML ne convient pas à tout le monde, il y a donc des moyens alternatifs pour "
+"définir des metatda de mappings O/R dans Hibernate."
 
-#: index.docbook:2825
+#. Tag: title
+#: basic_mapping.xml:2825
+#, no-c-format
 msgid "Using XDoclet markup"
-msgstr ""
+msgstr "utilisation de XDoclet"
 
-#: index.docbook:2827
-msgid "Many Hibernate users prefer to embed mapping information directly in sourcecode using XDoclet <literal>@hibernate.tags</literal>. We will not cover this approach in this document, since strictly it is considered part of XDoclet. However, we include the following example of the <literal>Cat</literal> class with XDoclet mappings."
+#. Tag: para
+#: basic_mapping.xml:2827
+#, no-c-format
+msgid ""
+"Many Hibernate users prefer to embed mapping information directly in "
+"sourcecode using XDoclet <literal>@hibernate.tags</literal>. We will not "
+"cover this approach in this document, since strictly it is considered part "
+"of XDoclet. However, we include the following example of the <literal>Cat</"
+"literal> class with XDoclet mappings."
 msgstr ""
+"De nombreux utilisateurs de Hibernate préfèrent embarquer les informations "
+"de mappings directement au sein du code source en utilisant les tags XDoclet "
+"<literal>@hibernate.tags</literal>. Nous ne couvrons pas cette approche dans "
+"ce document cependant, puisque c'est considéré comme faisant partie de "
+"XDoclet. Cependant, nous présentons l'exemple suivant de la classe "
+"<literal>Cat</literal> avec des mappings XDoclet."
 
-#: index.docbook:2834
+#. Tag: programlisting
+#: basic_mapping.xml:2834
+#, no-c-format
 msgid ""
-      "<![CDATA[package eg;\n"
-      "import java.util.Set;\n"
-      "import java.util.Date;\n"
-      "\n"
-      "/**\n"
-      " * @hibernate.class\n"
-      " *  table=\"CATS\"\n"
-      " */\n"
-      "public class Cat {\n"
-      "    private Long id; // identifier\n"
-      "    private Date birthdate;\n"
-      "    private Cat mother;\n"
-      "    private Set kittens\n"
-      "    private Color color;\n"
-      "    private char sex;\n"
-      "    private float weight;\n"
-      "\n"
-      "    /*\n"
-      "     * @hibernate.id\n"
-      "     *  generator-class=\"native\"\n"
-      "     *  column=\"CAT_ID\"\n"
-      "     */\n"
-      "    public Long getId() {\n"
-      "        return id;\n"
-      "    }\n"
-      "    private void setId(Long id) {\n"
-      "        this.id=id;\n"
-      "    }\n"
-      "\n"
-      "    /**\n"
-      "     * @hibernate.many-to-one\n"
-      "     *  column=\"PARENT_ID\"\n"
-      "     */\n"
-      "    public Cat getMother() {\n"
-      "        return mother;\n"
-      "    }\n"
-      "    void setMother(Cat mother) {\n"
-      "        this.mother = mother;\n"
-      "    }\n"
-      "\n"
-      "    /**\n"
-      "     * @hibernate.property\n"
-      "     *  column=\"BIRTH_DATE\"\n"
-      "     */\n"
-      "    public Date getBirthdate() {\n"
-      "        return birthdate;\n"
-      "    }\n"
-      "    void setBirthdate(Date date) {\n"
-      "        birthdate = date;\n"
-      "    }\n"
-      "    /**\n"
-      "     * @hibernate.property\n"
-      "     *  column=\"WEIGHT\"\n"
-      "     */\n"
-      "    public float getWeight() {\n"
-      "        return weight;\n"
-      "    }\n"
-      "    void setWeight(float weight) {\n"
-      "        this.weight = weight;\n"
-      "    }\n"
-      "\n"
-      "    /**\n"
-      "     * @hibernate.property\n"
-      "     *  column=\"COLOR\"\n"
-      "     *  not-null=\"true\"\n"
-      "     */\n"
-      "    public Color getColor() {\n"
-      "        return color;\n"
-      "    }\n"
-      "    void setColor(Color color) {\n"
-      "        this.color = color;\n"
-      "    }\n"
-      "    /**\n"
-      "     * @hibernate.set\n"
-      "     *  inverse=\"true\"\n"
-      "     *  order-by=\"BIRTH_DATE\"\n"
-      "     * @hibernate.collection-key\n"
-      "     *  column=\"PARENT_ID\"\n"
-      "     * @hibernate.collection-one-to-many\n"
-      "     */\n"
-      "    public Set getKittens() {\n"
-      "        return kittens;\n"
-      "    }\n"
-      "    void setKittens(Set kittens) {\n"
-      "        this.kittens = kittens;\n"
-      "    }\n"
-      "    // addKitten not needed by Hibernate\n"
-      "    public void addKitten(Cat kitten) {\n"
-      "        kittens.add(kitten);\n"
-      "    }\n"
-      "\n"
-      "    /**\n"
-      "     * @hibernate.property\n"
-      "     *  column=\"SEX\"\n"
-      "     *  not-null=\"true\"\n"
-      "     *  update=\"false\"\n"
-      "     */\n"
-      "    public char getSex() {\n"
-      "        return sex;\n"
-      "    }\n"
-      "    void setSex(char sex) {\n"
-      "        this.sex=sex;\n"
-      "    }\n"
-      "}]]>"
+"<![CDATA[package eg;\n"
+"import java.util.Set;\n"
+"import java.util.Date;\n"
+"\n"
+"/**\n"
+" * @hibernate.class\n"
+" *  table=\"CATS\"\n"
+" */\n"
+"public class Cat {\n"
+"    private Long id; // identifier\n"
+"    private Date birthdate;\n"
+"    private Cat mother;\n"
+"    private Set kittens\n"
+"    private Color color;\n"
+"    private char sex;\n"
+"    private float weight;\n"
+"\n"
+"    /*\n"
+"     * @hibernate.id\n"
+"     *  generator-class=\"native\"\n"
+"     *  column=\"CAT_ID\"\n"
+"     */\n"
+"    public Long getId() {\n"
+"        return id;\n"
+"    }\n"
+"    private void setId(Long id) {\n"
+"        this.id=id;\n"
+"    }\n"
+"\n"
+"    /**\n"
+"     * @hibernate.many-to-one\n"
+"     *  column=\"PARENT_ID\"\n"
+"     */\n"
+"    public Cat getMother() {\n"
+"        return mother;\n"
+"    }\n"
+"    void setMother(Cat mother) {\n"
+"        this.mother = mother;\n"
+"    }\n"
+"\n"
+"    /**\n"
+"     * @hibernate.property\n"
+"     *  column=\"BIRTH_DATE\"\n"
+"     */\n"
+"    public Date getBirthdate() {\n"
+"        return birthdate;\n"
+"    }\n"
+"    void setBirthdate(Date date) {\n"
+"        birthdate = date;\n"
+"    }\n"
+"    /**\n"
+"     * @hibernate.property\n"
+"     *  column=\"WEIGHT\"\n"
+"     */\n"
+"    public float getWeight() {\n"
+"        return weight;\n"
+"    }\n"
+"    void setWeight(float weight) {\n"
+"        this.weight = weight;\n"
+"    }\n"
+"\n"
+"    /**\n"
+"     * @hibernate.property\n"
+"     *  column=\"COLOR\"\n"
+"     *  not-null=\"true\"\n"
+"     */\n"
+"    public Color getColor() {\n"
+"        return color;\n"
+"    }\n"
+"    void setColor(Color color) {\n"
+"        this.color = color;\n"
+"    }\n"
+"    /**\n"
+"     * @hibernate.set\n"
+"     *  inverse=\"true\"\n"
+"     *  order-by=\"BIRTH_DATE\"\n"
+"     * @hibernate.collection-key\n"
+"     *  column=\"PARENT_ID\"\n"
+"     * @hibernate.collection-one-to-many\n"
+"     */\n"
+"    public Set getKittens() {\n"
+"        return kittens;\n"
+"    }\n"
+"    void setKittens(Set kittens) {\n"
+"        this.kittens = kittens;\n"
+"    }\n"
+"    // addKitten not needed by Hibernate\n"
+"    public void addKitten(Cat kitten) {\n"
+"        kittens.add(kitten);\n"
+"    }\n"
+"\n"
+"    /**\n"
+"     * @hibernate.property\n"
+"     *  column=\"SEX\"\n"
+"     *  not-null=\"true\"\n"
+"     *  update=\"false\"\n"
+"     */\n"
+"    public char getSex() {\n"
+"        return sex;\n"
+"    }\n"
+"    void setSex(char sex) {\n"
+"        this.sex=sex;\n"
+"    }\n"
+"}]]>"
 msgstr ""
 
-#: index.docbook:2836
+#. Tag: para
+#: basic_mapping.xml:2836
+#, no-c-format
 msgid "See the Hibernate web site for more examples of XDoclet and Hibernate."
 msgstr ""
+"Voyez le site web de Hibernate pour plus d'exemples sur XDoclet et Hibernate."
 
-#: index.docbook:2843
+#. Tag: title
+#: basic_mapping.xml:2843
+#, no-c-format
 msgid "Using JDK 5.0 Annotations"
-msgstr ""
+msgstr "Utilisation des annotations JDK 5.0"
 
-#: index.docbook:2845
-msgid "JDK 5.0 introduced XDoclet-style annotations at the language level, type-safe and checked at compile time. This mechnism is more powerful than XDoclet annotations and better supported by tools and IDEs. IntelliJ IDEA, for example, supports auto-completion and syntax highlighting of JDK 5.0 annotations. The new revision of the EJB specification (JSR-220) uses JDK 5.0 annotations as the primary metadata mechanism for entity beans. Hibernate3 implements the <literal>EntityManager</literal> of JSR-220 (the persistence API), support for mapping metadata is available via the <emphasis>Hibernate Annotations</emphasis> package, as a separate download. Both EJB3 (JSR-220) and Hibernate3 metadata is supported."
+#. Tag: para
+#: basic_mapping.xml:2845
+#, no-c-format
+msgid ""
+"JDK 5.0 introduced XDoclet-style annotations at the language level, type-"
+"safe and checked at compile time. This mechnism is more powerful than "
+"XDoclet annotations and better supported by tools and IDEs. IntelliJ IDEA, "
+"for example, supports auto-completion and syntax highlighting of JDK 5.0 "
+"annotations. The new revision of the EJB specification (JSR-220) uses JDK "
+"5.0 annotations as the primary metadata mechanism for entity beans. "
+"Hibernate3 implements the <literal>EntityManager</literal> of JSR-220 (the "
+"persistence API), support for mapping metadata is available via the "
+"<emphasis>Hibernate Annotations</emphasis> package, as a separate download. "
+"Both EJB3 (JSR-220) and Hibernate3 metadata is supported."
 msgstr ""
+"Le JDK 5.0 introduit des annotations proches de celles de XDoclet au niveau "
+"java, qui sont type-safe et vérifiées à la compilation. Ce mécanisme est "
+"plus puissant que XDoclet et mieux supporté par les outils et IDE. IntelliJ "
+"IDEA, par exemple, supporte l'auto-complétion et le surlignement syntaxique "
+"des annotations JDK 5.0. La nouvelle révision des spécifications des EJB "
+"(JSR-220) utilise les annotations JDK 5.0 comme mécanisme primaire pour les "
+"meta-données des beans entités. Hibernate3 implémente "
+"l'<literal>EntityManager</literal> de la JSR-220 (API de persistance), le "
+"support du mapping de meta-données est disponible via le package "
+"<emphasis>Hibernate Annotations</emphasis>, en tant que module séparé à "
+"télécharger. EJB3 (JSR-220) et les métadata Hibernate3 sont supportés."
 
-#: index.docbook:2856
+#. Tag: para
+#: basic_mapping.xml:2856
+#, no-c-format
 msgid "This is an example of a POJO class annotated as an EJB entity bean:"
-msgstr ""
+msgstr "Ceci est un exemple d'une classe POJO annotée comme un EJB entité :"
 
-#: index.docbook:2860
+#. Tag: programlisting
+#: basic_mapping.xml:2860
+#, no-c-format
 msgid ""
-      "<![CDATA[@Entity(access = AccessType.FIELD)\n"
-      "public class Customer implements Serializable {\n"
-      "\n"
-      "    @Id;\n"
-      "    Long id;\n"
-      "\n"
-      "    String firstName;\n"
-      "    String lastName;\n"
-      "    Date birthday;\n"
-      "\n"
-      "    @Transient\n"
-      "    Integer age;\n"
-      "\n"
-      "    @Embedded\n"
-      "    private Address homeAddress;\n"
-      "\n"
-      "    @OneToMany(cascade=CascadeType.ALL)\n"
-      "    @JoinColumn(name=\"CUSTOMER_ID\")\n"
-      "    Set<Order> orders;\n"
-      "\n"
-      "    // Getter/setter and business methods\n"
-      "}]]>"
+"<![CDATA[@Entity(access = AccessType.FIELD)\n"
+"public class Customer implements Serializable {\n"
+"\n"
+"    @Id;\n"
+"    Long id;\n"
+"\n"
+"    String firstName;\n"
+"    String lastName;\n"
+"    Date birthday;\n"
+"\n"
+"    @Transient\n"
+"    Integer age;\n"
+"\n"
+"    @Embedded\n"
+"    private Address homeAddress;\n"
+"\n"
+"    @OneToMany(cascade=CascadeType.ALL)\n"
+"    @JoinColumn(name=\"CUSTOMER_ID\")\n"
+"    Set<Order> orders;\n"
+"\n"
+"    // Getter/setter and business methods\n"
+"}]]>"
 msgstr ""
 
-#: index.docbook:2862
-msgid "Note that support for JDK 5.0 Annotations (and JSR-220) is still work in progress and not completed. Please refer to the Hibernate Annotations module for more details."
+#. Tag: para
+#: basic_mapping.xml:2862
+#, no-c-format
+msgid ""
+"Note that support for JDK 5.0 Annotations (and JSR-220) is still work in "
+"progress and not completed. Please refer to the Hibernate Annotations module "
+"for more details."
 msgstr ""
+"Notez que le support des annotations JDK 5.0 (et de la JSR-220) est encore "
+"en cours et n'est pas terminé. Référez vous au module Hibernate Annotation "
+"pour plus de détails."
 
-#: index.docbook:2871
+#. Tag: title
+#: basic_mapping.xml:2871
+#, no-c-format
 msgid "Generated Properties"
-msgstr ""
+msgstr "Propriétés générées"
 
-#: index.docbook:2872
-msgid "Generated properties are properties which have their values generated by the database. Typically, Hibernate applications needed to <literal>refresh</literal> objects which contain any properties for which the database was generating values. Marking properties as generated, however, lets the application delegate this responsibility to Hibernate. Essentially, whenever Hibernate issues an SQL INSERT or UPDATE for an entity which has defined generated properties, it immediately issues a select afterwards to retrieve the generated values."
+#. Tag: para
+#: basic_mapping.xml:2872
+#, no-c-format
+msgid ""
+"Generated properties are properties which have their values generated by the "
+"database. Typically, Hibernate applications needed to <literal>refresh</"
+"literal> objects which contain any properties for which the database was "
+"generating values. Marking properties as generated, however, lets the "
+"application delegate this responsibility to Hibernate. Essentially, whenever "
+"Hibernate issues an SQL INSERT or UPDATE for an entity which has defined "
+"generated properties, it immediately issues a select afterwards to retrieve "
+"the generated values."
 msgstr ""
+"Les propriétés générées sont des propriétés dont les valeurs sont générées "
+"par la base de données. Typiquement, les applications Hibernate avaient "
+"besoin d'invoquer <literal>refresh</literal> sur les instances qui "
+"contenaient des propriétés pour lesquelles la base de données générait des "
+"valeurs. Marquer les propriétés comme générées permet à l'application de "
+"déléguer cette responsabilité à Hibernate. Principalement, à chaque fois "
+"qu'Hibernate réalise une insertion ou une mise à jour en base de données "
+"pour une entité marquée comme telle, cela provoque immédiatement un select "
+"pour récupérer les valeurs générées."
 
-#: index.docbook:2881
-msgid "Properties marked as generated must additionally be non-insertable and non-updateable. Only <xref linkend=\"mapping-declaration-version\"/>versions, <xref linkend=\"mapping-declaration-timestamp\"/>timestamps, and <xref linkend=\"mapping-declaration-property\"/>simple properties can be marked as generated."
+#. Tag: para
+#: basic_mapping.xml:2881
+#, no-c-format
+msgid ""
+"Properties marked as generated must additionally be non-insertable and non-"
+"updateable. Only <link linkend=\"mapping-declaration-version\">versions</"
+"link>, <link linkend=\"mapping-declaration-timestamp\">timestamps</link>, "
+"and <link linkend=\"mapping-declaration-property\">simple properties</link> "
+"can be marked as generated."
 msgstr ""
+"Les propriétés marquées comme générées doivent de plus ne pas être "
+"insérables et modifiables Seuls <xref linkend=\"mapping-declaration-version"
+"\">versions</xref>, <xref linkend=\"mapping-declaration-timestamp"
+"\">timestamps</xref>, et <xref linkend=\"mapping-declaration-property"
+"\">simple properties</xref> peuvent être marqués comme générées."
 
-#: index.docbook:2888
-msgid "<literal>never</literal> (the default) - means that the given property value is not generated within the database."
+#. Tag: para
+#: basic_mapping.xml:2888
+#, no-c-format
+msgid ""
+"<literal>never</literal> (the default) - means that the given property value "
+"is not generated within the database."
 msgstr ""
+"<literal>never</literal> (par défaut) - indique la valeur de la propriété "
+"n'est pas générée dans la base de données."
 
-#: index.docbook:2892
-msgid "<literal>insert</literal> - states that the given property value is generated on insert, but is not regenerated on subsequent updates. Things like created-date would fall into this category. Note that even thought <xref linkend=\"mapping-declaration-version\"/>version and <xref linkend=\"mapping-declaration-timestamp\"/>timestamp properties can be marked as generated, this option is not available there..."
+#. Tag: para
+#: basic_mapping.xml:2892
+#, no-c-format
+msgid ""
+"<literal>insert</literal> - states that the given property value is "
+"generated on insert, but is not regenerated on subsequent updates. Things "
+"like created-date would fall into this category. Note that even thought "
+"<link linkend=\"mapping-declaration-version\">version</link> and <link "
+"linkend=\"mapping-declaration-timestamp\">timestamp</link> properties can be "
+"marked as generated, this option is not available there..."
 msgstr ""
+"<literal>insert</literal> - indique que la valeur de la propriété donnée est "
+"générée à l'insertion mais pas lors des futures mises à jour de "
+"l'enregistrement. Les colonnes de type \"date de création\" sont le cas "
+"d'utilisation typique de cette option. Notez que même les propriétés <xref "
+"linkend=\"mapping-declaration-version\">version</xref> et <xref linkend="
+"\"mapping-declaration-timestamp\">timestamp</xref> peuvent être déclarées "
+"comme générées, cette option n'est pas disponible à cet endroit..."
 
-#: index.docbook:2900
-msgid "<literal>always</literal> - states that the property value is generated both on insert and on update."
+#. Tag: para
+#: basic_mapping.xml:2900
+#, no-c-format
+msgid ""
+"<literal>always</literal> - states that the property value is generated both "
+"on insert and on update."
 msgstr ""
+"<literal>always</literal> - indique que la valeur de la propriété est "
+"générée à l'insert comme aux updates."
 
-#: index.docbook:2907
+#. Tag: title
+#: basic_mapping.xml:2907
+#, no-c-format
 msgid "Auxiliary Database Objects"
-msgstr ""
+msgstr "Objets auxiliaires de la base de données"
 
-#: index.docbook:2908
-msgid "Allows CREATE and DROP of arbitrary database objects, in conjunction with Hibernate's schema evolution tools, to provide the ability to fully define a user schema within the Hibernate mapping files. Although designed specifically for creating and dropping things like triggers or stored procedures, really any SQL command that can be run via a <literal>java.sql.Statement.execute()</literal> method is valid here (ALTERs, INSERTS, etc). There are essentially two modes for defining auxiliary database objects..."
+#. Tag: para
+#: basic_mapping.xml:2908
+#, no-c-format
+msgid ""
+"Allows CREATE and DROP of arbitrary database objects, in conjunction with "
+"Hibernate's schema evolution tools, to provide the ability to fully define a "
+"user schema within the Hibernate mapping files. Although designed "
+"specifically for creating and dropping things like triggers or stored "
+"procedures, really any SQL command that can be run via a <literal>java.sql."
+"Statement.execute()</literal> method is valid here (ALTERs, INSERTS, etc). "
+"There are essentially two modes for defining auxiliary database objects..."
 msgstr ""
+"Permettent les ordres CREATE et DROP d'objets arbitraire de la base de "
+"donnéées, en conjonction avec les outils Hibernate d'évolutions de schéma, "
+"pour permettre de définir complètement un schéma utilisateur au sein des "
+"fichiers de mapping Hibernate. Bien que conçu spécifiquement pour créer et "
+"supprimer des objets tels que des triggers et des procédures stockées, ou "
+"toute commande pouvant être exécutée via une méthode de <literal>java.sql."
+"Statement.execute()</literal> (ALTERs, INSERTS, etc). Il y a principalement "
+"deux modes pour définir les objets auxiliaires de base de données..."
 
-#: index.docbook:2917
-msgid "The first mode is to explicitly list the CREATE and DROP commands out in the mapping file:"
+#. Tag: para
+#: basic_mapping.xml:2917
+#, no-c-format
+msgid ""
+"The first mode is to explicitly list the CREATE and DROP commands out in the "
+"mapping file:"
 msgstr ""
+"Le premier mode est de lister explicitement les commandes CREATE et DROP "
+"dans le fichier de mapping:"
 
-#: index.docbook:2921
+#. Tag: programlisting
+#: basic_mapping.xml:2921
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "    ...\n"
-      "    <database-object>\n"
-      "        <create>CREATE TRIGGER my_trigger ...</create>\n"
-      "        <drop>DROP TRIGGER my_trigger</drop>\n"
-      "    </database-object>\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"    ...\n"
+"    <database-object>\n"
+"        <create>CREATE TRIGGER my_trigger ...</create>\n"
+"        <drop>DROP TRIGGER my_trigger</drop>\n"
+"    </database-object>\n"
+"</hibernate-mapping>]]>"
 msgstr ""
 
-#: index.docbook:2922
-msgid "The second mode is to supply a custom class which knows how to construct the CREATE and DROP commands. This custom class must implement the <literal>org.hibernate.mapping.AuxiliaryDatabaseObject</literal> interface."
+#. Tag: para
+#: basic_mapping.xml:2922
+#, no-c-format
+msgid ""
+"The second mode is to supply a custom class which knows how to construct the "
+"CREATE and DROP commands. This custom class must implement the <literal>org."
+"hibernate.mapping.AuxiliaryDatabaseObject</literal> interface."
 msgstr ""
+"Le second mode est de fournir une classe particulière qui connait comment "
+"construire les commandes CREATE et DROP. Cette classe particulière doit "
+"implémenter l'interface <literal>org.hibernate.mapping."
+"AuxiliaryDatabaseObject</literal>."
 
-#: index.docbook:2927
+#. Tag: programlisting
+#: basic_mapping.xml:2927
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "    ...\n"
-      "    <database-object>\n"
-      "        <definition class=\"MyTriggerDefinition\"/>\n"
-      "    </database-object>\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"    ...\n"
+"    <database-object>\n"
+"        <definition class=\"MyTriggerDefinition\"/>\n"
+"    </database-object>\n"
+"</hibernate-mapping>]]>"
 msgstr ""
 
-#: index.docbook:2928
-msgid "Additionally, these database objects can be optionally scoped such that they only apply when certain dialects are used."
+#. Tag: para
+#: basic_mapping.xml:2928
+#, no-c-format
+msgid ""
+"Additionally, these database objects can be optionally scoped such that they "
+"only apply when certain dialects are used."
 msgstr ""
+"Additionnellement, ces objets de base de données peuvent être "
+"optionnellement traités selon l'utilisation de dialectes particuliers.."
 
-#: index.docbook:2932
+#. Tag: programlisting
+#: basic_mapping.xml:2932
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "    ...\n"
-      "    <database-object>\n"
-      "        <definition class=\"MyTriggerDefinition\"/>\n"
-      "        <dialect-scope name=\"org.hibernate.dialect.Oracle9Dialect\"/>\n"
-      "        <dialect-scope name=\"org.hibernate.dialect.OracleDialect\"/>\n"
-      "    </database-object>\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"    ...\n"
+"    <database-object>\n"
+"        <definition class=\"MyTriggerDefinition\"/>\n"
+"        <dialect-scope name=\"org.hibernate.dialect.Oracle9Dialect\"/>\n"
+"        <dialect-scope name=\"org.hibernate.dialect.OracleDialect\"/>\n"
+"    </database-object>\n"
+"</hibernate-mapping>]]>"
 msgstr ""
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid "class"
+#~ msgstr "class"
 
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid "id"
+#~ msgstr "id"
 
+#~ msgid ""
+#~ "<literal>optimizer</literal> (optional, defaults to <literal>none</"
+#~ "literal>): See <xref linkend=\"mapping-declaration-id-enhanced-optimizers"
+#~ "\"/>"
+#~ msgstr ""
+#~ "<literal>optimizer</literal> (optional, defaults to <literal>none</"
+#~ "literal>): See <xref linkend=\"mapping-declaration-id-enhanced-optimizers"
+#~ "\"/>"
+
+#~ msgid ""
+#~ "<literal>optimizer</literal> (optional, defaults to <literal/>): See "
+#~ "<xref linkend=\"mapping-declaration-id-enhanced-optimizers\"/>"
+#~ msgstr ""
+#~ "<literal>optimizer</literal> (optional, defaults to <literal/>): See "
+#~ "<xref linkend=\"mapping-declaration-id-enhanced-optimizers\"/>"
+
+#~ msgid "key"
+#~ msgstr "key"
+
+#~ msgid "any"
+#~ msgstr "any"

Modified: core/trunk/documentation/manual/translations/fr-FR/content/batch.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/batch.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/batch.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,365 +1,642 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: batch.xml:5
+#, no-c-format
 msgid "Batch processing"
 msgstr "Traitement par paquet"
 
-#: index.docbook:7
-msgid "A naive approach to inserting 100 000 rows in the database using Hibernate might look like this:"
-msgstr "Une approche naïve pour insérer 100 000 lignes dans la base de données en utilisant Hibernate pourrait ressembler à ça :"
+#. Tag: para
+#: batch.xml:7
+#, no-c-format
+msgid ""
+"A naive approach to inserting 100 000 rows in the database using Hibernate "
+"might look like this:"
+msgstr ""
+"Une approche naïve pour insérer 100 000 lignes dans la base de données en "
+"utilisant Hibernate pourrait ressembler à ça :"
 
-#: index.docbook:12
+#. Tag: programlisting
+#: batch.xml:12
+#, no-c-format
 msgid ""
-      "<![CDATA[Session session = sessionFactory.openSession();\n"
-      "Transaction tx = session.beginTransaction();\n"
-      "for ( int i=0; i<100000; i++ ) {\n"
-      "    Customer customer = new Customer(.....);\n"
-      "    session.save(customer);\n"
-      "}\n"
-      "tx.commit();\n"
-      "session.close();]]>"
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+"for ( int i=0; i<100000; i++ ) {\n"
+"    Customer customer = new Customer(.....);\n"
+"    session.save(customer);\n"
+"}\n"
+"tx.commit();\n"
+"session.close();]]>"
 msgstr ""
-      "<![CDATA[Session session = sessionFactory.openSession();\n"
-      "Transaction tx = session.beginTransaction();\n"
-      "for ( int i=0; i<100000; i++ ) {\n"
-      "    Customer customer = new Customer(.....);\n"
-      "    session.save(customer);\n"
-      "}\n"
-      "tx.commit();\n"
-      "session.close();]]>"
 
-#: index.docbook:14
-msgid "This would fall over with an <literal>OutOfMemoryException</literal> somewhere around the 50 000th row. That's because Hibernate caches all the newly inserted <literal>Customer</literal> instances in the session-level cache."
-msgstr "Ceci devrait s'écrouler avec une <literal>OutOfMemoryException</literal> quelque part aux alentours de la 50 000ème ligne. C'est parce qu'Hibernate cache toutes les instances de <literal>Customer</literal> nouvellement insérées dans le cache de second niveau."
+#. Tag: para
+#: batch.xml:14
+#, no-c-format
+msgid ""
+"This would fall over with an <literal>OutOfMemoryException</literal> "
+"somewhere around the 50 000th row. That's because Hibernate caches all the "
+"newly inserted <literal>Customer</literal> instances in the session-level "
+"cache."
+msgstr ""
+"Ceci devrait s'écrouler avec une <literal>OutOfMemoryException</literal> "
+"quelque part aux alentours de la 50 000ème ligne. C'est parce qu'Hibernate "
+"cache toutes les instances de <literal>Customer</literal> nouvellement "
+"insérées dans le cache de second niveau."
 
-#: index.docbook:20
-msgid "In this chapter we'll show you how to avoid this problem. First, however, if you are doing batch processing, it is absolutely critical that you enable the use of JDBC batching, if you intend to achieve reasonable performance. Set the JDBC batch size to a reasonable number (say, 10-50):"
-msgstr "Dans ce chapitre nous montrerons comment éviter ce problème. D'abord, cependant, si vous faites des traitements par batch, il est absolument critique que vous activiez l'utilisation ds paquet JDBC (NdT : JDBC batching), si vous avez l'intention d'obtenir des performances raisonnables. Configurez la taille du paquet JDBC avec un nombre raisonnable (disons, 10-50) :"
+#. Tag: para
+#: batch.xml:20
+#, no-c-format
+msgid ""
+"In this chapter we'll show you how to avoid this problem. First, however, if "
+"you are doing batch processing, it is absolutely critical that you enable "
+"the use of JDBC batching, if you intend to achieve reasonable performance. "
+"Set the JDBC batch size to a reasonable number (say, 10-50):"
+msgstr ""
+"Dans ce chapitre nous montrerons comment éviter ce problème. D'abord, "
+"cependant, si vous faites des traitements par batch, il est absolument "
+"critique que vous activiez l'utilisation ds paquet JDBC (NdT : JDBC "
+"batching), si vous avez l'intention d'obtenir des performances raisonnables. "
+"Configurez la taille du paquet JDBC avec un nombre raisonnable (disons, 10-"
+"50) :"
 
-#: index.docbook:27
+#. Tag: programlisting
+#: batch.xml:27
+#, no-c-format
 msgid "<![CDATA[hibernate.jdbc.batch_size 20]]>"
-msgstr "<![CDATA[hibernate.jdbc.batch_size 20]]>"
+msgstr ""
 
-#: index.docbook:29
-msgid "Note that Hibernate disables insert batching at the JDBC level transparently if you use an <literal>identiy</literal> identifier generator."
-msgstr "Vous pourriez aussi vouloir faire cette sorte de travail dans un traitement où l'interaction avec le cache de second niveau est complètement désactivé :"
+#. Tag: para
+#: batch.xml:29
+#, no-c-format
+msgid ""
+"Note that Hibernate disables insert batching at the JDBC level transparently "
+"if you use an <literal>identiy</literal> identifier generator."
+msgstr ""
+"Vous pourriez aussi vouloir faire cette sorte de travail dans un traitement "
+"où l'interaction avec le cache de second niveau est complètement désactivé :"
 
-#: index.docbook:34
-msgid "You also might like to do this kind of work in a process where interaction with the second-level cache is completely disabled:"
-msgstr "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
+#. Tag: para
+#: batch.xml:34
+#, no-c-format
+msgid ""
+"You also might like to do this kind of work in a process where interaction "
+"with the second-level cache is completely disabled:"
+msgstr "Insertions en paquet"
 
-#: index.docbook:39
+#. Tag: programlisting
+#: batch.xml:39
+#, no-c-format
 msgid "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
-msgstr "Insertions en paquet"
+msgstr ""
 
-#: index.docbook:41
-msgid "However, this is not absolutely necessary, since we can explicitly set the <literal>CacheMode</literal> to disable interaction with the second-level cache."
-msgstr "Lorsque vous rendez des nouveaux objets persistants, vous devez régulièrement appeler <literal>flush()</literal> et puis <literal>clear()</literal> sur la session, pour contrôler la taille du cache de premier niveau."
+#. Tag: para
+#: batch.xml:41
+#, no-c-format
+msgid ""
+"However, this is not absolutely necessary, since we can explicitly set the "
+"<literal>CacheMode</literal> to disable interaction with the second-level "
+"cache."
+msgstr ""
+"Lorsque vous rendez des nouveaux objets persistants, vous devez "
+"régulièrement appeler <literal>flush()</literal> et puis <literal>clear()</"
+"literal> sur la session, pour contrôler la taille du cache de premier niveau."
 
-#: index.docbook:47
+#. Tag: title
+#: batch.xml:47
+#, no-c-format
 msgid "Batch inserts"
-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, même taille que la taille du paquet JDBC\n"
-      "        //flush un paquet d'insertions et libère la mémoire :\n"
-      "        session.flush();\n"
-      "        session.clear();\n"
-      "    }\n"
-      "}\n"
-      "\n"
-      "tx.commit();\n"
-      "session.close();]]>"
-
-#: index.docbook:49
-msgid "When making new objects persistent, you must <literal>flush()</literal> and then <literal>clear()</literal> the session regularly, to control the size of the first-level cache."
 msgstr "Paquet de mises à jour"
 
-#: index.docbook:55
+#. Tag: para
+#: batch.xml:49
+#, 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 "Pour récupérer et mettre à jour des données les mêmes idées s'appliquent. En plus, vous avez besoin d'utiliser <literal>scroll()</literal> pour tirer partie des curseurs côté serveur pour les requêtes qui retournent beaucoup de lignes de données."
+"When making new objects persistent, you must <literal>flush()</literal> and "
+"then <literal>clear()</literal> the session regularly, to control the size "
+"of the first-level cache."
+msgstr ""
+"Pour récupérer et mettre à jour des données les mêmes idées s'appliquent. En "
+"plus, vous avez besoin d'utiliser <literal>scroll()</literal> pour tirer "
+"partie des curseurs côté serveur pour les requêtes qui retournent beaucoup "
+"de lignes de données."
 
-#: index.docbook:60
-msgid "Batch updates"
+#. Tag: programlisting
+#: batch.xml:55
+#, no-c-format
+msgid ""
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+"   \n"
+"for ( int i=0; i<100000; i++ ) {\n"
+"    Customer customer = new Customer(.....);\n"
+"    session.save(customer);\n"
+"    if ( i % 20 == 0 ) { //20, same as the JDBC batch size\n"
+"        //flush a batch of inserts and release memory:\n"
+"        session.flush();\n"
+"        session.clear();\n"
+"    }\n"
+"}\n"
+"   \n"
+"tx.commit();\n"
+"session.close();]]>"
 msgstr ""
-      "<![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 un paquet de mises à jour et libère la mémoire :\n"
-      "        session.flush();\n"
-      "        session.clear();\n"
-      "    }\n"
-      "}\n"
-      "\n"
-      "tx.commit();\n"
-      "session.close();]]>"
 
-#: index.docbook:62
-msgid "For retrieving and updating data the same ideas apply. In addition, you need to use <literal>scroll()</literal> to take advantage of server-side cursors for queries that return many rows of data."
+#. Tag: title
+#: batch.xml:60
+#, no-c-format
+msgid "Batch updates"
 msgstr "L'interface StatelessSession"
 
-#: index.docbook:68
+#. Tag: para
+#: batch.xml:62
+#, 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 "Alternativement, Hibernate fournit une API orientée commande qui peut être utilisée avec des flux de données pour et en provenance de la base de données sous la forme d'objets détachés. Une <literal>StatelessSession</literal> n'a pas de contexte de persistance associé et ne fournit pas beaucoup de sémantique de durée de vie de haut niveau. En particulier, une session sans état n'implémente pas de cache de premier niveau et n'interagit pas non plus avec un cache de seconde niveau ou un cache de requêtes. Elle n'implémente pas les transactions ou la vérification sale automatique (NdT : automatic dirty checking). Les opérations réalisées avec une session sans état ne sont jamais répercutées en cascade sur les instances associées. Les collections sont ignorées par une session sans état. Les opérations exécutées via une session sans état outrepasse le modèle d'événements d'Hibernate et les intercepteurs. Les sessions sans état sont vulnér!
 ables aux effets de modification des données, ceci est dû au manque de cache de premier niveau. Une session sans état est une abstraction bas niveau, plus proche de la couche JDBC sous-jacente."
+"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 ""
+"Alternativement, Hibernate fournit une API orientée commande qui peut être "
+"utilisée avec des flux de données pour et en provenance de la base de "
+"données sous la forme d'objets détachés. Une <literal>StatelessSession</"
+"literal> n'a pas de contexte de persistance associé et ne fournit pas "
+"beaucoup de sémantique de durée de vie de haut niveau. En particulier, une "
+"session sans état n'implémente pas de cache de premier niveau et n'interagit "
+"pas non plus avec un cache de seconde niveau ou un cache de requêtes. Elle "
+"n'implémente pas les transactions ou la vérification sale automatique (NdT : "
+"automatic dirty checking). Les opérations réalisées avec une session sans "
+"état ne sont jamais répercutées en cascade sur les instances associées. Les "
+"collections sont ignorées par une session sans état. Les opérations "
+"exécutées via une session sans état outrepasse le modèle d'événements "
+"d'Hibernate et les intercepteurs. Les sessions sans état sont vulnérables "
+"aux effets de modification des données, ceci est dû au manque de cache de "
+"premier niveau. Une session sans état est une abstraction bas niveau, plus "
+"proche de la couche JDBC sous-jacente."
 
-#: index.docbook:73
+#. Tag: programlisting
+#: batch.xml:68
+#, no-c-format
+msgid ""
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+"   \n"
+"ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
+"    .setCacheMode(CacheMode.IGNORE)\n"
+"    .scroll(ScrollMode.FORWARD_ONLY);\n"
+"int count=0;\n"
+"while ( customers.next() ) {\n"
+"    Customer customer = (Customer) customers.get(0);\n"
+"    customer.updateStuff(...);\n"
+"    if ( ++count % 20 == 0 ) {\n"
+"        //flush a batch of updates and release memory:\n"
+"        session.flush();\n"
+"        session.clear();\n"
+"    }\n"
+"}\n"
+"   \n"
+"tx.commit();\n"
+"session.close();]]>"
+msgstr ""
+
+#. Tag: title
+#: batch.xml:73
+#, no-c-format
 msgid "The StatelessSession interface"
 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();]]>"
+"Notez que dans le code de l'exemple, les intances de <literal>Customer</"
+"literal> retournées par la requête sont immédiatement détachées. Elles ne "
+"sont jamais associées à un contexte de persistance."
 
-#: index.docbook:74
-msgid "Alternatively, Hibernate provides a command-oriented API that may be used for streaming data to and from the database in the form of detached objects. A <literal>StatelessSession</literal> has no persistence context associated with it and does not provide many of the higher-level life cycle semantics. In particular, a stateless session does not implement a first-level cache nor interact with any second-level or query cache. It does not implement transactional write-behind or automatic dirty checking. Operations performed using a stateless session do not ever cascade to associated instances. Collections are ignored by a stateless session. Operations performed via a stateless session bypass Hibernate's event model and interceptors. Stateless sessions are vulnerable to data aliasing effects, due to the lack of a first-level cache. A stateless session is a lower-level abstraction, much closer to the underlying JDBC."
-msgstr "Notez que dans le code de l'exemple, les intances de <literal>Customer</literal> retournées par la requête sont immédiatement détachées. Elles ne sont jamais associées à un contexte de persistance."
+#. Tag: para
+#: batch.xml:74
+#, no-c-format
+msgid ""
+"Alternatively, Hibernate provides a command-oriented API that may be used "
+"for streaming data to and from the database in the form of detached objects. "
+"A <literal>StatelessSession</literal> has no persistence context associated "
+"with it and does not provide many of the higher-level life cycle semantics. "
+"In particular, a stateless session does not implement a first-level cache "
+"nor interact with any second-level or query cache. It does not implement "
+"transactional write-behind or automatic dirty checking. Operations performed "
+"using a stateless session do not ever cascade to associated instances. "
+"Collections are ignored by a stateless session. Operations performed via a "
+"stateless session bypass Hibernate's event model and interceptors. Stateless "
+"sessions are vulnerable to data aliasing effects, due to the lack of a first-"
+"level cache. A stateless session is a lower-level abstraction, much closer "
+"to the underlying JDBC."
+msgstr ""
+"Les opérations <literal>insert()</literal>, <literal>update()</literal> et "
+"<literal>delete()</literal> définies par l'interface "
+"<literal>StatelessSession</literal> sont considérées comme des opérations "
+"d'accès direct aux lignes de la base de données, ce qui résulte en une "
+"exécution immédiate du SQL <literal>INSERT</literal>, <literal>UPDATE</"
+"literal> ou <literal>DELETE</literal> respectif. De là, elles ont des "
+"sémantiques tres différentes des opérations <literal>save()</literal>, "
+"<literal>saveOrUpdate()</literal> et <literal>delete()</literal> définies "
+"par l'interface <literal>Session</literal>."
 
-#: index.docbook:89
+#. Tag: programlisting
+#: batch.xml:89
+#, no-c-format
 msgid ""
-      "<![CDATA[StatelessSession session = sessionFactory.openStatelessSession();\n"
-      "Transaction tx = session.beginTransaction();\n"
-      "   \n"
-      "ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
-      "    .scroll(ScrollMode.FORWARD_ONLY);\n"
-      "while ( customers.next() ) {\n"
-      "    Customer customer = (Customer) customers.get(0);\n"
-      "    customer.updateStuff(...);\n"
-      "    session.update(customer);\n"
-      "}\n"
-      "   \n"
-      "tx.commit();\n"
-      "session.close();]]>"
-msgstr "Les opérations <literal>insert()</literal>, <literal>update()</literal> et <literal>delete()</literal> définies par l'interface <literal>StatelessSession</literal> sont considérées comme des opérations d'accès direct aux lignes de la base de données, ce qui résulte en une exécution immédiate du SQL <literal>INSERT</literal>, <literal>UPDATE</literal> ou <literal>DELETE</literal> respectif. De là, elles ont des sémantiques tres différentes des opérations <literal>save()</literal>, <literal>saveOrUpdate()</literal> et <literal>delete()</literal> définies par l'interface <literal>Session</literal>."
+"<![CDATA[StatelessSession session = sessionFactory.openStatelessSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+"   \n"
+"ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
+"    .scroll(ScrollMode.FORWARD_ONLY);\n"
+"while ( customers.next() ) {\n"
+"    Customer customer = (Customer) customers.get(0);\n"
+"    customer.updateStuff(...);\n"
+"    session.update(customer);\n"
+"}\n"
+"   \n"
+"tx.commit();\n"
+"session.close();]]>"
+msgstr ""
 
-#: index.docbook:91
-msgid "Note that in this code example, the <literal>Customer</literal> instances returned by the query are immediately detached. They are never associated with any persistence context."
+#. Tag: para
+#: batch.xml:91
+#, no-c-format
+msgid ""
+"Note that in this code example, the <literal>Customer</literal> instances "
+"returned by the query are immediately detached. They are never associated "
+"with any persistence context."
 msgstr "Opérations de style DML"
 
-#: index.docbook:97
-msgid "The <literal>insert(), update()</literal> and <literal>delete()</literal> operations defined by the <literal>StatelessSession</literal> interface are considered to be direct database row-level operations, which result in immediate execution of a SQL <literal>INSERT, UPDATE</literal> or <literal>DELETE</literal> respectively. Thus, they have very different semantics to the <literal>save(), saveOrUpdate()</literal> and <literal>delete()</literal> operations defined by the <literal>Session</literal> interface."
-msgstr "Comme déjà discuté avant, le mapping objet/relationnel automatique et transparent est intéressé par la gestion de l'état de l'objet. Ceci implique que l'état de l'objet est disponible en mémoire, d'où manipuler (en utilisant des expressions du langage de manipulation de données - <literal>Data Manipulation Language</literal> (DML) - SQL) les données directement dans la base n'affectera pas l'état en mémoire. Pourtant, Hibernate fournit des méthodes pour l'exécution d'expression DML de style SQL lesquelles sont réalisées à travers le langage de requête d'Hibernate (<xref linkend=\"queryhql\"/>HQL)."
+#. Tag: para
+#: batch.xml:97
+#, no-c-format
+msgid ""
+"The <literal>insert(), update()</literal> and <literal>delete()</literal> "
+"operations defined by the <literal>StatelessSession</literal> interface are "
+"considered to be direct database row-level operations, which result in "
+"immediate execution of a SQL <literal>INSERT, UPDATE</literal> or "
+"<literal>DELETE</literal> respectively. Thus, they have very different "
+"semantics to the <literal>save(), saveOrUpdate()</literal> and "
+"<literal>delete()</literal> operations defined by the <literal>Session</"
+"literal> interface."
+msgstr ""
+"Comme déjà discuté avant, le mapping objet/relationnel automatique et "
+"transparent est intéressé par la gestion de l'état de l'objet. Ceci implique "
+"que l'état de l'objet est disponible en mémoire, d'où manipuler (en "
+"utilisant des expressions du langage de manipulation de données - "
+"<literal>Data Manipulation Language</literal> (DML) - SQL) les données "
+"directement dans la base n'affectera pas l'état en mémoire. Pourtant, "
+"Hibernate fournit des méthodes pour l'exécution d'expression DML de style "
+"SQL lesquelles sont réalisées à travers le langage de requête d'Hibernate "
+"(<xref linkend=\"queryhql\">HQL</xref>)."
 
-#: index.docbook:110
+#. Tag: title
+#: batch.xml:110
+#, no-c-format
 msgid "DML-style operations"
-msgstr "La pseudo-syntaxe pour les expressions <literal>UPDATE</literal> et <literal>DELETE</literal> est : <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE where_conditions)?</literal>. Certains points sont à noter :"
+msgstr ""
+"La pseudo-syntaxe pour les expressions <literal>UPDATE</literal> et "
+"<literal>DELETE</literal> est : <literal>( UPDATE | DELETE ) FROM? "
+"EntityName (WHERE where_conditions)?</literal>. Certains points sont à "
+"noter :"
 
-#: index.docbook:112
-msgid "As already discussed, automatic and transparent object/relational mapping is concerned with the management of object state. This implies that the object state is available in memory, hence manipulating (using the SQL <literal>Data Manipulation Language</literal> (DML) statements: <literal>INSERT</literal>, <literal>UPDATE</literal>, <literal>DELETE</literal>) data directly in the database will not affect in-memory state. However, Hibernate provides methods for bulk SQL-style DML statement execution which are performed through the Hibernate Query Language (<xref linkend=\"queryhql\"/>HQL)."
+#. Tag: para
+#: batch.xml:112
+#, no-c-format
+msgid ""
+"As already discussed, automatic and transparent object/relational mapping is "
+"concerned with the management of object state. This implies that the object "
+"state is available in memory, hence manipulating (using the SQL "
+"<literal>Data Manipulation Language</literal> (DML) statements: "
+"<literal>INSERT</literal>, <literal>UPDATE</literal>, <literal>DELETE</"
+"literal>) data directly in the database will not affect in-memory state. "
+"However, Hibernate provides methods for bulk SQL-style DML statement "
+"execution which are performed through the Hibernate Query Language (<link "
+"linkend=\"queryhql\">HQL</link>)."
 msgstr "Dans la clause from, le mot-clef FROM est optionnel"
 
-#: index.docbook:122
-msgid "The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</literal> statements is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE where_conditions)?</literal>. Some points to note:"
-msgstr "Il ne peut y avoir qu'une seule entité nommée dans la clause from ; elle peut optionnellement avoir un alias. Si le nom de l'entité a un alias, alors n'importe quelle référence de propriété doit être qualifiée en ayant un alias ; si le nom de l'entité n'a pas d'alias, alors il est illégal pour n'importe quelle référence de propriété d'être qualifiée."
+#. Tag: para
+#: batch.xml:122
+#, no-c-format
+msgid ""
+"The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</"
+"literal> statements is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE "
+"where_conditions)?</literal>. Some points to note:"
+msgstr ""
+"Il ne peut y avoir qu'une seule entité nommée dans la clause from ; elle "
+"peut optionnellement avoir un alias. Si le nom de l'entité a un alias, alors "
+"n'importe quelle référence de propriété doit être qualifiée en ayant un "
+"alias ; si le nom de l'entité n'a pas d'alias, alors il est illégal pour "
+"n'importe quelle référence de propriété d'être qualifiée."
 
-#: index.docbook:130
+#. Tag: para
+#: batch.xml:130
+#, no-c-format
 msgid "In the from-clause, the FROM keyword is optional"
-msgstr "Aucune jointure (implicite ou explicite) ne peut être spécifiée dans une requête HQL. Les sous-requêtes peuvent être utilisées dans la clause where ; les sous-requêtes, elles-mêmes, peuvent contenir des jointures."
+msgstr ""
+"Aucune jointure (implicite ou explicite) ne peut être spécifiée dans une "
+"requête HQL. Les sous-requêtes peuvent être utilisées dans la clause where ; "
+"les sous-requêtes, elles-mêmes, peuvent contenir des jointures."
 
-#: index.docbook:135
-msgid "There can only be a single entity named in the from-clause; it can optionally be aliased. If the entity name is aliased, then any property references must be qualified using that alias; if the entity name is not aliased, then it is illegal for any property references to be qualified."
+#. Tag: para
+#: batch.xml:135
+#, no-c-format
+msgid ""
+"There can only be a single entity named in the from-clause; it can "
+"optionally be aliased. If the entity name is aliased, then any property "
+"references must be qualified using that alias; if the entity name is not "
+"aliased, then it is illegal for any property references to be qualified."
 msgstr "La clause where est aussi optionnelle."
 
-#: index.docbook:143
-msgid "No <xref linkend=\"queryhql-joins-forms\"/>joins (either implicit or explicit) can be specified in a bulk HQL query. Sub-queries may be used in the where-clause; the subqueries, themselves, may contain joins."
-msgstr "Par exemple, pour exécuter un <literal>UPDATE</literal> HQL, utilisez la méthode <literal>Query.executeUpdate()</literal> (la méthode est données pour ceux qui sont familiers avec <literal>PreparedStatement.executeUpdate()</literal> de JDBC) :"
+#. Tag: para
+#: batch.xml:143
+#, no-c-format
+msgid ""
+"No <link linkend=\"queryhql-joins-forms\">joins</link> (either implicit or "
+"explicit) can be specified in a bulk HQL query. Sub-queries may be used in "
+"the where-clause; the subqueries, themselves, may contain joins."
+msgstr ""
+"Par exemple, pour exécuter un <literal>UPDATE</literal> HQL, utilisez la "
+"méthode <literal>Query.executeUpdate()</literal> (la méthode est données "
+"pour ceux qui sont familiers avec <literal>PreparedStatement.executeUpdate()"
+"</literal> de JDBC) :"
 
-#: index.docbook:150
+#. Tag: para
+#: batch.xml:150
+#, no-c-format
 msgid "The where-clause is also optional."
 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"
-      "// ou 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();]]>"
+"Pour exécuter un <literal>DELETE</literal> HQL, utilisez la même méthode "
+"<literal>Query.executeUpdate()</literal> :"
 
-#: index.docbook:156
-msgid "As an example, to execute an HQL <literal>UPDATE</literal>, use the <literal>Query.executeUpdate()</literal> method (the method is named for those familiar with JDBC's <literal>PreparedStatement.executeUpdate()</literal>):"
-msgstr "Pour exécuter un <literal>DELETE</literal> HQL, utilisez la même méthode <literal>Query.executeUpdate()</literal> :"
+#. Tag: para
+#: batch.xml:156
+#, no-c-format
+msgid ""
+"As an example, to execute an HQL <literal>UPDATE</literal>, use the "
+"<literal>Query.executeUpdate()</literal> method (the method is named for "
+"those familiar with JDBC's <literal>PreparedStatement.executeUpdate()</"
+"literal>):"
+msgstr ""
+"La valeur du <literal>int</literal> retourné par la méthode <literal>Query."
+"executeUpdate()</literal> indique le nombre d'entités affectées par "
+"l'opération. Considérez que cela peut ou pas corréler le nombre de lignes "
+"affectés dans la base de données. Une opération HQL pourrait entraîner "
+"l'exécution de multiples expressions SQL réelles, pour des classes filles "
+"mappées par jointure (NdT: join-subclass), par exemple. Le nombre retourné "
+"indique le nombre d'entités réelles affectées par l'expression. Retour à "
+"l'exemple de la classe fille mappée par jointure, un effacement d'une des "
+"classes filles peut réellement entraîner des suppressions pas seulement dans "
+"la table qui mappe la classe fille, mais aussi dans la table \"racine\" et "
+"potentillement dans les tables des classes filles plus bas dans la "
+"hiérarchie d'héritage."
 
-#: index.docbook:162
+#. Tag: programlisting
+#: batch.xml:162
+#, no-c-format
 msgid ""
-      "<![CDATA[Session session = sessionFactory.openSession();\n"
-      "Transaction tx = session.beginTransaction();\n"
-      "\n"
-      "String hqlUpdate = \"update Customer c set c.name = :newName where c.name = :oldName\";\n"
-      "// or String hqlUpdate = \"update Customer set name = :newName where name = :oldName\";\n"
-      "int updatedEntities = s.createQuery( hqlUpdate )\n"
-      "        .setString( \"newName\", newName )\n"
-      "        .setString( \"oldName\", oldName )\n"
-      "        .executeUpdate();\n"
-      "tx.commit();\n"
-      "session.close();]]>"
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+"\n"
+"String hqlUpdate = \"update Customer c set c.name = :newName where c.name = :"
+"oldName\";\n"
+"// or String hqlUpdate = \"update Customer set name = :newName where name = :"
+"oldName\";\n"
+"int updatedEntities = s.createQuery( hqlUpdate )\n"
+"        .setString( \"newName\", newName )\n"
+"        .setString( \"oldName\", oldName )\n"
+"        .executeUpdate();\n"
+"tx.commit();\n"
+"session.close();]]>"
 msgstr ""
-      "<![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();]]>"
 
-#: index.docbook:164
-msgid "HQL <literal>UPDATE</literal> statements, by default do not effect the <xref linkend=\"mapping-declaration-version\"/>version or the <xref linkend=\"mapping-declaration-timestamp\"/>timestamp property values for the affected entities; this is in keeping with the EJB3 specification. However, you can force Hibernate to properly reset the <literal>version</literal> or <literal>timestamp</literal> property values through the use of a <literal>versioned update</literal>. This is achieved by adding the <literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> keyword."
-msgstr "La valeur du <literal>int</literal> retourné par la méthode <literal>Query.executeUpdate()</literal> indique le nombre d'entités affectées par l'opération. Considérez que cela peut ou pas corréler le nombre de lignes affectés dans la base de données. Une opération HQL pourrait entraîner l'exécution de multiples expressions SQL réelles, pour des classes filles mappées par jointure (NdT: join-subclass), par exemple. Le nombre retourné indique le nombre d'entités réelles affectées par l'expression. Retour à l'exemple de la classe fille mappée par jointure, un effacement d'une des classes filles peut réellement entraîner des suppressions pas seulement dans la table qui mappe la classe fille, mais aussi dans la table \"racine\" et potentillement dans les tables des classes filles plus bas dans la hiérarchie d'héritage."
+#. Tag: para
+#: batch.xml:164
+#, no-c-format
+msgid ""
+"HQL <literal>UPDATE</literal> statements, by default do not effect the <link "
+"linkend=\"mapping-declaration-version\">version</link> or the <link linkend="
+"\"mapping-declaration-timestamp\">timestamp</link> property values for the "
+"affected entities; this is in keeping with the EJB3 specification. However, "
+"you can force Hibernate to properly reset the <literal>version</literal> or "
+"<literal>timestamp</literal> property values through the use of a "
+"<literal>versioned update</literal>. This is achieved by adding the "
+"<literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> "
+"keyword."
+msgstr ""
+"La pseudo-syntaxe pour l'expression <literal>INSERT</literal> est : "
+"<literal>INSERT INTO EntityName properties_list select_statement</literal>. "
+"Quelques points sont à noter :"
 
-#: index.docbook:174
+#. Tag: programlisting
+#: batch.xml:174
+#, no-c-format
 msgid ""
-      "<![CDATA[Session session = sessionFactory.openSession();\n"
-      "Transaction tx = session.beginTransaction();\n"
-      "String hqlVersionedUpdate = \"update versioned Customer set name = :newName where name = :oldName\";\n"
-      "int updatedEntities = s.createQuery( hqlUpdate )\n"
-      "        .setString( \"newName\", newName )\n"
-      "        .setString( \"oldName\", oldName )\n"
-      "        .executeUpdate();\n"
-      "tx.commit();\n"
-      "session.close();]]>"
-msgstr "La pseudo-syntaxe pour l'expression <literal>INSERT</literal> est : <literal>INSERT INTO EntityName properties_list select_statement</literal>. Quelques points sont à noter :"
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+"String hqlVersionedUpdate = \"update versioned Customer set name = :newName "
+"where name = :oldName\";\n"
+"int updatedEntities = s.createQuery( hqlUpdate )\n"
+"        .setString( \"newName\", newName )\n"
+"        .setString( \"oldName\", oldName )\n"
+"        .executeUpdate();\n"
+"tx.commit();\n"
+"session.close();]]>"
+msgstr ""
 
-#: index.docbook:176
-msgid "Note that custom version types (<literal>org.hibernate.usertype.UserVersionType</literal>) are not allowed in conjunction with a <literal>update versioned</literal> statement."
-msgstr "Seule la forme INSERT INTO ... SELECT ... est supportée ; pas la forme INSERT INTO ... VALUES ... ."
+#. Tag: para
+#: batch.xml:176
+#, no-c-format
+msgid ""
+"Note that custom version types (<literal>org.hibernate.usertype."
+"UserVersionType</literal>) are not allowed in conjunction with a "
+"<literal>update versioned</literal> statement."
+msgstr ""
+"Seule la forme INSERT INTO ... SELECT ... est supportée ; pas la forme "
+"INSERT INTO ... VALUES ... ."
 
-#: index.docbook:181
-msgid "To execute an HQL <literal>DELETE</literal>, use the same <literal>Query.executeUpdate()</literal> method:"
-msgstr "La properties_list est analogue à la <literal>spécification de la colonne</literal> The properties_list is analogous to the <literal>column speficiation</literal> dans l'expression SQL <literal>INSERT</literal>. Pour les entités impliquées dans un héritage mappé, seules les propriétés directement définies à ce niveau de classe donné peuvent être utilisées dans properties_list. Les propriétés de la classe mère ne sont pas permises ; et les propriétés des classes filles n'ont pas de sens. En d'autres mots, les expressions <literal>INSERT</literal> par nature non polymorphiques."
+#. Tag: para
+#: batch.xml:181
+#, no-c-format
+msgid ""
+"To execute an HQL <literal>DELETE</literal>, use the same <literal>Query."
+"executeUpdate()</literal> method:"
+msgstr ""
+"La properties_list est analogue à la <literal>spécification de la colonne</"
+"literal> The properties_list is analogous to the <literal>column "
+"speficiation</literal> dans l'expression SQL <literal>INSERT</literal>. Pour "
+"les entités impliquées dans un héritage mappé, seules les propriétés "
+"directement définies à ce niveau de classe donné peuvent être utilisées dans "
+"properties_list. Les propriétés de la classe mère ne sont pas permises ; et "
+"les propriétés des classes filles n'ont pas de sens. En d'autres mots, les "
+"expressions <literal>INSERT</literal> par nature non polymorphiques."
 
-#: index.docbook:186
+#. Tag: programlisting
+#: batch.xml:186
+#, no-c-format
 msgid ""
-      "<![CDATA[Session session = sessionFactory.openSession();\n"
-      "Transaction tx = session.beginTransaction();\n"
-      "\n"
-      "String hqlDelete = \"delete Customer c where c.name = :oldName\";\n"
-      "// or String hqlDelete = \"delete Customer where name = :oldName\";\n"
-      "int deletedEntities = s.createQuery( hqlDelete )\n"
-      "        .setString( \"oldName\", oldName )\n"
-      "        .executeUpdate();\n"
-      "tx.commit();\n"
-      "session.close();]]>"
-msgstr "select_statement peut être n'importe quelle requête de sélection HQl valide, avec l'avertissement que les types de retour doivent correspondre aux types attendus par l'insertion. Actuellement, c'est vérifié durant la compilation de la requête plutôt que la vérification soit reléguée à la base de données. Notez cependant que cela pourrait poser des problèmes entre les <literal>Type</literal>s d'Hibernate qui sont <emphasis>équivalents</emphasis> opposé à <emphasis>égaux</emphasis>. Cela pourrait poser des problèmes avec des disparités entre une propriété définie comme un <literal>org.hibernate.type.DateType</literal> et une propriété définie comme un <literal>org.hibernate.type.TimestampType</literal>, même si la base de données ne ferait pas de distinction ou ne serait pas capable de gérer la conversion."
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+"\n"
+"String hqlDelete = \"delete Customer c where c.name = :oldName\";\n"
+"// or String hqlDelete = \"delete Customer where name = :oldName\";\n"
+"int deletedEntities = s.createQuery( hqlDelete )\n"
+"        .setString( \"oldName\", oldName )\n"
+"        .executeUpdate();\n"
+"tx.commit();\n"
+"session.close();]]>"
+msgstr ""
 
-#: index.docbook:188
-msgid "The <literal>int</literal> value returned by the <literal>Query.executeUpdate()</literal> method indicate the number of entities effected by the operation. Consider this may or may not correlate to the number of rows effected in the database. An HQL bulk operation might result in multiple actual SQL statements being executed, for joined-subclass, for example. The returned number indicates the number of actual entities affected by the statement. Going back to the example of joined-subclass, a delete against one of the subclasses may actually result in deletes against not just the table to which that subclass is mapped, but also the \"root\" table and potentially joined-subclass tables further down the inheritence hierarchy."
-msgstr "Pour la propriéte id, l'expression d'insertion vous donne deux options. Vous pouvez soit spécifier explicitement la propriété id dans properties_list (auquel cas sa valeur est extraite de l'expression de sélection correspondante), soit l'omettre de properties_list (auquel cas une valeur générée est utilisée). Cette dernière option est seulement disponible en utilisant le générateur d'identifiant qui opère dans la base de données ; tenter d'utiliser cette option avec n'importe quel type de générateur \"en mémoire\" causera une exception durant l'analyse. Notez que pour les buts de cette discussion, les générateurs \"en base\" sont considérés être <literal>org.hibernate.id.SequenceGenerator</literal> (et ses classes filles) et n'importe quelles implémentations de <literal>org.hibernate.id.PostInsertIdentifierGenerator</literal>. L'exception la plus notable ici est <literal>org.hibernate.id.TableHiLoGenerator</literal>, qu ne peut pas être utili!
 sée parce qu'il ne propose pas un moyen de d'exposer ses valeurs par un select."
+#. Tag: para
+#: batch.xml:188
+#, no-c-format
+msgid ""
+"The <literal>int</literal> value returned by the <literal>Query.executeUpdate"
+"()</literal> method indicate the number of entities effected by the "
+"operation. Consider this may or may not correlate to the number of rows "
+"effected in the database. An HQL bulk operation might result in multiple "
+"actual SQL statements being executed, for joined-subclass, for example. The "
+"returned number indicates the number of actual entities affected by the "
+"statement. Going back to the example of joined-subclass, a delete against "
+"one of the subclasses may actually result in deletes against not just the "
+"table to which that subclass is mapped, but also the \"root\" table and "
+"potentially joined-subclass tables further down the inheritence hierarchy."
+msgstr ""
+"select_statement peut être n'importe quelle requête de sélection HQl valide, "
+"avec l'avertissement que les types de retour doivent correspondre aux types "
+"attendus par l'insertion. Actuellement, c'est vérifié durant la compilation "
+"de la requête plutôt que la vérification soit reléguée à la base de données. "
+"Notez cependant que cela pourrait poser des problèmes entre les "
+"<literal>Type</literal>s d'Hibernate qui sont <emphasis>équivalents</"
+"emphasis> opposé à <emphasis>égaux</emphasis>. Cela pourrait poser des "
+"problèmes avec des disparités entre une propriété définie comme un "
+"<literal>org.hibernate.type.DateType</literal> et une propriété définie "
+"comme un <literal>org.hibernate.type.TimestampType</literal>, même si la "
+"base de données ne ferait pas de distinction ou ne serait pas capable de "
+"gérer la conversion."
 
-#: index.docbook:199
-msgid "The pseudo-syntax for <literal>INSERT</literal> statements is: <literal>INSERT INTO EntityName properties_list select_statement</literal>. Some points to note:"
-msgstr "Pour des propriétés mappées comme <literal>version</literal> ou <literal>timestamp</literal>, l'expression d'insertion vous donne deux options. Vous pouvez soit spécifier la propriété dans properties_list (auquel cas sa valeur est extraite des expressions select correspondantes), soit l'omettre de properties_list (auquel cas la <literal>valeur de graine</literal> (NdT : seed value) définie par le <literal>org.hibernate.type.VersionType</literal> est utilisée)."
+#. Tag: para
+#: batch.xml:199
+#, no-c-format
+msgid ""
+"The pseudo-syntax for <literal>INSERT</literal> statements is: "
+"<literal>INSERT INTO EntityName properties_list select_statement</literal>. "
+"Some points to note:"
+msgstr ""
+"Pour la propriéte id, l'expression d'insertion vous donne deux options. Vous "
+"pouvez soit spécifier explicitement la propriété id dans properties_list "
+"(auquel cas sa valeur est extraite de l'expression de sélection "
+"correspondante), soit l'omettre de properties_list (auquel cas une valeur "
+"générée est utilisée). Cette dernière option est seulement disponible en "
+"utilisant le générateur d'identifiant qui opère dans la base de données ; "
+"tenter d'utiliser cette option avec n'importe quel type de générateur \"en "
+"mémoire\" causera une exception durant l'analyse. Notez que pour les buts de "
+"cette discussion, les générateurs \"en base\" sont considérés être "
+"<literal>org.hibernate.id.SequenceGenerator</literal> (et ses classes "
+"filles) et n'importe quelles implémentations de <literal>org.hibernate.id."
+"PostInsertIdentifierGenerator</literal>. L'exception la plus notable ici est "
+"<literal>org.hibernate.id.TableHiLoGenerator</literal>, qu ne peut pas être "
+"utilisée parce qu'il ne propose pas un moyen de d'exposer ses valeurs par un "
+"select."
 
-#: index.docbook:207
-msgid "Only the INSERT INTO ... SELECT ... form is supported; not the INSERT INTO ... VALUES ... form."
-msgstr "Un exemple d'exécution d'une expression <literal>INSERT</literal> HQL :"
-
-#: index.docbook:210
-msgid "The properties_list is analogous to the <literal>column speficiation</literal> in the SQL <literal>INSERT</literal> statement. For entities involved in mapped inheritence, only properties directly defined on that given class-level can be used in the properties_list. Superclass properties are not allowed; and subclass properties do not make sense. In other words, <literal>INSERT</literal> statements are inherently non-polymorphic."
+#. Tag: para
+#: batch.xml:207
+#, no-c-format
+msgid ""
+"Only the INSERT INTO ... SELECT ... form is supported; not the INSERT "
+"INTO ... VALUES ... form."
 msgstr ""
-      "<![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();]]>"
+"Pour des propriétés mappées comme <literal>version</literal> ou "
+"<literal>timestamp</literal>, l'expression d'insertion vous donne deux "
+"options. Vous pouvez soit spécifier la propriété dans properties_list "
+"(auquel cas sa valeur est extraite des expressions select correspondantes), "
+"soit l'omettre de properties_list (auquel cas la <literal>valeur de graine</"
+"literal> (NdT : seed value) définie par le <literal>org.hibernate.type."
+"VersionType</literal> est utilisée)."
 
-#: index.docbook:220
-msgid "select_statement can be any valid HQL select query, with the caveat that the return types must match the types expected by the insert. Currently, this is checked during query compilation rather than allowing the check to relegate to the database. Note however that this might cause problems between Hibernate <literal>Type</literal>s which are <emphasis>equivalent</emphasis> as opposed to <emphasis>equal</emphasis>. This might cause issues with mismatches between a property defined as a <literal>org.hibernate.type.DateType</literal> and a property defined as a <literal>org.hibernate.type.TimestampType</literal>, even though the database might not make a distinction or might be able to handle the conversion."
+#. Tag: para
+#: batch.xml:210
+#, no-c-format
+msgid ""
+"The properties_list is analogous to the <literal>column speficiation</"
+"literal> in the SQL <literal>INSERT</literal> statement. For entities "
+"involved in mapped inheritence, only properties directly defined on that "
+"given class-level can be used in the properties_list. Superclass properties "
+"are not allowed; and subclass properties do not make sense. In other words, "
+"<literal>INSERT</literal> statements are inherently non-polymorphic."
 msgstr ""
+"Un exemple d'exécution d'une expression <literal>INSERT</literal> HQL :"
 
-#: index.docbook:232
-msgid "For the id property, the insert statement gives you two options. You can either explicitly specify the id property in the properties_list (in which case its value is taken from the corresponding select expression) or omit it from the properties_list (in which case a generated value is used). This later option is only available when using id generators that operate in the database; attempting to use this option with any \"in memory\" type generators will cause an exception during parsing. Note that for the purposes of this discussion, in-database generators are considered to be <literal>org.hibernate.id.SequenceGenerator</literal> (and its subclasses) and any implementors of <literal>org.hibernate.id.PostInsertIdentifierGenerator</literal>. The most notable exception here is <literal>org.hibernate.id.TableHiLoGenerator</literal>, which cannot be used because it does not expose a selectable way to get its values."
+#. Tag: para
+#: batch.xml:220
+#, no-c-format
+msgid ""
+"select_statement can be any valid HQL select query, with the caveat that the "
+"return types must match the types expected by the insert. Currently, this is "
+"checked during query compilation rather than allowing the check to relegate "
+"to the database. Note however that this might cause problems between "
+"Hibernate <literal>Type</literal>s which are <emphasis>equivalent</emphasis> "
+"as opposed to <emphasis>equal</emphasis>. This might cause issues with "
+"mismatches between a property defined as a <literal>org.hibernate.type."
+"DateType</literal> and a property defined as a <literal>org.hibernate.type."
+"TimestampType</literal>, even though the database might not make a "
+"distinction or might be able to handle the conversion."
+msgstr "translator-credits"
+
+#. Tag: para
+#: batch.xml:232
+#, no-c-format
+msgid ""
+"For the id property, the insert statement gives you two options. You can "
+"either explicitly specify the id property in the properties_list (in which "
+"case its value is taken from the corresponding select expression) or omit it "
+"from the properties_list (in which case a generated value is used). This "
+"later option is only available when using id generators that operate in the "
+"database; attempting to use this option with any \"in memory\" type "
+"generators will cause an exception during parsing. Note that for the "
+"purposes of this discussion, in-database generators are considered to be "
+"<literal>org.hibernate.id.SequenceGenerator</literal> (and its subclasses) "
+"and any implementors of <literal>org.hibernate.id."
+"PostInsertIdentifierGenerator</literal>. The most notable exception here is "
+"<literal>org.hibernate.id.TableHiLoGenerator</literal>, which cannot be used "
+"because it does not expose a selectable way to get its values."
 msgstr ""
 
-#: index.docbook:247
-msgid "For properties mapped as either <literal>version</literal> or <literal>timestamp</literal>, the insert statement gives you two options. You can either specify the property in the properties_list (in which case its value is taken from the corresponding select expressions) or omit it from the properties_list (in which case the <literal>seed value</literal> defined by the <literal>org.hibernate.type.VersionType</literal> is used)."
+#. Tag: para
+#: batch.xml:247
+#, no-c-format
+msgid ""
+"For properties mapped as either <literal>version</literal> or "
+"<literal>timestamp</literal>, the insert statement gives you two options. "
+"You can either specify the property in the properties_list (in which case "
+"its value is taken from the corresponding select expressions) or omit it "
+"from the properties_list (in which case the <literal>seed value</literal> "
+"defined by the <literal>org.hibernate.type.VersionType</literal> is used)."
 msgstr ""
 
-#: index.docbook:257
+#. Tag: para
+#: batch.xml:257
+#, no-c-format
 msgid "An example HQL <literal>INSERT</literal> statement execution:"
 msgstr ""
 
-#: index.docbook:261
+#. Tag: programlisting
+#: batch.xml:261
+#, no-c-format
 msgid ""
-      "<![CDATA[Session session = sessionFactory.openSession();\n"
-      "Transaction tx = session.beginTransaction();\n"
-      "\n"
-      "String hqlInsert = \"insert into DelinquentAccount (id, name) select c.id, c.name from Customer c where ...\";\n"
-      "int createdEntities = s.createQuery( hqlInsert )\n"
-      "        .executeUpdate();\n"
-      "tx.commit();\n"
-      "session.close();]]>"
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+"\n"
+"String hqlInsert = \"insert into DelinquentAccount (id, name) select c.id, c."
+"name from Customer c where ...\";\n"
+"int createdEntities = s.createQuery( hqlInsert )\n"
+"        .executeUpdate();\n"
+"tx.commit();\n"
+"session.close();]]>"
 msgstr ""
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-

Modified: core/trunk/documentation/manual/translations/fr-FR/content/best_practices.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/best_practices.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/best_practices.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,168 +1,466 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: best_practices.xml:5
+#, no-c-format
 msgid "Best Practices"
 msgstr "Meilleures pratiques"
 
-#: index.docbook:9
-msgid "Write fine-grained classes and map them using <literal>&lt;component&gt;</literal>."
-msgstr "Découpez finement vos classes et mappez les en utilisant <literal>&lt;component&gt;</literal>."
+#. Tag: term
+#: best_practices.xml:9
+#, no-c-format
+msgid ""
+"Write fine-grained classes and map them using <literal>&lt;component&gt;</"
+"literal>."
+msgstr ""
+"Découpez finement vos classes et mappez les en utilisant <literal>&lt;"
+"component&gt;</literal>."
 
-#: index.docbook:11
-msgid "Use an <literal>Address</literal> class to encapsulate <literal>street</literal>, <literal>suburb</literal>, <literal>state</literal>, <literal>postcode</literal>. This encourages code reuse and simplifies refactoring."
-msgstr "Utilisez une classe <literal>Adresse</literal> pour encapsuler <literal>Rue</literal>, <literal>Region</literal>, <literal>CodePostal</literal>. Ceci permet la réutilisation du code et simplifie la maintenance."
+#. Tag: para
+#: best_practices.xml:11
+#, no-c-format
+msgid ""
+"Use an <literal>Address</literal> class to encapsulate <literal>street</"
+"literal>, <literal>suburb</literal>, <literal>state</literal>, "
+"<literal>postcode</literal>. This encourages code reuse and simplifies "
+"refactoring."
+msgstr ""
+"Utilisez une classe <literal>Adresse</literal> pour encapsuler <literal>Rue</"
+"literal>, <literal>Region</literal>, <literal>CodePostal</literal>. Ceci "
+"permet la réutilisation du code et simplifie la maintenance."
 
-#: index.docbook:19
+#. Tag: term
+#: best_practices.xml:19
+#, no-c-format
 msgid "Declare identifier properties on persistent classes."
 msgstr "Déclarez des propriétés d'identifiants dans les classes persistantes."
 
-#: index.docbook:21
-msgid "Hibernate makes identifier properties optional. There are all sorts of reasons why you should use them. We recommend that identifiers be 'synthetic' (generated, with no business meaning)."
-msgstr "Hibernate rend les propriétés d'identifiants optionnelles. Il existe beaucoup de raisons pour lesquelles vous devriez les utiliser. Nous recommandons que vous utilisiez des identifiants techniques (générés, et sans connotation métier)."
+#. Tag: para
+#: best_practices.xml:21
+#, no-c-format
+msgid ""
+"Hibernate makes identifier properties optional. There are all sorts of "
+"reasons why you should use them. We recommend that identifiers be "
+"'synthetic' (generated, with no business meaning)."
+msgstr ""
+"Hibernate rend les propriétés d'identifiants optionnelles. Il existe "
+"beaucoup de raisons pour lesquelles vous devriez les utiliser. Nous "
+"recommandons que vous utilisiez des identifiants techniques (générés, et "
+"sans connotation métier)."
 
-#: index.docbook:29
+#. Tag: term
+#: best_practices.xml:29
+#, no-c-format
 msgid "Identify natural keys."
 msgstr "Identifiez les clefs naturelles."
 
-#: index.docbook:31
-msgid "Identify natural keys for all entities, and map them using <literal>&lt;natural-id&gt;</literal>. Implement <literal>equals()</literal> and <literal>hashCode()</literal> to compare the properties that make up the natural key."
-msgstr "Identifiez les clefs naturelles pour toutes les entités, et mappez les avec <literal>&lt;natural-id&gt;</literal>. Implémentez <literal>equals()</literal> et <literal>hashCode()</literal> pour comparer les propriétés qui composent la clef naturelle."
+#. Tag: para
+#: best_practices.xml:31
+#, no-c-format
+msgid ""
+"Identify natural keys for all entities, and map them using <literal>&lt;"
+"natural-id&gt;</literal>. Implement <literal>equals()</literal> and "
+"<literal>hashCode()</literal> to compare the properties that make up the "
+"natural key."
+msgstr ""
+"Identifiez les clefs naturelles pour toutes les entités, et mappez les avec "
+"<literal>&lt;natural-id&gt;</literal>. Implémentez <literal>equals()</"
+"literal> et <literal>hashCode()</literal> pour comparer les propriétés qui "
+"composent la clef naturelle."
 
-#: index.docbook:39
+#. Tag: term
+#: best_practices.xml:39
+#, no-c-format
 msgid "Place each class mapping in its own file."
 msgstr "Placez chaque mapping de classe dans son propre fichier."
 
-#: index.docbook:41
-msgid "Don't use a single monolithic mapping document. Map <literal>com.eg.Foo</literal> in the file <literal>com/eg/Foo.hbm.xml</literal>. This makes particularly good sense in a team environment."
-msgstr "N'utilisez pas un unique document de mapping. Mappez <literal>com.eg.Foo</literal> dans le fichier <literal>com/eg/Foo.hbm.xml</literal>. Cela prend tout son sens lors d'un travail en équipe."
+#. Tag: para
+#: best_practices.xml:41
+#, no-c-format
+msgid ""
+"Don't use a single monolithic mapping document. Map <literal>com.eg.Foo</"
+"literal> in the file <literal>com/eg/Foo.hbm.xml</literal>. This makes "
+"particularly good sense in a team environment."
+msgstr ""
+"N'utilisez pas un unique document de mapping. Mappez <literal>com.eg.Foo</"
+"literal> dans le fichier <literal>com/eg/Foo.hbm.xml</literal>. Cela prend "
+"tout son sens lors d'un travail en équipe."
 
-#: index.docbook:49
+#. Tag: term
+#: best_practices.xml:49
+#, no-c-format
 msgid "Load mappings as resources."
 msgstr "Chargez les mappings comme des ressources."
 
-#: index.docbook:51
+#. Tag: para
+#: best_practices.xml:51
+#, no-c-format
 msgid "Deploy the mappings along with the classes they map."
 msgstr "Déployez les mappings en même temps que les classes qu'ils mappent."
 
-#: index.docbook:57
+#. Tag: term
+#: best_practices.xml:57
+#, no-c-format
 msgid "Consider externalising query strings."
 msgstr "Pensez à externaliser les chaînes de caractères."
 
-#: index.docbook:59
-msgid "This is a good practice if your queries call non-ANSI-standard SQL functions. Externalising the query strings to mapping files will make the application more portable."
-msgstr "Ceci est une bonne habitude si vos requêtes appellent des fonctions SQL qui ne sont pas au standard ANSI. Cette externalisation dans les fichiers de mapping rendra votre application plus portable."
+#. Tag: para
+#: best_practices.xml:59
+#, no-c-format
+msgid ""
+"This is a good practice if your queries call non-ANSI-standard SQL "
+"functions. Externalising the query strings to mapping files will make the "
+"application more portable."
+msgstr ""
+"Ceci est une bonne habitude si vos requêtes appellent des fonctions SQL qui "
+"ne sont pas au standard ANSI. Cette externalisation dans les fichiers de "
+"mapping rendra votre application plus portable."
 
-#: index.docbook:67
+#. Tag: term
+#: best_practices.xml:67
+#, no-c-format
 msgid "Use bind variables."
 msgstr "Utilisez les variables \"bindées\"."
 
-#: index.docbook:69
-msgid "As in JDBC, always replace non-constant values by \"?\". Never use string manipulation to bind a non-constant value in a query! Even better, consider using named parameters in queries."
-msgstr "Comme en JDBC, remplacez toujours les valeurs non constantes par \"?\". N'utilisez jamais la manipulation des chaînes de caractères pour remplacer des valeurs non constantes dans une requête ! Encore mieux, utilisez les paramètres nommés dans les requêtes."
+#. Tag: para
+#: best_practices.xml:69
+#, no-c-format
+msgid ""
+"As in JDBC, always replace non-constant values by \"?\". Never use string "
+"manipulation to bind a non-constant value in a query! Even better, consider "
+"using named parameters in queries."
+msgstr ""
+"Comme en JDBC, remplacez toujours les valeurs non constantes par \"?\". "
+"N'utilisez jamais la manipulation des chaînes de caractères pour remplacer "
+"des valeurs non constantes dans une requête ! Encore mieux, utilisez les "
+"paramètres nommés dans les requêtes."
 
-#: index.docbook:77
+#. Tag: term
+#: best_practices.xml:77
+#, no-c-format
 msgid "Don't manage your own JDBC connections."
 msgstr "Ne gérez pas vous même les connexions JDBC."
 
-#: index.docbook:79
-msgid "Hibernate lets the application manage JDBC connections. This approach should be considered a last-resort. If you can't use the built-in connections providers, consider providing your own implementation of <literal>org.hibernate.connection.ConnectionProvider</literal>."
-msgstr "Hibernate laisse l'application gérer les connexions JDBC. Vous ne devriez gérer vos connexions qu'en dernier recours. Si vous ne pouvez pas utiliser les systèmes de connexions livrés, réfléchissez à l'idée de fournir votre propre implémentation de <literal>org.hibernate.connection.ConnectionProvider</literal>."
+#. Tag: para
+#: best_practices.xml:79
+#, no-c-format
+msgid ""
+"Hibernate lets the application manage JDBC connections. This approach should "
+"be considered a last-resort. If you can't use the built-in connections "
+"providers, consider providing your own implementation of <literal>org."
+"hibernate.connection.ConnectionProvider</literal>."
+msgstr ""
+"Hibernate laisse l'application gérer les connexions JDBC. Vous ne devriez "
+"gérer vos connexions qu'en dernier recours. Si vous ne pouvez pas utiliser "
+"les systèmes de connexions livrés, réfléchissez à l'idée de fournir votre "
+"propre implémentation de <literal>org.hibernate.connection."
+"ConnectionProvider</literal>."
 
-#: index.docbook:87
+#. Tag: term
+#: best_practices.xml:87
+#, no-c-format
 msgid "Consider using a custom type."
 msgstr "Pensez à utiliser les types utilisateurs."
 
-#: index.docbook:89
-msgid "Suppose you have a Java type, say from some library, that needs to be persisted but doesn't provide the accessors needed to map it as a component. You should consider implementing <literal>org.hibernate.UserType</literal>. This approach frees the application code from implementing transformations to / from a Hibernate type."
-msgstr "Supposez que vous ayez une type Java, de telle bibliothèque, qui a besoin d'être persisté mais qui ne fournit pas les accesseurs nécessaires pour le mapper comme composant. Vous devriez implémenter <literal>org.hibernate.UserType</literal>.Cette approche libère le code de l'application de l'implémentation des transformations vers / depuis les types Hibernate."
+#. Tag: para
+#: best_practices.xml:89
+#, no-c-format
+msgid ""
+"Suppose you have a Java type, say from some library, that needs to be "
+"persisted but doesn't provide the accessors needed to map it as a component. "
+"You should consider implementing <literal>org.hibernate.UserType</literal>. "
+"This approach frees the application code from implementing transformations "
+"to / from a Hibernate type."
+msgstr ""
+"Supposez que vous ayez une type Java, de telle bibliothèque, qui a besoin "
+"d'être persisté mais qui ne fournit pas les accesseurs nécessaires pour le "
+"mapper comme composant. Vous devriez implémenter <literal>org.hibernate."
+"UserType</literal>.Cette approche libère le code de l'application de "
+"l'implémentation des transformations vers / depuis les types Hibernate."
 
-#: index.docbook:98
+#. Tag: term
+#: best_practices.xml:98
+#, no-c-format
 msgid "Use hand-coded JDBC in bottlenecks."
 msgstr "Utilisez du JDBC pur dans les goulets d'étranglement."
 
-#: index.docbook:100
-msgid "In performance-critical areas of the system, some kinds of operations might benefit from direct JDBC. But please, wait until you <emphasis>know</emphasis> something is a bottleneck. And don't assume that direct JDBC is necessarily faster. If you need to use direct JDBC, it might be worth opening a Hibernate <literal>Session</literal> and using that JDBC connection. That way you can still use the same transaction strategy and underlying connection provider."
-msgstr "Dans certaines parties critiques de votre système d'un point de vue performance, quelques opérations peuvent tirer partie d'un appel JDBC natif. Mais attendez de <emphasis>savoir</emphasis> que c'est un goulet d'étranglement. Ne supposez jamais qu'un appel JDBC sera forcément plus rapide. Si vous avez besoin d'utiliser JDBC directement, ouvrez une <literal>Session</literal> Hibernate et utilisez la connexion SQL sous-jacente. Ainsi vous pourrez utiliser la même stratégie de transation et la même gestion des connexions."
+#. Tag: para
+#: best_practices.xml:100
+#, no-c-format
+msgid ""
+"In performance-critical areas of the system, some kinds of operations might "
+"benefit from direct JDBC. But please, wait until you <emphasis>know</"
+"emphasis> something is a bottleneck. And don't assume that direct JDBC is "
+"necessarily faster. If you need to use direct JDBC, it might be worth "
+"opening a Hibernate <literal>Session</literal> and using that JDBC "
+"connection. That way you can still use the same transaction strategy and "
+"underlying connection provider."
+msgstr ""
+"Dans certaines parties critiques de votre système d'un point de vue "
+"performance, quelques opérations peuvent tirer partie d'un appel JDBC natif. "
+"Mais attendez de <emphasis>savoir</emphasis> que c'est un goulet "
+"d'étranglement. Ne supposez jamais qu'un appel JDBC sera forcément plus "
+"rapide. Si vous avez besoin d'utiliser JDBC directement, ouvrez une "
+"<literal>Session</literal> Hibernate et utilisez la connexion SQL sous-"
+"jacente. Ainsi vous pourrez utiliser la même stratégie de transation et la "
+"même gestion des connexions."
 
-#: index.docbook:110
+#. Tag: term
+#: best_practices.xml:110
+#, no-c-format
 msgid "Understand <literal>Session</literal> flushing."
 msgstr "Comprendre le flush de <literal>Session</literal>."
 
-#: index.docbook:112
-msgid "From time to time the Session synchronizes its persistent state with the database. Performance will be affected if this process occurs too often. You may sometimes minimize unnecessary flushing by disabling automatic flushing or even by changing the order of queries and other operations within a particular transaction."
-msgstr "De temps en temps la Session synchronise ses états persistants avec la base de données. Les performances seront affectées si ce processus arrive trop souvent. Vous pouvez parfois minimiser les flush non nécessaires en désactivant le flush automatique ou même en changeant l'ordre des opérations menées dans une transaction particulière."
+#. Tag: para
+#: best_practices.xml:112
+#, no-c-format
+msgid ""
+"From time to time the Session synchronizes its persistent state with the "
+"database. Performance will be affected if this process occurs too often. You "
+"may sometimes minimize unnecessary flushing by disabling automatic flushing "
+"or even by changing the order of queries and other operations within a "
+"particular transaction."
+msgstr ""
+"De temps en temps la Session synchronise ses états persistants avec la base "
+"de données. Les performances seront affectées si ce processus arrive trop "
+"souvent. Vous pouvez parfois minimiser les flush non nécessaires en "
+"désactivant le flush automatique ou même en changeant l'ordre des opérations "
+"menées dans une transaction particulière."
 
-#: index.docbook:121
+#. Tag: term
+#: best_practices.xml:121
+#, no-c-format
 msgid "In a three tiered architecture, consider using detached objects."
-msgstr "Dans une architecture à trois couches, pensez à utiliser <literal>saveOrUpdate()</literal>."
+msgstr ""
+"Dans une architecture à trois couches, pensez à utiliser "
+"<literal>saveOrUpdate()</literal>."
 
-#: index.docbook:123
-msgid "When using a servlet / session bean architecture, you could pass persistent objects loaded in the session bean to and from the servlet / JSP layer. Use a new session to service each request. Use <literal>Session.merge()</literal> or <literal>Session.saveOrUpdate()</literal> to synchronize objects with the database."
-msgstr "Quand vous utilisez une architecture à base de servlet / session bean, vous pourriez passer des objets chargés dans le bean session vers et depuis la couche servlet / JSP. Utilisez une nouvelle session pour traiter chaque requête. Utilisez <literal>Session.merge()</literal> ou <literal>Session.saveOrUpdate()</literal> pour synchroniser les objets avec la base de données."
+#. Tag: para
+#: best_practices.xml:123
+#, no-c-format
+msgid ""
+"When using a servlet / session bean architecture, you could pass persistent "
+"objects loaded in the session bean to and from the servlet / JSP layer. Use "
+"a new session to service each request. Use <literal>Session.merge()</"
+"literal> or <literal>Session.saveOrUpdate()</literal> to synchronize objects "
+"with the database."
+msgstr ""
+"Quand vous utilisez une architecture à base de servlet / session bean, vous "
+"pourriez passer des objets chargés dans le bean session vers et depuis la "
+"couche servlet / JSP. Utilisez une nouvelle session pour traiter chaque "
+"requête. Utilisez <literal>Session.merge()</literal> ou <literal>Session."
+"saveOrUpdate()</literal> pour synchroniser les objets avec la base de "
+"données."
 
-#: index.docbook:132
+#. Tag: term
+#: best_practices.xml:132
+#, no-c-format
 msgid "In a two tiered architecture, consider using long persistence contexts."
-msgstr "Dans une architecture à deux couches, pensez à utiliser la déconnexion de session."
+msgstr ""
+"Dans une architecture à deux couches, pensez à utiliser la déconnexion de "
+"session."
 
-#: index.docbook:134
-msgid "Database Transactions have to be as short as possible for best scalability. However, it is often neccessary to implement long running <emphasis>application transactions</emphasis>, a single unit-of-work from the point of view of a user. An application transaction might span several client request/response cycles. It is common to use detached objects to implement application transactions. An alternative, extremely appropriate in two tiered architecture, is to maintain a single open persistence contact (session) for the whole life cycle of the application transaction and simply disconnect from the JDBC connection at the end of each request and reconnect at the beginning of the subsequent request. Never share a single session across more than one application transaction, or you will be working with stale data."
-msgstr "Les transactions de bases de données doivent être aussi courtes que possible pour une meilleure montée en charge.Cependant, il est souvent nécessaire d'implémenter de longues <emphasis>transactions applicatives</emphasis>, une simple unité de travail du point de vue de l'utilisateur. Une transaction applicative peut s'étaler sur plusieurs cycles de requêtes/réponses du client. Il est commun d'utiliser des objets détachés pour implémenter des transactions applicatives. Une alternative, extrêmement appropriée dans une architecture à 2 couches, est de maintenir un seul contact de persistance ouvert (session) pour toute la durée de vie de la transaction applicative et simplement se déconnecter de la connexion JDBC à la fin de chaque requête, et se reconnecter au début de la requête suivante. Ne partagez jamais une seule session avec plus d'une transaction applicative, ou vous travaillerez avec des données périmées."
+#. Tag: para
+#: best_practices.xml:134
+#, no-c-format
+msgid ""
+"Database Transactions have to be as short as possible for best scalability. "
+"However, it is often neccessary to implement long running "
+"<emphasis>application transactions</emphasis>, a single unit-of-work from "
+"the point of view of a user. An application transaction might span several "
+"client request/response cycles. It is common to use detached objects to "
+"implement application transactions. An alternative, extremely appropriate in "
+"two tiered architecture, is to maintain a single open persistence contact "
+"(session) for the whole life cycle of the application transaction and simply "
+"disconnect from the JDBC connection at the end of each request and reconnect "
+"at the beginning of the subsequent request. Never share a single session "
+"across more than one application transaction, or you will be working with "
+"stale data."
+msgstr ""
+"Les transactions de bases de données doivent être aussi courtes que possible "
+"pour une meilleure montée en charge.Cependant, il est souvent nécessaire "
+"d'implémenter de longues <emphasis>transactions applicatives</emphasis>, une "
+"simple unité de travail du point de vue de l'utilisateur. Une transaction "
+"applicative peut s'étaler sur plusieurs cycles de requêtes/réponses du "
+"client. Il est commun d'utiliser des objets détachés pour implémenter des "
+"transactions applicatives. Une alternative, extrêmement appropriée dans une "
+"architecture à 2 couches, est de maintenir un seul contact de persistance "
+"ouvert (session) pour toute la durée de vie de la transaction applicative et "
+"simplement se déconnecter de la connexion JDBC à la fin de chaque requête, "
+"et se reconnecter au début de la requête suivante. Ne partagez jamais une "
+"seule session avec plus d'une transaction applicative, ou vous travaillerez "
+"avec des données périmées."
 
-#: index.docbook:148
+#. Tag: term
+#: best_practices.xml:148
+#, no-c-format
 msgid "Don't treat exceptions as recoverable."
 msgstr "Considérez que les exceptions ne sont pas rattrapables."
 
-#: index.docbook:150
-msgid "This is more of a necessary practice than a \"best\" practice. When an exception occurs, roll back the <literal>Transaction</literal> and close the <literal>Session</literal>. If you don't, Hibernate can't guarantee that in-memory state accurately represents persistent state. As a special case of this, do not use <literal>Session.load()</literal> to determine if an instance with the given identifier exists on the database; use <literal>Session.get()</literal> or a query instead."
-msgstr "Il s'agit plus d'une pratique obligatoire que d'une \"meilleure pratique\". Quand une exception intervient, il faut faire un rollback de la <literal>Transaction</literal> et fermer la <literal>Session</literal>. Sinon, Hibernate ne peut garantir l'intégrité des états persistants en mémoire. En particulier, n'utilisez pas <literal>Session.load()</literal> pour déterminer si une instance avec un identifiant donné existe en base de données, utilisez <literal>Session.get()</literal> ou un requête."
+#. Tag: para
+#: best_practices.xml:150
+#, no-c-format
+msgid ""
+"This is more of a necessary practice than a \"best\" practice. When an "
+"exception occurs, roll back the <literal>Transaction</literal> and close the "
+"<literal>Session</literal>. If you don't, Hibernate can't guarantee that in-"
+"memory state accurately represents persistent state. As a special case of "
+"this, do not use <literal>Session.load()</literal> to determine if an "
+"instance with the given identifier exists on the database; use "
+"<literal>Session.get()</literal> or a query instead."
+msgstr ""
+"Il s'agit plus d'une pratique obligatoire que d'une \"meilleure pratique\". "
+"Quand une exception intervient, il faut faire un rollback de la "
+"<literal>Transaction</literal> et fermer la <literal>Session</literal>. "
+"Sinon, Hibernate ne peut garantir l'intégrité des états persistants en "
+"mémoire. En particulier, n'utilisez pas <literal>Session.load()</literal> "
+"pour déterminer si une instance avec un identifiant donné existe en base de "
+"données, utilisez <literal>Session.get()</literal> ou un requête."
 
-#: index.docbook:160
+#. Tag: term
+#: best_practices.xml:160
+#, no-c-format
 msgid "Prefer lazy fetching for associations."
 msgstr "Préférez le chargement tardif des associations."
 
-#: index.docbook:162
-msgid "Use eager fetching sparingly. Use proxies and lazy collections for most associations to classes that are not likely to be completely held in the second-level cache. For associations to cached classes, where there is an a extremely high probability of a cache hit, explicitly disable eager fetching using <literal>lazy=\"false\"</literal>. When an join fetching is appropriate to a particular use case, use a query with a <literal>left join fetch</literal>."
-msgstr "Utilisez le chargement complet avec modération. Utilisez les proxies et les collections chargées tardivement pour la plupart des associations vers des classes qui ne sont pas susceptibles d'être complètement retenues dans le cache de second niveau. Pour les assocations de classes en cache, où il y a une extrêmement forte probabilité que l'élément soit en cache, désactivez explicitement le chargement par jointures ouvertes en utilisant <literal>outer-join=\"false\"</literal>. Lorsqu'un chargement par jointure ouverte est approprié pour un cas d'utilisation particulier, utilisez une requête avec un <literal>left join fetch</literal>."
+#. Tag: para
+#: best_practices.xml:162
+#, no-c-format
+msgid ""
+"Use eager fetching sparingly. Use proxies and lazy collections for most "
+"associations to classes that are not likely to be completely held in the "
+"second-level cache. For associations to cached classes, where there is an a "
+"extremely high probability of a cache hit, explicitly disable eager fetching "
+"using <literal>lazy=\"false\"</literal>. When an join fetching is "
+"appropriate to a particular use case, use a query with a <literal>left join "
+"fetch</literal>."
+msgstr ""
+"Utilisez le chargement complet avec modération. Utilisez les proxies et les "
+"collections chargées tardivement pour la plupart des associations vers des "
+"classes qui ne sont pas susceptibles d'être complètement retenues dans le "
+"cache de second niveau. Pour les assocations de classes en cache, où il y a "
+"une extrêmement forte probabilité que l'élément soit en cache, désactivez "
+"explicitement le chargement par jointures ouvertes en utilisant "
+"<literal>outer-join=\"false\"</literal>. Lorsqu'un chargement par jointure "
+"ouverte est approprié pour un cas d'utilisation particulier, utilisez une "
+"requête avec un <literal>left join fetch</literal>."
 
-#: index.docbook:172
-msgid "Use the <emphasis>open session in view</emphasis> pattern, or a disciplined <emphasis>assembly phase</emphasis> to avoid problems with unfetched data."
-msgstr "Utilisez le pattern <emphasis>d'une ouverture de session dans une vue</emphasis>, ou une <emphasis>phase d'assemblage</emphasis> disciplinée pour éviter des problèmes avec des données non rapatriées."
+#. Tag: term
+#: best_practices.xml:172
+#, no-c-format
+msgid ""
+"Use the <emphasis>open session in view</emphasis> pattern, or a disciplined "
+"<emphasis>assembly phase</emphasis> to avoid problems with unfetched data."
+msgstr ""
+"Utilisez le pattern <emphasis>d'une ouverture de session dans une vue</"
+"emphasis>, ou une <emphasis>phase d'assemblage</emphasis> disciplinée pour "
+"éviter des problèmes avec des données non rapatriées."
 
-#: index.docbook:177
-msgid "Hibernate frees the developer from writing tedious <emphasis>Data Transfer Objects</emphasis> (DTO). In a traditional EJB architecture, DTOs serve dual purposes: first, they work around the problem that entity beans are not serializable; second, they implicitly define an assembly phase where all data to be used by the view is fetched and marshalled into the DTOs before returning control to the presentation tier. Hibernate eliminates the first purpose. However, you will still need an assembly phase (think of your business methods as having a strict contract with the presentation tier about what data is available in the detached objects) unless you are prepared to hold the persistence context (the session) open across the view rendering process. This is not a limitation of Hibernate! It is a fundamental requirement of safe transactional data access."
-msgstr "Hibernate libère les développeurs de l'écriture fastidieuse des <emphasis>objets de transfert de données (NdT : Data Transfer Objects)</emphasis> (DTO). Dans une architecture EJB traditionnelle, les DTOs ont deux buts : premièrement, ils contournent le problème des \"entity bean\" qui ne sont pas sérialisables ; deuxièmement, ils définissent implicitement une phase d'assemblage où toutes les données utilisées par la vue sont rapatriées et organisées dans les DTOs avant de retourner sous le contrôle de la couche de présentation. Hibernate élimine le premier but. Pourtant, vous aurez encore besoin d'une phase d'assemblage (pensez vos méthodes métier comme ayant un contrat strict avec la couche de présentation à propos de quelles données sont disponibles dans les objets détachés) à moins que vous soyez préparés à garder le contexte de persistance (la session) ouvert à travers tout le processus de rendu de la vue."
+#. Tag: para
+#: best_practices.xml:177
+#, no-c-format
+msgid ""
+"Hibernate frees the developer from writing tedious <emphasis>Data Transfer "
+"Objects</emphasis> (DTO). In a traditional EJB architecture, DTOs serve dual "
+"purposes: first, they work around the problem that entity beans are not "
+"serializable; second, they implicitly define an assembly phase where all "
+"data to be used by the view is fetched and marshalled into the DTOs before "
+"returning control to the presentation tier. Hibernate eliminates the first "
+"purpose. However, you will still need an assembly phase (think of your "
+"business methods as having a strict contract with the presentation tier "
+"about what data is available in the detached objects) unless you are "
+"prepared to hold the persistence context (the session) open across the view "
+"rendering process. This is not a limitation of Hibernate! It is a "
+"fundamental requirement of safe transactional data access."
+msgstr ""
+"Hibernate libère les développeurs de l'écriture fastidieuse des "
+"<emphasis>objets de transfert de données (NdT : Data Transfer Objects)</"
+"emphasis> (DTO). Dans une architecture EJB traditionnelle, les DTOs ont deux "
+"buts : premièrement, ils contournent le problème des \"entity bean\" qui ne "
+"sont pas sérialisables ; deuxièmement, ils définissent implicitement une "
+"phase d'assemblage où toutes les données utilisées par la vue sont "
+"rapatriées et organisées dans les DTOs avant de retourner sous le contrôle "
+"de la couche de présentation. Hibernate élimine le premier but. Pourtant, "
+"vous aurez encore besoin d'une phase d'assemblage (pensez vos méthodes "
+"métier comme ayant un contrat strict avec la couche de présentation à propos "
+"de quelles données sont disponibles dans les objets détachés) à moins que "
+"vous soyez préparés à garder le contexte de persistance (la session) ouvert "
+"à travers tout le processus de rendu de la vue."
 
-#: index.docbook:191
+#. Tag: term
+#: best_practices.xml:191
+#, no-c-format
 msgid "Consider abstracting your business logic from Hibernate."
 msgstr "Pensez à abstraite votre logique métier d'Hibernate."
 
-#: index.docbook:193
-msgid "Hide (Hibernate) data-access code behind an interface. Combine the <emphasis>DAO</emphasis> and <emphasis>Thread Local Session</emphasis> patterns. You can even have some classes persisted by handcoded JDBC, associated to Hibernate via a <literal>UserType</literal>. (This advice is intended for \"sufficiently large\" applications; it is not appropriate for an application with five tables!)"
-msgstr "Cachez le mécanisme d'accès aux données (Hibernate) derrière une interface. Combinez les patterns <emphasis>DAO</emphasis> et <emphasis>Thread Local Session</emphasis>. Vous pouvez même avoir quelques classes persistées par du JDBC pur, associées à Hibernate via un <literal>UserType</literal> (ce conseil est valable pour des applications de taille respectables ; il n'est pas valable pour une application avec cinq tables)."
+#. Tag: para
+#: best_practices.xml:193
+#, no-c-format
+msgid ""
+"Hide (Hibernate) data-access code behind an interface. Combine the "
+"<emphasis>DAO</emphasis> and <emphasis>Thread Local Session</emphasis> "
+"patterns. You can even have some classes persisted by handcoded JDBC, "
+"associated to Hibernate via a <literal>UserType</literal>. (This advice is "
+"intended for \"sufficiently large\" applications; it is not appropriate for "
+"an application with five tables!)"
+msgstr ""
+"Cachez le mécanisme d'accès aux données (Hibernate) derrière une interface. "
+"Combinez les patterns <emphasis>DAO</emphasis> et <emphasis>Thread Local "
+"Session</emphasis>. Vous pouvez même avoir quelques classes persistées par "
+"du JDBC pur, associées à Hibernate via un <literal>UserType</literal> (ce "
+"conseil est valable pour des applications de taille respectables ; il n'est "
+"pas valable pour une application avec cinq tables)."
 
-#: index.docbook:203
+#. Tag: term
+#: best_practices.xml:203
+#, no-c-format
 msgid "Don't use exotic association mappings."
 msgstr "N'utilisez pas d'associations de mapping exotiques."
 
-#: index.docbook:205
-msgid "Good usecases for a real many-to-many associations are rare. Most of the time you need additional information stored in the \"link table\". In this case, it is much better to use two one-to-many associations to an intermediate link class. In fact, we think that most associations are one-to-many and many-to-one, you should be careful when using any other association style and ask yourself if it is really neccessary."
-msgstr "De bons cas d'utilisation pour de vraies associations plusieurs-vers-plusieurs sont rares. La plupart du temps vous avez besoin d'informations additionnelles stockées dans la table d'association. Dans ce cas, il est préférable d'utiliser deux associations un-vers-plusieurs vers une classe de liaisons intermédiaire. En fait, nous pensons que la plupart des associations sont de type un-vers-plusieurs ou plusieurs-vers-un, vous devez être très attentifs lorsque vous utilisez autre chose et vous demander si c'est vraiment nécessaire."
+#. Tag: para
+#: best_practices.xml:205
+#, no-c-format
+msgid ""
+"Good usecases for a real many-to-many associations are rare. Most of the "
+"time you need additional information stored in the \"link table\". In this "
+"case, it is much better to use two one-to-many associations to an "
+"intermediate link class. In fact, we think that most associations are one-to-"
+"many and many-to-one, you should be careful when using any other association "
+"style and ask yourself if it is really neccessary."
+msgstr ""
+"De bons cas d'utilisation pour de vraies associations plusieurs-vers-"
+"plusieurs sont rares. La plupart du temps vous avez besoin d'informations "
+"additionnelles stockées dans la table d'association. Dans ce cas, il est "
+"préférable d'utiliser deux associations un-vers-plusieurs vers une classe de "
+"liaisons intermédiaire. En fait, nous pensons que la plupart des "
+"associations sont de type un-vers-plusieurs ou plusieurs-vers-un, vous devez "
+"être très attentifs lorsque vous utilisez autre chose et vous demander si "
+"c'est vraiment nécessaire."
 
-#: index.docbook:215
+#. Tag: term
+#: best_practices.xml:215
+#, no-c-format
 msgid "Prefer bidirectional associations."
 msgstr "Préférez les associations bidirectionnelles."
 
-#: index.docbook:217
-msgid "Unidirectional associations are more difficult to query. In a large application, almost all associations must be navigable in both directions in queries."
-msgstr "Les associations unidirectionnelles sont plus difficiles à questionner. Dans une grande application, la plupart des associations devraient être navigables dans les deux directions dans les requêtes."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: best_practices.xml:217
+#, no-c-format
+msgid ""
+"Unidirectional associations are more difficult to query. In a large "
+"application, almost all associations must be navigable in both directions in "
+"queries."
+msgstr ""
+"Les associations unidirectionnelles sont plus difficiles à questionner. Dans "
+"une grande application, la plupart des associations devraient être "
+"navigables dans les deux directions dans les requêtes."

Modified: core/trunk/documentation/manual/translations/fr-FR/content/collection_mapping.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/collection_mapping.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/collection_mapping.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,1287 +1,1956 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: collection_mapping.xml:5
+#, no-c-format
 msgid "Collection Mapping"
 msgstr "Mapping des collections"
 
-#: index.docbook:8
+#. Tag: title
+#: collection_mapping.xml:8
+#, no-c-format
 msgid "Persistent collections"
 msgstr "Collections persistantes"
 
-#: index.docbook:10
-msgid "Hibernate requires that persistent collection-valued fields be declared as an interface type, for example:"
-msgstr "Hibernate requiert que les champs contenant des collections persistantes soient déclarés comme des types d'interface, par exemple :"
+#. Tag: para
+#: collection_mapping.xml:10
+#, no-c-format
+msgid ""
+"Hibernate requires that persistent collection-valued fields be declared as "
+"an interface type, for example:"
+msgstr ""
+"Hibernate requiert que les champs contenant des collections persistantes "
+"soient déclarés comme des types d'interface, par exemple :"
 
-#: index.docbook:15
+#. Tag: programlisting
+#: collection_mapping.xml:15
+#, no-c-format
 msgid ""
-      "<![CDATA[public class Product {\n"
-      "    private String serialNumber;\n"
-      "    private Set parts = new HashSet();\n"
-      "    \n"
-      "    public Set getParts() { return parts; }\n"
-      "    void setParts(Set parts) { this.parts = parts; }\n"
-      "    public String getSerialNumber() { return serialNumber; }\n"
-      "    void setSerialNumber(String sn) { serialNumber = sn; }\n"
-      "}]]>"
+"<![CDATA[public class Product {\n"
+"    private String serialNumber;\n"
+"    private Set parts = new HashSet();\n"
+"    \n"
+"    public Set getParts() { return parts; }\n"
+"    void setParts(Set parts) { this.parts = parts; }\n"
+"    public String getSerialNumber() { return serialNumber; }\n"
+"    void setSerialNumber(String sn) { serialNumber = sn; }\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[public class Product {\n"
-      "    private String serialNumber;\n"
-      "    private Set parts = new HashSet();\n"
-      "\n"
-      "    public Set getParts() { return parts; }\n"
-      "    void setParts(Set parts) { this.parts = parts; }\n"
-      "    public String getSerialNumber() { return serialNumber; }\n"
-      "    void setSerialNumber(String sn) { serialNumber = sn; }\n"
-      "}]]>"
 
-#: index.docbook:17
-msgid "The actual interface might be <literal>java.util.Set</literal>, <literal>java.util.Collection</literal>, <literal>java.util.List</literal>, <literal>java.util.Map</literal>, <literal>java.util.SortedSet</literal>, <literal>java.util.SortedMap</literal> or ... anything you like! (Where \"anything you like\" means you will have to write an implementation of <literal>org.hibernate.usertype.UserCollectionType</literal>.)"
-msgstr "L'interface réelle devrait être <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> ou ... n'importe quoi d'autre ! (Où \"n'importe quoi d'autre\" signifie que vous devrez écrire une implémentation de <literal>org.hibernate.usertype.UserCollectionType</literal>.)"
+#. Tag: para
+#: collection_mapping.xml:17
+#, no-c-format
+msgid ""
+"The actual interface might be <literal>java.util.Set</literal>, "
+"<literal>java.util.Collection</literal>, <literal>java.util.List</literal>, "
+"<literal>java.util.Map</literal>, <literal>java.util.SortedSet</literal>, "
+"<literal>java.util.SortedMap</literal> or ... anything you like! (Where "
+"\"anything you like\" means you will have to write an implementation of "
+"<literal>org.hibernate.usertype.UserCollectionType</literal>.)"
+msgstr ""
+"L'interface réelle devrait être <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> ou ... n'importe quoi d'autre ! (Où "
+"\"n'importe quoi d'autre\" signifie que vous devrez écrire une "
+"implémentation de <literal>org.hibernate.usertype.UserCollectionType</"
+"literal>.)"
 
-#: index.docbook:26
-msgid "Notice how we initialized the instance variable with an instance of <literal>HashSet</literal>. This is the best way to initialize collection valued properties of newly instantiated (non-persistent) instances. When you make the instance persistent - by calling <literal>persist()</literal>, for example - Hibernate will actually replace the <literal>HashSet</literal> with an instance of Hibernate's own implementation of <literal>Set</literal>. Watch out for errors like this:"
-msgstr "Notez comment nous avons initialisé les variables d'instance avec une instance de <literal>HashSet</literal>. C'est le meilleur moyen pour initialiser les collections d'instances nouvellement créées (non persistantes). Quand nous fabriquons l'instance persistante - en appelant <literal>persist()</literal>, par exemple - Hibernate remplacera réellement le <literal>HashSet</literal> avec une instance d'une implémentation propre à Hibernate de <literal>Set</literal>. Prenez garde aux erreurs :"
+#. Tag: para
+#: collection_mapping.xml:26
+#, no-c-format
+msgid ""
+"Notice how we initialized the instance variable with an instance of "
+"<literal>HashSet</literal>. This is the best way to initialize collection "
+"valued properties of newly instantiated (non-persistent) instances. When you "
+"make the instance persistent - by calling <literal>persist()</literal>, for "
+"example - Hibernate will actually replace the <literal>HashSet</literal> "
+"with an instance of Hibernate's own implementation of <literal>Set</"
+"literal>. Watch out for errors like this:"
+msgstr ""
+"Notez comment nous avons initialisé les variables d'instance avec une "
+"instance de <literal>HashSet</literal>. C'est le meilleur moyen pour "
+"initialiser les collections d'instances nouvellement créées (non "
+"persistantes). Quand nous fabriquons l'instance persistante - en appelant "
+"<literal>persist()</literal>, par exemple - Hibernate remplacera réellement "
+"le <literal>HashSet</literal> avec une instance d'une implémentation propre "
+"à Hibernate de <literal>Set</literal>. Prenez garde aux erreurs :"
 
-#: index.docbook:36
+#. Tag: programlisting
+#: collection_mapping.xml:36
+#, no-c-format
 msgid ""
-      "<![CDATA[Cat cat = new DomesticCat();\n"
-      "Cat kitten = new DomesticCat();\n"
-      "....\n"
-      "Set kittens = new HashSet();\n"
-      "kittens.add(kitten);\n"
-      "cat.setKittens(kittens);\n"
-      "session.persist(cat);\n"
-      "kittens = cat.getKittens(); // Okay, kittens collection is a Set\n"
-      "(HashSet) cat.getKittens(); // Error!]]>"
+"<![CDATA[Cat cat = new DomesticCat();\n"
+"Cat kitten = new DomesticCat();\n"
+"....\n"
+"Set kittens = new HashSet();\n"
+"kittens.add(kitten);\n"
+"cat.setKittens(kittens);\n"
+"session.persist(cat);\n"
+"kittens = cat.getKittens(); // Okay, kittens collection is a Set\n"
+"(HashSet) cat.getKittens(); // Error!]]>"
 msgstr ""
-      "<![CDATA[Cat cat = new DomesticCat();\n"
-      "Cat kitten = new DomesticCat();\n"
-      "....\n"
-      "Set kittens = new HashSet();\n"
-      "kittens.add(kitten);\n"
-      "cat.setKittens(kittens);\n"
-      "session.persist(cat);\n"
-      "kittens = cat.getKittens(); // Ok, la collection kittens est un Set\n"
-      "(HashSet) cat.getKittens(); // Erreur !]]>"
 
-#: index.docbook:38
-msgid "The persistent collections injected by Hibernate behave like <literal>HashMap</literal>, <literal>HashSet</literal>, <literal>TreeMap</literal>, <literal>TreeSet</literal> or <literal>ArrayList</literal>, depending upon the interface type."
-msgstr "Les collections persistantes injectées par Hibernate se comportent de la même manière que <literal>HashMap</literal>, <literal>HashSet</literal>, <literal>TreeMap</literal>, <literal>TreeSet</literal> ou <literal>ArrayList</literal>, selon le type de l'interface."
+#. Tag: para
+#: collection_mapping.xml:38
+#, no-c-format
+msgid ""
+"The persistent collections injected by Hibernate behave like "
+"<literal>HashMap</literal>, <literal>HashSet</literal>, <literal>TreeMap</"
+"literal>, <literal>TreeSet</literal> or <literal>ArrayList</literal>, "
+"depending upon the interface type."
+msgstr ""
+"Les collections persistantes injectées par Hibernate se comportent de la "
+"même manière que <literal>HashMap</literal>, <literal>HashSet</literal>, "
+"<literal>TreeMap</literal>, <literal>TreeSet</literal> ou "
+"<literal>ArrayList</literal>, selon le type de l'interface."
 
-#: index.docbook:45
-msgid "Collections instances have the usual behavior of value types. They are automatically persisted when referenced by a persistent object and automatically deleted when unreferenced. If a collection is passed from one persistent object to another, its elements might be moved from one table to another. Two entities may not share a reference to the same collection instance. Due to the underlying relational model, collection-valued properties do not support null value semantics; Hibernate does not distinguish between a null collection reference and an empty collection."
-msgstr "Les instances des collections ont le comportement habituel des types des valeurs. Elles sont automatiquement persistées quand elles sont référencées par un objet persistant et automatiquement effacées quand elles sont déréférencées. Si une collection est passée d'un objet persistant à un autre, ses éléments pourraient être déplacés d'une table à une autre. Deux entités ne peuvent pas partager une référence vers une même instance d'une collection. Dû au modèle relationnel sous-jacent, les propriétés contenant des collections ne supportent pas la sémantique de la valeur null ; Hibernate ne distingue pas une référence vers une collection nulle d'une collection vide."
+#. Tag: para
+#: collection_mapping.xml:45
+#, no-c-format
+msgid ""
+"Collections instances have the usual behavior of value types. They are "
+"automatically persisted when referenced by a persistent object and "
+"automatically deleted when unreferenced. If a collection is passed from one "
+"persistent object to another, its elements might be moved from one table to "
+"another. Two entities may not share a reference to the same collection "
+"instance. Due to the underlying relational model, collection-valued "
+"properties do not support null value semantics; Hibernate does not "
+"distinguish between a null collection reference and an empty collection."
+msgstr ""
+"Les instances des collections ont le comportement habituel des types des "
+"valeurs. Elles sont automatiquement persistées quand elles sont référencées "
+"par un objet persistant et automatiquement effacées quand elles sont "
+"déréférencées. Si une collection est passée d'un objet persistant à un "
+"autre, ses éléments pourraient être déplacés d'une table à une autre. Deux "
+"entités ne peuvent pas partager une référence vers une même instance d'une "
+"collection. Dû au modèle relationnel sous-jacent, les propriétés contenant "
+"des collections ne supportent pas la sémantique de la valeur null ; "
+"Hibernate ne distingue pas une référence vers une collection nulle d'une "
+"collection vide."
 
-#: index.docbook:56
-msgid "You shouldn't have to worry much about any of this. Use persistent collections the same way you use ordinary Java collections. Just make sure you understand the semantics of bidirectional associations (discussed later)."
-msgstr "Vous ne devriez pas vous préoccuper trop de ça. Utilisez les collections persistantes de la même manière que vous utilisez des collections Java ordinaires. Assurez-vous de comprendre la sémantique des associations bidirectionnelles (traitée plus loin)."
+#. Tag: para
+#: collection_mapping.xml:56
+#, no-c-format
+msgid ""
+"You shouldn't have to worry much about any of this. Use persistent "
+"collections the same way you use ordinary Java collections. Just make sure "
+"you understand the semantics of bidirectional associations (discussed later)."
+msgstr ""
+"Vous ne devriez pas vous préoccuper trop de ça. Utilisez les collections "
+"persistantes de la même manière que vous utilisez des collections Java "
+"ordinaires. Assurez-vous de comprendre la sémantique des associations "
+"bidirectionnelles (traitée plus loin)."
 
-#: index.docbook:65
+#. Tag: title
+#: collection_mapping.xml:65
+#, no-c-format
 msgid "Collection mappings"
 msgstr "Mapper une collection"
 
-#: index.docbook:67
-msgid "The Hibernate mapping element used for mapping a collection depends upon the type of the interface. For example, a <literal>&lt;set&gt;</literal> element is used for mapping properties of type <literal>Set</literal>."
-msgstr "L'élément de mapping d'Hibernate utilisé pour mapper une collection dépend du type de l'interface. Par exemple, un élément <literal>&lt;set&gt;</literal> est utilisé pour mapper des propriétés de type <literal>Set</literal>."
+#. Tag: para
+#: collection_mapping.xml:67
+#, no-c-format
+msgid ""
+"The Hibernate mapping element used for mapping a collection depends upon the "
+"type of the interface. For example, a <literal>&lt;set&gt;</literal> element "
+"is used for mapping properties of type <literal>Set</literal>."
+msgstr ""
+"L'élément de mapping d'Hibernate utilisé pour mapper une collection dépend "
+"du type de l'interface. Par exemple, un élément <literal>&lt;set&gt;</"
+"literal> est utilisé pour mapper des propriétés de type <literal>Set</"
+"literal>."
 
-#: index.docbook:73
+#. Tag: programlisting
+#: collection_mapping.xml:73
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Product\">\n"
-      "    <id name=\"serialNumber\" column=\"productSerialNumber\"/>\n"
-      "    <set name=\"parts\">\n"
-      "        <key column=\"productSerialNumber\" not-null=\"true\"/>\n"
-      "        <one-to-many class=\"Part\"/>\n"
-      "    </set>\n"
-      "</class>]]>"
+"<![CDATA[<class name=\"Product\">\n"
+"    <id name=\"serialNumber\" column=\"productSerialNumber\"/>\n"
+"    <set name=\"parts\">\n"
+"        <key column=\"productSerialNumber\" not-null=\"true\"/>\n"
+"        <one-to-many class=\"Part\"/>\n"
+"    </set>\n"
+"</class>]]>"
 msgstr ""
-      "<![CDATA[<class name=\"Product\">\n"
-      "    <id name=\"serialNumber\" column=\"productSerialNumber\"/>\n"
-      "    <set name=\"parts\">\n"
-      "        <key column=\"productSerialNumber\" not-null=\"true\"/>\n"
-      "        <one-to-many class=\"Part\"/>\n"
-      "    </set>\n"
-      "</class>]]>"
 
-#: index.docbook:75
-msgid "Apart from <literal>&lt;set&gt;</literal>, there is also <literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</literal>, <literal>&lt;array&gt;</literal> and <literal>&lt;primitive-array&gt;</literal> mapping elements. The <literal>&lt;map&gt;</literal> element is representative:"
-msgstr "À part <literal>&lt;set&gt;</literal>, il y aussi les éléments de mapping <literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</literal>, <literal>&lt;array&gt;</literal> et <literal>&lt;primitive-array&gt;</literal>. L'élément <literal>&lt;map&gt;</literal> est représentatif :"
+#. Tag: para
+#: collection_mapping.xml:75
+#, no-c-format
+msgid ""
+"Apart from <literal>&lt;set&gt;</literal>, there is also <literal>&lt;"
+"list&gt;</literal>, <literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</"
+"literal>, <literal>&lt;array&gt;</literal> and <literal>&lt;primitive-"
+"array&gt;</literal> mapping elements. The <literal>&lt;map&gt;</literal> "
+"element is representative:"
+msgstr ""
+"À part <literal>&lt;set&gt;</literal>, il y aussi les éléments de mapping "
+"<literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</literal>, "
+"<literal>&lt;bag&gt;</literal>, <literal>&lt;array&gt;</literal> et "
+"<literal>&lt;primitive-array&gt;</literal>. L'élément <literal>&lt;map&gt;</"
+"literal> est représentatif :"
 
-#: index.docbook:100
+#. Tag: programlisting
+#: collection_mapping.xml:100
+#, no-c-format
 msgid ""
-      "<![CDATA[<map\n"
-      "    name=\"propertyName\"\n"
-      "    table=\"table_name\"\n"
-      "    schema=\"schema_name\"\n"
-      "    lazy=\"true|extra|false\"\n"
-      "    inverse=\"true|false\"\n"
-      "    cascade=\"all|none|save-update|delete|all-delete-orphan|delete-orphan\"\n"
-      "    sort=\"unsorted|natural|comparatorClass\"\n"
-      "    order-by=\"column_name asc|desc\"\n"
-      "    where=\"arbitrary sql where condition\"\n"
-      "    fetch=\"join|select|subselect\"\n"
-      "    batch-size=\"N\"\n"
-      "    access=\"field|property|ClassName\"\n"
-      "    optimistic-lock=\"true|false\"\n"
-      "    mutable=\"true|false\"\n"
-      "    node=\"element-name|.\"\n"
-      "    embed-xml=\"true|false\"\n"
-      ">\n"
-      "\n"
-      "    <key .... />\n"
-      "    <map-key .... />\n"
-      "    <element .... />\n"
-      "</map>]]>"
+"<![CDATA[<map\n"
+"    name=\"propertyName\"\n"
+"    table=\"table_name\"\n"
+"    schema=\"schema_name\"\n"
+"    lazy=\"true|extra|false\"\n"
+"    inverse=\"true|false\"\n"
+"    cascade=\"all|none|save-update|delete|all-delete-orphan|delete-orphan\"\n"
+"    sort=\"unsorted|natural|comparatorClass\"\n"
+"    order-by=\"column_name asc|desc\"\n"
+"    where=\"arbitrary sql where condition\"\n"
+"    fetch=\"join|select|subselect\"\n"
+"    batch-size=\"N\"\n"
+"    access=\"field|property|ClassName\"\n"
+"    optimistic-lock=\"true|false\"\n"
+"    mutable=\"true|false\"\n"
+"    node=\"element-name|.\"\n"
+"    embed-xml=\"true|false\"\n"
+">\n"
+"\n"
+"    <key .... />\n"
+"    <map-key .... />\n"
+"    <element .... />\n"
+"</map>]]>"
 msgstr ""
-      "<![CDATA[<map\n"
-      "    name=\"nomDePropriete\"\n"
-      "    table=\"nom_de_table\"\n"
-      "    schema=\"nom_du_schema\"\n"
-      "    lazy=\"true|extra|false\"\n"
-      "    inverse=\"true|false\"\n"
-      "    cascade=\"all|none|save-update|delete|all-delete-orphan\"\n"
-      "    sort=\"unsorted|natural|ClasseDeComparateur\"\n"
-      "    order-by=\"nom_de_column asc|desc\"\n"
-      "    where=\"condition sql where quelcconque\"\n"
-      "    fetch=\"join|select|subselect\"\n"
-      "    batch-size=\"N\"\n"
-      "    access=\"field|property|NomDeClasse\"\n"
-      "    optimistic-lock=\"true|false\"\n"
-      "    mutable=\"true|false\"\n"
-      "    node=\"nom-d-element|.\"\n"
-      "    embed-xml=\"true|false\"\n"
-      ">\n"
-      "\n"
-      "    <key .... />\n"
-      "    <map-key .... />\n"
-      "    <element .... />\n"
-      "</map>]]>"
 
-#: index.docbook:103
+#. Tag: para
+#: collection_mapping.xml:103
+#, no-c-format
 msgid "<literal>name</literal> the collection property name"
-msgstr "<literal>name</literal> : le nom de la propriété contenant la collection"
+msgstr ""
+"<literal>name</literal> : le nom de la propriété contenant la collection"
 
-#: index.docbook:108
-msgid "<literal>table</literal> (optional - defaults to property name) the name of the collection table (not used for one-to-many associations)"
-msgstr "<literal>table</literal> (optionnel - par défaut = nom de la propriété) : le nom de la table de la collection (non utilisé pour les associations one-to-many)"
+#. Tag: para
+#: collection_mapping.xml:108
+#, no-c-format
+msgid ""
+"<literal>table</literal> (optional - defaults to property name) the name of "
+"the collection table (not used for one-to-many associations)"
+msgstr ""
+"<literal>table</literal> (optionnel - par défaut = nom de la propriété) : le "
+"nom de la table de la collection (non utilisé pour les associations one-to-"
+"many)"
 
-#: index.docbook:114
-msgid "<literal>schema</literal> (optional) the name of a table schema to override the schema declared on the root element"
-msgstr "<literal>schema</literal> (optionnel) : le nom du schéma pour surcharger le schéma déclaré dans l'élément racine"
+#. Tag: para
+#: collection_mapping.xml:114
+#, no-c-format
+msgid ""
+"<literal>schema</literal> (optional) the name of a table schema to override "
+"the schema declared on the root element"
+msgstr ""
+"<literal>schema</literal> (optionnel) : le nom du schéma pour surcharger le "
+"schéma déclaré dans l'élément racine"
 
-#: index.docbook:120
-msgid "<literal>lazy</literal> (optional - defaults to <literal>true</literal>) may be used to disable lazy fetching and specify that the association is always eagerly fetched, or to enable \"extra-lazy\" fetching where most operations do not initialize the collection (suitable for very large collections)"
-msgstr "<literal>lazy</literal> (optionnel - par défaut = <literal>true</literal>) : peut être utilisé pour désactiver l'initialisation tardive et spécifier que l'association est toujours rapportée, ou pour activer la récupération extra-paresseuse (NdT : extra-lazy) où la plupart des opérations n'initialisent pas la collection (approprié pour de très grosses collections)"
+#. Tag: para
+#: collection_mapping.xml:120
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional - defaults to <literal>true</literal>) may "
+"be used to disable lazy fetching and specify that the association is always "
+"eagerly fetched, or to enable \"extra-lazy\" fetching where most operations "
+"do not initialize the collection (suitable for very large collections)"
+msgstr ""
+"<literal>lazy</literal> (optionnel - par défaut = <literal>true</literal>) : "
+"peut être utilisé pour désactiver l'initialisation tardive et spécifier que "
+"l'association est toujours rapportée, ou pour activer la récupération extra-"
+"paresseuse (NdT : extra-lazy) où la plupart des opérations n'initialisent "
+"pas la collection (approprié pour de très grosses collections)"
 
-#: index.docbook:129
-msgid "<literal>inverse</literal> (optional - defaults to <literal>false</literal>) mark this collection as the \"inverse\" end of a bidirectional association"
-msgstr "<literal>inverse</literal> (optionnel - par défaut = <literal>false</literal>) : définit cette collection comme l'extrêmité \"inverse\" de l'association bidirectionnelle"
+#. Tag: para
+#: collection_mapping.xml:129
+#, no-c-format
+msgid ""
+"<literal>inverse</literal> (optional - defaults to <literal>false</literal>) "
+"mark this collection as the \"inverse\" end of a bidirectional association"
+msgstr ""
+"<literal>inverse</literal> (optionnel - par défaut = <literal>false</"
+"literal>) : définit cette collection comme l'extrêmité \"inverse\" de "
+"l'association bidirectionnelle"
 
-#: index.docbook:135
-msgid "<literal>cascade</literal> (optional - defaults to <literal>none</literal>) enable operations to cascade to child entities"
-msgstr "<literal>cascade</literal> (optionnel - par défaut = <literal>none</literal>) : active les opérations de cascade vers les entités filles"
+#. Tag: para
+#: collection_mapping.xml:135
+#, no-c-format
+msgid ""
+"<literal>cascade</literal> (optional - defaults to <literal>none</literal>) "
+"enable operations to cascade to child entities"
+msgstr ""
+"<literal>cascade</literal> (optionnel - par défaut = <literal>none</"
+"literal>) : active les opérations de cascade vers les entités filles"
 
-#: index.docbook:141
-msgid "<literal>sort</literal> (optional) specify a sorted collection with <literal>natural</literal> sort order, or a given comparator class"
-msgstr "<literal>sort</literal> (optionnel) : spécifie une collection triée via un ordre de tri <literal>naturel</literal>, ou via une classe comparateur donnée (implémentant Comparator)"
+#. Tag: para
+#: collection_mapping.xml:141
+#, no-c-format
+msgid ""
+"<literal>sort</literal> (optional) specify a sorted collection with "
+"<literal>natural</literal> sort order, or a given comparator class"
+msgstr ""
+"<literal>sort</literal> (optionnel) : spécifie une collection triée via un "
+"ordre de tri <literal>naturel</literal>, ou via une classe comparateur "
+"donnée (implémentant Comparator)"
 
-#: index.docbook:147
-msgid "<literal>order-by</literal> (optional, JDK1.4 only) specify a table column (or columns) that define the iteration order of the <literal>Map</literal>, <literal>Set</literal> or bag, together with an optional <literal>asc</literal> or <literal>desc</literal>"
-msgstr "<literal>order-by</literal> (optionnel, seulement à partir du JDK1.4) : spécifie une colonne de table (ou des colonnes) qui définit l'ordre d'itération de <literal>Map</literal>, <literal>Set</literal> ou Bag, avec en option <literal>asc</literal> ou <literal>desc</literal>"
+#. Tag: para
+#: collection_mapping.xml:147
+#, no-c-format
+msgid ""
+"<literal>order-by</literal> (optional, JDK1.4 only) specify a table column "
+"(or columns) that define the iteration order of the <literal>Map</literal>, "
+"<literal>Set</literal> or bag, together with an optional <literal>asc</"
+"literal> or <literal>desc</literal>"
+msgstr ""
+"<literal>order-by</literal> (optionnel, seulement à partir du JDK1.4) : "
+"spécifie une colonne de table (ou des colonnes) qui définit l'ordre "
+"d'itération de <literal>Map</literal>, <literal>Set</literal> ou Bag, avec "
+"en option <literal>asc</literal> ou <literal>desc</literal>"
 
-#: index.docbook:154
-msgid "<literal>where</literal> (optional) specify an arbitrary SQL <literal>WHERE</literal> condition to be used when retrieving or removing the collection (useful if the collection should contain only a subset of the available data)"
-msgstr "<literal>where</literal> (optionnel) : spécifie une condition SQL arbitraire <literal>WHERE</literal> à utiliser au chargement ou à la suppression d'une collection (utile si la collection ne doit contenir qu'un sous ensemble des données disponibles)"
+#. Tag: para
+#: collection_mapping.xml:154
+#, no-c-format
+msgid ""
+"<literal>where</literal> (optional) specify an arbitrary SQL <literal>WHERE</"
+"literal> condition to be used when retrieving or removing the collection "
+"(useful if the collection should contain only a subset of the available data)"
+msgstr ""
+"<literal>where</literal> (optionnel) : spécifie une condition SQL arbitraire "
+"<literal>WHERE</literal> à utiliser au chargement ou à la suppression d'une "
+"collection (utile si la collection ne doit contenir qu'un sous ensemble des "
+"données disponibles)"
 
-#: index.docbook:161
-msgid "<literal>fetch</literal> (optional, defaults to <literal>select</literal>) Choose between outer-join fetching, fetching by sequential select, and fetching by sequential subselect."
-msgstr "<literal>fetch</literal> (optionnel, par défaut = <literal>select</literal>) : à choisir entre récupération par jointures externes, récupération par selects séquentiels, et récupération par sous-selects séquentiels"
+#. Tag: para
+#: collection_mapping.xml:161
+#, no-c-format
+msgid ""
+"<literal>fetch</literal> (optional, defaults to <literal>select</literal>) "
+"Choose between outer-join fetching, fetching by sequential select, and "
+"fetching by sequential subselect."
+msgstr ""
+"<literal>fetch</literal> (optionnel, par défaut = <literal>select</"
+"literal>) : à choisir entre récupération par jointures externes, "
+"récupération par selects séquentiels, et récupération par sous-selects "
+"séquentiels"
 
-#: index.docbook:168
-msgid "<literal>batch-size</literal> (optional, defaults to <literal>1</literal>) specify a \"batch size\" for lazily fetching instances of this collection."
-msgstr "<literal>batch-size</literal> (optionnel, par défaut = <literal>1</literal>) : une taille de batch (batch size) utilisée pour charger plusieurs instances de cette collection en initialisation tardive"
+#. Tag: para
+#: collection_mapping.xml:168
+#, no-c-format
+msgid ""
+"<literal>batch-size</literal> (optional, defaults to <literal>1</literal>) "
+"specify a \"batch size\" for lazily fetching instances of this collection."
+msgstr ""
+"<literal>batch-size</literal> (optionnel, par défaut = <literal>1</"
+"literal>) : une taille de batch (batch size) utilisée pour charger plusieurs "
+"instances de cette collection en initialisation tardive"
 
-#: index.docbook:174
-msgid "<literal>access</literal> (optional - defaults to <literal>property</literal>): The strategy Hibernate should use for accessing the collection property value."
-msgstr "<literal>access</literal> (optionnel - par défaut = <literal>property</literal>) : La stratégie qu'Hibernate doit utiliser pour accéder à la valeur de la propriété"
+#. Tag: para
+#: collection_mapping.xml:174
+#, no-c-format
+msgid ""
+"<literal>access</literal> (optional - defaults to <literal>property</"
+"literal>): The strategy Hibernate should use for accessing the collection "
+"property value."
+msgstr ""
+"<literal>access</literal> (optionnel - par défaut = <literal>property</"
+"literal>) : La stratégie qu'Hibernate doit utiliser pour accéder à la valeur "
+"de la propriété"
 
-#: index.docbook:180
-msgid "<literal>optimistic-lock</literal> (optional - defaults to <literal>true</literal>): Species that changes to the state of the collection results in increment of the owning entity's version. (For one to many associations, it is often reasonable to disable this setting.)"
-msgstr "<literal>optimistic-lock</literal> (optionnel - par défaut = <literal>true</literal>) : spécifie que changer l'état de la collection entraîne l'incrémentation de la version appartenant à l'entité (Pour une association un vers plusieurs, il est souvent raisonnable de désactiver ce paramètre)"
+#. Tag: para
+#: collection_mapping.xml:180
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Species that changes to the state of the collection results in "
+"increment of the owning entity's version. (For one to many associations, it "
+"is often reasonable to disable this setting.)"
+msgstr ""
+"<literal>optimistic-lock</literal> (optionnel - par défaut = <literal>true</"
+"literal>) : spécifie que changer l'état de la collection entraîne "
+"l'incrémentation de la version appartenant à l'entité (Pour une association "
+"un vers plusieurs, il est souvent raisonnable de désactiver ce paramètre)"
 
-#: index.docbook:188
-msgid "<literal>mutable</literal> (optional - defaults to <literal>true</literal>): A value of <literal>false</literal> specifies that the elements of the collection never change (a minor performance optimization in some cases)."
-msgstr "<literal>mutable</literal> (optionnel - par défaut = <literal>true</literal>) : une valeur à <literal>false</literal> spécifie que les éléments de la collection ne changent jamais (une optimisation mineure dans certains cas)"
+#. Tag: para
+#: collection_mapping.xml:188
+#, no-c-format
+msgid ""
+"<literal>mutable</literal> (optional - defaults to <literal>true</literal>): "
+"A value of <literal>false</literal> specifies that the elements of the "
+"collection never change (a minor performance optimization in some cases)."
+msgstr ""
+"<literal>mutable</literal> (optionnel - par défaut = <literal>true</"
+"literal>) : une valeur à <literal>false</literal> spécifie que les éléments "
+"de la collection ne changent jamais (une optimisation mineure dans certains "
+"cas)"
 
-#: index.docbook:198
+#. Tag: title
+#: collection_mapping.xml:198
+#, no-c-format
 msgid "Collection foreign keys"
 msgstr "Les clefs étrangères d'une collection"
 
-#: index.docbook:200
-msgid "Collection instances are distinguished in the database by the foreign key of the entity that owns the collection. This foreign key is referred to as the <emphasis>collection key column</emphasis> (or columns) of the collection table. The collection key column is mapped by the <literal>&lt;key&gt;</literal> element."
-msgstr "Les instances d'une collection sont distinguées dans la base par la clef étrangère de l'entité qui possède la collection. Cette clef étrangère est référencée comme la(es) <emphasis>colonne(s) de la clef de la collection</emphasis> de la table de la collection. La colonne de la clef de la collection est mappée par l'élément <literal>&lt;key&gt;</literal>."
+#. Tag: para
+#: collection_mapping.xml:200
+#, no-c-format
+msgid ""
+"Collection instances are distinguished in the database by the foreign key of "
+"the entity that owns the collection. This foreign key is referred to as the "
+"<emphasis>collection key column</emphasis> (or columns) of the collection "
+"table. The collection key column is mapped by the <literal>&lt;key&gt;</"
+"literal> element."
+msgstr ""
+"Les instances d'une collection sont distinguées dans la base par la clef "
+"étrangère de l'entité qui possède la collection. Cette clef étrangère est "
+"référencée comme la(es) <emphasis>colonne(s) de la clef de la collection</"
+"emphasis> de la table de la collection. La colonne de la clef de la "
+"collection est mappée par l'élément <literal>&lt;key&gt;</literal>."
 
-#: index.docbook:208
-msgid "There may be a nullability constraint on the foreign key column. For most collections, this is implied. For unidirectional one to many associations, the foreign key column is nullable by default, so you might need to specify <literal>not-null=\"true\"</literal>."
-msgstr "Il peut y avoir une contrainte de nullité sur la colonne de la clef étrangère. Pour les associations unidirectionnelles un vers plusieurs, la colonne de la clef étrangère peut être nulle par défaut, donc vous pourriez avoir besoin de spécifier <literal>not-null=\"true\"</literal>."
+#. Tag: para
+#: collection_mapping.xml:208
+#, no-c-format
+msgid ""
+"There may be a nullability constraint on the foreign key column. For most "
+"collections, this is implied. For unidirectional one to many associations, "
+"the foreign key column is nullable by default, so you might need to specify "
+"<literal>not-null=\"true\"</literal>."
+msgstr ""
+"Il peut y avoir une contrainte de nullité sur la colonne de la clef "
+"étrangère. Pour les associations unidirectionnelles un vers plusieurs, la "
+"colonne de la clef étrangère peut être nulle par défaut, donc vous pourriez "
+"avoir besoin de spécifier <literal>not-null=\"true\"</literal>."
 
-#: index.docbook:215
+#. Tag: programlisting
+#: collection_mapping.xml:215
+#, no-c-format
 msgid "<![CDATA[<key column=\"productSerialNumber\" not-null=\"true\"/>]]>"
-msgstr "<![CDATA[<key column=\"productSerialNumber\" not-null=\"true\"/>]]>"
+msgstr ""
 
-#: index.docbook:217
-msgid "The foreign key constraint may use <literal>ON DELETE CASCADE</literal>."
-msgstr "La contraite de la clef étrangère peut utiliser <literal>ON DELETE CASCADE</literal>."
+#. Tag: para
+#: collection_mapping.xml:217
+#, no-c-format
+msgid ""
+"The foreign key constraint may use <literal>ON DELETE CASCADE</literal>."
+msgstr ""
+"La contraite de la clef étrangère peut utiliser <literal>ON DELETE CASCADE</"
+"literal>."
 
-#: index.docbook:221
+#. Tag: programlisting
+#: collection_mapping.xml:221
+#, no-c-format
 msgid "<![CDATA[<key column=\"productSerialNumber\" on-delete=\"cascade\"/>]]>"
-msgstr "<![CDATA[<key column=\"productSerialNumber\" on-delete=\"cascade\"/>]]>"
+msgstr ""
 
-#: index.docbook:223
-msgid "See the previous chapter for a full definition of the <literal>&lt;key&gt;</literal> element."
-msgstr "Voir le chapitre précédent pour une définition complète de l'élément <literal>&lt;key&gt;</literal>."
+#. Tag: para
+#: collection_mapping.xml:223
+#, no-c-format
+msgid ""
+"See the previous chapter for a full definition of the <literal>&lt;key&gt;</"
+"literal> element."
+msgstr ""
+"Voir le chapitre précédent pour une définition complète de l'élément "
+"<literal>&lt;key&gt;</literal>."
 
-#: index.docbook:231
+#. Tag: title
+#: collection_mapping.xml:231
+#, no-c-format
 msgid "Collection elements"
 msgstr "Les éléments d'une collection"
 
-#: index.docbook:233
-msgid "Collections may contain almost any other Hibernate type, including all basic types, custom types, components, and of course, references to other entities. This is an important distinction: an object in a collection might be handled with \"value\" semantics (its life cycle fully depends on the collection owner) or it might be a reference to another entity, with its own life cycle. In the latter case, only the \"link\" between the two objects is considered to be state held by the collection."
-msgstr "Les collections peuvent contenir la plupart des autres types Hibernate, dont tous les types basiques, les types utilisateur, les composants, et bien sûr, les références vers d'autres entités. C'est une distinction importante : un objet dans une collection pourrait être géré avec une sémantique de \"valeur\" (sa durée de vie dépend complètement du propriétaire de la collection) ou il pourrait avoir une référence vers une autre entité, avec sa propre durée de vie. Dans le dernier cas, seul le \"lien\" entre les 2 objets est considéré être l'état retenu par la collection."
+#. Tag: para
+#: collection_mapping.xml:233
+#, no-c-format
+msgid ""
+"Collections may contain almost any other Hibernate type, including all basic "
+"types, custom types, components, and of course, references to other "
+"entities. This is an important distinction: an object in a collection might "
+"be handled with \"value\" semantics (its life cycle fully depends on the "
+"collection owner) or it might be a reference to another entity, with its own "
+"life cycle. In the latter case, only the \"link\" between the two objects is "
+"considered to be state held by the collection."
+msgstr ""
+"Les collections peuvent contenir la plupart des autres types Hibernate, dont "
+"tous les types basiques, les types utilisateur, les composants, et bien sûr, "
+"les références vers d'autres entités. C'est une distinction importante : un "
+"objet dans une collection pourrait être géré avec une sémantique de \"valeur"
+"\" (sa durée de vie dépend complètement du propriétaire de la collection) ou "
+"il pourrait avoir une référence vers une autre entité, avec sa propre durée "
+"de vie. Dans le dernier cas, seul le \"lien\" entre les 2 objets est "
+"considéré être l'état retenu par la collection."
 
-#: index.docbook:242
-msgid "The contained type is referred to as the <emphasis>collection element type</emphasis>. Collection elements are mapped by <literal>&lt;element&gt;</literal> or <literal>&lt;composite-element&gt;</literal>, or in the case of entity references, with <literal>&lt;one-to-many&gt;</literal> or <literal>&lt;many-to-many&gt;</literal>. The first two map elements with value semantics, the next two are used to map entity associations."
-msgstr "Le type contenu est référencé comme le <emphasis>type de l'élément de la collection</emphasis>. Les éléments de la collections sont mappés par <literal>&lt;element&gt;</literal> ou <literal>&lt;composite-element&gt;</literal>, ou dans le cas des références d'entité, avec <literal>&lt;one-to-many&gt;</literal> ou <literal>&lt;many-to-many&gt;</literal>. Les deux premiers mappent des éléments avec un sémantique de valeur, les deux suivants sont utilisés pour mapper des associations d'entité."
+#. Tag: para
+#: collection_mapping.xml:242
+#, no-c-format
+msgid ""
+"The contained type is referred to as the <emphasis>collection element type</"
+"emphasis>. Collection elements are mapped by <literal>&lt;element&gt;</"
+"literal> or <literal>&lt;composite-element&gt;</literal>, or in the case of "
+"entity references, with <literal>&lt;one-to-many&gt;</literal> or "
+"<literal>&lt;many-to-many&gt;</literal>. The first two map elements with "
+"value semantics, the next two are used to map entity associations."
+msgstr ""
+"Le type contenu est référencé comme le <emphasis>type de l'élément de la "
+"collection</emphasis>. Les éléments de la collections sont mappés par "
+"<literal>&lt;element&gt;</literal> ou <literal>&lt;composite-element&gt;</"
+"literal>, ou dans le cas des références d'entité, avec <literal>&lt;one-to-"
+"many&gt;</literal> ou <literal>&lt;many-to-many&gt;</literal>. Les deux "
+"premiers mappent des éléments avec un sémantique de valeur, les deux "
+"suivants sont utilisés pour mapper des associations d'entité."
 
-#: index.docbook:254
+#. Tag: title
+#: collection_mapping.xml:254
+#, no-c-format
 msgid "Indexed collections"
 msgstr "Collections indexées"
 
-#: index.docbook:256
-msgid "All collection mappings, except those with set and bag semantics, need an <emphasis>index column</emphasis> in the collection table - a column that maps to an array index, or <literal>List</literal> index, or <literal>Map</literal> key. The index of a <literal>Map</literal> may be of any basic type, mapped with <literal>&lt;map-key&gt;</literal>, it may be an entity reference mapped with <literal>&lt;map-key-many-to-many&gt;</literal>, or it may be a composite type, mapped with <literal>&lt;composite-map-key&gt;</literal>. The index of an array or list is always of type <literal>integer</literal> and is mapped using the <literal>&lt;list-index&gt;</literal> element. The mapped column contains sequential integers (numbered from zero, by default)."
-msgstr "Tous les mappings de collection, exceptés ceux avec les sémantiques d'ensemble (NdT : set) et de sac (NdT : bag), ont besoin d'une <emphasis>colonne d'index</emphasis> dans la table de la collection - une colonne qui mappe un index de tableau, ou un index de <literal>List</literal>, ou une clef de <literal>Map</literal>. L'index d'une <literal>Map</literal> peut être n'importe quel type basique, mappé avec <literal>&lt;map-key&gt;</literal>, ça peut être une référence d'entité mappée avec <literal>&lt;map-key-many-to-many&gt;</literal>, ou ça peut être un type composé, mappé avec <literal>&lt;composite-map-key&gt;</literal>. L'index d'un tableau ou d'une liste est toujours de type <literal>integer</literal> et est mappé en utilisant l'élément <literal>&lt;list-index&gt;</literal>. Les colonnes mappées contiennent des entiers séquentiels (numérotés à partir de zéro par défaut)."
+#. Tag: para
+#: collection_mapping.xml:256
+#, no-c-format
+msgid ""
+"All collection mappings, except those with set and bag semantics, need an "
+"<emphasis>index column</emphasis> in the collection table - a column that "
+"maps to an array index, or <literal>List</literal> index, or <literal>Map</"
+"literal> key. The index of a <literal>Map</literal> may be of any basic "
+"type, mapped with <literal>&lt;map-key&gt;</literal>, it may be an entity "
+"reference mapped with <literal>&lt;map-key-many-to-many&gt;</literal>, or it "
+"may be a composite type, mapped with <literal>&lt;composite-map-key&gt;</"
+"literal>. The index of an array or list is always of type <literal>integer</"
+"literal> and is mapped using the <literal>&lt;list-index&gt;</literal> "
+"element. The mapped column contains sequential integers (numbered from zero, "
+"by default)."
+msgstr ""
+"Tous les mappings de collection, exceptés ceux avec les sémantiques "
+"d'ensemble (NdT : set) et de sac (NdT : bag), ont besoin d'une "
+"<emphasis>colonne d'index</emphasis> dans la table de la collection - une "
+"colonne qui mappe un index de tableau, ou un index de <literal>List</"
+"literal>, ou une clef de <literal>Map</literal>. L'index d'une <literal>Map</"
+"literal> peut être n'importe quel type basique, mappé avec <literal>&lt;map-"
+"key&gt;</literal>, ça peut être une référence d'entité mappée avec "
+"<literal>&lt;map-key-many-to-many&gt;</literal>, ou ça peut être un type "
+"composé, mappé avec <literal>&lt;composite-map-key&gt;</literal>. L'index "
+"d'un tableau ou d'une liste est toujours de type <literal>integer</literal> "
+"et est mappé en utilisant l'élément <literal>&lt;list-index&gt;</literal>. "
+"Les colonnes mappées contiennent des entiers séquentiels (numérotés à partir "
+"de zéro par défaut)."
 
-#: index.docbook:267
+#. Tag: sect2
+#: collection_mapping.xml:267
+#, no-c-format
 msgid ""
-      "<programlistingco> <areaspec> <area id=\"index1\" coords=\"2 45\"/> <area id=\"index2\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<list-index \n"
-      "        column=\"column_name\"\n"
-      "        base=\"0|1|...\"/>]]></programlisting> <calloutlist> <callout arearefs=\"index1\"> <para> <literal>column_name</literal> (required): The name of the column holding the collection index values. </para> </callout> <callout arearefs=\"index1\"> <para> <literal>base</literal> (optional, defaults to <literal>0</literal>): The value of the index column that corresponds to the first element of the list or array. </para> </callout> </calloutlist> </programlistingco> <programlistingco> <areaspec> <area id=\"mapkey1\" coords=\"2 45\"/> <area id=\"mapkey2\" coords=\"3 45\"/> <area id=\"mapkey3\" coords=\"4 45\"/> </areaspec> <programlisting><![CDATA[<map-key \n"
-      "        column=\"column_name\"\n"
-      "        formula=\"any SQL expression\"\n"
-      "        type=\"type_name\"\n"
-      "        node=\"@attribute-name\"\n"
-      "        length=\"N\"/>]]></programlisting> <calloutlist> <callout arearefs=\"mapkey1\"> <para> <literal>column</literal> (optional): The name of the column holding the collection index values. </para> </callout> <callout arearefs=\"mapkey2\"> <para> <literal>formula</literal> (optional): A SQL formula used to evaluate the key of the map. </para> </callout> <callout arearefs=\"mapkey3\"> <para> <literal>type</literal> (reguired): The type of the map keys. </para> </callout> </calloutlist> </programlistingco> <programlistingco> <areaspec> <area id=\"indexmanytomany1\" coords=\"2 45\"/> <area id=\"indexmanytomany2\" coords=\"3 45\"/> <area id=\"indexmanytomany3\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<map-key-many-to-many\n"
-      "        column=\"column_name\"\n"
-      "        formula=\"any SQL expression\"\n"
-      "        class=\"ClassName\"\n"
-      "/>]]></programlisting> <calloutlist> <callout arearefs=\"indexmanytomany1\"> <para> <literal>column</literal> (optional): The name of the foreign key column for the collection index values. </para> </callout> <callout arearefs=\"indexmanytomany2\"> <para> <literal>formula</literal> (optional): A SQL formula used to evaluate the foreign key of the map key. </para> </callout> <callout arearefs=\"indexmanytomany3\"> <para> <literal>class</literal> (required): The entity class used as the map key. </para> </callout> </calloutlist> </programlistingco>"
+"<programlistingco> <areaspec> <area id=\"index1\" coords=\"2 45\"/> <area id="
+"\"index2\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<list-"
+"index \n"
+"        column=\"column_name\"\n"
+"        base=\"0|1|...\"/>]]></programlisting> <calloutlist> <callout "
+"arearefs=\"index1\"> <para> <literal>column_name</literal> (required): The "
+"name of the column holding the collection index values. </para> </callout> "
+"<callout arearefs=\"index1\"> <para> <literal>base</literal> (optional, "
+"defaults to <literal>0</literal>): The value of the index column that "
+"corresponds to the first element of the list or array. </para> </callout> </"
+"calloutlist> </programlistingco> <programlistingco> <areaspec> <area id="
+"\"mapkey1\" coords=\"2 45\"/> <area id=\"mapkey2\" coords=\"3 45\"/> <area "
+"id=\"mapkey3\" coords=\"4 45\"/> </areaspec> <programlisting><![CDATA[<map-"
+"key \n"
+"        column=\"column_name\"\n"
+"        formula=\"any SQL expression\"\n"
+"        type=\"type_name\"\n"
+"        node=\"@attribute-name\"\n"
+"        length=\"N\"/>]]></programlisting> <calloutlist> <callout arearefs="
+"\"mapkey1\"> <para> <literal>column</literal> (optional): The name of the "
+"column holding the collection index values. </para> </callout> <callout "
+"arearefs=\"mapkey2\"> <para> <literal>formula</literal> (optional): A SQL "
+"formula used to evaluate the key of the map. </para> </callout> <callout "
+"arearefs=\"mapkey3\"> <para> <literal>type</literal> (reguired): The type of "
+"the map keys. </para> </callout> </calloutlist> </programlistingco> "
+"<programlistingco> <areaspec> <area id=\"indexmanytomany1\" coords=\"2 45\"/"
+"> <area id=\"indexmanytomany2\" coords=\"3 45\"/> <area id=\"indexmanytomany3"
+"\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<map-key-many-to-"
+"many\n"
+"        column=\"column_name\"\n"
+"        formula=\"any SQL expression\"\n"
+"        class=\"ClassName\"\n"
+"/>]]></programlisting> <calloutlist> <callout arearefs=\"indexmanytomany1\"> "
+"<para> <literal>column</literal> (optional): The name of the foreign key "
+"column for the collection index values. </para> </callout> <callout arearefs="
+"\"indexmanytomany2\"> <para> <literal>formula</literal> (optional): A SQL "
+"formula used to evaluate the foreign key of the map key. </para> </callout> "
+"<callout arearefs=\"indexmanytomany3\"> <para> <literal>class</literal> "
+"(required): The entity class used as the map key. </para> </callout> </"
+"calloutlist> </programlistingco>"
 msgstr ""
-      "<programlistingco> <areaspec> <area id=\"index1\" coords=\"2 45\"/> <area id=\"index2\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<list-index\n"
-      "        column=\"nom_de_colonne\"\n"
-      "        base=\"0|1|...\"/>]]></programlisting> <calloutlist> <callout arearefs=\"index1\"> <para> <literal>nom_de_colonne</literal> (requis) : le nom de la colonne contenant les valeurs de l'index de la collection </para> </callout> <callout arearefs=\"index1\"> <para> <literal>base</literal> (optionnel, par défaut = <literal>0</literal>) : la valeur de la colonne de l'index qui correspond au premier élément de la liste ou du tableau </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=\"nom_de_colonne\"\n"
-      "        formula=\"n'importe quelle expression SQL\"\n"
-      "        type=\"nom_du_type\"\n"
-      "        node=\"@nom-d-attribut\"\n"
-      "        length=\"N\"/>]]></programlisting> <calloutlist> <callout arearefs=\"mapkey1\"> <para> <literal>column</literal> (optionnel) : le nom de la colonne contenant les valeurs de l'index de la collection </para> </callout> <callout arearefs=\"mapkey2\"> <para> <literal>formula</literal> (optionnel) : une formule SQL utilisée pour évaluer la clef de la map </para> </callout> <callout arearefs=\"mapkey3\"> <para> <literal>type</literal> (reguis): le type des clefs de la map </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=\"nom_de_colonne\"\n"
-      "        formula=\"n'importe quelle expression SQL\"\n"
-      "        class=\"NomDeClasse\"\n"
-      "/>]]></programlisting> <calloutlist> <callout arearefs=\"indexmanytomany1\"> <para> <literal>column</literal> (optionnel) : le nom de la colonne de la clef étrangère pour les valeurs de l'index de la collection </para> </callout> <callout arearefs=\"indexmanytomany2\"> <para> <literal>formula</literal> (optionnel) : une formulre SQL utilisée pour évaluer la clef étrangère de la clef de la map </para> </callout> <callout arearefs=\"indexmanytomany3\"> <para> <literal>class</literal> (requis): la classe de l'entité utilisée comme clef de la map </para> </callout> </calloutlist> </programlistingco>"
 
-#: index.docbook:348
-msgid "If your table doesn't have an index column, and you still wish to use <literal>List</literal> as the property type, you should map the property as a Hibernate <emphasis>&lt;bag&gt;</emphasis>. A bag does not retain its order when it is retrieved from the database, but it may be optionally sorted or ordered."
-msgstr "Si votre table n'a pas de colonne d'index, et que vous souhaitez tout de même utiliser <literal>List</literal> comme type de propriété, vous devriez mapper la propriété comme un <emphasis>&lt;bag&gt;</emphasis> Hibernate. Un sac (NdT : bag) ne garde pas son ordre quand il est récupéré de la base de données, mais il peut être optionnellement trié ou ordonné."
+#. Tag: para
+#: collection_mapping.xml:348
+#, no-c-format
+msgid ""
+"If your table doesn't have an index column, and you still wish to use "
+"<literal>List</literal> as the property type, you should map the property as "
+"a Hibernate <emphasis>&lt;bag&gt;</emphasis>. A bag does not retain its "
+"order when it is retrieved from the database, but it may be optionally "
+"sorted or ordered."
+msgstr ""
+"Si votre table n'a pas de colonne d'index, et que vous souhaitez tout de "
+"même utiliser <literal>List</literal> comme type de propriété, vous devriez "
+"mapper la propriété comme un <emphasis>&lt;bag&gt;</emphasis> Hibernate. Un "
+"sac (NdT : bag) ne garde pas son ordre quand il est récupéré de la base de "
+"données, mais il peut être optionnellement trié ou ordonné."
 
-#: index.docbook:357
-msgid "There are quite a range of mappings that can be generated for collections, covering many common relational models. We suggest you experiment with the schema generation tool to get a feeling for how various mapping declarations translate to database tables."
-msgstr "Il y a pas mal de variétés de mappings qui peuvent être générés pour les collections, couvrant beaucoup des modèles relationnels communs. Nous vous suggérons d'expérimenter avec l'outil de génération de schéma pour avoir une idée de comment traduire les différentes déclarations de mapping vers des table de la base de données."
+#. Tag: para
+#: collection_mapping.xml:357
+#, no-c-format
+msgid ""
+"There are quite a range of mappings that can be generated for collections, "
+"covering many common relational models. We suggest you experiment with the "
+"schema generation tool to get a feeling for how various mapping declarations "
+"translate to database tables."
+msgstr ""
+"Il y a pas mal de variétés de mappings qui peuvent être générés pour les "
+"collections, couvrant beaucoup des modèles relationnels communs. Nous vous "
+"suggérons d'expérimenter avec l'outil de génération de schéma pour avoir une "
+"idée de comment traduire les différentes déclarations de mapping vers des "
+"table de la base de données."
 
-#: index.docbook:364
+#. Tag: title
+#: collection_mapping.xml:364
+#, no-c-format
 msgid "Collections of values and many-to-many associations"
 msgstr "Collections de valeurs et associations plusieurs-vers-plusieurs"
 
-#: index.docbook:366
-msgid "Any collection of values or many-to-many association requires a dedicated <emphasis>collection table</emphasis> with a foreign key column or columns, <emphasis>collection element column</emphasis> or columns and possibly an index column or columns."
-msgstr "N'importe quelle collection de valeurs ou association plusieurs-vers-plusieurs requiert une <emphasis>table de collection</emphasis> avec une(des) colonne(s) de clef étrangère, une(des) <emphasis>colonne(s) d'élément de la collection</emphasis> ou des colonnes et possiblement une(des) colonne(s) d'index."
+#. Tag: para
+#: collection_mapping.xml:366
+#, no-c-format
+msgid ""
+"Any collection of values or many-to-many association requires a dedicated "
+"<emphasis>collection table</emphasis> with a foreign key column or columns, "
+"<emphasis>collection element column</emphasis> or columns and possibly an "
+"index column or columns."
+msgstr ""
+"N'importe quelle collection de valeurs ou association plusieurs-vers-"
+"plusieurs requiert une <emphasis>table de collection</emphasis> avec une"
+"(des) colonne(s) de clef étrangère, une(des) <emphasis>colonne(s) d'élément "
+"de la collection</emphasis> ou des colonnes et possiblement une(des) colonne"
+"(s) d'index."
 
-#: index.docbook:373
-msgid "For a collection of values, we use the <literal>&lt;element&gt;</literal> tag."
-msgstr "Pour une collection de valeurs, nous utilisons la balise <literal>&lt;element&gt;</literal>."
+#. Tag: para
+#: collection_mapping.xml:373
+#, no-c-format
+msgid ""
+"For a collection of values, we use the <literal>&lt;element&gt;</literal> "
+"tag."
+msgstr ""
+"Pour une collection de valeurs, nous utilisons la balise <literal>&lt;"
+"element&gt;</literal>."
 
-#: index.docbook:375
+#. Tag: sect2
+#: collection_mapping.xml:375
+#, no-c-format
 msgid ""
-      "<programlistingco> <areaspec> <area id=\"element1b\" coords=\"2 50\"/> <area id=\"element2b\" coords=\"3 50\"/> <area id=\"element3b\" coords=\"4 50\"/> </areaspec> <programlisting><![CDATA[<element\n"
-      "        column=\"column_name\"\n"
-      "        formula=\"any SQL expression\"\n"
-      "        type=\"typename\"\n"
-      "        length=\"L\"\n"
-      "        precision=\"P\"\n"
-      "        scale=\"S\"\n"
-      "        not-null=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "        node=\"element-name\"\n"
-      "/>]]></programlisting> <calloutlist> <callout arearefs=\"element1b\"> <para> <literal>column</literal> (optional): The name of the column holding the collection element values. </para> </callout> <callout arearefs=\"element2b\"> <para> <literal>formula</literal> (optional): An SQL formula used to evaluate the element. </para> </callout> <callout arearefs=\"element3b\"> <para> <literal>type</literal> (required): The type of the collection element. </para> </callout> </calloutlist> </programlistingco> <para> A <emphasis>many-to-many association</emphasis> is specified using the <literal>&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> <literal>formula</literal> (optional): An SQL formula used to evaluate the element foreign key value. </para> </callout> <callout arearefs=\"manytomany3\"> <para> <literal>class</literal> (required): The name of the associated class. </para> </callout> <callout arearefs=\"manytomany4\"> <para> <literal>fetch</literal> (optional - defaults to <literal>join</literal>): enables outer-join or sequential select fetching for this association. This is a special case; for full eager fetching (in a single <literal>SELECT</literal>) of an entity and its many-to-many relationships to other entities, you would enable <literal>join</literal> fetching not only of the collection itself, but also with this attribute on the <literal>&lt;many-to-many&gt;</literal!
 > nested element. </para> </callout> <callout arearefs=\"manytomany5\"> <para> <literal>unique</literal> (optional): Enable the DDL generation of a unique constraint for the foreign-key column. This makes the association multiplicity effectively one to many. </para> </callout> <callout arearefs=\"manytomany6\"> <para> <literal>not-found</literal> (optional - defaults to <literal>exception</literal>): Specifies how foreign keys that reference missing rows will be handled: <literal>ignore</literal> will treat a missing row as a null association. </para> </callout> <callout arearefs=\"manytomany7\"> <para> <literal>entity-name</literal> (optional): The entity name of the associated class, as an alternative to <literal>class</literal>. </para> </callout> <callout arearefs=\"manytomany8\"> <para> <literal>property-ref</literal>: (optional) The name of a property of the associated class that is joined to this foreign key. If not specified, the primary key of the associated class !
 is used. </para> </callout> </calloutlist> </programlistingco>"
+"<programlistingco> <areaspec> <area id=\"element1b\" coords=\"2 50\"/> <area "
+"id=\"element2b\" coords=\"3 50\"/> <area id=\"element3b\" coords=\"4 50\"/> "
+"</areaspec> <programlisting><![CDATA[<element\n"
+"        column=\"column_name\"\n"
+"        formula=\"any SQL expression\"\n"
+"        type=\"typename\"\n"
+"        length=\"L\"\n"
+"        precision=\"P\"\n"
+"        scale=\"S\"\n"
+"        not-null=\"true|false\"\n"
+"        unique=\"true|false\"\n"
+"        node=\"element-name\"\n"
+"/>]]></programlisting> <calloutlist> <callout arearefs=\"element1b\"> <para> "
+"<literal>column</literal> (optional): The name of the column holding the "
+"collection element values. </para> </callout> <callout arearefs=\"element2b"
+"\"> <para> <literal>formula</literal> (optional): An SQL formula used to "
+"evaluate the element. </para> </callout> <callout arearefs=\"element3b\"> "
+"<para> <literal>type</literal> (required): The type of the collection "
+"element. </para> </callout> </calloutlist> </programlistingco> <para> A "
+"<emphasis>many-to-many association</emphasis> is specified using the "
+"<literal>&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> "
+"<literal>formula</literal> (optional): An SQL formula used to evaluate the "
+"element foreign key value. </para> </callout> <callout arearefs=\"manytomany3"
+"\"> <para> <literal>class</literal> (required): The name of the associated "
+"class. </para> </callout> <callout arearefs=\"manytomany4\"> <para> "
+"<literal>fetch</literal> (optional - defaults to <literal>join</literal>): "
+"enables outer-join or sequential select fetching for this association. This "
+"is a special case; for full eager fetching (in a single <literal>SELECT</"
+"literal>) of an entity and its many-to-many relationships to other entities, "
+"you would enable <literal>join</literal> fetching not only of the collection "
+"itself, but also with this attribute on the <literal>&lt;many-to-many&gt;</"
+"literal> nested element. </para> </callout> <callout arearefs=\"manytomany5"
+"\"> <para> <literal>unique</literal> (optional): Enable the DDL generation "
+"of a unique constraint for the foreign-key column. This makes the "
+"association multiplicity effectively one to many. </para> </callout> "
+"<callout arearefs=\"manytomany6\"> <para> <literal>not-found</literal> "
+"(optional - defaults to <literal>exception</literal>): Specifies how foreign "
+"keys that reference missing rows will be handled: <literal>ignore</literal> "
+"will treat a missing row as a null association. </para> </callout> <callout "
+"arearefs=\"manytomany7\"> <para> <literal>entity-name</literal> (optional): "
+"The entity name of the associated class, as an alternative to "
+"<literal>class</literal>. </para> </callout> <callout arearefs=\"manytomany8"
+"\"> <para> <literal>property-ref</literal>: (optional) The name of a "
+"property of the associated class that is joined to this foreign key. If not "
+"specified, the primary key of the associated class is used. </para> </"
+"callout> </calloutlist> </programlistingco>"
 msgstr ""
-      "<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=\"nom_de_colonne\"\n"
-      "        formula=\"n'importe quelle expression SQL\"\n"
-      "        type=\"nomDeType\"\n"
-      "        length=\"L\"\n"
-      "        precision=\"P\"\n"
-      "        scale=\"S\"\n"
-      "        not-null=\"true|false\"\n"
-      "        unique=\"true|false\"\n"
-      "        node=\"nom-d-element\"\n"
-      "/>]]></programlisting> <calloutlist> <callout arearefs=\"element1b\"> <para> <literal>column</literal> (optionnel) : le nom de la colonne contenant les valeurs de l'élément de la collection </para> </callout> <callout arearefs=\"element2b\"> <para> <literal>formula</literal> (optionnel) : une formule SQL utilisée pour évaluer l'élément </para> </callout> <callout arearefs=\"element3b\"> <para> <literal>type</literal> (requis) : le type de l'élément de la collection </para> </callout> </calloutlist> </programlistingco> <para> Une <emphasis>association plusieurs-vers-plusieurs</emphasis> est spécifiée en utilisant l'élément <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\"/> <a!
 rea id=\"manytomany7\" coords=\"8 60\"/> <area id=\"manytomany8\" coords=\"9 60\"/> </areaspec> <programlisting><![CDATA[<many-to-many\n"
-      "        column=\"nom_de_colonne\"\n"
-      "        formula=\"n'importe quelle expression SQL\"\n"
-      "        class=\"NomDeClasse\"\n"
-      "        fetch=\"select|join\"\n"
-      "        unique=\"true|false\"\n"
-      "        not-found=\"ignore|exception\"\n"
-      "        entity-name=\"NomDEntite\"\n"
-      "        property-ref=\"nomDeProprieteDeLaClasseAssociee\"\n"
-      "        node=\"nom-d-element\"\n"
-      "        embed-xml=\"true|false\"\n"
-      "    />]]></programlisting> <calloutlist> <callout arearefs=\"manytomany1\"> <para> <literal>column</literal> (optionnel) : le nom de la colonne de la clef étrangère de l'élément </para> </callout> <callout arearefs=\"manytomany2\"> <para> <literal>formula</literal> (optionnel) : une formule SQL utilisée pour évaluer la valeur de la clef étrangère de l'élément </para> </callout> <callout arearefs=\"manytomany3\"> <para> <literal>class</literal> (requis) : le nom de la classe associée </para> </callout> <callout arearefs=\"manytomany4\"> <para> <literal>fetch</literal> (optionnel - par défaut <literal>join</literal>) : active les récupérations par jointures externes ou par selects séquentiels pour cette association. C'est un cas spécial ; pour une récupération complète sans attente (dans un seul <literal>SELECT</literal>) d'une entité et de ses relations plusieurs-vers-plusieurs vers d'autres entités, vous devriez activer la récupération <literal!
 >join</literal> non seulement sur la collection elle-même, mais aussi avec cet attribut sur l'élément imbriqué <literal>&lt;many-to-many&gt;</literal>. </para> </callout> <callout arearefs=\"manytomany5\"> <para> <literal>unique</literal> (optionnel) : activer la génération DDL d'une contrainte d'unicité pour la colonne de la clef étrangère. Ça rend la pluralité de l'association effectivement un-vers-plusieurs. </para> </callout> <callout arearefs=\"manytomany6\"> <para> <literal>not-found</literal> (optionnel - par défaut <literal>exception</literal>) : spécifie comment les clefs étrangères qui référencent la lignes manquantes seront gérées : <literal>ignore</literal> traitera une ligne manquante comme une association nulle. </para> </callout> <callout arearefs=\"manytomany7\"> <para> <literal>entity-name</literal> (optionnel) : le nom de l'entité de la classe associée, comme une alternative à <literal>class</literal> </para> </callout> <callout arear!
 efs=\"manytomany8\"> <para> <literal>property-ref</literal> (optionnel
) : le nom d'une propriété de la classe associée qui est jointe à cette clef étrangère. Si non spécifiée, la clef primaire de la classe associée est utilisée. </para> </callout> </calloutlist> </programlistingco>"
 
-#: index.docbook:480
+#. Tag: para
+#: collection_mapping.xml:480
+#, no-c-format
 msgid "Some examples, first, a set of strings:"
 msgstr "Quelques exemples, d'abord, un ensemble de chaînes de caractères :"
 
-#: index.docbook:484
+#. Tag: programlisting
+#: collection_mapping.xml:484
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"names\" table=\"person_names\">\n"
-      "    <key column=\"person_id\"/>\n"
-      "    <element column=\"person_name\" type=\"string\"/>\n"
-      "</set>]]>"
+"<![CDATA[<set name=\"names\" table=\"person_names\">\n"
+"    <key column=\"person_id\"/>\n"
+"    <element column=\"person_name\" type=\"string\"/>\n"
+"</set>]]>"
 msgstr ""
-      "<![CDATA[<set name=\"names\" table=\"person_names\">\n"
-      "    <key column=\"person_id\"/>\n"
-      "    <element column=\"person_name\" type=\"string\"/>\n"
-      "</set>]]>"
 
-#: index.docbook:486
-msgid "A bag containing integers (with an iteration order determined by the <literal>order-by</literal> attribute):"
-msgstr "Un bag contenant des entiers (avec un ordre d'itération déterminé par l'attribut <literal>order-by</literal>) :"
+#. Tag: para
+#: collection_mapping.xml:486
+#, no-c-format
+msgid ""
+"A bag containing integers (with an iteration order determined by the "
+"<literal>order-by</literal> attribute):"
+msgstr ""
+"Un bag contenant des entiers (avec un ordre d'itération déterminé par "
+"l'attribut <literal>order-by</literal>) :"
 
-#: index.docbook:491
+#. Tag: programlisting
+#: collection_mapping.xml:491
+#, no-c-format
 msgid ""
-      "<![CDATA[<bag name=\"sizes\" \n"
-      "        table=\"item_sizes\" \n"
-      "        order-by=\"size asc\">\n"
-      "    <key column=\"item_id\"/>\n"
-      "    <element column=\"size\" type=\"integer\"/>\n"
-      "</bag>]]>"
+"<![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>]]>"
 
-#: index.docbook:493
+#. Tag: para
+#: collection_mapping.xml:493
+#, no-c-format
 msgid "An array of entities - in this case, a many to many association:"
-msgstr "Un tableau d'entités - dans ce cas, une association plusieurs-vers-plusieurs :"
+msgstr ""
+"Un tableau d'entités - dans ce cas, une association plusieurs-vers-"
+"plusieurs :"
 
-#: index.docbook:497
+#. Tag: programlisting
+#: collection_mapping.xml:497
+#, no-c-format
 msgid ""
-      "<![CDATA[<array name=\"addresses\" \n"
-      "        table=\"PersonAddress\" \n"
-      "        cascade=\"persist\">\n"
-      "    <key column=\"personId\"/>\n"
-      "    <list-index column=\"sortOrder\"/>\n"
-      "    <many-to-many column=\"addressId\" class=\"Address\"/>\n"
-      "</array>]]>"
+"<![CDATA[<array name=\"addresses\" \n"
+"        table=\"PersonAddress\" \n"
+"        cascade=\"persist\">\n"
+"    <key column=\"personId\"/>\n"
+"    <list-index column=\"sortOrder\"/>\n"
+"    <many-to-many column=\"addressId\" class=\"Address\"/>\n"
+"</array>]]>"
 msgstr ""
-      "<![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>]]>"
 
-#: index.docbook:499
+#. Tag: para
+#: collection_mapping.xml:499
+#, no-c-format
 msgid "A map from string indices to dates:"
 msgstr "Une map de chaînes de caractères vers des dates :"
 
-#: index.docbook:503
+#. Tag: programlisting
+#: collection_mapping.xml:503
+#, no-c-format
 msgid ""
-      "<![CDATA[<map name=\"holidays\" \n"
-      "        table=\"holidays\" \n"
-      "        schema=\"dbo\" \n"
-      "        order-by=\"hol_name asc\">\n"
-      "    <key column=\"id\"/>\n"
-      "    <map-key column=\"hol_name\" type=\"string\"/>\n"
-      "    <element column=\"hol_date\" type=\"date\"/>\n"
-      "</map>]]>"
+"<![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>]]>"
 
-#: index.docbook:505
+#. Tag: para
+#: collection_mapping.xml:505
+#, no-c-format
 msgid "A list of components (discussed in the next chapter):"
 msgstr "Une liste de composants (discute dans le prochain chapitre) :"
 
-#: index.docbook:509
+#. Tag: programlisting
+#: collection_mapping.xml:509
+#, no-c-format
 msgid ""
-      "<![CDATA[<list name=\"carComponents\" \n"
-      "        table=\"CarComponents\">\n"
-      "    <key column=\"carId\"/>\n"
-      "    <list-index column=\"sortOrder\"/>\n"
-      "    <composite-element class=\"CarComponent\">\n"
-      "        <property name=\"price\"/>\n"
-      "        <property name=\"type\"/>\n"
-      "        <property name=\"serialNumber\" column=\"serialNum\"/>\n"
-      "    </composite-element>\n"
-      "</list>]]>"
+"<![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>]]>"
 
-#: index.docbook:514
+#. Tag: title
+#: collection_mapping.xml:514
+#, no-c-format
 msgid "One-to-many associations"
 msgstr "Association un-vers-plusieurs"
 
-#: index.docbook:516
-msgid "A <emphasis>one to many association</emphasis> links the tables of two classes via a foreign key, with no intervening collection table. This mapping loses certain semantics of normal Java collections:"
-msgstr "Une <emphasis>association un vers plusieurs</emphasis> lie les tables de deux classes par une clef étrangère, sans l'intervention d'une table de collection. Ce mapping perd certaines sémantiques des collections Java normales :"
+#. Tag: para
+#: collection_mapping.xml:516
+#, no-c-format
+msgid ""
+"A <emphasis>one to many association</emphasis> links the tables of two "
+"classes via a foreign key, with no intervening collection table. This "
+"mapping loses certain semantics of normal Java collections:"
+msgstr ""
+"Une <emphasis>association un vers plusieurs</emphasis> lie les tables de "
+"deux classes par une clef étrangère, sans l'intervention d'une table de "
+"collection. Ce mapping perd certaines sémantiques des collections Java "
+"normales :"
 
-#: index.docbook:524
-msgid "An instance of the contained entity class may not belong to more than one instance of the collection"
-msgstr "Une instance de la classe de l'entité contenue ne peut pas appartenir à plus d'une instance de la collection"
+#. Tag: para
+#: collection_mapping.xml:524
+#, no-c-format
+msgid ""
+"An instance of the contained entity class may not belong to more than one "
+"instance of the collection"
+msgstr ""
+"Une instance de la classe de l'entité contenue ne peut pas appartenir à plus "
+"d'une instance de la collection"
 
-#: index.docbook:530
-msgid "An instance of the contained entity class may not appear at more than one value of the collection index"
-msgstr "Une instance de la classe de l'entité contenue ne peut pas apparaître plus plus d'une valeur d'index de la collection"
+#. Tag: para
+#: collection_mapping.xml:530
+#, no-c-format
+msgid ""
+"An instance of the contained entity class may not appear at more than one "
+"value of the collection index"
+msgstr ""
+"Une instance de la classe de l'entité contenue ne peut pas apparaître plus "
+"plus d'une valeur d'index de la collection"
 
-#: index.docbook:537
-msgid "An association from <literal>Product</literal> to <literal>Part</literal> requires existence of a foreign key column and possibly an index column to the <literal>Part</literal> table. A <literal>&lt;one-to-many&gt;</literal> tag indicates that this is a one to many association."
-msgstr "Une association de <literal>Product</literal> vers <literal>Part</literal> requiert l'existence d'une clef étrangère et possiblement une colonne d'index pour la table <literal>Part</literal>. Une balise <literal>&lt;one-to-many&gt;</literal> indique que c'est une association un vers plusieurs."
+#. Tag: para
+#: collection_mapping.xml:537
+#, no-c-format
+msgid ""
+"An association from <literal>Product</literal> to <literal>Part</literal> "
+"requires existence of a foreign key column and possibly an index column to "
+"the <literal>Part</literal> table. A <literal>&lt;one-to-many&gt;</literal> "
+"tag indicates that this is a one to many association."
+msgstr ""
+"Une association de <literal>Product</literal> vers <literal>Part</literal> "
+"requiert l'existence d'une clef étrangère et possiblement une colonne "
+"d'index pour la table <literal>Part</literal>. Une balise <literal>&lt;one-"
+"to-many&gt;</literal> indique que c'est une association un vers plusieurs."
 
-#: index.docbook:550
+#. Tag: programlisting
+#: collection_mapping.xml:550
+#, no-c-format
 msgid ""
-      "<![CDATA[<one-to-many \n"
-      "        class=\"ClassName\"\n"
-      "        not-found=\"ignore|exception\"\n"
-      "        entity-name=\"EntityName\"\n"
-      "        node=\"element-name\"\n"
-      "        embed-xml=\"true|false\"\n"
-      "    />]]>"
+"<![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=\"NomDeClasse\"\n"
-      "        not-found=\"ignore|exception\"\n"
-      "        entity-name=\"NomDEntite\"\n"
-      "        node=\"nom-d-element\"\n"
-      "        embed-xml=\"true|false\"\n"
-      "    />]]>"
 
-#: index.docbook:553
+#. Tag: para
+#: collection_mapping.xml:553
+#, no-c-format
 msgid "<literal>class</literal> (required): The name of the associated class."
 msgstr "<literal>class</literal> (requis) : le nom de la classe associée"
 
-#: index.docbook:558
-msgid "<literal>not-found</literal> (optional - defaults to <literal>exception</literal>): Specifies how cached identifiers that reference missing rows will be handled: <literal>ignore</literal> will treat a missing row as a null association."
-msgstr "<literal>not-found</literal> (optionnel - par défaut <literal>exception</literal>) : spécifie comment les identifiants cachés qui référencent des lignes manquantes seront gérés : <literal>ignore</literal> traitera une ligne manquante comme une association nulle"
+#. Tag: para
+#: collection_mapping.xml:558
+#, no-c-format
+msgid ""
+"<literal>not-found</literal> (optional - defaults to <literal>exception</"
+"literal>): Specifies how cached identifiers that reference missing rows will "
+"be handled: <literal>ignore</literal> will treat a missing row as a null "
+"association."
+msgstr ""
+"<literal>not-found</literal> (optionnel - par défaut <literal>exception</"
+"literal>) : spécifie comment les identifiants cachés qui référencent des "
+"lignes manquantes seront gérés : <literal>ignore</literal> traitera une "
+"ligne manquante comme une association nulle"
 
-#: index.docbook:565
-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> (optionnel) : le nom de l'entité de la classe associée, comme une alternative à <literal>class</literal>."
+#. Tag: para
+#: collection_mapping.xml:565
+#, fuzzy, no-c-format
+msgid ""
+"<literal>entity-name</literal> (optional): The entity name of the associated "
+"class, as an alternative to <literal>class</literal>."
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>entity-name</literal> (optionnel) : le nom de l'entité de la classe "
+"associée, comme une alternative à <literal>class</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<literal>entity-name</literal> (optionnel) : le nom de l'entité de la classe "
+"associée, comme une alternative à <literal>class</literal>."
 
-#: index.docbook:573
-msgid "Notice that the <literal>&lt;one-to-many&gt;</literal> element does not need to declare any columns. Nor is it necessary to specify the <literal>table</literal> name anywhere."
-msgstr "Notez que l'élément <literal>&lt;one-to-many&gt;</literal> n'a pas besoin de déclarer de colonnes. Il n'est pas non plus nécessaire de spécifier le nom de la table nulle part."
+#. Tag: para
+#: collection_mapping.xml:573
+#, no-c-format
+msgid ""
+"Notice that the <literal>&lt;one-to-many&gt;</literal> element does not need "
+"to declare any columns. Nor is it necessary to specify the <literal>table</"
+"literal> name anywhere."
+msgstr ""
+"Notez que l'élément <literal>&lt;one-to-many&gt;</literal> n'a pas besoin de "
+"déclarer de colonnes. Il n'est pas non plus nécessaire de spécifier le nom "
+"de la table nulle part."
 
-#: index.docbook:579
-msgid "<emphasis>Very important note:</emphasis> If the foreign key column of a <literal>&lt;one-to-many&gt;</literal> association is declared <literal>NOT NULL</literal>, you must declare the <literal>&lt;key&gt;</literal> mapping <literal>not-null=\"true\"</literal> or <emphasis>use a bidirectional association</emphasis> with the collection mapping marked <literal>inverse=\"true\"</literal>. See the discussion of bidirectional associations later in this chapter."
-msgstr "<emphasis>Note très importante :</emphasis> si la colonne de la clef d'une association <literal>&lt;one-to-many&gt;</literal> est déclarée <literal>NOT NULL</literal>, vous devez déclarer le mapping de <literal>&lt;key&gt;</literal> avec <literal>not-null=\"true\"</literal> ou <emphasis>utiliser une association bidirectionnelle</emphasis> avec le mapping de la collection marqué <literal>inverse=\"true\"</literal>. Voir la discussion sur les associations bidirectionnelles plus tard dans ce chapitre."
+#. Tag: para
+#: collection_mapping.xml:579
+#, no-c-format
+msgid ""
+"<emphasis>Very important note:</emphasis> If the foreign key column of a "
+"<literal>&lt;one-to-many&gt;</literal> association is declared <literal>NOT "
+"NULL</literal>, you must declare the <literal>&lt;key&gt;</literal> mapping "
+"<literal>not-null=\"true\"</literal> or <emphasis>use a bidirectional "
+"association</emphasis> with the collection mapping marked <literal>inverse="
+"\"true\"</literal>. See the discussion of bidirectional associations later "
+"in this chapter."
+msgstr ""
+"<emphasis>Note très importante :</emphasis> si la colonne de la clef d'une "
+"association <literal>&lt;one-to-many&gt;</literal> est déclarée <literal>NOT "
+"NULL</literal>, vous devez déclarer le mapping de <literal>&lt;key&gt;</"
+"literal> avec <literal>not-null=\"true\"</literal> ou <emphasis>utiliser une "
+"association bidirectionnelle</emphasis> avec le mapping de la collection "
+"marqué <literal>inverse=\"true\"</literal>. Voir la discussion sur les "
+"associations bidirectionnelles plus tard dans ce chapitre."
 
-#: index.docbook:588
-msgid "This example shows a map of <literal>Part</literal> entities by name (where <literal>partName</literal> is a persistent property of <literal>Part</literal>). Notice the use of a formula-based index."
-msgstr "Cet exemple montre une map d'entités <literal>Part</literal> par nom (où <literal>partName</literal> est une propriété persistante de <literal>Part</literal>). Notez l'utilisation d'un index basé sur une formule."
+#. Tag: para
+#: collection_mapping.xml:588
+#, no-c-format
+msgid ""
+"This example shows a map of <literal>Part</literal> entities by name (where "
+"<literal>partName</literal> is a persistent property of <literal>Part</"
+"literal>). Notice the use of a formula-based index."
+msgstr ""
+"Cet exemple montre une map d'entités <literal>Part</literal> par nom (où "
+"<literal>partName</literal> est une propriété persistante de <literal>Part</"
+"literal>). Notez l'utilisation d'un index basé sur une formule."
 
-#: index.docbook:594
+#. Tag: programlisting
+#: collection_mapping.xml:594
+#, no-c-format
 msgid ""
-      "<![CDATA[<map name=\"parts\"\n"
-      "        cascade=\"all\">\n"
-      "    <key column=\"productId\" not-null=\"true\"/>\n"
-      "    <map-key formula=\"partName\"/>\n"
-      "    <one-to-many class=\"Part\"/>\n"
-      "</map>]]>"
+"<![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>]]>"
 
-#: index.docbook:600
+#. Tag: title
+#: collection_mapping.xml:600
+#, no-c-format
 msgid "Advanced collection mappings"
 msgstr "Mappings de collection avancés"
 
-#: index.docbook:603
+#. Tag: title
+#: collection_mapping.xml:603
+#, no-c-format
 msgid "Sorted collections"
 msgstr "Collections triées"
 
-#: index.docbook:605
-msgid "Hibernate supports collections implementing <literal>java.util.SortedMap</literal> and <literal>java.util.SortedSet</literal>. You must specify a comparator in the mapping file:"
-msgstr "Hibernate supporte des collections implémentant <literal>java.util.SortedMap</literal> et <literal>java.util.SortedSet</literal>. Vous devez spécifier un comparateur dans le fichier de mapping :"
+#. Tag: para
+#: collection_mapping.xml:605
+#, no-c-format
+msgid ""
+"Hibernate supports collections implementing <literal>java.util.SortedMap</"
+"literal> and <literal>java.util.SortedSet</literal>. You must specify a "
+"comparator in the mapping file:"
+msgstr ""
+"Hibernate supporte des collections implémentant <literal>java.util."
+"SortedMap</literal> et <literal>java.util.SortedSet</literal>. Vous devez "
+"spécifier un comparateur dans le fichier de mapping :"
 
-#: index.docbook:610
+#. Tag: programlisting
+#: collection_mapping.xml:610
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"aliases\" \n"
-      "            table=\"person_aliases\" \n"
-      "            sort=\"natural\">\n"
-      "    <key column=\"person\"/>\n"
-      "    <element column=\"name\" type=\"string\"/>\n"
-      "</set>\n"
-      "\n"
-      "<map name=\"holidays\" sort=\"my.custom.HolidayComparator\">\n"
-      "    <key column=\"year_id\"/>\n"
-      "    <map-key column=\"hol_name\" type=\"string\"/>\n"
-      "    <element column=\"hol_date\" type=\"date\"/>\n"
-      "</map>]]>"
+"<![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>]]>"
 
-#: index.docbook:612
-msgid "Allowed values of the <literal>sort</literal> attribute are <literal>unsorted</literal>, <literal>natural</literal> and the name of a class implementing <literal>java.util.Comparator</literal>."
-msgstr "Les valeurs permises pour l'attribut <literal>sort</literal> sont <literal>unsorted</literal>, <literal>natural</literal> et le nom d'une classe implémentant <literal>java.util.Comparator</literal>."
+#. Tag: para
+#: collection_mapping.xml:612
+#, no-c-format
+msgid ""
+"Allowed values of the <literal>sort</literal> attribute are "
+"<literal>unsorted</literal>, <literal>natural</literal> and the name of a "
+"class implementing <literal>java.util.Comparator</literal>."
+msgstr ""
+"Les valeurs permises pour l'attribut <literal>sort</literal> sont "
+"<literal>unsorted</literal>, <literal>natural</literal> et le nom d'une "
+"classe implémentant <literal>java.util.Comparator</literal>."
 
-#: index.docbook:618
-msgid "Sorted collections actually behave like <literal>java.util.TreeSet</literal> or <literal>java.util.TreeMap</literal>."
-msgstr "Les collections triées se comportent réellement comme <literal>java.util.TreeSet</literal> ou <literal>java.util.TreeMap</literal>."
+#. Tag: para
+#: collection_mapping.xml:618
+#, no-c-format
+msgid ""
+"Sorted collections actually behave like <literal>java.util.TreeSet</literal> "
+"or <literal>java.util.TreeMap</literal>."
+msgstr ""
+"Les collections triées se comportent réellement comme <literal>java.util."
+"TreeSet</literal> ou <literal>java.util.TreeMap</literal>."
 
-#: index.docbook:623
-msgid "If you want the database itself to order the collection elements use the <literal>order-by</literal> attribute of <literal>set</literal>, <literal>bag</literal> or <literal>map</literal> mappings. This solution is only available under JDK 1.4 or higher (it is implemented using <literal>LinkedHashSet</literal> or <literal>LinkedHashMap</literal>). This performs the ordering in the SQL query, not in memory."
-msgstr "Si vous voulez que la base de données elle-même ordonne les éléments de la collection, utilisez l'attribut <literal>order-by</literal> des mappings <literal>set</literal>, <literal>bag</literal> ou <literal>map</literal>. Cette solution est seulement disponible à partir du JDK 1.4 (c'est implémenté en utilisant <literal>LinkedHashSet</literal> ou <literal>LinkedHashMap</literal>). Ceci exécute le tri dans la requête SQL, pas en mémoire."
+#. Tag: para
+#: collection_mapping.xml:623
+#, no-c-format
+msgid ""
+"If you want the database itself to order the collection elements use the "
+"<literal>order-by</literal> attribute of <literal>set</literal>, "
+"<literal>bag</literal> or <literal>map</literal> mappings. This solution is "
+"only available under JDK 1.4 or higher (it is implemented using "
+"<literal>LinkedHashSet</literal> or <literal>LinkedHashMap</literal>). This "
+"performs the ordering in the SQL query, not in memory."
+msgstr ""
+"Si vous voulez que la base de données elle-même ordonne les éléments de la "
+"collection, utilisez l'attribut <literal>order-by</literal> des mappings "
+"<literal>set</literal>, <literal>bag</literal> ou <literal>map</literal>. "
+"Cette solution est seulement disponible à partir du JDK 1.4 (c'est "
+"implémenté en utilisant <literal>LinkedHashSet</literal> ou "
+"<literal>LinkedHashMap</literal>). Ceci exécute le tri dans la requête SQL, "
+"pas en mémoire."
 
-#: index.docbook:632
+#. Tag: programlisting
+#: collection_mapping.xml:632
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"aliases\" table=\"person_aliases\" order-by=\"lower(name) asc\">\n"
-      "    <key column=\"person\"/>\n"
-      "    <element column=\"name\" type=\"string\"/>\n"
-      "</set>\n"
-      "\n"
-      "<map name=\"holidays\" order-by=\"hol_date, hol_name\">\n"
-      "    <key column=\"year_id\"/>\n"
-      "    <map-key column=\"hol_name\" type=\"string\"/>\n"
-      "    <element column=\"hol_date type=\"date\"/>\n"
-      "</map>]]>"
+"<![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>]]>"
 
-#: index.docbook:634
-msgid "Note that the value of the <literal>order-by</literal> attribute is an SQL ordering, not a HQL ordering!"
-msgstr "Notez que la valeur de l'attribut <literal>order-by</literal> est un ordre SQL, pas un ordre HQL !"
+#. Tag: para
+#: collection_mapping.xml:634
+#, no-c-format
+msgid ""
+"Note that the value of the <literal>order-by</literal> attribute is an SQL "
+"ordering, not a HQL ordering!"
+msgstr ""
+"Notez que la valeur de l'attribut <literal>order-by</literal> est un ordre "
+"SQL, pas un ordre HQL !"
 
-#: index.docbook:639
-msgid "Associations may even be sorted by some arbitrary criteria at runtime using a collection <literal>filter()</literal>."
-msgstr "Les associations peuvent même être triées sur des critères arbitraires à l'exécution en utilisant un <literal>filter()</literal> de collection."
+#. Tag: para
+#: collection_mapping.xml:639
+#, no-c-format
+msgid ""
+"Associations may even be sorted by some arbitrary criteria at runtime using "
+"a collection <literal>filter()</literal>."
+msgstr ""
+"Les associations peuvent même être triées sur des critères arbitraires à "
+"l'exécution en utilisant un <literal>filter()</literal> de collection."
 
-#: index.docbook:644
-msgid "<![CDATA[sortedUsers = s.createFilter( group.getUsers(), \"order by this.name\" ).list();]]>"
-msgstr "<![CDATA[sortedUsers = s.createFilter( group.getUsers(), \"order by this.name\" ).list();]]>"
+#. Tag: programlisting
+#: collection_mapping.xml:644
+#, no-c-format
+msgid ""
+"<![CDATA[sortedUsers = s.createFilter( group.getUsers(), \"order by this.name"
+"\" ).list();]]>"
+msgstr ""
 
-#: index.docbook:649
+#. Tag: title
+#: collection_mapping.xml:649
+#, no-c-format
 msgid "Bidirectional associations"
 msgstr "Associations bidirectionnelles"
 
-#: index.docbook:651
-msgid "A <emphasis>bidirectional association</emphasis> allows navigation from both \"ends\" of the association. Two kinds of bidirectional association are supported:"
-msgstr "Une <emphasis>association bidirectionnelle</emphasis> permet une navigation à partir de la \"fin\" de l'association. Deux sortes d'associations bidirectionnelles sont supportées :"
+#. Tag: para
+#: collection_mapping.xml:651
+#, fuzzy, no-c-format
+msgid ""
+"A <emphasis>bidirectional association</emphasis> allows navigation from both "
+"\"ends\" of the association. Two kinds of bidirectional association are "
+"supported:"
+msgstr ""
+"Une <emphasis>association bidirectionnelle</emphasis> permet une navigation "
+"à partir de la \"fin\" de l'association. Deux sortes d'associations "
+"bidirectionnelles sont supportées : <placeholder-1/>"
 
-#: index.docbook:658
+#. Tag: term
+#: collection_mapping.xml:658
+#, no-c-format
 msgid "one-to-many"
 msgstr "un-vers-plusieurs (NdT : one-to-many)"
 
-#: index.docbook:660
+#. Tag: para
+#: collection_mapping.xml:660
+#, no-c-format
 msgid "set or bag valued at one end, single-valued at the other"
 msgstr "ensemble ou sac à une extrémité, une seule valeur à l'autre"
 
-#: index.docbook:666
+#. Tag: term
+#: collection_mapping.xml:666
+#, no-c-format
 msgid "many-to-many"
 msgstr "plusieurs-vers-plusieurs (NdT : many-to-many)"
 
-#: index.docbook:668
+#. Tag: para
+#: collection_mapping.xml:668
+#, no-c-format
 msgid "set or bag valued at both ends"
 msgstr "ensemble ou sac aux deux extrémités"
 
-#: index.docbook:677
-msgid "You may specify a bidirectional many-to-many association simply by mapping two many-to-many associations to the same database table and declaring one end as <emphasis>inverse</emphasis> (which one is your choice, but it can not be an indexed collection)."
-msgstr "Vous pouvez spécifier une association plusieurs-vers-plusieurs bidirectionnelle simplement en mappant deux associations plusieurs-vers-plusieurs vers la même table de base de données et en déclarant une extrémité comme <emphasis>inverse</emphasis> (celle de votre choix, mais ça ne peut pas être une collection indexée)."
+#. Tag: para
+#: collection_mapping.xml:677
+#, no-c-format
+msgid ""
+"You may specify a bidirectional many-to-many association simply by mapping "
+"two many-to-many associations to the same database table and declaring one "
+"end as <emphasis>inverse</emphasis> (which one is your choice, but it can "
+"not be an indexed collection)."
+msgstr ""
+"Vous pouvez spécifier une association plusieurs-vers-plusieurs "
+"bidirectionnelle simplement en mappant deux associations plusieurs-vers-"
+"plusieurs vers la même table de base de données et en déclarant une "
+"extrémité comme <emphasis>inverse</emphasis> (celle de votre choix, mais ça "
+"ne peut pas être une collection indexée)."
 
-#: index.docbook:684
-msgid "Here's an example of a bidirectional many-to-many association; each category can have many items and each item can be in many categories:"
-msgstr "Voici un exemple d'association bidirectionnelle plusieurs-vers-plusieurs ; chaque catégorie peut avoir plusieurs objets et chaque objet peut être dans plusieurs catégories :"
+#. Tag: para
+#: collection_mapping.xml:684
+#, no-c-format
+msgid ""
+"Here's an example of a bidirectional many-to-many association; each category "
+"can have many items and each item can be in many categories:"
+msgstr ""
+"Voici un exemple d'association bidirectionnelle plusieurs-vers-plusieurs ; "
+"chaque catégorie peut avoir plusieurs objets et chaque objet peut être dans "
+"plusieurs catégories :"
 
-#: index.docbook:689
+#. Tag: programlisting
+#: collection_mapping.xml:689
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Category\">\n"
-      "    <id name=\"id\" column=\"CATEGORY_ID\"/>\n"
-      "    ...\n"
-      "    <bag name=\"items\" table=\"CATEGORY_ITEM\">\n"
-      "        <key column=\"CATEGORY_ID\"/>\n"
-      "        <many-to-many class=\"Item\" column=\"ITEM_ID\"/>\n"
-      "    </bag>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Item\">\n"
-      "    <id name=\"id\" column=\"ITEM_ID\"/>\n"
-      "    ...\n"
-      "\n"
-      "    <!-- inverse end -->\n"
-      "    <bag name=\"categories\" table=\"CATEGORY_ITEM\" inverse=\"true\">\n"
-      "        <key column=\"ITEM_ID\"/>\n"
-      "        <many-to-many class=\"Category\" column=\"CATEGORY_ID\"/>\n"
-      "    </bag>\n"
-      "</class>]]>"
+"<![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>]]>"
 
-#: index.docbook:691
-msgid "Changes made only to the inverse end of the association are <emphasis>not</emphasis> persisted. This means that Hibernate has two representations in memory for every bidirectional association, one link from A to B and another link from B to A. This is easier to understand if you think about the Java object model and how we create a many-to-many relationship in Java:"
-msgstr "Les changements faits uniquement sur l'extréminté inverse de l'association <emphasis>ne sont pas</emphasis> persistés. Ceci signifie qu'Hibernate a deux représentations en mémoire pour chaque association bidirectionnelles, un lien de A vers B et un autre de B vers A. C'est plus facile à comprendre si vous pensez au modèle objet de Java et comment nous créons une relation plusieurs-vers-plusieurs en Java :"
+#. Tag: para
+#: collection_mapping.xml:691
+#, no-c-format
+msgid ""
+"Changes made only to the inverse end of the association are <emphasis>not</"
+"emphasis> persisted. This means that Hibernate has two representations in "
+"memory for every bidirectional association, one link from A to B and another "
+"link from B to A. This is easier to understand if you think about the Java "
+"object model and how we create a many-to-many relationship in Java:"
+msgstr ""
+"Les changements faits uniquement sur l'extréminté inverse de l'association "
+"<emphasis>ne sont pas</emphasis> persistés. Ceci signifie qu'Hibernate a "
+"deux représentations en mémoire pour chaque association bidirectionnelles, "
+"un lien de A vers B et un autre de B vers A. C'est plus facile à comprendre "
+"si vous pensez au modèle objet de Java et comment nous créons une relation "
+"plusieurs-vers-plusieurs en Java :"
 
-#: index.docbook:699
+#. Tag: programlisting
+#: collection_mapping.xml:699
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "category.getItems().add(item);          // The category now \"knows\" about the relationship\n"
-      "item.getCategories().add(category);     // The item now \"knows\" about the relationship\n"
-      "\n"
-      "session.persist(item);                   // The relationship won't be saved!\n"
-      "session.persist(category);               // The relationship will be saved]]>"
+"<![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);          // La catégorie est maintenant \"au courant\" de la relation\n"
-      "item.getCategories().add(category);     // L'objet est maintenant \"au courant\" de la relation\n"
-      "\n"
-      "session.persist(item);                   // La relation ne sera pas sauvegardée !\n"
-      "session.persist(category);               // La relation sera sauvegardée]]>"
 
-#: index.docbook:701
-msgid "The non-inverse side is used to save the in-memory representation to the database."
-msgstr "La partie non-inverse est utilisée pour sauvegarder la représentation en mémoire dans la base de données."
+#. Tag: para
+#: collection_mapping.xml:701
+#, no-c-format
+msgid ""
+"The non-inverse side is used to save the in-memory representation to the "
+"database."
+msgstr ""
+"La partie non-inverse est utilisée pour sauvegarder la représentation en "
+"mémoire dans la base de données."
 
-#: index.docbook:705
-msgid "You may define a bidirectional one-to-many association by mapping a one-to-many association to the same table column(s) as a many-to-one association and declaring the many-valued end <literal>inverse=\"true\"</literal>."
-msgstr "Vous pouvez définir une association un-vers-plusieurs bidirectionnelle en mappant une association un-vers-plusieurs vers la(es) même(s) colonne(s) de table qu'une association plusieurs-vers-un et en déclarant l'extrémité pluri-valuée <literal>inverse=\"true\"</literal>."
+#. Tag: para
+#: collection_mapping.xml:705
+#, no-c-format
+msgid ""
+"You may define a bidirectional one-to-many association by mapping a one-to-"
+"many association to the same table column(s) as a many-to-one association "
+"and declaring the many-valued end <literal>inverse=\"true\"</literal>."
+msgstr ""
+"Vous pouvez définir une association un-vers-plusieurs bidirectionnelle en "
+"mappant une association un-vers-plusieurs vers la(es) même(s) colonne(s) de "
+"table qu'une association plusieurs-vers-un et en déclarant l'extrémité pluri-"
+"valuée <literal>inverse=\"true\"</literal>."
 
-#: index.docbook:711
+#. Tag: programlisting
+#: collection_mapping.xml:711
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Parent\">\n"
-      "    <id name=\"id\" column=\"parent_id\"/>\n"
-      "    ....\n"
-      "    <set name=\"children\" inverse=\"true\">\n"
-      "        <key column=\"parent_id\"/>\n"
-      "        <one-to-many class=\"Child\"/>\n"
-      "    </set>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Child\">\n"
-      "    <id name=\"id\" column=\"child_id\"/>\n"
-      "    ....\n"
-      "    <many-to-one name=\"parent\" \n"
-      "        class=\"Parent\" \n"
-      "        column=\"parent_id\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>]]>"
+"<![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=\"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>]]>"
 
-#: index.docbook:713
-msgid "Mapping one end of an association with <literal>inverse=\"true\"</literal> doesn't affect the operation of cascades, these are orthogonal concepts!"
-msgstr "Mapper une extrémité d'une association avec <literal>inverse=\"true\"</literal> n'affecte pas l'opération de cascades, ce sont des concepts orthogonaux !"
+#. Tag: para
+#: collection_mapping.xml:713
+#, no-c-format
+msgid ""
+"Mapping one end of an association with <literal>inverse=\"true\"</literal> "
+"doesn't affect the operation of cascades, these are orthogonal concepts!"
+msgstr ""
+"Mapper une extrémité d'une association avec <literal>inverse=\"true\"</"
+"literal> n'affecte pas l'opération de cascades, ce sont des concepts "
+"orthogonaux !"
 
-#: index.docbook:721
+#. Tag: title
+#: collection_mapping.xml:721
+#, no-c-format
 msgid "Bidirectional associations with indexed collections"
 msgstr "Associations bidirectionnelles avec des collections indexées"
 
-#: index.docbook:722
-msgid "A bidirectional association where one end is represented as a <literal>&lt;list&gt;</literal> or <literal>&lt;map&gt;</literal> requires special consideration. If there is a property of the child class which maps to the index column, no problem, we can continue using <literal>inverse=\"true\"</literal> on the collection mapping:"
-msgstr "Une association bidirectionnelle où une extrémité est représentée comme une <literal>&lt;list&gt;</literal> ou une <literal>&lt;map&gt;</literal> requiert une considération spéciale. Si il y a une propriété de la classe enfant qui mappe la colonne de l'index, pas de problème, nous pouvons continuer à utiliser <literal>inverse=\"true\"</literal> sur le mapping de la collection :"
+#. Tag: para
+#: collection_mapping.xml:722
+#, 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 "
+"consideration. If there is a property of the child class which maps to the "
+"index column, no problem, we can continue using <literal>inverse=\"true\"</"
+"literal> on the collection mapping:"
+msgstr ""
+"Une association bidirectionnelle où une extrémité est représentée comme une "
+"<literal>&lt;list&gt;</literal> ou une <literal>&lt;map&gt;</literal> "
+"requiert une considération spéciale. Si il y a une propriété de la classe "
+"enfant qui mappe la colonne de l'index, pas de problème, nous pouvons "
+"continuer à utiliser <literal>inverse=\"true\"</literal> sur le mapping de "
+"la collection :"
 
-#: index.docbook:729
+#. Tag: programlisting
+#: collection_mapping.xml:729
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Parent\">\n"
-      "    <id name=\"id\" column=\"parent_id\"/>\n"
-      "    ....\n"
-      "    <map name=\"children\" inverse=\"true\">\n"
-      "        <key column=\"parent_id\"/>\n"
-      "        <map-key column=\"name\" \n"
-      "            type=\"string\"/>\n"
-      "        <one-to-many class=\"Child\"/>\n"
-      "    </map>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Child\">\n"
-      "    <id name=\"id\" column=\"child_id\"/>\n"
-      "    ....\n"
-      "    <property name=\"name\" \n"
-      "        not-null=\"true\"/>\n"
-      "    <many-to-one name=\"parent\" \n"
-      "        class=\"Parent\" \n"
-      "        column=\"parent_id\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>]]>"
+"<![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>]]>"
 
-#: index.docbook:731
-msgid "But, if there is no such property on the child class, we can't think of the association as truly bidirectional (there is information available at one end of the association that is not available at the other end). In this case, we can't map the collection <literal>inverse=\"true\"</literal>. Instead, we could use the following mapping:"
-msgstr "Mais, si il n'y a pas de telle prorpriété sur la classe enfant, nous ne pouvons pas penser à l'association comme vraiment bidirectionnelle (il y a des informations disponibles à une extrémité de l'association qui ne sont pas disponibles à l'autre extrémité). Dans ce cas, nous ne pouvons pas mapper la collection <literal>inverse=\"true\"</literal>. À la place, nous pourrions utiliser le mapping suivant :"
+#. Tag: para
+#: collection_mapping.xml:731
+#, no-c-format
+msgid ""
+"But, if there is no such property on the child class, we can't think of the "
+"association as truly bidirectional (there is information available at one "
+"end of the association that is not available at the other end). In this "
+"case, we can't map the collection <literal>inverse=\"true\"</literal>. "
+"Instead, we could use the following mapping:"
+msgstr ""
+"Mais, si il n'y a pas de telle prorpriété sur la classe enfant, nous ne "
+"pouvons pas penser à l'association comme vraiment bidirectionnelle (il y a "
+"des informations disponibles à une extrémité de l'association qui ne sont "
+"pas disponibles à l'autre extrémité). Dans ce cas, nous ne pouvons pas "
+"mapper la collection <literal>inverse=\"true\"</literal>. À la place, nous "
+"pourrions utiliser le mapping suivant :"
 
-#: index.docbook:738
+#. Tag: programlisting
+#: collection_mapping.xml:738
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Parent\">\n"
-      "    <id name=\"id\" column=\"parent_id\"/>\n"
-      "    ....\n"
-      "    <map name=\"children\">\n"
-      "        <key column=\"parent_id\"\n"
-      "            not-null=\"true\"/>\n"
-      "        <map-key column=\"name\" \n"
-      "            type=\"string\"/>\n"
-      "        <one-to-many class=\"Child\"/>\n"
-      "    </map>\n"
-      "</class>\n"
-      "\n"
-      "<class name=\"Child\">\n"
-      "    <id name=\"id\" column=\"child_id\"/>\n"
-      "    ....\n"
-      "    <many-to-one name=\"parent\" \n"
-      "        class=\"Parent\" \n"
-      "        column=\"parent_id\"\n"
-      "        insert=\"false\"\n"
-      "        update=\"false\"\n"
-      "        not-null=\"true\"/>\n"
-      "</class>]]>"
+"<![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>]]>"
 
-#: index.docbook:740
-msgid "Note that in this mapping, the collection-valued end of the association is responsible for updates to the foreign key. TODO: Does this really result in some unnecessary update statements?"
-msgstr "Notez que dans ce mapping, l'extrémité de l'association contenant la collection est responsable des mises à jour de la clef étrangère. À faire : cela entraîne-t-il réellement des expressions updates inutiles ?"
+#. Tag: para
+#: collection_mapping.xml:740
+#, no-c-format
+msgid ""
+"Note that in this mapping, the collection-valued end of the association is "
+"responsible for updates to the foreign key. TODO: Does this really result in "
+"some unnecessary update statements?"
+msgstr ""
+"Notez que dans ce mapping, l'extrémité de l'association contenant la "
+"collection est responsable des mises à jour de la clef étrangère. À faire : "
+"cela entraîne-t-il réellement des expressions updates inutiles ?"
 
-#: index.docbook:748
+#. Tag: title
+#: collection_mapping.xml:748
+#, no-c-format
 msgid "Ternary associations"
 msgstr "Associations ternaires"
 
-#: index.docbook:750
-msgid "There are three possible approaches to mapping a ternary association. One is to use a <literal>Map</literal> with an association as its index:"
-msgstr "Il y a trois approches possibles pour mapper une association ternaire. L'une est d'utiliser une <literal>Map</literal> avec une association en tant qu'index :"
+#. Tag: para
+#: collection_mapping.xml:750
+#, no-c-format
+msgid ""
+"There are three possible approaches to mapping a ternary association. One is "
+"to use a <literal>Map</literal> with an association as its index:"
+msgstr ""
+"Il y a trois approches possibles pour mapper une association ternaire. L'une "
+"est d'utiliser une <literal>Map</literal> avec une association en tant "
+"qu'index :"
 
-#: index.docbook:755
+#. Tag: programlisting
+#: collection_mapping.xml:755
+#, no-c-format
 msgid ""
-      "<![CDATA[<map name=\"contracts\">\n"
-      "    <key column=\"employer_id\" not-null=\"true\"/>\n"
-      "    <map-key-many-to-many column=\"employee_id\" class=\"Employee\"/>\n"
-      "    <one-to-many class=\"Contract\"/>\n"
-      "</map>]]>"
+"<![CDATA[<map name=\"contracts\">\n"
+"    <key column=\"employer_id\" not-null=\"true\"/>\n"
+"    <map-key-many-to-many column=\"employee_id\" class=\"Employee\"/>\n"
+"    <one-to-many class=\"Contract\"/>\n"
+"</map>]]>"
 msgstr ""
-      "<![CDATA[<map name=\"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>]]>"
 
-#: index.docbook:757
+#. Tag: programlisting
+#: collection_mapping.xml:757
+#, no-c-format
 msgid ""
-      "<![CDATA[<map name=\"connections\">\n"
-      "    <key column=\"incoming_node_id\"/>\n"
-      "    <map-key-many-to-many column=\"outgoing_node_id\" class=\"Node\"/>\n"
-      "    <many-to-many column=\"connection_id\" class=\"Connection\"/>\n"
-      "</map>]]>"
+"<![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>]]>"
 
-#: index.docbook:759
-msgid "A second approach is to simply remodel the association as an entity class. This is the approach we use most commonly."
-msgstr "Une seconde approche est simplement de remodeler l'association comme une classe d'entité. C'est l'approche la plus commune."
+#. Tag: para
+#: collection_mapping.xml:759
+#, no-c-format
+msgid ""
+"A second approach is to simply remodel the association as an entity class. "
+"This is the approach we use most commonly."
+msgstr ""
+"Une seconde approche est simplement de remodeler l'association comme une "
+"classe d'entité. C'est l'approche la plus commune."
 
-#: index.docbook:764
-msgid "A final alternative is to use composite elements, which we will discuss later."
-msgstr "Une alternative finale est d'utiliser des éléments composites, dont nous discuterons plus tard."
+#. Tag: para
+#: collection_mapping.xml:764
+#, no-c-format
+msgid ""
+"A final alternative is to use composite elements, which we will discuss "
+"later."
+msgstr ""
+"Une alternative finale est d'utiliser des éléments composites, dont nous "
+"discuterons plus tard."
 
-#: index.docbook:771
+#. Tag: literal
+#: collection_mapping.xml:771
+#, no-c-format
 msgid "Using an &lt;idbag&gt;"
 msgstr "Utiliser un <literal>&lt;idbag&gt;</literal>"
 
-#: index.docbook:773
-msgid "If you've fully embraced our view that composite keys are a bad thing and that entities should have synthetic identifiers (surrogate keys), then you might find it a bit odd that the many to many associations and collections of values that we've shown so far all map to tables with composite keys! Now, this point is quite arguable; a pure association table doesn't seem to benefit much from a surrogate key (though a collection of composite values <emphasis>might</emphasis>). Nevertheless, Hibernate provides a feature that allows you to map many to many associations and collections of values to a table with a surrogate key."
-msgstr "Si vous embrassez pleinement notre vue que les clefs composées sont une mauvaise chose et que des entités devraient avoir des identifiants artificiels (des clefs subrogées), alors vous pourriez trouver un peu curieux que les associations plusieurs-vers-plusieurs et les collections de valeurs que nous avons montré jusqu'ici mappent toutes des tables avec des clefs composées ! Maintenant, ce point est assez discutable ; une table d'association pure ne semble pas beaucoup bénéficier d'une clef subrogée (bien qu'une collection de valeur composées le <emphasis>pourrait</emphasis>). Néanmoins, Hibernate fournit une foncionnalité qui vous permet de mapper des associations plusieurs-vers-plusieurs et des collections de valeurs vers une table avec une clef subrogée."
+#. Tag: para
+#: collection_mapping.xml:773
+#, no-c-format
+msgid ""
+"If you've fully embraced our view that composite keys are a bad thing and "
+"that entities should have synthetic identifiers (surrogate keys), then you "
+"might find it a bit odd that the many to many associations and collections "
+"of values that we've shown so far all map to tables with composite keys! "
+"Now, this point is quite arguable; a pure association table doesn't seem to "
+"benefit much from a surrogate key (though a collection of composite values "
+"<emphasis>might</emphasis>). Nevertheless, Hibernate provides a feature that "
+"allows you to map many to many associations and collections of values to a "
+"table with a surrogate key."
+msgstr ""
+"Si vous embrassez pleinement notre vue que les clefs composées sont une "
+"mauvaise chose et que des entités devraient avoir des identifiants "
+"artificiels (des clefs subrogées), alors vous pourriez trouver un peu "
+"curieux que les associations plusieurs-vers-plusieurs et les collections de "
+"valeurs que nous avons montré jusqu'ici mappent toutes des tables avec des "
+"clefs composées ! Maintenant, ce point est assez discutable ; une table "
+"d'association pure ne semble pas beaucoup bénéficier d'une clef subrogée "
+"(bien qu'une collection de valeur composées le <emphasis>pourrait</"
+"emphasis>). Néanmoins, Hibernate fournit une foncionnalité qui vous permet "
+"de mapper des associations plusieurs-vers-plusieurs et des collections de "
+"valeurs vers une table avec une clef subrogée."
 
-#: index.docbook:784
-msgid "The <literal>&lt;idbag&gt;</literal> element lets you map a <literal>List</literal> (or <literal>Collection</literal>) with bag semantics."
-msgstr "L'élément <literal>&lt;idbag&gt;</literal> vous laisse mapper une <literal>List</literal> (ou une <literal>Collection</literal>) avec une sémantique de sac."
+#. Tag: para
+#: collection_mapping.xml:784
+#, 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."
+msgstr ""
+"L'élément <literal>&lt;idbag&gt;</literal> vous laisse mapper une "
+"<literal>List</literal> (ou une <literal>Collection</literal>) avec une "
+"sémantique de sac."
 
-#: index.docbook:789
+#. Tag: programlisting
+#: collection_mapping.xml:789
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:791
-msgid "As you can see, an <literal>&lt;idbag&gt;</literal> has a synthetic id generator, just like an entity class! A different surrogate key is assigned to each collection row. Hibernate does not provide any mechanism to discover the surrogate key value of a particular row, however."
-msgstr "Comme vous pouvez voir, un <literal>&lt;idbag&gt;</literal> a un généréteur d'id artificiel, comme une classe d'entité ! Une clef subrogée différente est assignée à chaque ligne de la collection. Cependant, Hibernate ne fournit pas de mécanisme pour découvrir la valeur d'une clef subrogée d'une ligne particulière."
+#. Tag: para
+#: collection_mapping.xml:791
+#, no-c-format
+msgid ""
+"As you can see, an <literal>&lt;idbag&gt;</literal> has a synthetic id "
+"generator, just like an entity class! A different surrogate key is assigned "
+"to each collection row. Hibernate does not provide any mechanism to discover "
+"the surrogate key value of a particular row, however."
+msgstr ""
+"Comme vous pouvez voir, un <literal>&lt;idbag&gt;</literal> a un généréteur "
+"d'id artificiel, comme une classe d'entité ! Une clef subrogée différente "
+"est assignée à chaque ligne de la collection. Cependant, Hibernate ne "
+"fournit pas de mécanisme pour découvrir la valeur d'une clef subrogée d'une "
+"ligne particulière."
 
-#: index.docbook:798
-msgid "Note that the update performance of an <literal>&lt;idbag&gt;</literal> is <emphasis>much</emphasis> better than a regular <literal>&lt;bag&gt;</literal>! Hibernate can locate individual rows efficiently and update or delete them individually, just like a list, map or set."
-msgstr "Notez que les performances de la mise à jour d'un <literal>&lt;idbag&gt;</literal> sont <emphasis>bien</emphasis> meilleures qu'un <literal>&lt;bag&gt;</literal> ordinaire ! Hibernate peut localiser des lignes individuelles efficacement et les mettre à jour ou les effacer individuellement, comme une liste, une map ou un ensemble."
+#. Tag: para
+#: collection_mapping.xml:798
+#, no-c-format
+msgid ""
+"Note that the update performance of an <literal>&lt;idbag&gt;</literal> is "
+"<emphasis>much</emphasis> better than a regular <literal>&lt;bag&gt;</"
+"literal>! Hibernate can locate individual rows efficiently and update or "
+"delete them individually, just like a list, map or set."
+msgstr ""
+"Notez que les performances de la mise à jour d'un <literal>&lt;idbag&gt;</"
+"literal> sont <emphasis>bien</emphasis> meilleures qu'un <literal>&lt;bag&gt;"
+"</literal> ordinaire ! Hibernate peut localiser des lignes individuelles "
+"efficacement et les mettre à jour ou les effacer individuellement, comme une "
+"liste, une map ou un ensemble."
 
-#: index.docbook:805
-msgid "In the current implementation, the <literal>native</literal> identifier generation strategy is not supported for <literal>&lt;idbag&gt;</literal> collection identifiers."
-msgstr "Dans l'implémentation actuelle, la stratégie de la génération de l'identifiant <literal>native</literal> n'est pas supportée pour les identifiants de collection <literal>&lt;idbag&gt;</literal>."
+#. Tag: para
+#: collection_mapping.xml:805
+#, 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 ""
+"Dans l'implémentation actuelle, la stratégie de la génération de "
+"l'identifiant <literal>native</literal> n'est pas supportée pour les "
+"identifiants de collection <literal>&lt;idbag&gt;</literal>."
 
-#: index.docbook:829
+#. Tag: title
+#: collection_mapping.xml:829
+#, no-c-format
 msgid "Collection examples"
 msgstr "Exemples de collections"
 
-#: index.docbook:831
-msgid "The previous sections are pretty confusing. So lets look at an example. This class:"
-msgstr "Les sections précédentes sont assez confuses. Donc prenons un exemple. Cette classe :"
+#. Tag: para
+#: collection_mapping.xml:831
+#, no-c-format
+msgid ""
+"The previous sections are pretty confusing. So lets look at an example. This "
+"class:"
+msgstr ""
+"Les sections précédentes sont assez confuses. Donc prenons un exemple. Cette "
+"classe :"
 
-#: index.docbook:836
+#. Tag: programlisting
+#: collection_mapping.xml:836
+#, 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"
-      "}]]>"
+"<![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"
-      "}]]>"
 
-#: index.docbook:838
-msgid "has a collection of <literal>Child</literal> instances. If each child has at most one parent, the most natural mapping is a one-to-many association:"
-msgstr "a une collection d'instances de <literal>Child</literal>. Si chaque enfant a au plus un parent, le mapping le plus naturel est une association un-vers-plusieurs :"
+#. Tag: para
+#: collection_mapping.xml:838
+#, no-c-format
+msgid ""
+"has a collection of <literal>Child</literal> instances. If each child has at "
+"most one parent, the most natural mapping is a one-to-many association:"
+msgstr ""
+"a une collection d'instances de <literal>Child</literal>. Si chaque enfant a "
+"au plus un parent, le mapping le plus naturel est une association un-vers-"
+"plusieurs :"
 
-#: index.docbook:844
+#. Tag: programlisting
+#: collection_mapping.xml:844
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:846
+#. Tag: para
+#: collection_mapping.xml:846
+#, no-c-format
 msgid "This maps to the following table definitions:"
 msgstr "Ceci mappe les définitions de tables suivantes :"
 
-#: index.docbook:850
+#. Tag: programlisting
+#: collection_mapping.xml:850
+#, 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]]>"
+"<![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]]>"
 
-#: index.docbook:852
-msgid "If the parent is <emphasis>required</emphasis>, use a bidirectional one-to-many association:"
-msgstr "Si le parent est <emphasis>requis</emphasis>, utilisez une association un-vers-plusieurs unidirectionnelle :"
+#. Tag: para
+#: collection_mapping.xml:852
+#, no-c-format
+msgid ""
+"If the parent is <emphasis>required</emphasis>, use a bidirectional one-to-"
+"many association:"
+msgstr ""
+"Si le parent est <emphasis>requis</emphasis>, utilisez une association un-"
+"vers-plusieurs unidirectionnelle :"
 
-#: index.docbook:857
+#. Tag: programlisting
+#: collection_mapping.xml:857
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:859
+#. Tag: para
+#: collection_mapping.xml:859
+#, no-c-format
 msgid "Notice the <literal>NOT NULL</literal> constraint:"
 msgstr "Notez la contrainte <literal>NOT NULL</literal> :"
 
-#: index.docbook:863
+#. Tag: programlisting
+#: collection_mapping.xml:863
+#, 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]]>"
+"<![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]]>"
 
-#: index.docbook:865
-msgid "Alternatively, if you absolutely insist that this association should be unidirectional, you can declare the <literal>NOT NULL</literal> constraint on the <literal>&lt;key&gt;</literal> mapping:"
-msgstr "Alternativement, si vous insistez absolument pour que cette association soit unidirectionnelle, vous pouvez déclarer la contrainte <literal>NOT NULL</literal> sur le mapping <literal>&lt;key&gt;</literal> :"
+#. Tag: para
+#: collection_mapping.xml:865
+#, no-c-format
+msgid ""
+"Alternatively, if you absolutely insist that this association should be "
+"unidirectional, you can declare the <literal>NOT NULL</literal> constraint "
+"on the <literal>&lt;key&gt;</literal> mapping:"
+msgstr ""
+"Alternativement, si vous insistez absolument pour que cette association soit "
+"unidirectionnelle, vous pouvez déclarer la contrainte <literal>NOT NULL</"
+"literal> sur le mapping <literal>&lt;key&gt;</literal> :"
 
-#: index.docbook:871
+#. Tag: programlisting
+#: collection_mapping.xml:871
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:873
-msgid "On the other hand, if a child might have multiple parents, a many-to-many association is appropriate:"
-msgstr "D'un autre côté, si un enfant pouvait avoir plusieurs parent, une association plusieurs-vers-plusieurs est plus appropriée :"
+#. Tag: para
+#: collection_mapping.xml:873
+#, no-c-format
+msgid ""
+"On the other hand, if a child might have multiple parents, a many-to-many "
+"association is appropriate:"
+msgstr ""
+"D'un autre côté, si un enfant pouvait avoir plusieurs parent, une "
+"association plusieurs-vers-plusieurs est plus appropriée :"
 
-#: index.docbook:878
+#. Tag: programlisting
+#: collection_mapping.xml:878
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:880
+#. Tag: para
+#: collection_mapping.xml:880
+#, no-c-format
 msgid "Table definitions:"
 msgstr "Définitions des tables :"
 
-#: index.docbook:884
+#. Tag: programlisting
+#: collection_mapping.xml:884
+#, 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]]>"
+"<![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]]>"
 
-#: index.docbook:886
-msgid "For more examples and a complete walk-through a parent/child relationship mapping, see <xref linkend=\"example-parentchild\"/>."
-msgstr "Pour plus d'exemples et une revue complète du mapping de la relation parent/enfant, voir see <xref linkend=\"example-parentchild\"/>."
+#. Tag: para
+#: collection_mapping.xml:886
+#, no-c-format
+msgid ""
+"For more examples and a complete walk-through a parent/child relationship "
+"mapping, see <xref linkend=\"example-parentchild\"/>."
+msgstr ""
+"Pour plus d'exemples et une revue complète du mapping de la relation parent/"
+"enfant, voir see <xref linkend=\"example-parentchild\"/>."
 
-#: index.docbook:891
-msgid "Even more exotic association mappings are possible, we will catalog all possibilities in the next chapter."
-msgstr "Des mappings d'association plus exotiques sont possibles, nous cataloguerons toutes les possibilités dans le prochain chapitre."
+#. Tag: para
+#: collection_mapping.xml:891
+#, no-c-format
+msgid ""
+"Even more exotic association mappings are possible, we will catalog all "
+"possibilities in the next chapter."
+msgstr ""
+"Des mappings d'association plus exotiques sont possibles, nous cataloguerons "
+"toutes les possibilités dans le prochain chapitre."
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid ""
+#~ "<literal>column_name</literal> (required): The name of the column holding "
+#~ "the collection index values."
+#~ msgstr ""
+#~ "<literal>nom_de_colonne</literal> (requis) : le nom de la colonne "
+#~ "contenant les valeurs de l'index de la collection"
 
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid ""
+#~ "<literal>base</literal> (optional, defaults to <literal>0</literal>): The "
+#~ "value of the index column that corresponds to the first element of the "
+#~ "list or array."
+#~ msgstr ""
+#~ "<literal>base</literal> (optionnel, par défaut = <literal>0</literal>) : "
+#~ "la valeur de la colonne de l'index qui correspond au premier élément de "
+#~ "la liste ou du tableau"
 
+#~ msgid ""
+#~ "<literal>column</literal> (optional): The name of the column holding the "
+#~ "collection index values."
+#~ msgstr ""
+#~ "<literal>column</literal> (optionnel) : le nom de la colonne contenant "
+#~ "les valeurs de l'index de la collection"
+
+#~ msgid ""
+#~ "<literal>formula</literal> (optional): A SQL formula used to evaluate the "
+#~ "key of the map."
+#~ msgstr ""
+#~ "<literal>formula</literal> (optionnel) : une formule SQL utilisée pour "
+#~ "évaluer la clef de la map"
+
+#~ msgid "<literal>type</literal> (reguired): The type of the map keys."
+#~ msgstr "<literal>type</literal> (reguis): le type des clefs de la map"
+
+#~ msgid ""
+#~ "<literal>column</literal> (optional): The name of the foreign key column "
+#~ "for the collection index values."
+#~ msgstr ""
+#~ "<literal>column</literal> (optionnel) : le nom de la colonne de la clef "
+#~ "étrangère pour les valeurs de l'index de la collection"
+
+#~ msgid ""
+#~ "<literal>formula</literal> (optional): A SQL formula used to evaluate the "
+#~ "foreign key of the map key."
+#~ msgstr ""
+#~ "<literal>formula</literal> (optionnel) : une formulre SQL utilisée pour "
+#~ "évaluer la clef étrangère de la clef de la map"
+
+#~ msgid ""
+#~ "<literal>class</literal> (required): The entity class used as the map key."
+#~ msgstr ""
+#~ "<literal>class</literal> (requis): la classe de l'entité utilisée comme "
+#~ "clef de la map"
+
+#~ msgid ""
+#~ "<literal>column</literal> (optional): The name of the column holding the "
+#~ "collection element values."
+#~ msgstr ""
+#~ "<literal>column</literal> (optionnel) : le nom de la colonne contenant "
+#~ "les valeurs de l'élément de la collection"
+
+#~ msgid ""
+#~ "<literal>formula</literal> (optional): An SQL formula used to evaluate "
+#~ "the element."
+#~ msgstr ""
+#~ "<literal>formula</literal> (optionnel) : une formule SQL utilisée pour "
+#~ "évaluer l'élément"
+
+#~ msgid ""
+#~ "<literal>type</literal> (required): The type of the collection element."
+#~ msgstr ""
+#~ "<literal>type</literal> (requis) : le type de l'élément de la collection"
+
+#~ msgid ""
+#~ "A <emphasis>many-to-many association</emphasis> is specified using the "
+#~ "<literal>&lt;many-to-many&gt;</literal> element."
+#~ msgstr ""
+#~ "Une <emphasis>association plusieurs-vers-plusieurs</emphasis> est "
+#~ "spécifiée en utilisant l'élément <literal>&lt;many-to-many&gt;</literal>."
+
+#~ msgid ""
+#~ "<literal>column</literal> (optional): The name of the element foreign key "
+#~ "column."
+#~ msgstr ""
+#~ "<literal>column</literal> (optionnel) : le nom de la colonne de la clef "
+#~ "étrangère de l'élément"
+
+#~ msgid ""
+#~ "<literal>formula</literal> (optional): An SQL formula used to evaluate "
+#~ "the element foreign key value."
+#~ msgstr ""
+#~ "<literal>formula</literal> (optionnel) : une formule SQL utilisée pour "
+#~ "évaluer la valeur de la clef étrangère de l'élément"
+
+#~ msgid ""
+#~ "<literal>fetch</literal> (optional - defaults to <literal>join</"
+#~ "literal>): enables outer-join or sequential select fetching for this "
+#~ "association. This is a special case; for full eager fetching (in a single "
+#~ "<literal>SELECT</literal>) of an entity and its many-to-many "
+#~ "relationships to other entities, you would enable <literal>join</literal> "
+#~ "fetching not only of the collection itself, but also with this attribute "
+#~ "on the <literal>&lt;many-to-many&gt;</literal> nested element."
+#~ msgstr ""
+#~ "<literal>fetch</literal> (optionnel - par défaut <literal>join</"
+#~ "literal>) : active les récupérations par jointures externes ou par "
+#~ "selects séquentiels pour cette association. C'est un cas spécial ; pour "
+#~ "une récupération complète sans attente (dans un seul <literal>SELECT</"
+#~ "literal>) d'une entité et de ses relations plusieurs-vers-plusieurs vers "
+#~ "d'autres entités, vous devriez activer la récupération <literal>join</"
+#~ "literal> non seulement sur la collection elle-même, mais aussi avec cet "
+#~ "attribut sur l'élément imbriqué <literal>&lt;many-to-many&gt;</literal>."
+
+#~ msgid ""
+#~ "<literal>unique</literal> (optional): Enable the DDL generation of a "
+#~ "unique constraint for the foreign-key column. This makes the association "
+#~ "multiplicity effectively one to many."
+#~ msgstr ""
+#~ "<literal>unique</literal> (optionnel) : activer la génération DDL d'une "
+#~ "contrainte d'unicité pour la colonne de la clef étrangère. Ça rend la "
+#~ "pluralité de l'association effectivement un-vers-plusieurs."
+
+#~ 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> (optionnel - par défaut <literal>exception</"
+#~ "literal>) : spécifie comment les clefs étrangères qui référencent la "
+#~ "lignes manquantes seront gérées : <literal>ignore</literal> traitera une "
+#~ "ligne manquante comme une association nulle."
+
+#~ 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> (optionnel) : le nom d'une propriété de "
+#~ "la classe associée qui est jointe à cette clef étrangère. Si non "
+#~ "spécifiée, la clef primaire de la classe associée est utilisée."

Modified: core/trunk/documentation/manual/translations/fr-FR/content/component_mapping.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/component_mapping.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/component_mapping.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,532 +1,687 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: component_mapping.xml:5
+#, no-c-format
 msgid "Component Mapping"
 msgstr "Mapping de composants"
 
-#: index.docbook:7
-msgid "The notion of a <emphasis>component</emphasis> is re-used in several different contexts, for different purposes, throughout Hibernate."
-msgstr "La notion de <emphasis>composants</emphasis> est réutilisé dans différents contextes, avec différents objectifs, à travers Hibernate."
+#. Tag: para
+#: component_mapping.xml:7
+#, no-c-format
+msgid ""
+"The notion of a <emphasis>component</emphasis> is re-used in several "
+"different contexts, for different purposes, throughout Hibernate."
+msgstr ""
+"La notion de <emphasis>composants</emphasis> est réutilisé dans différents "
+"contextes, avec différents objectifs, à travers Hibernate."
 
-#: index.docbook:13
+#. Tag: title
+#: component_mapping.xml:13
+#, no-c-format
 msgid "Dependent objects"
 msgstr "Objects dépendants"
 
-#: index.docbook:15
-msgid "A component is a contained object that is persisted as a value type, not an entity reference. The term \"component\" refers to the object-oriented notion of composition (not to architecture-level components). For example, you might model a person like this:"
-msgstr "Le composant est un objet inclu dans un autre qui est sauvegardé comme une valeur, et non pas comme une entité. Le composant fait référence à la notion (au sens objet) de composition (et non pas de composant au sens d'architecture de composants). Par exemple on pourrait modélisé l'objet personne de cette façon:"
+#. Tag: para
+#: component_mapping.xml:15
+#, no-c-format
+msgid ""
+"A component is a contained object that is persisted as a value type, not an "
+"entity reference. The term \"component\" refers to the object-oriented "
+"notion of composition (not to architecture-level components). For example, "
+"you might model a person like this:"
+msgstr ""
+"Le composant est un objet inclu dans un autre qui est sauvegardé comme une "
+"valeur, et non pas comme une entité. Le composant fait référence à la notion "
+"(au sens objet) de composition (et non pas de composant au sens "
+"d'architecture de composants). Par exemple on pourrait modélisé l'objet "
+"personne de cette façon:"
 
-#: index.docbook:21
+#. Tag: programlisting
+#: component_mapping.xml:21
+#, 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"
-      "}]]>"
+"<![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"
-      "}]]>"
 
-#: index.docbook:23
+#. Tag: programlisting
+#: component_mapping.xml:23
+#, 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"
-      "}]]>"
+"<![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"
-      "}]]>"
 
-#: index.docbook:25
-msgid "Now <literal>Name</literal> may be persisted as a component of <literal>Person</literal>. Notice that <literal>Name</literal> defines getter and setter methods for its persistent properties, but doesn't need to declare any interfaces or identifier properties."
-msgstr "Maintenant <literal>Name</literal> peut-être sauvegardé comme un composant de <literal>Person</literal>. Remarquer que <literal>Name</literal> définit des methodes d'accès et de modification pour ses propriétés persistantes, mais il n'a pas besoin des interfaces ou des propriétés d'identification ( par exemple getId() ) qui sont propres aux entités."
+#. Tag: para
+#: component_mapping.xml:25
+#, no-c-format
+msgid ""
+"Now <literal>Name</literal> may be persisted as a component of "
+"<literal>Person</literal>. Notice that <literal>Name</literal> defines "
+"getter and setter methods for its persistent properties, but doesn't need to "
+"declare any interfaces or identifier properties."
+msgstr ""
+"Maintenant <literal>Name</literal> peut-être sauvegardé comme un composant "
+"de <literal>Person</literal>. Remarquer que <literal>Name</literal> définit "
+"des methodes d'accès et de modification pour ses propriétés persistantes, "
+"mais il n'a pas besoin des interfaces ou des propriétés d'identification "
+"( par exemple getId() ) qui sont propres aux entités."
 
-#: index.docbook:32
+#. Tag: para
+#: component_mapping.xml:32
+#, no-c-format
 msgid "Our Hibernate mapping would look like:"
 msgstr "Nous serions alors amené à mapper ce composant de cette façon:"
 
-#: index.docbook:36
+#. Tag: programlisting
+#: component_mapping.xml:36
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:38
-msgid "The person table would have the columns <literal>pid</literal>, <literal>birthday</literal>, <literal>initial</literal>, <literal>first</literal> and <literal>last</literal>."
-msgstr "La table person aurai les colonnes <literal>pid</literal>, <literal>birthday</literal>, <literal>initial</literal>, <literal>first</literal> and <literal>last</literal>."
+#. Tag: para
+#: component_mapping.xml:38
+#, 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 table person aurai les colonnes <literal>pid</literal>, "
+"<literal>birthday</literal>, <literal>initial</literal>, <literal>first</"
+"literal> and <literal>last</literal>."
 
-#: index.docbook:46
-msgid "Like all value types, components do not support shared references. In other words, two persons could have the same name, but the two person objects would contain two independent name ojects, only \"the same\" by value. The null value semantics of a component are <emphasis>ad hoc</emphasis>. When reloading the containing object, Hibernate will assume that if all component columns are null, then the entire component is null. This should be okay for most purposes."
-msgstr "Comme tous les types valeurs, les composants ne supportent pas les références partagés. En d'autres mots, deux instances de person peuvent avoir un même nom, mais ces noms sont indépendants, ils peuvent être identiques si on les compare par valeur mais ils représentent deux objets distincts en mémoire. La notion de nullité pour un composant est <emphasis>ad hoc</emphasis>. Quand il recharge l'objet qui contient le composant, Hibernate supposera que si tous les champs du composants sont nuls alors le composant sera positionné à la valeur null. Ce choix programmatif devrait être satisfaisant dans la plupart des cas."
+#. Tag: para
+#: component_mapping.xml:46
+#, no-c-format
+msgid ""
+"Like all value types, components do not support shared references. In other "
+"words, two persons could have the same name, but the two person objects "
+"would contain two independent name ojects, only \"the same\" by value. The "
+"null value semantics of a component are <emphasis>ad hoc</emphasis>. When "
+"reloading the containing object, Hibernate will assume that if all component "
+"columns are null, then the entire component is null. This should be okay for "
+"most purposes."
+msgstr ""
+"Comme tous les types valeurs, les composants ne supportent pas les "
+"références partagés. En d'autres mots, deux instances de person peuvent "
+"avoir un même nom, mais ces noms sont indépendants, ils peuvent être "
+"identiques si on les compare par valeur mais ils représentent deux objets "
+"distincts en mémoire. La notion de nullité pour un composant est "
+"<emphasis>ad hoc</emphasis>. Quand il recharge l'objet qui contient le "
+"composant, Hibernate supposera que si tous les champs du composants sont "
+"nuls alors le composant sera positionné à la valeur null. Ce choix "
+"programmatif devrait être satisfaisant dans la plupart des cas."
 
-#: index.docbook:55
-msgid "The properties of a component may be of any Hibernate type (collections, many-to-one associations, other components, etc). Nested components should <emphasis>not</emphasis> be considered an exotic usage. Hibernate is intended to support a very fine-grained object model."
-msgstr "Les propriétés d'un composant peuvent être de tous les types qu'Hibernate supporte habituellement (collections, many-to-one associations, autres composants, etc). Les composants inclus ne doivent <emphasis>pas</emphasis> être vus comme quelque chose d'exotique. Hibernate a été conçu pour supporter un modèle objet très granulaire."
+#. Tag: para
+#: component_mapping.xml:55
+#, no-c-format
+msgid ""
+"The properties of a component may 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 very fine-grained object model."
+msgstr ""
+"Les propriétés d'un composant peuvent être de tous les types qu'Hibernate "
+"supporte habituellement (collections, many-to-one associations, autres "
+"composants, etc). Les composants inclus ne doivent <emphasis>pas</emphasis> "
+"être vus comme quelque chose d'exotique. Hibernate a été conçu pour "
+"supporter un modèle objet très granulaire."
 
-#: index.docbook:62
-msgid "The <literal>&lt;component&gt;</literal> element allows a <literal>&lt;parent&gt;</literal> subelement that maps a property of the component class as a reference back to the containing entity."
-msgstr "Le <literal>&lt;component&gt;</literal> peut inclure dans la liste de ses propriétés une référence au <literal>&lt;parent&gt;</literal> conteneur."
+#. Tag: para
+#: component_mapping.xml:62
+#, no-c-format
+msgid ""
+"The <literal>&lt;component&gt;</literal> element allows a <literal>&lt;"
+"parent&gt;</literal> subelement that maps a property of the component class "
+"as a reference back to the containing entity."
+msgstr ""
+"Le <literal>&lt;component&gt;</literal> peut inclure dans la liste de ses "
+"propriétés une référence au <literal>&lt;parent&gt;</literal> conteneur."
 
-#: index.docbook:68
+#. Tag: programlisting
+#: component_mapping.xml:68
+#, 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>]]>"
+"<![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\"/> <!-- référence arrière à Person -->\n"
-      "        <property name=\"initial\"/>\n"
-      "        <property name=\"first\"/>\n"
-      "        <property name=\"last\"/>\n"
-      "    </component>\n"
-      "</class>]]>"
 
-#: index.docbook:73
+#. Tag: title
+#: component_mapping.xml:73
+#, no-c-format
 msgid "Collections of dependent objects"
 msgstr "Collection d'objets dépendants"
 
-#: index.docbook:75
-msgid "Collections of components are supported (eg. an array of type <literal>Name</literal>). Declare your component collection by replacing the <literal>&lt;element&gt;</literal> tag with a <literal>&lt;composite-element&gt;</literal> tag."
-msgstr "Les collections d'objets dépendants sont supportés (exemple: un tableau de type <literal>Name</literal>). Déclarer la collection de composants en remplaçant le tag <literal>&lt;element&gt;</literal> par le tag <literal>&lt;composite-element&gt;</literal>."
+#. Tag: para
+#: component_mapping.xml:75
+#, no-c-format
+msgid ""
+"Collections of components are supported (eg. an array of type <literal>Name</"
+"literal>). Declare your component collection by replacing the <literal>&lt;"
+"element&gt;</literal> tag with a <literal>&lt;composite-element&gt;</"
+"literal> tag."
+msgstr ""
+"Les collections d'objets dépendants sont supportés (exemple: un tableau de "
+"type <literal>Name</literal>). Déclarer la collection de composants en "
+"remplaçant le tag <literal>&lt;element&gt;</literal> par le tag <literal>&lt;"
+"composite-element&gt;</literal>."
 
-#: index.docbook:82
+#. Tag: programlisting
+#: component_mapping.xml:82
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:84
-msgid "Note: if you define a <literal>Set</literal> of composite elements, it is very important to implement <literal>equals()</literal> and <literal>hashCode()</literal> correctly."
-msgstr "Remarque: Si vous définissez un <literal>Set</literal> d'élément composite, il est très important d'implémenter la méthode <literal>equals()</literal> et <literal>hashCode()</literal> correctement."
+#. Tag: para
+#: component_mapping.xml:84
+#, no-c-format
+msgid ""
+"Note: if you define a <literal>Set</literal> of composite elements, it is "
+"very important to implement <literal>equals()</literal> and <literal>hashCode"
+"()</literal> correctly."
+msgstr ""
+"Remarque: Si vous définissez un <literal>Set</literal> d'élément composite, "
+"il est très important d'implémenter la méthode <literal>equals()</literal> "
+"et <literal>hashCode()</literal> correctement."
 
-#: index.docbook:90
-msgid "Composite elements may contain components but not collections. If your composite element itself contains components, use the <literal>&lt;nested-composite-element&gt;</literal> tag. This is a pretty exotic case - a collection of components which themselves have components. By this stage you should be asking yourself if a one-to-many association is more appropriate. Try remodelling the composite element as an entity - but note that even though the Java model is the same, the relational model and persistence semantics are still slightly different."
-msgstr "Les élements composite peuvent aussi contenir des composants mais pas des collections. Si votre élément composite contient aussi des composants, utilisez l'élément <literal>&lt;nested-composite-element&gt;</literal> . Une collections de composants qui ccontiennent eux-mêmes des composants est un cas très exotique. A ce stade demandez-vous si une association un-à-plusieurs ne serait pas plus approprié. Essayez de re remodeler votre élément composite comme une entité ( Dans ce cas même si le modèle Java est le même la logique de persitence et de relation sont tout de même différentes)"
+#. Tag: para
+#: component_mapping.xml:90
+#, no-c-format
+msgid ""
+"Composite elements may contain components but not collections. If your "
+"composite element itself contains components, use the <literal>&lt;nested-"
+"composite-element&gt;</literal> tag. This is a pretty exotic case - a "
+"collection of components which themselves have components. By this stage you "
+"should be asking yourself if a one-to-many association is more appropriate. "
+"Try remodelling the composite element as an entity - but note that even "
+"though the Java model is the same, the relational model and persistence "
+"semantics are still slightly different."
+msgstr ""
+"Les élements composite peuvent aussi contenir des composants mais pas des "
+"collections. Si votre élément composite contient aussi des composants, "
+"utilisez l'élément <literal>&lt;nested-composite-element&gt;</literal> . Une "
+"collections de composants qui ccontiennent eux-mêmes des composants est un "
+"cas très exotique. A ce stade demandez-vous si une association un-à-"
+"plusieurs ne serait pas plus approprié. Essayez de re remodeler votre "
+"élément composite comme une entité ( Dans ce cas même si le modèle Java est "
+"le même la logique de persitence et de relation sont tout de même "
+"différentes)"
 
-#: index.docbook:102
-msgid "Please note that a composite element mapping doesn't support null-able properties if you're using a <literal>&lt;set&gt;</literal>. Hibernate has to use each columns value to identify a record when deleting objects (there is no separate primary key column in the composite element table), which is not possible with null values. You have to either use only not-null properties in a composite-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 "Remarque, le mapping d'éléments composites ne supporte pas la nullité des propriétés lorsqu'on utilise un <literal>&lt;set&gt;</literal>. Hibernate lorsqu'il supprime un objet utilise chaque colonne pour identifier un objet (on ne peut pas utiliser des clés primaires distinctes dans une table d'éléments composites), ce qui n'est pas possible avec des valeurs nulles. Vous devez donc choisir d'interdire la nullité des propriétés d'un élément composite ou choisir un autre type de collection comme : <literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</literal> ou <literal>&lt;idbag&gt;</literal>."
+#. Tag: para
+#: component_mapping.xml:102
+#, no-c-format
+msgid ""
+"Please note that a composite element mapping doesn't support null-able "
+"properties if you're using a <literal>&lt;set&gt;</literal>. Hibernate has "
+"to use each columns value to identify a record when deleting objects (there "
+"is no separate primary key column in the composite element table), which is "
+"not possible with null values. You have to either use only not-null "
+"properties in a composite-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 ""
+"Remarque, le mapping d'éléments composites ne supporte pas la nullité des "
+"propriétés lorsqu'on utilise un <literal>&lt;set&gt;</literal>. Hibernate "
+"lorsqu'il supprime un objet utilise chaque colonne pour identifier un objet "
+"(on ne peut pas utiliser des clés primaires distinctes dans une table "
+"d'éléments composites), ce qui n'est pas possible avec des valeurs nulles. "
+"Vous devez donc choisir d'interdire la nullité des propriétés d'un élément "
+"composite ou choisir un autre type de collection comme : <literal>&lt;"
+"list&gt;</literal>, <literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</"
+"literal> ou <literal>&lt;idbag&gt;</literal>."
 
-#: index.docbook:113
-msgid "A special case of a composite element is a composite element with a nested <literal>&lt;many-to-one&gt;</literal> element. A mapping like this allows you to map extra columns of a many-to-many association table to the composite element class. The following is a many-to-many association from <literal>Order</literal> to <literal>Item</literal> where <literal>purchaseDate</literal>, <literal>price</literal> and <literal>quantity</literal> are properties of the association:"
-msgstr "Un cas particulier d'élément composite est un élément composite qui inclut un élément <literal>&lt;many-to-one&gt;</literal>. Un mapping comme celui-ci vous permet d'associer les colonnes d'une table d'association plusieurs à plusieurs (many-to-many) à la classse de l'élément composite. L'exemple suivant est une association plusieurs à plusieurs de <literal>Order</literal> à <literal>Item</literal> à <literal>purchaseDate</literal>, <literal>price</literal> et <literal>quantity</literal> sont des propriétés de l'association."
+#. Tag: para
+#: component_mapping.xml:113
+#, 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. A mapping like this allows "
+"you to map extra columns of a many-to-many association table to the "
+"composite element class. The following is a many-to-many association from "
+"<literal>Order</literal> to <literal>Item</literal> where "
+"<literal>purchaseDate</literal>, <literal>price</literal> and "
+"<literal>quantity</literal> are properties of the association:"
+msgstr ""
+"Un cas particulier d'élément composite est un élément composite qui inclut "
+"un élément <literal>&lt;many-to-one&gt;</literal>. Un mapping comme celui-ci "
+"vous permet d'associer les colonnes d'une table d'association plusieurs à "
+"plusieurs (many-to-many) à la classse de l'élément composite. L'exemple "
+"suivant est une association plusieurs à plusieurs de <literal>Order</"
+"literal> à <literal>Item</literal> à <literal>purchaseDate</literal>, "
+"<literal>price</literal> et <literal>quantity</literal> sont des propriétés "
+"de l'association."
 
-#: index.docbook:123
+#. Tag: programlisting
+#: component_mapping.xml:123
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:125
-msgid "Of course, there can't be a reference to the purchae on the other side, for bidirectional association navigation. Remember that components are value types and don't allow shared references. A single <literal>Purchase</literal> can be in the set of an <literal>Order</literal>, but it can't be referenced by the <literal>Item</literal> at the same time."
-msgstr "Bien sûr, il ne peut pas y avoir de référence à l'achat (purchase) depuis l'article (item), pour pouvoir naviguer de façon bidirectionnelle dans l'association. N'oubliez pas que les composants sont de type valeurs et n'autorise pas les références partagées."
+#. Tag: para
+#: component_mapping.xml:125
+#, no-c-format
+msgid ""
+"Of course, there can't be a reference to the purchae on the other side, for "
+"bidirectional association navigation. Remember that components are value "
+"types and don't allow shared references. A single <literal>Purchase</"
+"literal> can be in the set of an <literal>Order</literal>, but it can't be "
+"referenced by the <literal>Item</literal> at the same time."
+msgstr ""
+"Bien sûr, il ne peut pas y avoir de référence à l'achat (purchase) depuis "
+"l'article (item), pour pouvoir naviguer de façon bidirectionnelle dans "
+"l'association. N'oubliez pas que les composants sont de type valeurs et "
+"n'autorise pas les références partagées."
 
-#: index.docbook:133
+#. Tag: para
+#: component_mapping.xml:133
+#, no-c-format
 msgid "Even ternary (or quaternary, etc) associations are possible:"
 msgstr "Même les associations ternaires ou quaternaires sont possibles:"
 
-#: index.docbook:135
+#. Tag: programlisting
+#: component_mapping.xml:135
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:137
-msgid "Composite elements may appear in queries using the same syntax as associations to other entities."
-msgstr "Les éléments composites peuvent apparaître dans les requêtes en utilisant la même syntaxe que associations"
+#. Tag: para
+#: component_mapping.xml:137
+#, no-c-format
+msgid ""
+"Composite elements may appear in queries using the same syntax as "
+"associations to other entities."
+msgstr ""
+"Les éléments composites peuvent apparaître dans les requêtes en utilisant la "
+"même syntaxe que associations"
 
-#: index.docbook:145
+#. Tag: title
+#: component_mapping.xml:145
+#, no-c-format
 msgid "Components as Map indices"
 msgstr "Utiliser les composants comme index de map"
 
-#: index.docbook:147
-msgid "The <literal>&lt;composite-map-key&gt;</literal> element lets you map a component class as the key of a <literal>Map</literal>. Make sure you override <literal>hashCode()</literal> and <literal>equals()</literal> correctly on the component class."
-msgstr "l'élément <literal>&lt;composite-map-key&gt;</literal> vous permet d'utiliser une classe de composant comme indice de <literal>Map</literal>. Assurez-vous d'avoir surdéfini <literal>hashCode()</literal> et <literal>equals()</literal> dans la classe du composant."
+#. Tag: para
+#: component_mapping.xml:147
+#, no-c-format
+msgid ""
+"The <literal>&lt;composite-map-key&gt;</literal> element lets you map a "
+"component class as the key of a <literal>Map</literal>. Make sure you "
+"override <literal>hashCode()</literal> and <literal>equals()</literal> "
+"correctly on the component class."
+msgstr ""
+"l'élément <literal>&lt;composite-map-key&gt;</literal> vous permet "
+"d'utiliser une classe de composant comme indice de <literal>Map</literal>. "
+"Assurez-vous d'avoir surdéfini <literal>hashCode()</literal> et "
+"<literal>equals()</literal> dans la classe du composant."
 
-#: index.docbook:156
+#. Tag: title
+#: component_mapping.xml:156
+#, no-c-format
 msgid "Components as composite identifiers"
 msgstr "Utiliser un composant comme identifiant"
 
-#: index.docbook:158
-msgid "You may use a component as an identifier of an entity class. Your component class must satisfy certain requirements:"
-msgstr "Vous pouvez utiliser un composant comme identifiant d'une entité. Mais pour cela la classe du composant doit respecter certaines règles."
+#. Tag: para
+#: component_mapping.xml:158
+#, no-c-format
+msgid ""
+"You may use a component as an identifier of an entity class. Your component "
+"class must satisfy certain requirements:"
+msgstr ""
+"Vous pouvez utiliser un composant comme identifiant d'une entité. Mais pour "
+"cela la classe du composant doit respecter certaines règles."
 
-#: index.docbook:165
+#. Tag: para
+#: component_mapping.xml:165
+#, no-c-format
 msgid "It must implement <literal>java.io.Serializable</literal>."
 msgstr "Elle doit implémenter <literal>java.io.Serializable</literal>."
 
-#: index.docbook:170
-msgid "It must re-implement <literal>equals()</literal> and <literal>hashCode()</literal>, consistently with the database's notion of composite key equality."
-msgstr "Elle doit redéfinir <literal>equals()</literal> et <literal>hashCode()</literal>, de façon cohérente avec le fait qu'elle définit une clé composite dans la base de données."
+#. Tag: para
+#: component_mapping.xml:170
+#, 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 ""
+"Elle doit redéfinir <literal>equals()</literal> et <literal>hashCode()</"
+"literal>, de façon cohérente avec le fait qu'elle définit une clé composite "
+"dans la base de données."
 
-#: index.docbook:179
-msgid "Note: in Hibernate3, the second requirement is not an absolutely hard requirement of Hibernate. But do it anyway."
-msgstr "Remarque: avec hibernate3, la seconde règle n'est plus absolument necessaire mais faîtes le quand même."
+#. Tag: emphasis
+#: component_mapping.xml:179
+#, no-c-format
+msgid ""
+"Note: in Hibernate3, the second requirement is not an absolutely hard "
+"requirement of Hibernate. But do it anyway."
+msgstr ""
+"Remarque: avec hibernate3, la seconde règle n'est plus absolument necessaire "
+"mais faîtes le quand même."
 
-#: index.docbook:183
-msgid "You can't use an <literal>IdentifierGenerator</literal> to generate composite keys. Instead the application must assign its own identifiers."
-msgstr "Vous ne pouvez pas utiliser de <literal>IdentifierGenerator</literal> pour générer une clé composite, l'application devra définir elle même ses propres identifiants."
+#. Tag: para
+#: component_mapping.xml:183
+#, no-c-format
+msgid ""
+"You can't use an <literal>IdentifierGenerator</literal> to generate "
+"composite keys. Instead the application must assign its own identifiers."
+msgstr ""
+"Vous ne pouvez pas utiliser de <literal>IdentifierGenerator</literal> pour "
+"générer une clé composite, l'application devra définir elle même ses propres "
+"identifiants."
 
-#: index.docbook:188
-msgid "Use the <literal>&lt;composite-id&gt;</literal> tag (with nested <literal>&lt;key-property&gt;</literal> elements) in place of the usual <literal>&lt;id&gt;</literal> declaration. For example, the <literal>OrderLine</literal> class has a primary key that depends upon the (composite) primary key of <literal>Order</literal>."
-msgstr "Utiliser l'élément <literal>&lt;composite-id&gt;</literal> (en incluant l'élément <literal>&lt;key-property&gt;</literal>) à la place de l'habituel déclaration <literal>&lt;id&gt;</literal>. Par exemple la classe <literal>OrderLine</literal> qui dépend de la clé primaire (composite) de <literal>Order</literal>."
+#. Tag: para
+#: component_mapping.xml:188
+#, 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 "
+"<literal>&lt;id&gt;</literal> declaration. For example, the "
+"<literal>OrderLine</literal> class has a primary key that depends upon the "
+"(composite) primary key of <literal>Order</literal>."
+msgstr ""
+"Utiliser l'élément <literal>&lt;composite-id&gt;</literal> (en incluant "
+"l'élément <literal>&lt;key-property&gt;</literal>) à la place de l'habituel "
+"déclaration <literal>&lt;id&gt;</literal>. Par exemple la classe "
+"<literal>OrderLine</literal> qui dépend de la clé primaire (composite) de "
+"<literal>Order</literal>."
 
-#: index.docbook:196
+#. Tag: programlisting
+#: component_mapping.xml:196
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:198
-msgid "Now, any foreign keys referencing the <literal>OrderLine</literal> table are also composite. You must declare this in your mappings for other classes. An association to <literal>OrderLine</literal> would be mapped like this:"
-msgstr "Maintenant toutes clés étrangères référençant la table <literal>OrderLine</literal> devra aussi être composite. Vous devez en tenir compte lorsque vous écrivez vos mapping d'association pour les autres classes. Une association à <literal>OrderLine</literal> devrait être mappé de la façon suivante :"
+#. Tag: para
+#: component_mapping.xml:198
+#, no-c-format
+msgid ""
+"Now, any foreign keys referencing the <literal>OrderLine</literal> table are "
+"also composite. You must declare this in your mappings for other classes. An "
+"association to <literal>OrderLine</literal> would be mapped like this:"
+msgstr ""
+"Maintenant toutes clés étrangères référençant la table <literal>OrderLine</"
+"literal> devra aussi être composite. Vous devez en tenir compte lorsque vous "
+"écrivez vos mapping d'association pour les autres classes. Une association à "
+"<literal>OrderLine</literal> devrait être mappé de la façon suivante :"
 
-#: index.docbook:204
+#. Tag: programlisting
+#: component_mapping.xml:204
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:206
-msgid "(Note that the <literal>&lt;column&gt;</literal> tag is an alternative to the <literal>column</literal> attribute everywhere.)"
-msgstr "(Remarque: l'élément <literal>&lt;column&gt;</literal> est une alternative à l'attribut <literal>column</literal> que l'on utilise partout.)"
+#. Tag: para
+#: component_mapping.xml:206
+#, no-c-format
+msgid ""
+"(Note that the <literal>&lt;column&gt;</literal> tag is an alternative to "
+"the <literal>column</literal> attribute everywhere.)"
+msgstr ""
+"(Remarque: l'élément <literal>&lt;column&gt;</literal> est une alternative à "
+"l'attribut <literal>column</literal> que l'on utilise partout.)"
 
-#: index.docbook:211
-msgid "A <literal>many-to-many</literal> association to <literal>OrderLine</literal> also uses the composite foreign key:"
-msgstr "Une association <literal>plusieurs-à-plusieurs</literal> (many-to-many) à <literal>OrderLine</literal> utilisera aussi une clé étrangère composite:"
+#. Tag: para
+#: component_mapping.xml:211
+#, no-c-format
+msgid ""
+"A <literal>many-to-many</literal> association to <literal>OrderLine</"
+"literal> also uses the composite foreign key:"
+msgstr ""
+"Une association <literal>plusieurs-à-plusieurs</literal> (many-to-many) à "
+"<literal>OrderLine</literal> utilisera aussi une clé étrangère composite:"
 
-#: index.docbook:216
+#. Tag: programlisting
+#: component_mapping.xml:216
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:218
-msgid "The collection of <literal>OrderLine</literal>s in <literal>Order</literal> would use:"
-msgstr "La collection des <literal>OrderLine</literal>s dans <literal>Order</literal> utilisera:"
+#. Tag: para
+#: component_mapping.xml:218
+#, no-c-format
+msgid ""
+"The collection of <literal>OrderLine</literal>s in <literal>Order</literal> "
+"would use:"
+msgstr ""
+"La collection des <literal>OrderLine</literal>s dans <literal>Order</"
+"literal> utilisera:"
 
-#: index.docbook:223
+#. Tag: programlisting
+#: component_mapping.xml:223
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:225
-msgid "(The <literal>&lt;one-to-many&gt;</literal> element, as usual, declares no columns.)"
-msgstr "(L'élément <literal>&lt;one-to-many&gt;</literal>, comme d'habitude, ne déclare pas de colonne.)"
+#. Tag: para
+#: component_mapping.xml:225
+#, no-c-format
+msgid ""
+"(The <literal>&lt;one-to-many&gt;</literal> element, as usual, declares no "
+"columns.)"
+msgstr ""
+"(L'élément <literal>&lt;one-to-many&gt;</literal>, comme d'habitude, ne "
+"déclare pas de colonne.)"
 
-#: index.docbook:229
-msgid "If <literal>OrderLine</literal> itself owns a collection, it also has a composite foreign key."
-msgstr "Si <literal>OrderLine</literal> lui-même possède une collection, celle-ci aura aussi une clé composite étrangère."
+#. Tag: para
+#: component_mapping.xml:229
+#, no-c-format
+msgid ""
+"If <literal>OrderLine</literal> itself owns a collection, it also has a "
+"composite foreign key."
+msgstr ""
+"Si <literal>OrderLine</literal> lui-même possède une collection, celle-ci "
+"aura aussi une clé composite étrangère."
 
-#: index.docbook:234
+#. Tag: programlisting
+#: component_mapping.xml:234
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:239
+#. Tag: title
+#: component_mapping.xml:239
+#, no-c-format
 msgid "Dynamic components"
 msgstr "Composant Dynamique"
 
-#: index.docbook:241
+#. Tag: para
+#: component_mapping.xml:241
+#, no-c-format
 msgid "You may even map a property of type <literal>Map</literal>:"
 msgstr "Vous pouvez même mapper une propriété de type <literal>Map</literal>:"
 
-#: index.docbook:245
+#. Tag: programlisting
+#: component_mapping.xml:245
+#, 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>]]>"
+"<![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\"/>\n"
-      "    <property name=\"bar\" column=\"BAR\"/>\n"
-      "    <many-to-one name=\"baz\" class=\"Baz\" column=\"BAZ_ID\"/>\n"
-      "</dynamic-component>]]>"
 
-#: index.docbook:247
-msgid "The semantics of a <literal>&lt;dynamic-component&gt;</literal> mapping are identical to <literal>&lt;component&gt;</literal>. The advantage of this kind of mapping is the ability to determine the actual properties of the bean at deployment time, just by editing the mapping document. Runtime manipulation of the mapping document is also possible, using a DOM parser. Even better, you can access (and change) Hibernate's configuration-time metamodel via the <literal>Configuration</literal> object."
-msgstr "La sémantique de l'association à un <literal>&lt;dynamic-component&gt;</literal> est identique à celle que l'on utilise pour les composants. L'avantage de ce type de mapping est qu'il pemet de déterminer les véritables propriétés du bean au moment su déploiement en éditant simplement le document de mapping. La manipulation du document de mapping pendant l'execution de l'application est aussi possible en utilisant un parser DOM. Il ya même mieux, vous pouvez accéder (et changer) le metamodel de configuration d'hibernate en utilisant l'objet <literal>Configuration</literal>"
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: component_mapping.xml:247
+#, 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 "
+"bean at deployment time, just by editing the mapping document. Runtime "
+"manipulation of the mapping document is also possible, using a DOM parser. "
+"Even better, you can access (and change) Hibernate's configuration-time "
+"metamodel via the <literal>Configuration</literal> object."
+msgstr ""
+"La sémantique de l'association à un <literal>&lt;dynamic-component&gt;</"
+"literal> est identique à celle que l'on utilise pour les composants. "
+"L'avantage de ce type de mapping est qu'il pemet de déterminer les "
+"véritables propriétés du bean au moment su déploiement en éditant simplement "
+"le document de mapping. La manipulation du document de mapping pendant "
+"l'execution de l'application est aussi possible en utilisant un parser DOM. "
+"Il ya même mieux, vous pouvez accéder (et changer) le metamodel de "
+"configuration d'hibernate en utilisant l'objet <literal>Configuration</"
+"literal>"

Modified: core/trunk/documentation/manual/translations/fr-FR/content/configuration.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/configuration.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/configuration.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,1595 +1,3944 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: configuration.xml:5
+#, no-c-format
 msgid "Configuration"
 msgstr "Configuration"
 
-#: index.docbook:7
-msgid "Because Hibernate is designed to operate in many different environments, there are a large number of configuration parameters. Fortunately, most have sensible default values and Hibernate is distributed with an example <literal>hibernate.properties</literal> file in <literal>etc/</literal> that shows the various options. Just put the example file in your classpath and customize it."
-msgstr "Parce qu'Hibernate est conçu pour fonctionner dans différents environnements, il existe beaucoup de paramètres de configuration. Heureusement, la plupart ont des valeurs par défaut appropriées et la distribution d'Hibernate contient un exemple de fichier <literal>hibernate.properties</literal> dans le répertoire <literal>etc/</literal> qui montre les différentes options. Vous n'avez qu'à placer ce fichier dans votre classpath et à l'adapter."
+#. Tag: para
+#: configuration.xml:7
+#, no-c-format
+msgid ""
+"Because Hibernate is designed to operate in many different environments, "
+"there are a large number of configuration parameters. Fortunately, most have "
+"sensible default values and Hibernate is distributed with an example "
+"<literal>hibernate.properties</literal> file in <literal>etc/</literal> that "
+"shows the various options. Just put the example file in your classpath and "
+"customize it."
+msgstr ""
+"Parce qu'Hibernate est conçu pour fonctionner dans différents "
+"environnements, il existe beaucoup de paramètres de configuration. "
+"Heureusement, la plupart ont des valeurs par défaut appropriées et la "
+"distribution d'Hibernate contient un exemple de fichier <literal>hibernate."
+"properties</literal> dans le répertoire <literal>etc/</literal> qui montre "
+"les différentes options. Vous n'avez qu'à placer ce fichier dans votre "
+"classpath et à l'adapter."
 
-#: index.docbook:16
+#. Tag: title
+#: configuration.xml:16
+#, no-c-format
 msgid "Programmatic configuration"
 msgstr "Configuration par programmation"
 
-#: index.docbook:18
-msgid "An instance of <literal>org.hibernate.cfg.Configuration</literal> represents an entire set of mappings of an application's Java types to an SQL database. The <literal>Configuration</literal> is used to build an (immutable) <literal>SessionFactory</literal>. The mappings are compiled from various XML mapping files."
-msgstr "Une instance de <literal>org.hibernate.cfg.Configuration</literal> représente un ensemble de mappings des classes Java d'une application vers la base de données SQL. La <literal>Configuration</literal> est utilisée pour construire un objet (immuable) <literal>SessionFactory</literal>. Les mappings sont constitués d'un ensemble de fichiers de mapping XML."
+#. Tag: para
+#: configuration.xml:18
+#, no-c-format
+msgid ""
+"An instance of <literal>org.hibernate.cfg.Configuration</literal> represents "
+"an entire set of mappings of an application's Java types to an SQL database. "
+"The <literal>Configuration</literal> is used to build an (immutable) "
+"<literal>SessionFactory</literal>. The mappings are compiled from various "
+"XML mapping files."
+msgstr ""
+"Une instance de <literal>org.hibernate.cfg.Configuration</literal> "
+"représente un ensemble de mappings des classes Java d'une application vers "
+"la base de données SQL. La <literal>Configuration</literal> est utilisée "
+"pour construire un objet (immuable) <literal>SessionFactory</literal>. Les "
+"mappings sont constitués d'un ensemble de fichiers de mapping XML."
 
-#: index.docbook:26
-msgid "You may obtain a <literal>Configuration</literal> instance by instantiating it directly and specifying XML mapping documents. If the mapping files are in the classpath, use <literal>addResource()</literal>:"
-msgstr "Vous pouvez obtenir une instance de <literal>Configuration</literal> en l'instanciant directement et en spécifiant la liste des documents XML de mapping. Si les fichiers de mapping sont dans le classpath, vous pouvez le faire à l'aide de la méthode <literal>addResource()</literal> :"
+#. Tag: para
+#: configuration.xml:26
+#, no-c-format
+msgid ""
+"You may obtain a <literal>Configuration</literal> instance by instantiating "
+"it directly and specifying XML mapping documents. If the mapping files are "
+"in the classpath, use <literal>addResource()</literal>:"
+msgstr ""
+"Vous pouvez obtenir une instance de <literal>Configuration</literal> en "
+"l'instanciant directement et en spécifiant la liste des documents XML de "
+"mapping. Si les fichiers de mapping sont dans le classpath, vous pouvez le "
+"faire à l'aide de la méthode <literal>addResource()</literal> :"
 
-#: index.docbook:32
+#. Tag: programlisting
+#: configuration.xml:32
+#, no-c-format
 msgid ""
-      "<![CDATA[Configuration cfg = new Configuration()\n"
-      "    .addResource(\"Item.hbm.xml\")\n"
-      "    .addResource(\"Bid.hbm.xml\");]]>"
+"<![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\");]]>"
 
-#: index.docbook:34
-msgid "An alternative (sometimes better) way is to specify the mapped class, and let Hibernate find the mapping document for you:"
-msgstr "Une alternative (parfois meilleure) est de spécifier les classes mappées et de laisser Hibernate trouver les documents de mapping pour vous :"
+#. Tag: para
+#: configuration.xml:34
+#, no-c-format
+msgid ""
+"An alternative (sometimes better) way is to specify the mapped class, and "
+"let Hibernate find the mapping document for you:"
+msgstr ""
+"Une alternative (parfois meilleure) est de spécifier les classes mappées et "
+"de laisser Hibernate trouver les documents de mapping pour vous :"
 
-#: index.docbook:39
+#. Tag: programlisting
+#: configuration.xml:39
+#, no-c-format
 msgid ""
-      "<![CDATA[Configuration cfg = new Configuration()\n"
-      "    .addClass(org.hibernate.auction.Item.class)\n"
-      "    .addClass(org.hibernate.auction.Bid.class);]]>"
+"<![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);]]>"
 
-#: index.docbook:41
-msgid "Then Hibernate will look for mapping files named <literal>/org/hibernate/auction/Item.hbm.xml</literal> and <literal>/org/hibernate/auction/Bid.hbm.xml</literal> in the classpath. This approach eliminates any hardcoded filenames."
-msgstr "Hibernate va rechercher les fichiers de mappings <literal>/org/hibernate/auction/Item.hbm.xml</literal> et <literal>/org/hibernate/auction/Bid.hbm.xml</literal> dans le classpath. Cette approche élimine les noms de fichiers en dur."
+#. Tag: para
+#: configuration.xml:41
+#, no-c-format
+msgid ""
+"Then Hibernate will look for mapping files named <literal>/org/hibernate/"
+"auction/Item.hbm.xml</literal> and <literal>/org/hibernate/auction/Bid.hbm."
+"xml</literal> in the classpath. This approach eliminates any hardcoded "
+"filenames."
+msgstr ""
+"Hibernate va rechercher les fichiers de mappings <literal>/org/hibernate/"
+"auction/Item.hbm.xml</literal> et <literal>/org/hibernate/auction/Bid.hbm."
+"xml</literal> dans le classpath. Cette approche élimine les noms de fichiers "
+"en dur."
 
-#: index.docbook:48
-msgid "A <literal>Configuration</literal> also allows you to specify configuration properties:"
-msgstr "Une <literal>Configuration</literal> vous permet également de préciser des propriétés de configuration :"
+#. Tag: para
+#: configuration.xml:48
+#, no-c-format
+msgid ""
+"A <literal>Configuration</literal> also allows you to specify configuration "
+"properties:"
+msgstr ""
+"Une <literal>Configuration</literal> vous permet également de préciser des "
+"propriétés de configuration :"
 
-#: index.docbook:53
+#. Tag: programlisting
+#: configuration.xml:53
+#, 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\");]]>"
+"<![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\");]]>"
 
-#: index.docbook:55
-msgid "This is not the only way to pass configuration properties to Hibernate. The various options include:"
-msgstr "Ce n'est pas le seul moyen de passer des propriétés de configuration à Hibernate. Les différentes options sont :"
+#. Tag: para
+#: configuration.xml:55
+#, no-c-format
+msgid ""
+"This is not the only way to pass configuration properties to Hibernate. The "
+"various options include:"
+msgstr ""
+"Ce n'est pas le seul moyen de passer des propriétés de configuration à "
+"Hibernate. Les différentes options sont :"
 
-#: index.docbook:62
-msgid "Pass an instance of <literal>java.util.Properties</literal> to <literal>Configuration.setProperties()</literal>."
-msgstr "Passer une instance de <literal>java.util.Properties</literal> à <literal>Configuration.setProperties()</literal>."
+#. Tag: para
+#: configuration.xml:62
+#, no-c-format
+msgid ""
+"Pass an instance of <literal>java.util.Properties</literal> to "
+"<literal>Configuration.setProperties()</literal>."
+msgstr ""
+"Passer une instance de <literal>java.util.Properties</literal> à "
+"<literal>Configuration.setProperties()</literal>."
 
-#: index.docbook:68
-msgid "Place <literal>hibernate.properties</literal> in a root directory of the classpath."
-msgstr "Placer <literal>hibernate.properties</literal> dans un répertoire racine du classpath"
+#. Tag: para
+#: configuration.xml:68
+#, no-c-format
+msgid ""
+"Place <literal>hibernate.properties</literal> in a root directory of the "
+"classpath."
+msgstr ""
+"Placer <literal>hibernate.properties</literal> dans un répertoire racine du "
+"classpath"
 
-#: index.docbook:74
-msgid "Set <literal>System</literal> properties using <literal>java -Dproperty=value</literal>."
-msgstr "Positionner les propriétés <literal>System</literal> en utilisant <literal>java -Dproperty=value</literal>."
+#. Tag: para
+#: configuration.xml:74
+#, no-c-format
+msgid ""
+"Set <literal>System</literal> properties using <literal>java -"
+"Dproperty=value</literal>."
+msgstr ""
+"Positionner les propriétés <literal>System</literal> en utilisant "
+"<literal>java -Dproperty=value</literal>."
 
-#: index.docbook:80
-msgid "Include <literal>&lt;property&gt;</literal> elements in <literal>hibernate.cfg.xml</literal> (discussed later)."
-msgstr "Inclure des éléments <literal>&lt;property&gt;</literal> dans le fichier <literal>hibernate.cfg.xml</literal> (voir plus loin)."
+#. Tag: para
+#: configuration.xml:80
+#, no-c-format
+msgid ""
+"Include <literal>&lt;property&gt;</literal> elements in <literal>hibernate."
+"cfg.xml</literal> (discussed later)."
+msgstr ""
+"Inclure des éléments <literal>&lt;property&gt;</literal> dans le fichier "
+"<literal>hibernate.cfg.xml</literal> (voir plus loin)."
 
-#: index.docbook:87
-msgid "<literal>hibernate.properties</literal> is the easiest approach if you want to get started quickly."
-msgstr "L'utilisation d'<literal>hibernate.properties</literal> est l'approche la plus simple si vous voulez démarrer rapidement"
+#. Tag: para
+#: configuration.xml:87
+#, no-c-format
+msgid ""
+"<literal>hibernate.properties</literal> is the easiest approach if you want "
+"to get started quickly."
+msgstr ""
+"L'utilisation d'<literal>hibernate.properties</literal> est l'approche la "
+"plus simple si vous voulez démarrer rapidement"
 
-#: index.docbook:92
-msgid "The <literal>Configuration</literal> is intended as a startup-time object, to be discarded once a <literal>SessionFactory</literal> is created."
-msgstr "La <literal>Configuration</literal> est un objet de démarrage qui sera supprimé une fois qu'une <literal>SessionFactory</literal> aura été créée."
+#. Tag: para
+#: configuration.xml:92
+#, no-c-format
+msgid ""
+"The <literal>Configuration</literal> is intended as a startup-time object, "
+"to be discarded once a <literal>SessionFactory</literal> is created."
+msgstr ""
+"La <literal>Configuration</literal> est un objet de démarrage qui sera "
+"supprimé une fois qu'une <literal>SessionFactory</literal> aura été créée."
 
-#: index.docbook:100
+#. Tag: title
+#: configuration.xml:100
+#, no-c-format
 msgid "Obtaining a SessionFactory"
 msgstr "Obtenir une SessionFactory"
 
-#: index.docbook:102
-msgid "When all mappings have been parsed by the <literal>Configuration</literal>, the application must obtain a factory for <literal>Session</literal> instances. This factory is intended to be shared by all application threads:"
-msgstr "Une fois que tous les mappings ont été parsés par la <literal>Configuration</literal>, l'application doit obtenir une fabrique d'instances de <literal>Session</literal>. Cette fabrique sera partagée entre tous les threads de l'application :"
+#. Tag: para
+#: configuration.xml:102
+#, no-c-format
+msgid ""
+"When all mappings have been parsed by the <literal>Configuration</literal>, "
+"the application must obtain a factory for <literal>Session</literal> "
+"instances. This factory is intended to be shared by all application threads:"
+msgstr ""
+"Une fois que tous les mappings ont été parsés par la <literal>Configuration</"
+"literal>, l'application doit obtenir une fabrique d'instances de "
+"<literal>Session</literal>. Cette fabrique sera partagée entre tous les "
+"threads de l'application :"
 
-#: index.docbook:108
+#. Tag: programlisting
+#: configuration.xml:108
+#, no-c-format
 msgid "<![CDATA[SessionFactory sessions = cfg.buildSessionFactory();]]>"
-msgstr "<![CDATA[SessionFactory sessions = cfg.buildSessionFactory();]]>"
+msgstr ""
 
-#: index.docbook:110
-msgid "Hibernate does allow your application to instantiate more than one <literal>SessionFactory</literal>. This is useful if you are using more than one database."
-msgstr "Hibernate permet à votre application d'instancier plus d'une <literal>SessionFactory</literal>. Cela est pratique lorsque vous utilisez plus d'une base de données."
+#. Tag: para
+#: configuration.xml:110
+#, no-c-format
+msgid ""
+"Hibernate does allow your application to instantiate more than one "
+"<literal>SessionFactory</literal>. This is useful if you are using more than "
+"one database."
+msgstr ""
+"Hibernate permet à votre application d'instancier plus d'une "
+"<literal>SessionFactory</literal>. Cela est pratique lorsque vous utilisez "
+"plus d'une base de données."
 
-#: index.docbook:119
+#. Tag: title
+#: configuration.xml:119
+#, no-c-format
 msgid "JDBC connections"
 msgstr "Connexions JDBC"
 
-#: index.docbook:121
-msgid "Usually, you want to have the <literal>SessionFactory</literal> create and pool JDBC connections for you. If you take this approach, opening a <literal>Session</literal> is as simple as:"
-msgstr "Habituellement, vous voulez que la <literal>SessionFactory</literal> crée les connexions JDBC et les mette dans un pool pour vous. Si vous suivez cette approche, ouvrir une <literal>Session</literal> est aussi simple que :"
+#. Tag: para
+#: configuration.xml:121
+#, no-c-format
+msgid ""
+"Usually, you want to have the <literal>SessionFactory</literal> create and "
+"pool JDBC connections for you. If you take this approach, opening a "
+"<literal>Session</literal> is as simple as:"
+msgstr ""
+"Habituellement, vous voulez que la <literal>SessionFactory</literal> crée "
+"les connexions JDBC et les mette dans un pool pour vous. Si vous suivez "
+"cette approche, ouvrir une <literal>Session</literal> est aussi simple que :"
 
-#: index.docbook:127
-msgid "<![CDATA[Session session = sessions.openSession(); // open a new Session]]>"
-msgstr "<![CDATA[Session session = sessions.openSession(); // open a new Session]]>"
+#. Tag: programlisting
+#: configuration.xml:127
+#, no-c-format
+msgid ""
+"<![CDATA[Session session = sessions.openSession(); // open a new Session]]>"
+msgstr ""
 
-#: index.docbook:129
-msgid "As soon as you do something that requires access to the database, a JDBC connection will be obtained from the pool."
-msgstr "Dès que vous ferez quelquechose qui requiert un accès à la base de données, une connexion JDBC sera récupérée dans le pool."
+#. Tag: para
+#: configuration.xml:129
+#, no-c-format
+msgid ""
+"As soon as you do something that requires access to the database, a JDBC "
+"connection will be obtained from the pool."
+msgstr ""
+"Dès que vous ferez quelquechose qui requiert un accès à la base de données, "
+"une connexion JDBC sera récupérée dans le pool."
 
-#: index.docbook:134
-msgid "For this to work, we need to pass some JDBC connection properties to Hibernate. All Hibernate property names and semantics are defined on the class <literal>org.hibernate.cfg.Environment</literal>. We will now describe the most important settings for JDBC connection configuration."
-msgstr "Pour faire cela, il faut passer les propriétés de la connexion JDBC à Hibernate. Tous les noms des propriétés Hibernate et leur signification sont définies dans la classe <literal>org.hibernate.cfg.Environment</literal>. Nous allons maintenant décrire les paramètres de configuration des connexions JDBC les plus importants."
+#. Tag: para
+#: configuration.xml:134
+#, no-c-format
+msgid ""
+"For this to work, we need to pass some JDBC connection properties to "
+"Hibernate. All Hibernate property names and semantics are defined on the "
+"class <literal>org.hibernate.cfg.Environment</literal>. We will now describe "
+"the most important settings for JDBC connection configuration."
+msgstr ""
+"Pour faire cela, il faut passer les propriétés de la connexion JDBC à "
+"Hibernate. Tous les noms des propriétés Hibernate et leur signification sont "
+"définies dans la classe <literal>org.hibernate.cfg.Environment</literal>. "
+"Nous allons maintenant décrire les paramètres de configuration des "
+"connexions JDBC les plus importants."
 
-#: index.docbook:141
-msgid "Hibernate will obtain (and pool) connections using <literal>java.sql.DriverManager</literal> if you set the following properties:"
-msgstr "Hibernate obtiendra des connexions (et les mettra dans un pool) en utilisant <literal>java.sql.DriverManager</literal> si vous positionnez les paramètres de la manière suivante :"
+#. Tag: para
+#: configuration.xml:141
+#, no-c-format
+msgid ""
+"Hibernate will obtain (and pool) connections using <literal>java.sql."
+"DriverManager</literal> if you set the following properties:"
+msgstr ""
+"Hibernate obtiendra des connexions (et les mettra dans un pool) en utilisant "
+"<literal>java.sql.DriverManager</literal> si vous positionnez les paramètres "
+"de la manière suivante :"
 
-#: index.docbook:147
+#. Tag: title
+#: configuration.xml:147
+#, no-c-format
 msgid "Hibernate JDBC Properties"
 msgstr "Propriétés JDBC d'Hibernate"
 
-#: index.docbook:153, index.docbook:241, index.docbook:338, index.docbook:529, index.docbook:725, index.docbook:832, index.docbook:920
+#. Tag: entry
+#: configuration.xml:153 configuration.xml:241 configuration.xml:338
+#: configuration.xml:529 configuration.xml:725 configuration.xml:832
+#: configuration.xml:920
+#, fuzzy, no-c-format
 msgid "Property name"
-msgstr "Nom de la propriété"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Nom de la propriété\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Nom d'une propriété\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Nom de la propriété\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Nom de la propriété\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Nom de la propriété\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Nom de la propriété\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Nom de la propriété"
 
-#: index.docbook:154, index.docbook:242, index.docbook:339, index.docbook:530, index.docbook:726, index.docbook:833, index.docbook:921
+#. Tag: entry
+#: configuration.xml:154 configuration.xml:242 configuration.xml:339
+#: configuration.xml:530 configuration.xml:726 configuration.xml:833
+#: configuration.xml:921
+#, fuzzy, no-c-format
 msgid "Purpose"
-msgstr "Fonction"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Fonction\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"fonction\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Fonction\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Fonction\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Fonction\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Fonction\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Fonction"
 
-#: index.docbook:160
+#. Tag: literal
+#: configuration.xml:160
+#, no-c-format
 msgid "hibernate.connection.driver_class"
 msgstr "hibernate.connection.driver_class"
 
-#: index.docbook:163
+#. Tag: emphasis
+#: configuration.xml:163
+#, no-c-format
 msgid "JDBC driver class"
 msgstr "Classe du driver jdbc"
 
-#: index.docbook:168
+#. Tag: literal
+#: configuration.xml:168
+#, no-c-format
 msgid "hibernate.connection.url"
 msgstr "hibernate.connection.url"
 
-#: index.docbook:171
+#. Tag: emphasis
+#: configuration.xml:171
+#, no-c-format
 msgid "JDBC URL"
 msgstr "URL jdbc"
 
-#: index.docbook:176, index.docbook:272
+#. Tag: literal
+#: configuration.xml:176 configuration.xml:272
+#, no-c-format
 msgid "hibernate.connection.username"
 msgstr "hibernate.connection.username"
 
-#: index.docbook:179
+#. Tag: emphasis
+#: configuration.xml:179
+#, no-c-format
 msgid "database user"
 msgstr "utilisateur de la base de données"
 
-#: index.docbook:184, index.docbook:280
+#. Tag: literal
+#: configuration.xml:184 configuration.xml:280
+#, no-c-format
 msgid "hibernate.connection.password"
 msgstr "hibernate.connection.password"
 
-#: index.docbook:187
+#. Tag: emphasis
+#: configuration.xml:187
+#, no-c-format
 msgid "database user password"
 msgstr "mot de passe de la base de données"
 
-#: index.docbook:192
+#. Tag: literal
+#: configuration.xml:192
+#, no-c-format
 msgid "hibernate.connection.pool_size"
 msgstr "hibernate.connection.pool_size"
 
-#: index.docbook:195
+#. Tag: emphasis
+#: configuration.xml:195
+#, no-c-format
 msgid "maximum number of pooled connections"
 msgstr "nombre maximum de connexions dans le pool"
 
-#: index.docbook:202
-msgid "Hibernate's own connection pooling algorithm is however quite rudimentary. It is intended to help you get started and is <emphasis>not intended for use in a production system</emphasis> or even for performance testing. You should use a third party pool for best performance and stability. Just replace the <literal>hibernate.connection.pool_size</literal> property with connection pool specific settings. This will turn off Hibernate's internal pool. For example, you might like to use C3P0."
-msgstr "L'algorithme natif de pool de connexions d'Hibernate est plutôt rudimentaire. Il a été fait dans le but de vous aider à démarrer et <emphasis>n'est pas prévu pour un système en production</emphasis> ou même pour un test de peformance. Utilisez plutôt un pool tiers pour de meilleures performances et une meilleure stabilité : pour cela, remplacez la propriété <literal>hibernate.connection.pool_size</literal> avec les propriétés spécifique au pool de connexions que vous avez choisi. Cela désactivera le pool de connexions interne d'Hibernate. Vous pouvez par exemple utiliser C3P0."
+#. Tag: para
+#: configuration.xml:202
+#, 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 "
+"in a production system</emphasis> or even for performance testing. You "
+"should use a third party pool for best performance and stability. Just "
+"replace the <literal>hibernate.connection.pool_size</literal> property with "
+"connection pool specific settings. This will turn off Hibernate's internal "
+"pool. For example, you might like to use C3P0."
+msgstr ""
+"L'algorithme natif de pool de connexions d'Hibernate est plutôt "
+"rudimentaire. Il a été fait dans le but de vous aider à démarrer et "
+"<emphasis>n'est pas prévu pour un système en production</emphasis> ou même "
+"pour un test de peformance. Utilisez plutôt un pool tiers pour de meilleures "
+"performances et une meilleure stabilité : pour cela, remplacez la propriété "
+"<literal>hibernate.connection.pool_size</literal> avec les propriétés "
+"spécifique au pool de connexions que vous avez choisi. Cela désactivera le "
+"pool de connexions interne d'Hibernate. Vous pouvez par exemple utiliser "
+"C3P0."
 
-#: index.docbook:212
-msgid "C3P0 is an open source JDBC connection pool distributed along with Hibernate in the <literal>lib</literal> directory. Hibernate will use its <literal>C3P0ConnectionProvider</literal> for connection pooling if you set <literal>hibernate.c3p0.*</literal> properties. If you'd like to use Proxool refer to the packaged <literal>hibernate.properties</literal> and the Hibernate web site for more information."
-msgstr "C3P0 est un pool de connexions JDBC open source distribué avec Hibernate dans le répertoire <literal>lib</literal>. Hibernate utilisera son provider <literal>C3P0ConnectionProvider</literal> pour le pool de connexions si vous positionnez les propriétés <literal>hibernate.c3p0.*</literal>. Si vous voulez utiliser Proxool, référez vous au groupe de propriétés d'<literal>hibernate.properties</literal> correspondant et regardez sur le site web d'Hibernate pour plus d'informations."
+#. Tag: para
+#: configuration.xml:212
+#, no-c-format
+msgid ""
+"C3P0 is an open source JDBC connection pool distributed along with Hibernate "
+"in the <literal>lib</literal> directory. Hibernate will use its "
+"<literal>C3P0ConnectionProvider</literal> for connection pooling if you set "
+"<literal>hibernate.c3p0.*</literal> properties. If you'd like to use Proxool "
+"refer to the packaged <literal>hibernate.properties</literal> and the "
+"Hibernate web site for more information."
+msgstr ""
+"C3P0 est un pool de connexions JDBC open source distribué avec Hibernate "
+"dans le répertoire <literal>lib</literal>. Hibernate utilisera son provider "
+"<literal>C3P0ConnectionProvider</literal> pour le pool de connexions si vous "
+"positionnez les propriétés <literal>hibernate.c3p0.*</literal>. Si vous "
+"voulez utiliser Proxool, référez vous au groupe de propriétés "
+"d'<literal>hibernate.properties</literal> correspondant et regardez sur le "
+"site web d'Hibernate pour plus d'informations."
 
-#: index.docbook:221
-msgid "Here is an example <literal>hibernate.properties</literal> file for C3P0:"
-msgstr "Voici un exemple de fichier <literal>hibernate.properties</literal> pour C3P0:"
+#. Tag: para
+#: configuration.xml:221
+#, no-c-format
+msgid ""
+"Here is an example <literal>hibernate.properties</literal> file for C3P0:"
+msgstr ""
+"Voici un exemple de fichier <literal>hibernate.properties</literal> pour "
+"C3P0:"
 
-#: index.docbook:225
+#. Tag: programlisting
+#: configuration.xml:225
+#, 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]]>"
+"<![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_statement=50\n"
-      "hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
 
-#: index.docbook:227
-msgid "For use inside an application server, you should almost always configure Hibernate to obtain connections from an application server <literal>Datasource</literal> registered in JNDI. You'll need to set at least one of the following properties:"
-msgstr "Dans le cadre de l'utilisation au sein d'un serveur d'applications, vous devriez quasiment toujours configurer Hibernate pour qu'il obtienne ses connexions de la <literal>DataSource</literal> du serveur d'application enregistrée dans le JNDI. Pour cela vous devrez définir au moins une des propriétés suivantes :"
+#. Tag: para
+#: configuration.xml:227
+#, no-c-format
+msgid ""
+"For use inside an application server, you should almost always configure "
+"Hibernate to obtain connections from an application server "
+"<literal>Datasource</literal> registered in JNDI. You'll need to set at "
+"least one of the following properties:"
+msgstr ""
+"Dans le cadre de l'utilisation au sein d'un serveur d'applications, vous "
+"devriez quasiment toujours configurer Hibernate pour qu'il obtienne ses "
+"connexions de la <literal>DataSource</literal> du serveur d'application "
+"enregistrée dans le JNDI. Pour cela vous devrez définir au moins une des "
+"propriétés suivantes :"
 
-#: index.docbook:235
+#. Tag: title
+#: configuration.xml:235
+#, no-c-format
 msgid "Hibernate Datasource Properties"
 msgstr "Propriété d'une Datasource Hibernate"
 
-#: index.docbook:248
+#. Tag: literal
+#: configuration.xml:248
+#, no-c-format
 msgid "hibernate.connection.datasource"
 msgstr "hibernate.connection.datasource"
 
-#: index.docbook:251
+#. Tag: emphasis
+#: configuration.xml:251
+#, no-c-format
 msgid "datasource JNDI name"
 msgstr "Nom JNDI de la datasource"
 
-#: index.docbook:256
+#. Tag: literal
+#: configuration.xml:256
+#, no-c-format
 msgid "hibernate.jndi.url"
 msgstr "hibernate.jndi.url"
 
-#: index.docbook:258
+#. Tag: entry
+#: configuration.xml:258
+#, fuzzy, no-c-format
 msgid "<emphasis>URL of the JNDI provider</emphasis> (optional)"
-msgstr "<emphasis>URL du fournisseur JNDI</emphasis> (optionnelle)"
+msgstr "URL du fournisseur JNDI"
 
-#: index.docbook:264
+#. Tag: literal
+#: configuration.xml:264
+#, no-c-format
 msgid "hibernate.jndi.class"
 msgstr "hibernate.jndi.class"
 
-#: index.docbook:266
-msgid "<emphasis>class of the JNDI <literal>InitialContextFactory</literal></emphasis> (optional)"
-msgstr "<emphasis>Classe de l'<literal>InitialContextFactory</literal> du JNDI</emphasis> (optionnelle)"
+#. Tag: entry
+#: configuration.xml:266
+#, no-c-format
+msgid ""
+"<emphasis>class of the JNDI <literal>InitialContextFactory</literal></"
+"emphasis> (optional)"
+msgstr ""
 
-#: index.docbook:274
+#. Tag: entry
+#: configuration.xml:274
+#, no-c-format
 msgid "<emphasis>database user</emphasis> (optional)"
-msgstr "<emphasis>utilisateur de la base de données</emphasis> (optionnelle)"
+msgstr ""
 
-#: index.docbook:282
+#. Tag: entry
+#: configuration.xml:282
+#, no-c-format
 msgid "<emphasis>database user password</emphasis> (optional)"
-msgstr "<emphasis>mot de passe de la base de données</emphasis> (optionnelle)"
+msgstr ""
 
-#: index.docbook:290
-msgid "Here's an example <literal>hibernate.properties</literal> file for an application server provided JNDI datasource:"
-msgstr "Voici un exemple de fichier <literal>hibernate.properties</literal> pour l'utilisation d'une datasource JNDI fournie par un serveur d'applications :"
+#. Tag: para
+#: configuration.xml:290
+#, no-c-format
+msgid ""
+"Here's an example <literal>hibernate.properties</literal> file for an "
+"application server provided JNDI datasource:"
+msgstr ""
+"Voici un exemple de fichier <literal>hibernate.properties</literal> pour "
+"l'utilisation d'une datasource JNDI fournie par un serveur d'applications :"
 
-#: index.docbook:295
+#. Tag: programlisting
+#: configuration.xml:295
+#, 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]]>"
+"<![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]]>"
 
-#: index.docbook:297
-msgid "JDBC connections obtained from a JNDI datasource will automatically participate in the container-managed transactions of the application server."
-msgstr "Les connexions JDBC obtenues à partir d'une datasource JNDI participeront automatiquement aux transactions gérées par le conteneur du serveur d'applications."
+#. Tag: para
+#: configuration.xml:297
+#, no-c-format
+msgid ""
+"JDBC connections obtained from a JNDI datasource will automatically "
+"participate in the container-managed transactions of the application server."
+msgstr ""
+"Les connexions JDBC obtenues à partir d'une datasource JNDI participeront "
+"automatiquement aux transactions gérées par le conteneur du serveur "
+"d'applications."
 
-#: index.docbook:302
-msgid "Arbitrary connection properties may be given by prepending \"<literal>hibernate.connection</literal>\" to the property name. For example, you may specify a <literal>charSet</literal> using <literal>hibernate.connection.charSet</literal>."
-msgstr "Des propriétés supplémentaires de connexion peuvent être passées en préfixant le nom de la propriété par \"<literal>hibernate.connnection</literal>\". Par exemple, vous pouvez spécifier un jeu de caractères en utilisant <literal>hibernate.connection.charSet</literal>."
+#. Tag: para
+#: configuration.xml:302
+#, no-c-format
+msgid ""
+"Arbitrary connection properties may be given by prepending "
+"\"<literal>hibernate.connection</literal>\" to the property name. For "
+"example, you may specify a <literal>charSet</literal> using "
+"<literal>hibernate.connection.charSet</literal>."
+msgstr ""
+"Des propriétés supplémentaires de connexion peuvent être passées en "
+"préfixant le nom de la propriété par \"<literal>hibernate.connnection</"
+"literal>\". Par exemple, vous pouvez spécifier un jeu de caractères en "
+"utilisant <literal>hibernate.connection.charSet</literal>."
 
-#: index.docbook:308
-msgid "You may define your own plugin strategy for obtaining JDBC connections by implementing the interface <literal>org.hibernate.connection.ConnectionProvider</literal>. You may select a custom implementation by setting <literal>hibernate.connection.provider_class</literal>."
-msgstr "Vous pouvez fournir votre propre stratégie d'obtention des connexions JDBC en implémentant l'interface <literal>org.hibernate.connection.ConnectionProvider</literal>. Vous pouvez sélectionner une implémentation spécifique en positionnant <literal>hibernate.connection.provider_class</literal>."
+#. Tag: para
+#: configuration.xml:308
+#, no-c-format
+msgid ""
+"You may define your own plugin strategy for obtaining JDBC connections by "
+"implementing the interface <literal>org.hibernate.connection."
+"ConnectionProvider</literal>. You may select a custom implementation by "
+"setting <literal>hibernate.connection.provider_class</literal>."
+msgstr ""
+"Vous pouvez fournir votre propre stratégie d'obtention des connexions JDBC "
+"en implémentant l'interface <literal>org.hibernate.connection."
+"ConnectionProvider</literal>. Vous pouvez sélectionner une implémentation "
+"spécifique en positionnant <literal>hibernate.connection.provider_class</"
+"literal>."
 
-#: index.docbook:317
+#. Tag: title
+#: configuration.xml:317
+#, no-c-format
 msgid "Optional configuration properties"
 msgstr "Propriétés de configuration optionnelles"
 
-#: index.docbook:319
-msgid "There are a number of other properties that control the behaviour of Hibernate at runtime. All are optional and have reasonable default values."
-msgstr "Il y a un certain nombre d'autres propriétés qui contrôlent le fonctionnement d'Hibernate à l'exécution. Toutes sont optionnelles et ont comme valeurs par défaut des valeurs \"raisonnables\" pour un fonctionnement nominal."
+#. Tag: para
+#: configuration.xml:319
+#, no-c-format
+msgid ""
+"There are a number of other properties that control the behaviour of "
+"Hibernate at runtime. All are optional and have reasonable default values."
+msgstr ""
+"Il y a un certain nombre d'autres propriétés qui contrôlent le "
+"fonctionnement d'Hibernate à l'exécution. Toutes sont optionnelles et ont "
+"comme valeurs par défaut des valeurs \"raisonnables\" pour un fonctionnement "
+"nominal."
 
-#: index.docbook:324
-msgid "<emphasis>Warning: some of these properties are \"system-level\" only.</emphasis> System-level properties can be set only via <literal>java -Dproperty=value</literal> or <literal>hibernate.properties</literal>. They may <emphasis>not</emphasis> be set by the other techniques described above."
-msgstr "<emphasis>Attention : Certaines de ces propriétés sont uniquement de niveau System.</emphasis> Les propriétés de niveau System ne peuvent être positionnées que via la ligne de commande (<literal>java -Dproperty=value</literal>) ou être définies dans <literal>hibernate.properties</literal>. Elle <emphasis>ne peuvent pas</emphasis> l'être via une des autres techniques décrites ci-dessus."
+#. Tag: para
+#: configuration.xml:324
+#, no-c-format
+msgid ""
+"<emphasis>Warning: some of these properties are \"system-level\" only.</"
+"emphasis> System-level properties can be set only via <literal>java -"
+"Dproperty=value</literal> or <literal>hibernate.properties</literal>. They "
+"may <emphasis>not</emphasis> be set by the other techniques described above."
+msgstr ""
+"<emphasis>Attention : Certaines de ces propriétés sont uniquement de niveau "
+"System.</emphasis> Les propriétés de niveau System ne peuvent être "
+"positionnées que via la ligne de commande (<literal>java -Dproperty=value</"
+"literal>) ou être définies dans <literal>hibernate.properties</literal>. "
+"Elle <emphasis>ne peuvent pas</emphasis> l'être via une des autres "
+"techniques décrites ci-dessus."
 
-#: index.docbook:332
+#. Tag: title
+#: configuration.xml:332
+#, no-c-format
 msgid "Hibernate Configuration Properties"
 msgstr "Propriétés de configuration d'Hibernate"
 
-#: index.docbook:345
+#. Tag: literal
+#: configuration.xml:345
+#, no-c-format
 msgid "hibernate.dialect"
 msgstr "hibernate.dialect"
 
-#: index.docbook:347
-msgid "The classname of a Hibernate <literal>Dialect</literal> which allows Hibernate to generate SQL optimized for a particular relational database."
-msgstr "Le nom de la classe du <literal>Dialect</literal> Hibernate. qui permet à Hibernate de générer du SQL optimisé pour une base de données relationnelle particulière."
+#. Tag: entry
+#: configuration.xml:347
+#, fuzzy, no-c-format
+msgid ""
+"The classname of a Hibernate <literal>Dialect</literal> which allows "
+"Hibernate to generate SQL optimized for a particular relational database."
+msgstr ""
+"Le nom de la classe du <placeholder-1/> Hibernate. qui permet à Hibernate de "
+"générer du SQL optimisé pour une base de données relationnelle particulière. "
+"<placeholder-2/>"
 
-#: index.docbook:351
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>full.classname.of.Dialect</literal>"
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>nom.complet.de.ma.classe.de.Dialect</literal>"
+#. Tag: para
+#: configuration.xml:351
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>full.classname.of.Dialect</"
+"literal>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:359
+#. Tag: literal
+#: configuration.xml:359
+#, no-c-format
 msgid "hibernate.show_sql"
 msgstr "hibernate.show_sql"
 
-#: index.docbook:361
-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 "Ecrit toutes les requêtes SQL sur la console. Il s'agit d'une alternative au positionnement de la catégorie de log <literal>org.hibernate.SQL</literal> au niveau <literal>debug</literal>."
+#. Tag: entry
+#: configuration.xml:361
+#, fuzzy, 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 ""
+"Ecrit toutes les requêtes SQL sur la console. Il s'agit d'une alternative au "
+"positionnement de la catégorie de log <placeholder-1/> au niveau "
+"<placeholder-2/>. <placeholder-3/>"
 
-#: index.docbook:365, index.docbook:377, index.docbook:471, index.docbook:484, index.docbook:497, index.docbook:510, index.docbook:564, index.docbook:591, index.docbook:605, index.docbook:660, index.docbook:888, index.docbook:903, index.docbook:993
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>true</literal> | <literal>false</literal>"
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>true</literal> | <literal>false</literal>"
+#. Tag: para
+#: configuration.xml:365 configuration.xml:377 configuration.xml:471
+#: configuration.xml:484 configuration.xml:497 configuration.xml:510
+#: configuration.xml:564 configuration.xml:591 configuration.xml:605
+#: configuration.xml:660 configuration.xml:888 configuration.xml:903
+#: configuration.xml:993
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>true</literal> | "
+"<literal>false</literal>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:373
+#. Tag: literal
+#: configuration.xml:373
+#, no-c-format
 msgid "hibernate.format_sql"
 msgstr "hibernate.format_sql"
 
-#: index.docbook:375
+#. Tag: entry
+#: configuration.xml:375
+#, fuzzy, no-c-format
 msgid "Pretty print the SQL in the log and console."
-msgstr "Formate et indente le sql dans la console et dans le log"
+msgstr ""
+"Formate et indente le sql dans la console et dans le log <placeholder-1/>"
 
-#: index.docbook:385
+#. Tag: literal
+#: configuration.xml:385
+#, no-c-format
 msgid "hibernate.default_schema"
 msgstr "hibernate.default_schema"
 
-#: index.docbook:387
-msgid "Qualify unqualified table names with the given schema/tablespace in generated SQL."
-msgstr "Positionne dans le SQL généré un schéma/tablespace par défaut pour les noms de table ne l'ayant pas surchargé."
+#. Tag: entry
+#: configuration.xml:387
+#, fuzzy, no-c-format
+msgid ""
+"Qualify unqualified table names with the given schema/tablespace in "
+"generated SQL."
+msgstr ""
+"Positionne dans le SQL généré un schéma/tablespace par défaut pour les noms "
+"de table ne l'ayant pas surchargé. <placeholder-1/>"
 
-#: index.docbook:390
+#. Tag: para
+#: configuration.xml:390
+#, fuzzy, no-c-format
 msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>SCHEMA_NAME</literal>"
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>MON_SCHEMA</literal>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:398
+#. Tag: literal
+#: configuration.xml:398
+#, no-c-format
 msgid "hibernate.default_catalog"
 msgstr "hibernate.default_catalog"
 
-#: index.docbook:400
-msgid "Qualify unqualified table names with the given catalog in generated SQL."
-msgstr "Qualifie les noms de tables non qualifiées avec ce catalogue dans le SQL généré."
+#. Tag: entry
+#: configuration.xml:400
+#, fuzzy, no-c-format
+msgid ""
+"Qualify unqualified table names with the given catalog in generated SQL."
+msgstr ""
+"Qualifie les noms de tables non qualifiées avec ce catalogue dans le SQL "
+"généré. <placeholder-1/>"
 
-#: index.docbook:403
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>CATALOG_NAME</literal>"
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>CATALOG_NAME</literal>"
+#. Tag: para
+#: configuration.xml:403
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>CATALOG_NAME</literal>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:411
+#. Tag: literal
+#: configuration.xml:411
+#, no-c-format
 msgid "hibernate.session_factory_name"
 msgstr "hibernate.session_factory_name"
 
-#: index.docbook:413
-msgid "The <literal>SessionFactory</literal> will be automatically bound to this name in JNDI after it has been created."
-msgstr "La <literal>SessionFactory</literal> sera automatiquement liée à ce nom dans le JNDI après sa création."
+#. Tag: entry
+#: configuration.xml:413
+#, fuzzy, no-c-format
+msgid ""
+"The <literal>SessionFactory</literal> will be automatically bound to this "
+"name in JNDI after it has been created."
+msgstr ""
+"La <placeholder-1/> sera automatiquement liée à ce nom dans le JNDI après sa "
+"création. <placeholder-2/>"
 
-#: index.docbook:416, index.docbook:859
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>jndi/composite/name</literal>"
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>jndi/nom/hierarchique</literal>"
+#. Tag: para
+#: configuration.xml:416 configuration.xml:859
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>jndi/composite/name</"
+"literal>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:424
+#. Tag: literal
+#: configuration.xml:424
+#, no-c-format
 msgid "hibernate.max_fetch_depth"
 msgstr "hibernate.max_fetch_depth"
 
-#: index.docbook:426
-msgid "Set a maximum \"depth\" for the outer join fetch tree for single-ended associations (one-to-one, many-to-one). A <literal>0</literal> disables default outer join fetching."
-msgstr "Définit la profondeur maximale d'un arbre de chargement par jointures ouvertes pour les associations à cardinalité unitaire (un-à-un, plusieurs-à-un). Un <literal>0</literal> désactive le chargement par jointure ouverte."
+#. Tag: entry
+#: configuration.xml:426
+#, fuzzy, no-c-format
+msgid ""
+"Set a maximum \"depth\" for the outer join fetch tree for single-ended "
+"associations (one-to-one, many-to-one). A <literal>0</literal> disables "
+"default outer join fetching."
+msgstr ""
+"Définit la profondeur maximale d'un arbre de chargement par jointures "
+"ouvertes pour les associations à cardinalité unitaire (un-à-un, plusieurs-à-"
+"un). Un <placeholder-1/> désactive le chargement par jointure ouverte. "
+"<placeholder-2/>"
 
-#: index.docbook:430
-msgid "<emphasis role=\"strong\">eg.</emphasis> recommended values between <literal>0</literal> and <literal>3</literal>"
-msgstr "<emphasis role=\"strong\">ex.</emphasis> valeurs recommandées entre <literal>0</literal> et <literal>3</literal>"
+#. Tag: para
+#: configuration.xml:430
+#, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> recommended values between "
+"<literal>0</literal> and <literal>3</literal>"
+msgstr ""
+"<emphasis role=\"strong\">ex.</emphasis> valeurs recommandées entre "
+"<literal>0</literal> et <literal>3</literal>"
 
-#: index.docbook:439
+#. Tag: literal
+#: configuration.xml:439
+#, no-c-format
 msgid "hibernate.default_batch_fetch_size"
 msgstr "hibernate.default_batch_fetch_size"
 
-#: index.docbook:441
+#. Tag: entry
+#: configuration.xml:441
+#, fuzzy, no-c-format
 msgid "Set a default size for Hibernate batch fetching of associations."
-msgstr "Définit une taille par défaut pour le chargement par lot des associations"
+msgstr ""
+"Définit une taille par défaut pour le chargement par lot des associations "
+"<placeholder-1/>"
 
-#: index.docbook:443
-msgid "<emphasis role=\"strong\">eg.</emphasis> recommended values <literal>4</literal>, <literal>8</literal>, <literal>16</literal>"
-msgstr "<emphasis role=\"strong\">ex.</emphasis> Valeurs recommandées : <literal>4</literal>, <literal>8</literal>, <literal>16</literal>"
+#. Tag: para
+#: configuration.xml:443
+#, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> recommended values <literal>4</"
+"literal>, <literal>8</literal>, <literal>16</literal>"
+msgstr ""
+"<emphasis role=\"strong\">ex.</emphasis> Valeurs recommandées : <literal>4</"
+"literal>, <literal>8</literal>, <literal>16</literal>"
 
-#: index.docbook:452
+#. Tag: literal
+#: configuration.xml:452
+#, no-c-format
 msgid "hibernate.default_entity_mode"
 msgstr "hibernate.default_entity_mode"
 
-#: index.docbook:454
-msgid "Set a default mode for entity representation for all sessions opened from this <literal>SessionFactory</literal>"
-msgstr "Définit un mode de représentation par défaut des entités pour toutes les sessions ouvertes depuis cette <literal>SessionFactory</literal>"
+#. Tag: entry
+#: configuration.xml:454
+#, fuzzy, no-c-format
+msgid ""
+"Set a default mode for entity representation for all sessions opened from "
+"this <literal>SessionFactory</literal>"
+msgstr ""
+"Définit un mode de représentation par défaut des entités pour toutes les "
+"sessions ouvertes depuis cette <placeholder-1/><placeholder-2/>"
 
-#: index.docbook:457
-msgid "<literal>dynamic-map</literal>, <literal>dom4j</literal>, <literal>pojo</literal>"
-msgstr "<literal>dynamic-map</literal>, <literal>dom4j</literal>, <literal>pojo</literal>"
+#. Tag: para
+#: configuration.xml:457
+#, no-c-format
+msgid ""
+"<literal>dynamic-map</literal>, <literal>dom4j</literal>, <literal>pojo</"
+"literal>"
+msgstr ""
+"<literal>dynamic-map</literal>, <literal>dom4j</literal>, <literal>pojo</"
+"literal>"
 
-#: index.docbook:465
+#. Tag: literal
+#: configuration.xml:465
+#, no-c-format
 msgid "hibernate.order_updates"
 msgstr "hibernate.order_updates"
 
-#: index.docbook:467
-msgid "Force Hibernate to order SQL updates by the primary key value of the items being updated. This will result in fewer transaction deadlocks in highly concurrent systems."
-msgstr "Force Hibernate à trier les updates SQL par la valeur de la clé primaire des éléments qui sont mis à jour. Cela permet de limiter les deadlocks de transaction dans les systèmes hautement concurents."
+#. Tag: entry
+#: configuration.xml:467
+#, fuzzy, no-c-format
+msgid ""
+"Force Hibernate to order SQL updates by the primary key value of the items "
+"being updated. This will result in fewer transaction deadlocks in highly "
+"concurrent systems."
+msgstr ""
+"Force Hibernate à trier les updates SQL par la valeur de la clé primaire des "
+"éléments qui sont mis à jour. Cela permet de limiter les deadlocks de "
+"transaction dans les systèmes hautement concurents. <placeholder-1/>"
 
-#: index.docbook:479
+#. Tag: literal
+#: configuration.xml:479
+#, no-c-format
 msgid "hibernate.generate_statistics"
 msgstr "hibernate.generate_statistics"
 
-#: index.docbook:481
-msgid "If enabled, Hibernate will collect statistics useful for performance tuning."
-msgstr "Si activé, Hibernate va collecter des statistiques utiles pour le réglage des performances."
+#. Tag: entry
+#: configuration.xml:481
+#, fuzzy, no-c-format
+msgid ""
+"If enabled, Hibernate will collect statistics useful for performance tuning."
+msgstr ""
+"Si activé, Hibernate va collecter des statistiques utiles pour le réglage "
+"des performances. <placeholder-1/>"
 
-#: index.docbook:492
+#. Tag: literal
+#: configuration.xml:492
+#, no-c-format
 msgid "hibernate.use_identifier_rollback"
 msgstr "hibernate.use_identifer_rollback"
 
-#: index.docbook:494
-msgid "If enabled, generated identifier properties will be reset to default values when objects are deleted."
-msgstr "Si activé, les propriétés correspondant à l'identifiant des objets vont être remises aux valeurs par défaut lorsque les objets seront supprimés."
+#. Tag: entry
+#: configuration.xml:494
+#, fuzzy, no-c-format
+msgid ""
+"If enabled, generated identifier properties will be reset to default values "
+"when objects are deleted."
+msgstr ""
+"Si activé, les propriétés correspondant à l'identifiant des objets vont être "
+"remises aux valeurs par défaut lorsque les objets seront supprimés. "
+"<placeholder-1/>"
 
-#: index.docbook:505
+#. Tag: literal
+#: configuration.xml:505
+#, no-c-format
 msgid "hibernate.use_sql_comments"
 msgstr "hibernate.use_sql_comments"
 
-#: index.docbook:507
-msgid "If turned on, Hibernate will generate comments inside the SQL, for easier debugging, defaults to <literal>false</literal>."
-msgstr "Si activé, Hibernate va générer des commentaires à l'intérieur des requêtes SQL pour faciliter le debogage., par défaut à <literal>false</literal>."
+#. Tag: entry
+#: configuration.xml:507
+#, fuzzy, no-c-format
+msgid ""
+"If turned on, Hibernate will generate comments inside the SQL, for easier "
+"debugging, defaults to <literal>false</literal>."
+msgstr ""
+"Si activé, Hibernate va générer des commentaires à l'intérieur des requêtes "
+"SQL pour faciliter le debogage., par défaut à <placeholder-1/>. <placeholder-"
+"2/>"
 
-#: index.docbook:521
+#. Tag: title
+#: configuration.xml:521
+#, no-c-format
 msgid "Hibernate JDBC and Connection Properties"
 msgstr "Propriétés Hibernate liées à JDBC et aux connexions"
 
-#: index.docbook:536
+#. Tag: literal
+#: configuration.xml:536
+#, no-c-format
 msgid "hibernate.jdbc.fetch_size"
 msgstr "hibernate.jdbc.fetch_size"
 
-#: index.docbook:538
-msgid "A non-zero value determines the JDBC fetch size (calls <literal>Statement.setFetchSize()</literal>)."
-msgstr "Une valeur non nulle détermine la taille de chargement des statements JDBC (appelle <literal>Statement.setFetchSize()</literal>)."
+#. Tag: entry
+#: configuration.xml:538
+#, fuzzy, no-c-format
+msgid ""
+"A non-zero value determines the JDBC fetch size (calls <literal>Statement."
+"setFetchSize()</literal>)."
+msgstr ""
+"Une valeur non nulle détermine la taille de chargement des statements JDBC "
+"(appelle <placeholder-1/>)."
 
-#: index.docbook:545
+#. Tag: literal
+#: configuration.xml:545
+#, no-c-format
 msgid "hibernate.jdbc.batch_size"
 msgstr "hibernate.jdbc.batch_size"
 
-#: index.docbook:547
+#. Tag: entry
+#: configuration.xml:547
+#, fuzzy, no-c-format
 msgid "A non-zero value enables use of JDBC2 batch updates by Hibernate."
-msgstr "Une valeur non nulle active l'utilisation par Hibernate des mises à jour par batch de JDBC2."
+msgstr ""
+"Une valeur non nulle active l'utilisation par Hibernate des mises à jour par "
+"batch de JDBC2. <placeholder-1/>"
 
-#: index.docbook:549
-msgid "<emphasis role=\"strong\">eg.</emphasis> recommended values between <literal>5</literal> and <literal>30</literal>"
-msgstr "<emphasis role=\"strong\">ex.</emphasis> les valeurs recommandées entre <literal>5</literal> et <literal>30</literal>"
+#. Tag: para
+#: configuration.xml:549
+#, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> recommended values between "
+"<literal>5</literal> and <literal>30</literal>"
+msgstr ""
+"<emphasis role=\"strong\">ex.</emphasis> les valeurs recommandées entre "
+"<literal>5</literal> et <literal>30</literal>"
 
-#: index.docbook:557
+#. Tag: literal
+#: configuration.xml:557
+#, no-c-format
 msgid "hibernate.jdbc.batch_versioned_data"
 msgstr "hibernate.jdbc.batch_versioned_data"
 
-#: index.docbook:559
-msgid "Set this property to <literal>true</literal> if your JDBC driver returns correct row counts from <literal>executeBatch()</literal> (it is usually safe to turn this option on). Hibernate will then use batched DML for automatically versioned data. Defaults to <literal>false</literal>."
-msgstr "Paramétrez cette propriété à <literal>true</literal> si votre pilote JDBC retourne des row counts corrects depuis <literal>executeBatch()</literal> (il est souvent approprié d'activer cette option). Hibernate utilisera alors le \"batched DML\" pour versionner automatiquement les données. Par défaut = <literal>false</literal>."
+#. Tag: entry
+#: configuration.xml:559
+#, fuzzy, no-c-format
+msgid ""
+"Set this property to <literal>true</literal> if your JDBC driver returns "
+"correct row counts from <literal>executeBatch()</literal> (it is usually "
+"safe to turn this option on). Hibernate will then use batched DML for "
+"automatically versioned data. Defaults to <literal>false</literal>."
+msgstr ""
+"Paramétrez cette propriété à <placeholder-1/> si votre pilote JDBC retourne "
+"des row counts corrects depuis <placeholder-2/> (il est souvent approprié "
+"d'activer cette option). Hibernate utilisera alors le \"batched DML\" pour "
+"versionner automatiquement les données. Par défaut = <placeholder-3/>. "
+"<placeholder-4/>"
 
-#: index.docbook:572
+#. Tag: literal
+#: configuration.xml:572
+#, no-c-format
 msgid "hibernate.jdbc.factory_class"
 msgstr "hibernate.jdbc.factory_class"
 
-#: index.docbook:574
-msgid "Select a custom <literal>Batcher</literal>. Most applications will not need this configuration property."
-msgstr "Sélectionne un <literal>Batcher</literal> personnalisé. La plupart des applications n'auront pas besoin de cette propriété de configuration"
+#. Tag: entry
+#: configuration.xml:574
+#, fuzzy, no-c-format
+msgid ""
+"Select a custom <literal>Batcher</literal>. Most applications will not need "
+"this configuration property."
+msgstr ""
+"Sélectionne un <placeholder-1/> personnalisé. La plupart des applications "
+"n'auront pas besoin de cette propriété de configuration <placeholder-2/>"
 
-#: index.docbook:577
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.BatcherFactory</literal>"
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>classname.of.BatcherFactory</literal>"
+#. Tag: para
+#: configuration.xml:577
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
+"BatcherFactory</literal>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:585
+#. Tag: literal
+#: configuration.xml:585
+#, no-c-format
 msgid "hibernate.jdbc.use_scrollable_resultset"
 msgstr "hibernate.jdbc.use_scrollable_resultset"
 
-#: index.docbook:587
-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 "Active l'utilisation par Hibernate des resultsets scrollables de JDBC2. Cette propriété est seulement nécessaire lorsque l'on utilise une connexion JDBC fournie par l'utilisateur. Autrement, Hibernate utilise les métadonnées de la connexion."
+#. Tag: entry
+#: configuration.xml:587
+#, fuzzy, 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 ""
+"Active l'utilisation par Hibernate des resultsets scrollables de JDBC2. "
+"Cette propriété est seulement nécessaire lorsque l'on utilise une connexion "
+"JDBC fournie par l'utilisateur. Autrement, Hibernate utilise les métadonnées "
+"de la connexion. <placeholder-1/>"
 
-#: index.docbook:599
+#. Tag: literal
+#: configuration.xml:599
+#, no-c-format
 msgid "hibernate.jdbc.use_streams_for_binary"
 msgstr "hibernate.jdbc.use_streams_for_binary"
 
-#: index.docbook:601
-msgid "Use streams when writing/reading <literal>binary</literal> or <literal>serializable</literal> types to/from JDBC (system-level property)."
-msgstr "Utilise des flux lorsque l'on écrit/lit des types <literal>binary</literal> ou <literal>serializable</literal> vers et à partir de JDBC (propriété de niveau système)."
+#. Tag: entry
+#: configuration.xml:601
+#, fuzzy, no-c-format
+msgid ""
+"Use streams when writing/reading <literal>binary</literal> or "
+"<literal>serializable</literal> types to/from JDBC (system-level property)."
+msgstr ""
+"Utilise des flux lorsque l'on écrit/lit des types <placeholder-1/> ou "
+"<placeholder-2/> vers et à partir de JDBC (propriété de niveau système). "
+"<placeholder-3/>"
 
-#: index.docbook:613
+#. Tag: literal
+#: configuration.xml:613
+#, no-c-format
 msgid "hibernate.jdbc.use_get_generated_keys"
 msgstr "hibernate.jdbc.use_get_generated_keys"
 
-#: index.docbook:615
-msgid "Enable use of JDBC3 <literal>PreparedStatement.getGeneratedKeys()</literal> to retrieve natively generated keys after insert. Requires JDBC3+ driver and JRE1.4+, set to false if your driver has problems with the Hibernate identifier generators. By default, tries to determine the driver capabilities using connection metadata."
-msgstr "Active l'utilisation de <literal>PreparedStatement.getGeneratedKeys()</literal> de JDBC3 pour récupérer nativement les clés générées après insertion. Nécessite un pilote JDBC3+, le mettre à false si votre pilote a des problèmes avec les générateurs d'identifiant Hibernate. Par défaut, essaie de déterminer les possibilités du pilote en utilisant les meta données de connexion."
+#. Tag: entry
+#: configuration.xml:615
+#, fuzzy, no-c-format
+msgid ""
+"Enable use of JDBC3 <literal>PreparedStatement.getGeneratedKeys()</literal> "
+"to retrieve natively generated keys after insert. Requires JDBC3+ driver and "
+"JRE1.4+, set to false if your driver has problems with the Hibernate "
+"identifier generators. By default, tries to determine the driver "
+"capabilities using connection metadata."
+msgstr ""
+"Active l'utilisation de <placeholder-1/> de JDBC3 pour récupérer nativement "
+"les clés générées après insertion. Nécessite un pilote JDBC3+, le mettre à "
+"false si votre pilote a des problèmes avec les générateurs d'identifiant "
+"Hibernate. Par défaut, essaie de déterminer les possibilités du pilote en "
+"utilisant les meta données de connexion. <placeholder-2/>"
 
-#: index.docbook:621, index.docbook:751, index.docbook:763, index.docbook:777, index.docbook:815
+#. Tag: para
+#: configuration.xml:621 configuration.xml:751 configuration.xml:763
+#: configuration.xml:777 configuration.xml:815
+#, fuzzy, no-c-format
 msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>true|false</literal>"
-msgstr "<emphasis role=\"strong\">eg.</emphasis> <literal>true|false</literal>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:629
+#. Tag: literal
+#: configuration.xml:629
+#, no-c-format
 msgid "hibernate.connection.provider_class"
 msgstr "hibernate.connection.provider_class"
 
-#: index.docbook:631
-msgid "The classname of a custom <literal>ConnectionProvider</literal> which provides JDBC connections to Hibernate."
-msgstr "Le nom de la classe d'un <literal>ConnectionProvider</literal> personnalisé qui fournit des connexions JDBC à Hibernate"
+#. Tag: entry
+#: configuration.xml:631
+#, fuzzy, no-c-format
+msgid ""
+"The classname of a custom <literal>ConnectionProvider</literal> which "
+"provides JDBC connections to Hibernate."
+msgstr ""
+"Le nom de la classe d'un <placeholder-1/> personnalisé qui fournit des "
+"connexions JDBC à Hibernate <placeholder-2/>"
 
-#: index.docbook:634
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.ConnectionProvider</literal>"
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>classname.of.ConnectionProvider</literal>"
+#. Tag: para
+#: configuration.xml:634
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
+"ConnectionProvider</literal>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:642
+#. Tag: literal
+#: configuration.xml:642
+#, no-c-format
 msgid "hibernate.connection.isolation"
 msgstr "hibernate.connection.isolation"
 
-#: index.docbook:644
-msgid "Set the JDBC transaction isolation level. Check <literal>java.sql.Connection</literal> for meaningful values but note that most databases do not support all isolation levels."
-msgstr "Définit le niveau d'isolation des transactions JDBC. Regardez <literal>java.sql.Connection</literal> pour connaître le sens des différentes valeurs mais notez également que la plupart des bases de données ne supportent pas tous les niveaux d'isolation."
+#. Tag: entry
+#: configuration.xml:644
+#, fuzzy, no-c-format
+msgid ""
+"Set the JDBC transaction isolation level. Check <literal>java.sql."
+"Connection</literal> for meaningful values but note that most databases do "
+"not support all isolation levels."
+msgstr ""
+"Définit le niveau d'isolation des transactions JDBC. Regardez <placeholder-1/"
+"> pour connaître le sens des différentes valeurs mais notez également que la "
+"plupart des bases de données ne supportent pas tous les niveaux d'isolation. "
+"<placeholder-2/>"
 
-#: index.docbook:648
+#. Tag: para
+#: configuration.xml:648
+#, fuzzy, no-c-format
 msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>1, 2, 4, 8</literal>"
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>1, 2, 4, 8</literal>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:656
+#. Tag: literal
+#: configuration.xml:656
+#, no-c-format
 msgid "hibernate.connection.autocommit"
 msgstr "hibernate.connection.autocommit"
 
-#: index.docbook:658
+#. Tag: entry
+#: configuration.xml:658
+#, fuzzy, no-c-format
 msgid "Enables autocommit for JDBC pooled connections (not recommended)."
-msgstr "Active le mode de commit automatique (autocommit) pour les connexions JDBC du pool (non recommandé)."
+msgstr ""
+"Active le mode de commit automatique (autocommit) pour les connexions JDBC "
+"du pool (non recommandé). <placeholder-1/>"
 
-#: index.docbook:668
+#. Tag: literal
+#: configuration.xml:668
+#, no-c-format
 msgid "hibernate.connection.release_mode"
 msgstr "hibernate.connection.release_mode"
 
-#: index.docbook:670
-msgid "Specify when Hibernate should release JDBC connections. By default, a JDBC connection is held until the session is explicitly closed or disconnected. For an application server JTA datasource, you should use <literal>after_statement</literal> to aggressively release connections after every JDBC call. For a non-JTA connection, it often makes sense to release the connection at the end of each transaction, by using <literal>after_transaction</literal>. <literal>auto</literal> will choose <literal>after_statement</literal> for the JTA and CMT transaction strategies and <literal>after_transaction</literal> for the JDBC transaction strategy."
-msgstr "Spécifie à quel moment Hibernate doit relacher les connexion JDBC. Par défaut une connexion JDBC est conservée jusqu'à ce que la session soit explicitement fermée ou déconnectée. Pour une source de données JTA d'un serveur d'application, vous devriez utiliser <literal>after_statement</literal> pour libérer les connexions de manière plus agressive après chaque appel JDBC. Pour une connexion non JTA, il est souvent préférable de libérer la connexion à la fin de chaque transaction en utilisant <literal>after_transaction</literal>. <literal>auto</literal> choisira <literal>after_statement</literal> pour des transactions JTA et CMT et <literal>after_transaction</literal> pour des transactions JDBC."
+#. Tag: entry
+#: configuration.xml:670
+#, fuzzy, no-c-format
+msgid ""
+"Specify when Hibernate should release JDBC connections. By default, a JDBC "
+"connection is held until the session is explicitly closed or disconnected. "
+"For an application server JTA datasource, you should use "
+"<literal>after_statement</literal> to aggressively release connections after "
+"every JDBC call. For a non-JTA connection, it often makes sense to release "
+"the connection at the end of each transaction, by using "
+"<literal>after_transaction</literal>. <literal>auto</literal> will choose "
+"<literal>after_statement</literal> for the JTA and CMT transaction "
+"strategies and <literal>after_transaction</literal> for the JDBC transaction "
+"strategy."
+msgstr ""
+"Spécifie à quel moment Hibernate doit relacher les connexion JDBC. Par "
+"défaut une connexion JDBC est conservée jusqu'à ce que la session soit "
+"explicitement fermée ou déconnectée. Pour une source de données JTA d'un "
+"serveur d'application, vous devriez utiliser <placeholder-1/> pour libérer "
+"les connexions de manière plus agressive après chaque appel JDBC. Pour une "
+"connexion non JTA, il est souvent préférable de libérer la connexion à la "
+"fin de chaque transaction en utilisant <placeholder-2/>. <placeholder-3/> "
+"choisira <placeholder-4/> pour des transactions JTA et CMT et <placeholder-5/"
+"> pour des transactions JDBC. <placeholder-6/><placeholder-7/>"
 
-#: index.docbook:681
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>auto</literal> (default) | <literal>on_close</literal> | <literal>after_transaction</literal> | <literal>after_statement</literal>"
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>on_close</literal> (default) | <literal>after_transaction</literal> | <literal>after_statement</literal> | <literal>auto</literal>"
+#. Tag: para
+#: configuration.xml:681
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>auto</literal> (default) | "
+"<literal>on_close</literal> | <literal>after_transaction</literal> | "
+"<literal>after_statement</literal>"
+msgstr ""
+"<emphasis role=\"strong\">ex.</emphasis><literal>on_close</literal> "
+"(default) | <literal>after_transaction</literal> | <literal>after_statement</"
+"literal> | <literal>auto</literal>"
 
-#: index.docbook:686
-msgid "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"
-msgstr "hibernate.connection.<emphasis>&lt;propertyName&gt;</emphasis>"
+#. Tag: para
+#: configuration.xml:686
+#, fuzzy, no-c-format
+msgid ""
+"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"
+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 <xref linkend=\"architecture-current-session"
+"\"/>"
 
-#: index.docbook:698
-msgid "hibernate.connection.<emphasis>&lt;propertyName&gt;</emphasis>"
-msgstr "Passe la propriété JDBC<literal>propertyName</literal> à <literal>DriverManager.getConnection()</literal>."
+#. Tag: entry
+#: configuration.xml:697
+#, no-c-format
+msgid ""
+"<literal>hibernate.connection.</literal><emphasis>&lt;propertyName&gt;</"
+"emphasis>"
+msgstr ""
 
-#: index.docbook:700
-msgid "Pass the JDBC property <literal>propertyName</literal> to <literal>DriverManager.getConnection()</literal>."
-msgstr "hibernate.jndi.<emphasis>&lt;propertyName&gt;</emphasis>"
+#. Tag: entry
+#: configuration.xml:700
+#, no-c-format
+msgid ""
+"Pass the JDBC property <emphasis>&lt;propertyName&gt;</emphasis> to "
+"<literal>DriverManager.getConnection()</literal>."
+msgstr ""
 
-#: index.docbook:707
-msgid "hibernate.jndi.<emphasis>&lt;propertyName&gt;</emphasis>"
-msgstr "Passe la propriété <literal>propertyName</literal> à l'<literal>InitialContextFactory</literal> de JNDI."
+#. Tag: entry
+#: configuration.xml:706
+#, no-c-format
+msgid ""
+"<literal>hibernate.jndi.</literal><emphasis>&lt;propertyName&gt;</emphasis>"
+msgstr ""
 
-#: index.docbook:709
-msgid "Pass the property <literal>propertyName</literal> to the JNDI <literal>InitialContextFactory</literal>."
-msgstr "Propriétés du Cache d'Hibernate"
+#. Tag: entry
+#: configuration.xml:709
+#, no-c-format
+msgid ""
+"Pass the property <emphasis>&lt;propertyName&gt;</emphasis> to the JNDI "
+"<literal>InitialContextFactory</literal>."
+msgstr ""
 
-#: index.docbook:719
+#. Tag: title
+#: configuration.xml:719
+#, no-c-format
 msgid "Hibernate Cache Properties"
-msgstr "Nom de la propriété"
+msgstr "Propriétés du Cache d'Hibernate"
 
-#: index.docbook:732
+#. Tag: literal
+#: configuration.xml:732
+#, no-c-format
 msgid "hibernate.cache.provider_class"
-msgstr "Le nom de classe d'un <literal>CacheProvider</literal> spécifique."
+msgstr "hibernate.cache.provider_class"
 
-#: index.docbook:734
+#. Tag: entry
+#: configuration.xml:734
+#, fuzzy, no-c-format
 msgid "The classname of a custom <literal>CacheProvider</literal>."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>nom.de.classe.du.CacheProvider</literal>"
+msgstr "Le nom de classe d'un <placeholder-1/> spécifique. <placeholder-2/>"
 
-#: index.docbook:736
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.CacheProvider</literal>"
-msgstr "hibernate.cache.use_minimal_puts"
+#. Tag: para
+#: configuration.xml:736
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
+"CacheProvider</literal>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:744
+#. Tag: literal
+#: configuration.xml:744
+#, no-c-format
 msgid "hibernate.cache.use_minimal_puts"
-msgstr "Optimise le cache de second niveau en minimisant les écritures, au prix de plus de lectures. Ce paramètre est surtout utile pour les caches en cluster et est activé par défaut dans hibernate3 pour les implémentations de cache en cluster."
+msgstr "hibernate.cache.use_minimal_puts"
 
-#: index.docbook:746
-msgid "Optimize second-level cache operation to minimize writes, at the cost of more frequent reads. This setting is most useful for clustered caches and, in Hibernate3, is enabled by default for clustered cache implementations."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>true|false</literal>"
+#. Tag: entry
+#: configuration.xml:746
+#, fuzzy, no-c-format
+msgid ""
+"Optimize second-level cache operation to minimize writes, at the cost of "
+"more frequent reads. This setting is most useful for clustered caches and, "
+"in Hibernate3, is enabled by default for clustered cache implementations."
+msgstr ""
+"Optimise le cache de second niveau en minimisant les écritures, au prix de "
+"plus de lectures. Ce paramètre est surtout utile pour les caches en cluster "
+"et est activé par défaut dans hibernate3 pour les implémentations de cache "
+"en cluster. <placeholder-1/>"
 
-#: index.docbook:759
+#. Tag: literal
+#: configuration.xml:759
+#, no-c-format
 msgid "hibernate.cache.use_query_cache"
-msgstr "Activer le cache de requête, les requêtes individuelles doivent tout de même être déclarées comme pouvant être mise en cache."
+msgstr "hibernate.cache.use_query_cache"
 
-#: index.docbook:761
-msgid "Enable the query cache, individual queries still have to be set cachable."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>true|false</literal>"
+#. Tag: entry
+#: configuration.xml:761
+#, fuzzy, no-c-format
+msgid ""
+"Enable the query cache, individual queries still have to be set cachable."
+msgstr ""
+"Activer le cache de requête, les requêtes individuelles doivent tout de même "
+"être déclarées comme pouvant être mise en cache. <placeholder-1/>"
 
-#: index.docbook:771
+#. Tag: literal
+#: configuration.xml:771
+#, no-c-format
 msgid "hibernate.cache.use_second_level_cache"
-msgstr "Peut être utilisé pour désactiver complètement le cache de second niveau qui est activé par défaut pour les classes qui spécifient un élément <literal>&lt;cache&gt;</literal> dans leur mapping."
+msgstr "hibernate.cache.use_second_level_cache"
 
-#: index.docbook:773
-msgid "May be used to completely disable the second level cache, which is enabled by default for classes which specify a <literal>&lt;cache&gt;</literal> mapping."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>true|false</literal>"
+#. Tag: entry
+#: configuration.xml:773
+#, fuzzy, no-c-format
+msgid ""
+"May be used to completely disable the second level cache, which is enabled "
+"by default for classes which specify a <literal>&lt;cache&gt;</literal> "
+"mapping."
+msgstr ""
+"Peut être utilisé pour désactiver complètement le cache de second niveau qui "
+"est activé par défaut pour les classes qui spécifient un élément "
+"<placeholder-1/> dans leur mapping. <placeholder-2/>"
 
-#: index.docbook:785
+#. Tag: literal
+#: configuration.xml:785
+#, no-c-format
 msgid "hibernate.cache.query_cache_factory"
-msgstr "Le nom de classe d'une interface <literal>QueryCacheFactory</literal> , par défaut = built-in <literal>StandardQueryCacheFactory</literal>."
+msgstr "hibernate.cache.query_cache_factory"
 
-#: index.docbook:787
-msgid "The classname of a custom <literal>QueryCache</literal> interface, defaults to the built-in <literal>StandardQueryCache</literal>."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>nom.de.la.classe.de.QueryCacheFactory</literal>"
+#. Tag: entry
+#: configuration.xml:787
+#, fuzzy, no-c-format
+msgid ""
+"The classname of a custom <literal>QueryCache</literal> interface, defaults "
+"to the built-in <literal>StandardQueryCache</literal>."
+msgstr ""
+"Le nom de classe d'une interface <placeholder-1/> , par défaut = built-in "
+"<placeholder-2/>. <placeholder-3/>"
 
-#: index.docbook:790
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.QueryCache</literal>"
-msgstr "hibernate.cache.region_prefix"
+#. Tag: para
+#: configuration.xml:790
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.QueryCache</"
+"literal>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:798
+#. Tag: literal
+#: configuration.xml:798
+#, no-c-format
 msgid "hibernate.cache.region_prefix"
-msgstr "Un préfixe à utiliser pour le nom des régions du cache de second niveau."
+msgstr "hibernate.cache.region_prefix"
 
-#: index.docbook:800
+#. Tag: entry
+#: configuration.xml:800
+#, fuzzy, no-c-format
 msgid "A prefix to use for second-level cache region names."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>prefix</literal>"
+msgstr ""
+"Un préfixe à utiliser pour le nom des régions du cache de second niveau. "
+"<placeholder-1/>"
 
-#: index.docbook:802
+#. Tag: para
+#: configuration.xml:802
+#, fuzzy, no-c-format
 msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>prefix</literal>"
-msgstr "hibernate.cache.use_structured_entries"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:810
+#. Tag: literal
+#: configuration.xml:810
+#, no-c-format
 msgid "hibernate.cache.use_structured_entries"
-msgstr "Force Hibernate à stocker les données dans le cache de second niveau dans un format plus adapté à la visualisation par un humain."
+msgstr "hibernate.cache.use_structured_entries"
 
-#: index.docbook:812
-msgid "Forces Hibernate to store data in the second-level cache in a more human-friendly format."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>true|false</literal>"
+#. Tag: entry
+#: configuration.xml:812
+#, fuzzy, no-c-format
+msgid ""
+"Forces Hibernate to store data in the second-level cache in a more human-"
+"friendly format."
+msgstr ""
+"Force Hibernate à stocker les données dans le cache de second niveau dans un "
+"format plus adapté à la visualisation par un humain. <placeholder-1/>"
 
-#: index.docbook:826
+#. Tag: title
+#: configuration.xml:826
+#, no-c-format
 msgid "Hibernate Transaction Properties"
-msgstr "Nom de la propriété"
+msgstr "Propriétés des transactions Hibernate"
 
-#: index.docbook:839
+#. Tag: literal
+#: configuration.xml:839
+#, no-c-format
 msgid "hibernate.transaction.factory_class"
-msgstr "Le nom de classe d'une <literal>TransactionFactory</literal> qui sera utilisée par l'API <literal>Transaction</literal> d'Hibernate (la valeur par défaut est <literal>JDBCTransactionFactory</literal>)."
+msgstr "hibernate.transaction.factory_class"
 
-#: index.docbook:841
-msgid "The classname of a <literal>TransactionFactory</literal> to use with Hibernate <literal>Transaction</literal> API (defaults to <literal>JDBCTransactionFactory</literal>)."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>nom.de.classe.d.une.TransactionFactory</literal>"
+#. Tag: entry
+#: configuration.xml:841
+#, fuzzy, 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 ""
+"Le nom de classe d'une <placeholder-1/> qui sera utilisée par l'API "
+"<placeholder-2/> d'Hibernate (la valeur par défaut est <placeholder-3/>). "
+"<placeholder-4/>"
 
-#: index.docbook:845
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.TransactionFactory</literal>"
-msgstr "jta.UserTransaction"
+#. Tag: para
+#: configuration.xml:845
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
+"TransactionFactory</literal>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:853
+#. Tag: literal
+#: configuration.xml:853
+#, no-c-format
 msgid "jta.UserTransaction"
-msgstr "Le nom JNDI utilisé par la <literal>JTATransactionFactory</literal> pour obtenir la <literal>UserTransaction</literal> JTA du serveur d'applications."
+msgstr "jta.UserTransaction"
 
-#: index.docbook:855
-msgid "A JNDI name used by <literal>JTATransactionFactory</literal> to obtain the JTA <literal>UserTransaction</literal> from the application server."
-msgstr "<emphasis role=\"strong\">eg.</emphasis> <literal>jndi/nom/compose</literal>"
+#. Tag: entry
+#: configuration.xml:855
+#, fuzzy, no-c-format
+msgid ""
+"A JNDI name used by <literal>JTATransactionFactory</literal> to obtain the "
+"JTA <literal>UserTransaction</literal> from the application server."
+msgstr ""
+"Le nom JNDI utilisé par la <placeholder-1/> pour obtenir la <placeholder-2/> "
+"JTA du serveur d'applications. <placeholder-3/>"
 
-#: index.docbook:867
+#. Tag: literal
+#: configuration.xml:867
+#, no-c-format
 msgid "hibernate.transaction.manager_lookup_class"
-msgstr "Le nom de la classe du <literal>TransactionManagerLookup</literal> - requis lorsque le cache de niveau JVM est activé ou lorsque l'on utilise un générateur hilo dans un environnement JTA."
+msgstr "hibernate.transaction.manager_lookup_class"
 
-#: index.docbook:869
-msgid "The classname of a <literal>TransactionManagerLookup</literal> - required when JVM-level caching is enabled or when using hilo generator in a JTA environment."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>nom.de.classe.du.TransactionManagerLookup</literal>"
+#. Tag: entry
+#: configuration.xml:869
+#, fuzzy, no-c-format
+msgid ""
+"The classname of a <literal>TransactionManagerLookup</literal> - required "
+"when JVM-level caching is enabled or when using hilo generator in a JTA "
+"environment."
+msgstr ""
+"Le nom de la classe du <placeholder-1/> - requis lorsque le cache de niveau "
+"JVM est activé ou lorsque l'on utilise un générateur hilo dans un "
+"environnement JTA. <placeholder-2/>"
 
-#: index.docbook:873
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.TransactionManagerLookup</literal>"
-msgstr "hibernate.transaction.flush_before_completion"
+#. Tag: para
+#: configuration.xml:873
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
+"TransactionManagerLookup</literal>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:881
+#. Tag: literal
+#: configuration.xml:881
+#, no-c-format
 msgid "hibernate.transaction.flush_before_completion"
-msgstr "Si activé, la session sera automatiquement vidée durant la phase qui précède la fin de la transaction (before completion). La gestion automatique de contexte fourni par Hibernate est recommandée, voir <xref linkend=\"architecture-current-session\"/>."
+msgstr "hibernate.transaction.flush_before_completion"
 
-#: index.docbook:883
-msgid "If enabled, the session will be automatically flushed during the before completion phase of the transaction. Built-in and automatic session context management is preferred, see <xref linkend=\"architecture-current-session\"/>."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>true</literal> | <literal>false</literal>"
+#. Tag: entry
+#: configuration.xml:883
+#, fuzzy, 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\"/"
+">."
+msgstr ""
+"Si activé, la session sera automatiquement vidée durant la phase qui précède "
+"la fin de la transaction (before completion). La gestion automatique de "
+"contexte fourni par Hibernate est recommandée, voir <xref linkend="
+"\"architecture-current-session\"/>. <placeholder-1/>"
 
-#: index.docbook:896
+#. Tag: literal
+#: configuration.xml:896
+#, no-c-format
 msgid "hibernate.transaction.auto_close_session"
-msgstr "Si activé, la session sera automatiquement fermé pendant la phase qui suit la fin de la transaction (after completion). La gestion automatique de contexte fourni par Hibernate est recommandée, voir"
+msgstr "hibernate.transaction.auto_close_session"
 
-#: index.docbook:898
-msgid "If enabled, the session will be automatically closed during the after completion phase of the transaction. Built-in and utomatic session context management is preferred, see <xref linkend=\"architecture-current-session\"/>."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>true</literal> | <literal>false</literal>"
+#. Tag: entry
+#: configuration.xml:898
+#, fuzzy, no-c-format
+msgid ""
+"If enabled, the session will be automatically closed during the after "
+"completion phase of the transaction. Built-in and utomatic session context "
+"management is preferred, see <xref linkend=\"architecture-current-session\"/"
+">."
+msgstr ""
+"Si activé, la session sera automatiquement fermé pendant la phase qui suit "
+"la fin de la transaction (after completion). La gestion automatique de "
+"contexte fourni par Hibernate est recommandée, voir <placeholder-1/>"
 
-#: index.docbook:914
+#. Tag: title
+#: configuration.xml:914
+#, no-c-format
 msgid "Miscellaneous Properties"
-msgstr "Nom de la propriété"
+msgstr "Propriétés diverses"
 
-#: index.docbook:927
+#. Tag: literal
+#: configuration.xml:927
+#, no-c-format
 msgid "hibernate.current_session_context_class"
-msgstr "Fournit une stratégie particulière pour contextualiser la <literal>Session</literal> courante. Voir <xref linkend=\"architecture-current-session\"/> pour plus d'informations sur les stratégies fournies."
+msgstr "hibernate.current_session_context_class"
 
-#: index.docbook:929
-msgid "Supply a (custom) strategy for the scoping of the \"current\" <literal>Session</literal>. See <xref linkend=\"architecture-current-session\"/> for more information about the built-in strategies."
-msgstr "<emphasis role=\"strong\">eg.</emphasis> <literal>jta</literal> | <literal>thread</literal> | <literal>custom.Class</literal>"
+#. Tag: entry
+#: configuration.xml:929
+#, fuzzy, 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."
+msgstr ""
+"Fournit une stratégie particulière pour contextualiser la <placeholder-1/> "
+"courante. Voir <xref linkend=\"architecture-current-session\"/> pour plus "
+"d'informations sur les stratégies fournies. <placeholder-2/>"
 
-#: index.docbook:934
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>jta</literal> | <literal>thread</literal> | <literal>managed</literal> | <literal>custom.Class</literal>"
-msgstr "hibernate.query.factory_class"
+#. Tag: para
+#: configuration.xml:934
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>jta</literal> | "
+"<literal>thread</literal> | <literal>managed</literal> | <literal>custom."
+"Class</literal>"
+msgstr ""
+"<emphasis role=\"strong\">eg.</emphasis><literal>jta</literal> | "
+"<literal>thread</literal> | <literal>custom.Class</literal>"
 
-#: index.docbook:943
+#. Tag: literal
+#: configuration.xml:943
+#, no-c-format
 msgid "hibernate.query.factory_class"
-msgstr "Choisi l'implémentation du parseur de requête"
+msgstr "hibernate.query.factory_class"
 
-#: index.docbook:945
+#. Tag: entry
+#: configuration.xml:945
+#, fuzzy, no-c-format
 msgid "Chooses the HQL parser implementation."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>org.hibernate.hql.ast.ASTQueryTranslatorFactory</literal> ou <literal>org.hibernate.hql.classic.ClassicQueryTranslatorFactory</literal>"
+msgstr "Choisi l'implémentation du parseur de requête <placeholder-1/>"
 
-#: index.docbook:947
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>org.hibernate.hql.ast.ASTQueryTranslatorFactory</literal> or <literal>org.hibernate.hql.classic.ClassicQueryTranslatorFactory</literal>"
-msgstr "hibernate.query.substitutions"
+#. Tag: para
+#: configuration.xml:947
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>org.hibernate.hql.ast."
+"ASTQueryTranslatorFactory</literal> or <literal>org.hibernate.hql.classic."
+"ClassicQueryTranslatorFactory</literal>"
+msgstr ""
+"<emphasis role=\"strong\">ex.</emphasis><literal>org.hibernate.hql.ast."
+"ASTQueryTranslatorFactory</literal> ou <literal>org.hibernate.hql.classic."
+"ClassicQueryTranslatorFactory</literal>"
 
-#: index.docbook:956
+#. Tag: literal
+#: configuration.xml:956
+#, no-c-format
 msgid "hibernate.query.substitutions"
-msgstr "Lien entre les tokens de requêtes Hibernate et les tokens SQL (les tokens peuvent être des fonctions ou des noms littéraux par exemple)."
+msgstr "hibernate.query.substitutions"
 
-#: index.docbook:958
-msgid "Mapping from tokens in Hibernate queries to SQL tokens (tokens might be function or literal names, for example)."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC</literal>"
+#. Tag: entry
+#: configuration.xml:958
+#, fuzzy, no-c-format
+msgid ""
+"Mapping from tokens in Hibernate queries to SQL tokens (tokens might be "
+"function or literal names, for example)."
+msgstr ""
+"Lien entre les tokens de requêtes Hibernate et les tokens SQL (les tokens "
+"peuvent être des fonctions ou des noms littéraux par exemple). <placeholder-"
+"1/>"
 
-#: index.docbook:961
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC</literal>"
-msgstr "hibernate.hbm2ddl.auto"
+#. Tag: para
+#: configuration.xml:961
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>hqlLiteral=SQL_LITERAL, "
+"hqlFunction=SQLFUNC</literal>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"<emphasis role=\"strong\">ex.</emphasis><literal>true</literal> | "
+"<literal>false</literal>"
 
-#: index.docbook:969
+#. Tag: literal
+#: configuration.xml:969
+#, no-c-format
 msgid "hibernate.hbm2ddl.auto"
-msgstr "Valide ou exporte automatiquement le schéma DDL vers la base de données lorsque la <literal>SessionFactory</literal> est créée. La valeur <literal>create-drop</literal> permet de supprimer le schéma de base de données lorsque la <literal>SessionFactory</literal> est fermée explicitement."
+msgstr "hibernate.hbm2ddl.auto"
 
-#: index.docbook:971
-msgid "Automatically validate or export schema DDL to the database when the <literal>SessionFactory</literal> is created. With <literal>create-drop</literal>, the database schema will be dropped when the <literal>SessionFactory</literal> is closed explicitly."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>validate</literal> | <literal>update</literal> | <literal>create</literal> | <literal>create-drop</literal>"
+#. Tag: entry
+#: configuration.xml:971
+#, fuzzy, no-c-format
+msgid ""
+"Automatically validate or export schema DDL to the database when the "
+"<literal>SessionFactory</literal> is created. With <literal>create-drop</"
+"literal>, the database schema will be dropped when the "
+"<literal>SessionFactory</literal> is closed explicitly."
+msgstr ""
+"Valide ou exporte automatiquement le schéma DDL vers la base de données "
+"lorsque la <placeholder-1/> est créée. La valeur <placeholder-2/> permet de "
+"supprimer le schéma de base de données lorsque la <placeholder-3/> est "
+"fermée explicitement. <placeholder-4/>"
 
-#: index.docbook:977
-msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>validate</literal> | <literal>update</literal> | <literal>create</literal> | <literal>create-drop</literal>"
-msgstr "hibernate.cglib.use_reflection_optimizer"
+#. Tag: para
+#: configuration.xml:977
+#, fuzzy, no-c-format
+msgid ""
+"<emphasis role=\"strong\">eg.</emphasis> <literal>validate</literal> | "
+"<literal>update</literal> | <literal>create</literal> | <literal>create-"
+"drop</literal>"
+msgstr ""
+"<emphasis role=\"strong\">ex.</emphasis><literal>validate</literal> | "
+"<literal>update</literal> | <literal>create</literal> | <literal>create-"
+"drop</literal>"
 
-#: index.docbook:986
+#. Tag: literal
+#: configuration.xml:986
+#, no-c-format
 msgid "hibernate.cglib.use_reflection_optimizer"
-msgstr "Active l'utilisation de CGLIB à la place de la réflexion à l'exécution (Propriété de niveau système). La réflexion peut parfois être utile pour résoudre des problèmes. Notez qu'Hibernate a tout de même toujours besoin de CGLIB même si l'optimiseur est désactivé. Cette optimisation ne peut être définie que dans le fichier <literal>hibernate.cfg.xml</literal>."
+msgstr "hibernate.cglib.use_reflection_optimizer"
 
-#: index.docbook:988
-msgid "Enables use of CGLIB instead of runtime reflection (System-level property). Reflection can sometimes be useful when troubleshooting, note that Hibernate always requires CGLIB even if you turn off the optimizer. You can not set this property in <literal>hibernate.cfg.xml</literal>."
-msgstr "<emphasis role=\"strong\">ex.</emphasis> <literal>true</literal> | <literal>false</literal>"
+#. Tag: entry
+#: configuration.xml:988
+#, fuzzy, no-c-format
+msgid ""
+"Enables use of CGLIB instead of runtime reflection (System-level property). "
+"Reflection can sometimes be useful when troubleshooting, note that Hibernate "
+"always requires CGLIB even if you turn off the optimizer. You can not set "
+"this property in <literal>hibernate.cfg.xml</literal>."
+msgstr ""
+"Active l'utilisation de CGLIB à la place de la réflexion à l'exécution "
+"(Propriété de niveau système). La réflexion peut parfois être utile pour "
+"résoudre des problèmes. Notez qu'Hibernate a tout de même toujours besoin de "
+"CGLIB même si l'optimiseur est désactivé. Cette optimisation ne peut être "
+"définie que dans le fichier <placeholder-1/>. <placeholder-2/>"
 
-#: index.docbook:1004
+#. Tag: title
+#: configuration.xml:1004
+#, no-c-format
 msgid "SQL Dialects"
-msgstr "Vous devriez toujours positionner la propriété <literal>hibernate.dialect</literal> à la sous-classe de <literal>org.hibernate.dialect.Dialect</literal> appropriée à votre base de données. Si vous spécifiez un dialecte, Hibernate utilisera des valeurs adaptées pour certaines autres propriétés listées ci-dessus, vous évitant l'effort de le faire à la main."
+msgstr "Dialectes SQL"
 
-#: index.docbook:1006
-msgid "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."
-msgstr "Dialectes SQL d'Hibernate (<literal>hibernate.dialect</literal>)"
+#. Tag: para
+#: configuration.xml:1006
+#, no-c-format
+msgid ""
+"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."
+msgstr ""
+"Vous devriez toujours positionner la propriété <literal>hibernate.dialect</"
+"literal> à la sous-classe de <literal>org.hibernate.dialect.Dialect</"
+"literal> appropriée à votre base de données. Si vous spécifiez un dialecte, "
+"Hibernate utilisera des valeurs adaptées pour certaines autres propriétés "
+"listées ci-dessus, vous évitant l'effort de le faire à la main."
 
-#: index.docbook:1014
+#. Tag: title
+#: configuration.xml:1014
+#, no-c-format
 msgid "Hibernate SQL Dialects (<literal>hibernate.dialect</literal>)"
-msgstr "SGBD"
+msgstr "Dialectes SQL d'Hibernate (<literal>hibernate.dialect</literal>)"
 
-#: index.docbook:1022
+#. Tag: entry
+#: configuration.xml:1022
+#, no-c-format
 msgid "RDBMS"
-msgstr "Dialecte"
+msgstr "SGBD"
 
-#: index.docbook:1023
+#. Tag: entry
+#: configuration.xml:1023
+#, fuzzy, no-c-format
 msgid "Dialect"
-msgstr "<entry>DB2</entry>"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Dialect\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Dialecte"
 
-#: index.docbook:1028
+#. Tag: entry
+#: configuration.xml:1028
+#, no-c-format
 msgid "<entry>DB2</entry>"
-msgstr "org.hibernate.dialect.DB2Dialect"
+msgstr ""
 
-#: index.docbook:1028
+#. Tag: literal
+#: configuration.xml:1028
+#, no-c-format
 msgid "org.hibernate.dialect.DB2Dialect"
-msgstr "DB2 AS/400"
+msgstr "org.hibernate.dialect.DB2Dialect"
 
-#: index.docbook:1031
+#. Tag: entry
+#: configuration.xml:1031
+#, no-c-format
 msgid "DB2 AS/400"
-msgstr "org.hibernate.dialect.DB2400Dialect"
+msgstr "DB2 AS/400"
 
-#: index.docbook:1031
+#. Tag: literal
+#: configuration.xml:1031
+#, no-c-format
 msgid "org.hibernate.dialect.DB2400Dialect"
-msgstr "DB2 OS390"
+msgstr "org.hibernate.dialect.DB2400Dialect"
 
-#: index.docbook:1034
+#. Tag: entry
+#: configuration.xml:1034
+#, no-c-format
 msgid "DB2 OS390"
-msgstr "org.hibernate.dialect.DB2390Dialect"
+msgstr "DB2 OS390"
 
-#: index.docbook:1034
+#. Tag: literal
+#: configuration.xml:1034
+#, no-c-format
 msgid "org.hibernate.dialect.DB2390Dialect"
-msgstr "PostgreSQL"
+msgstr "org.hibernate.dialect.DB2390Dialect"
 
-#: index.docbook:1037
+#. Tag: entry
+#: configuration.xml:1037
+#, no-c-format
 msgid "PostgreSQL"
-msgstr "org.hibernate.dialect.PostgreSQLDialect"
+msgstr "PostgreSQL"
 
-#: index.docbook:1037
+#. Tag: literal
+#: configuration.xml:1037
+#, no-c-format
 msgid "org.hibernate.dialect.PostgreSQLDialect"
-msgstr "MySQL"
+msgstr "org.hibernate.dialect.PostgreSQLDialect"
 
-#: index.docbook:1040
+#. Tag: entry
+#: configuration.xml:1040
+#, no-c-format
 msgid "MySQL"
-msgstr "org.hibernate.dialect.MySQLDialect"
+msgstr "MySQL"
 
-#: index.docbook:1040
+#. Tag: literal
+#: configuration.xml:1040
+#, no-c-format
 msgid "org.hibernate.dialect.MySQLDialect"
-msgstr "MySQL with InnoDB"
+msgstr "org.hibernate.dialect.MySQLDialect"
 
-#: index.docbook:1043
+#. Tag: entry
+#: configuration.xml:1043
+#, no-c-format
 msgid "MySQL with InnoDB"
-msgstr "org.hibernate.dialect.MySQLInnoDBDialect"
+msgstr "MySQL with InnoDB"
 
-#: index.docbook:1043
+#. Tag: literal
+#: configuration.xml:1043
+#, no-c-format
 msgid "org.hibernate.dialect.MySQLInnoDBDialect"
-msgstr "MySQL with MyISAM"
+msgstr "org.hibernate.dialect.MySQLInnoDBDialect"
 
-#: index.docbook:1046
+#. Tag: entry
+#: configuration.xml:1046
+#, no-c-format
 msgid "MySQL with MyISAM"
-msgstr "org.hibernate.dialect.MySQLMyISAMDialect"
+msgstr "MySQL with MyISAM"
 
-#: index.docbook:1046
+#. Tag: literal
+#: configuration.xml:1046
+#, no-c-format
 msgid "org.hibernate.dialect.MySQLMyISAMDialect"
-msgstr "Oracle (any version)"
+msgstr "org.hibernate.dialect.MySQLMyISAMDialect"
 
-#: index.docbook:1049
+#. Tag: entry
+#: configuration.xml:1049
+#, no-c-format
 msgid "Oracle (any version)"
-msgstr "org.hibernate.dialect.OracleDialect"
+msgstr "Oracle (any version)"
 
-#: index.docbook:1049
+#. Tag: literal
+#: configuration.xml:1049
+#, no-c-format
 msgid "org.hibernate.dialect.OracleDialect"
-msgstr "Oracle 9i/10g"
+msgstr "org.hibernate.dialect.OracleDialect"
 
-#: index.docbook:1052
+#. Tag: entry
+#: configuration.xml:1052
+#, no-c-format
 msgid "Oracle 9i/10g"
-msgstr "org.hibernate.dialect.Oracle9Dialect"
+msgstr "Oracle 9i/10g"
 
-#: index.docbook:1052
+#. Tag: literal
+#: configuration.xml:1052
+#, no-c-format
 msgid "org.hibernate.dialect.Oracle9Dialect"
-msgstr "Sybase"
+msgstr "org.hibernate.dialect.Oracle9Dialect"
 
-#: index.docbook:1055
+#. Tag: entry
+#: configuration.xml:1055
+#, no-c-format
 msgid "Sybase"
-msgstr "org.hibernate.dialect.SybaseDialect"
+msgstr "Sybase"
 
-#: index.docbook:1055
+#. Tag: literal
+#: configuration.xml:1055
+#, no-c-format
 msgid "org.hibernate.dialect.SybaseDialect"
-msgstr "Sybase Anywhere"
+msgstr "org.hibernate.dialect.SybaseDialect"
 
-#: index.docbook:1058
+#. Tag: entry
+#: configuration.xml:1058
+#, no-c-format
 msgid "Sybase Anywhere"
-msgstr "org.hibernate.dialect.SybaseAnywhereDialect"
+msgstr "Sybase Anywhere"
 
-#: index.docbook:1058
+#. Tag: literal
+#: configuration.xml:1058
+#, no-c-format
 msgid "org.hibernate.dialect.SybaseAnywhereDialect"
-msgstr "Microsoft SQL Server"
+msgstr "org.hibernate.dialect.SybaseAnywhereDialect"
 
-#: index.docbook:1061
+#. Tag: entry
+#: configuration.xml:1061
+#, no-c-format
 msgid "Microsoft SQL Server"
-msgstr "org.hibernate.dialect.SQLServerDialect"
+msgstr "Microsoft SQL Server"
 
-#: index.docbook:1061
+#. Tag: literal
+#: configuration.xml:1061
+#, no-c-format
 msgid "org.hibernate.dialect.SQLServerDialect"
-msgstr "SAP DB"
+msgstr "org.hibernate.dialect.SQLServerDialect"
 
-#: index.docbook:1064
+#. Tag: entry
+#: configuration.xml:1064
+#, no-c-format
 msgid "SAP DB"
-msgstr "org.hibernate.dialect.SAPDBDialect"
+msgstr "SAP DB"
 
-#: index.docbook:1064
+#. Tag: literal
+#: configuration.xml:1064
+#, no-c-format
 msgid "org.hibernate.dialect.SAPDBDialect"
-msgstr "Informix"
+msgstr "org.hibernate.dialect.SAPDBDialect"
 
-#: index.docbook:1067
+#. Tag: entry
+#: configuration.xml:1067
+#, no-c-format
 msgid "Informix"
-msgstr "org.hibernate.dialect.InformixDialect"
+msgstr "Informix"
 
-#: index.docbook:1067
+#. Tag: literal
+#: configuration.xml:1067
+#, no-c-format
 msgid "org.hibernate.dialect.InformixDialect"
-msgstr "HypersonicSQL"
+msgstr "org.hibernate.dialect.InformixDialect"
 
-#: index.docbook:1070
+#. Tag: entry
+#: configuration.xml:1070
+#, no-c-format
 msgid "HypersonicSQL"
-msgstr "org.hibernate.dialect.HSQLDialect"
+msgstr "HypersonicSQL"
 
-#: index.docbook:1070
+#. Tag: literal
+#: configuration.xml:1070
+#, no-c-format
 msgid "org.hibernate.dialect.HSQLDialect"
-msgstr "Ingres"
+msgstr "org.hibernate.dialect.HSQLDialect"
 
-#: index.docbook:1073
+#. Tag: entry
+#: configuration.xml:1073
+#, no-c-format
 msgid "Ingres"
-msgstr "org.hibernate.dialect.IngresDialect"
+msgstr "Ingres"
 
-#: index.docbook:1073
+#. Tag: literal
+#: configuration.xml:1073
+#, no-c-format
 msgid "org.hibernate.dialect.IngresDialect"
-msgstr "Progress"
+msgstr "org.hibernate.dialect.IngresDialect"
 
-#: index.docbook:1076
+#. Tag: entry
+#: configuration.xml:1076
+#, no-c-format
 msgid "Progress"
-msgstr "org.hibernate.dialect.ProgressDialect"
+msgstr "Progress"
 
-#: index.docbook:1076
+#. Tag: literal
+#: configuration.xml:1076
+#, no-c-format
 msgid "org.hibernate.dialect.ProgressDialect"
-msgstr "Mckoi SQL"
+msgstr "org.hibernate.dialect.ProgressDialect"
 
-#: index.docbook:1079
+#. Tag: entry
+#: configuration.xml:1079
+#, no-c-format
 msgid "Mckoi SQL"
-msgstr "org.hibernate.dialect.MckoiDialect"
+msgstr "Mckoi SQL"
 
-#: index.docbook:1079
+#. Tag: literal
+#: configuration.xml:1079
+#, no-c-format
 msgid "org.hibernate.dialect.MckoiDialect"
-msgstr "Interbase"
+msgstr "org.hibernate.dialect.MckoiDialect"
 
-#: index.docbook:1082
+#. Tag: entry
+#: configuration.xml:1082
+#, no-c-format
 msgid "Interbase"
-msgstr "org.hibernate.dialect.InterbaseDialect"
+msgstr "Interbase"
 
-#: index.docbook:1082
+#. Tag: literal
+#: configuration.xml:1082
+#, no-c-format
 msgid "org.hibernate.dialect.InterbaseDialect"
-msgstr "Pointbase"
+msgstr "org.hibernate.dialect.InterbaseDialect"
 
-#: index.docbook:1085
+#. Tag: entry
+#: configuration.xml:1085
+#, no-c-format
 msgid "Pointbase"
-msgstr "org.hibernate.dialect.PointbaseDialect"
+msgstr "Pointbase"
 
-#: index.docbook:1085
+#. Tag: literal
+#: configuration.xml:1085
+#, no-c-format
 msgid "org.hibernate.dialect.PointbaseDialect"
-msgstr "FrontBase"
+msgstr "org.hibernate.dialect.PointbaseDialect"
 
-#: index.docbook:1088
+#. Tag: entry
+#: configuration.xml:1088
+#, no-c-format
 msgid "FrontBase"
-msgstr "org.hibernate.dialect.FrontbaseDialect"
+msgstr "FrontBase"
 
-#: index.docbook:1088
+#. Tag: literal
+#: configuration.xml:1088
+#, no-c-format
 msgid "org.hibernate.dialect.FrontbaseDialect"
-msgstr "Firebird"
+msgstr "org.hibernate.dialect.FrontbaseDialect"
 
-#: index.docbook:1091
+#. Tag: entry
+#: configuration.xml:1091
+#, no-c-format
 msgid "Firebird"
-msgstr "org.hibernate.dialect.FirebirdDialect"
+msgstr "Firebird"
 
-#: index.docbook:1091
+#. Tag: literal
+#: configuration.xml:1091
+#, no-c-format
 msgid "org.hibernate.dialect.FirebirdDialect"
-msgstr "Chargement par Jointure Ouverte"
+msgstr "org.hibernate.dialect.FirebirdDialect"
 
-#: index.docbook:1100
+#. Tag: title
+#: configuration.xml:1100
+#, no-c-format
 msgid "Outer Join Fetching"
-msgstr "Si votre base de données supporte les outer joins de type ANSI, Oracle ou Sybase, <emphasis>le chargement par jointure ouverte</emphasis> devrait améliorer les performances en limitant le nombre d'aller-retour avec la base de données (la base de données effectuant donc potentiellement plus de travail). Le chargement par jointure ouverte permet à un graphe entier d'objets connectés par une relation plusieurs-à-un, un-à-plusieurs ou un-à-un d'être chargé en un seul <literal>SELECT</literal> SQL."
+msgstr "Chargement par Jointure Ouverte"
 
-#: index.docbook:1102
-msgid "If your database supports ANSI, Oracle or Sybase style outer joins, <emphasis>outer join fetching</emphasis> will often increase performance by limiting the number of round trips to and from the database (at the cost of possibly more work performed by the database itself). Outer join fetching allows a whole graph of objects connected by many-to-one, one-to-many, many-to-many and one-to-one associations to be retrieved in a single SQL <literal>SELECT</literal>."
-msgstr "Le chargement par jointure ouverte peut être désactiver <emphasis>globalement</emphasis> en mettant la propriété <literal>hibernate.max_fetch_depth</literal> à <literal>0</literal>. Une valeur de <literal>1</literal> ou plus active le chargement par jointure ouverte pour les associatiosn un-à-un et plusieurs-à-un qui ont été mappée avec <literal>fetch=\"join\"</literal>."
+#. Tag: para
+#: configuration.xml:1102
+#, 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 "
+"limiting the number of round trips to and from the database (at the cost of "
+"possibly more work performed by the database itself). Outer join fetching "
+"allows a whole graph of objects connected by many-to-one, one-to-many, many-"
+"to-many and one-to-one associations to be retrieved in a single SQL "
+"<literal>SELECT</literal>."
+msgstr ""
+"Si votre base de données supporte les outer joins de type ANSI, Oracle ou "
+"Sybase, <emphasis>le chargement par jointure ouverte</emphasis> devrait "
+"améliorer les performances en limitant le nombre d'aller-retour avec la base "
+"de données (la base de données effectuant donc potentiellement plus de "
+"travail). Le chargement par jointure ouverte permet à un graphe entier "
+"d'objets connectés par une relation plusieurs-à-un, un-à-plusieurs ou un-à-"
+"un d'être chargé en un seul <literal>SELECT</literal> SQL."
 
-#: index.docbook:1111
-msgid "Outer join fetching may be disabled <emphasis>globally</emphasis> by setting the property <literal>hibernate.max_fetch_depth</literal> to <literal>0</literal>. A setting of <literal>1</literal> or higher enables outer join fetching for one-to-one and many-to-one associations which have been mapped with <literal>fetch=\"join\"</literal>."
-msgstr "Reportez vous à <xref linkend=\"performance-fetching\"/> pour plus d'information."
+#. Tag: para
+#: configuration.xml:1111
+#, no-c-format
+msgid ""
+"Outer join fetching may be disabled <emphasis>globally</emphasis> by setting "
+"the property <literal>hibernate.max_fetch_depth</literal> to <literal>0</"
+"literal>. A setting of <literal>1</literal> or higher enables outer join "
+"fetching for one-to-one and many-to-one associations which have been mapped "
+"with <literal>fetch=\"join\"</literal>."
+msgstr ""
+"Le chargement par jointure ouverte peut être désactiver "
+"<emphasis>globalement</emphasis> en mettant la propriété <literal>hibernate."
+"max_fetch_depth</literal> à <literal>0</literal>. Une valeur de <literal>1</"
+"literal> ou plus active le chargement par jointure ouverte pour les "
+"associatiosn un-à-un et plusieurs-à-un qui ont été mappée avec "
+"<literal>fetch=\"join\"</literal>."
 
-#: index.docbook:1119
+#. Tag: para
+#: configuration.xml:1119
+#, no-c-format
 msgid "See <xref linkend=\"performance-fetching\"/> for more information."
-msgstr "Flux binaires"
+msgstr ""
+"Reportez vous à <xref linkend=\"performance-fetching\"/> pour plus "
+"d'information."
 
-#: index.docbook:1126
+#. Tag: title
+#: configuration.xml:1126
+#, no-c-format
 msgid "Binary Streams"
-msgstr "Oracle limite la taille d'un tableau de <literal>byte</literal> qui peuvent être passées à et vers son pilote JDBC. Si vous souhaitez utiliser des instances larges de type <literal>binary</literal> ou <literal>serializable</literal>, vous devez activer la propriété <literal>hibernate.jdbc.use_streams_for_binary</literal>. <emphasis>C'est une fonctionalité de niveau système uniquement.</emphasis>"
+msgstr "Flux binaires"
 
-#: index.docbook:1128
-msgid "Oracle limits the size of <literal>byte</literal> arrays that may be passed to/from its JDBC driver. If you wish to use large instances of <literal>binary</literal> or <literal>serializable</literal> type, you should enable <literal>hibernate.jdbc.use_streams_for_binary</literal>. <emphasis>This is a system-level setting only.</emphasis>"
-msgstr "Cache de second niveau et cache de requêtes"
+#. Tag: para
+#: configuration.xml:1128
+#, no-c-format
+msgid ""
+"Oracle limits the size of <literal>byte</literal> arrays that may be passed "
+"to/from its JDBC driver. If you wish to use large instances of "
+"<literal>binary</literal> or <literal>serializable</literal> type, you "
+"should enable <literal>hibernate.jdbc.use_streams_for_binary</literal>. "
+"<emphasis>This is a system-level setting only.</emphasis>"
+msgstr ""
+"Oracle limite la taille d'un tableau de <literal>byte</literal> qui peuvent "
+"être passées à et vers son pilote JDBC. Si vous souhaitez utiliser des "
+"instances larges de type <literal>binary</literal> ou <literal>serializable</"
+"literal>, vous devez activer la propriété <literal>hibernate.jdbc."
+"use_streams_for_binary</literal>. <emphasis>C'est une fonctionalité de "
+"niveau système uniquement.</emphasis>"
 
-#: index.docbook:1139
+#. Tag: title
+#: configuration.xml:1139
+#, no-c-format
 msgid "Second-level and query cache"
-msgstr "Les propriétés préfixées par <literal>hibernate.cache</literal> vous permettent d'utiliser un système de cache de second niveau. Ce cache peut avoir une portée dans le processus ou même être utilisable dans un système distribué. Référez vous au chapitre <xref linkend=\"performance-cache\"/> pour plus de détails."
+msgstr "Cache de second niveau et cache de requêtes"
 
-#: index.docbook:1141
-msgid "The properties prefixed by <literal>hibernate.cache</literal> allow you to use a process or cluster scoped second-level cache system with Hibernate. See the <xref linkend=\"performance-cache\"/> for more details."
-msgstr "Substitution dans le langage de requêtage"
+#. Tag: para
+#: configuration.xml:1141
+#, 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 details."
+msgstr ""
+"Les propriétés préfixées par <literal>hibernate.cache</literal> vous "
+"permettent d'utiliser un système de cache de second niveau. Ce cache peut "
+"avoir une portée dans le processus ou même être utilisable dans un système "
+"distribué. Référez vous au chapitre <xref linkend=\"performance-cache\"/> "
+"pour plus de détails."
 
-#: index.docbook:1151
+#. Tag: title
+#: configuration.xml:1151
+#, no-c-format
 msgid "Query Language Substitution"
-msgstr "Vous pouvez définir de nouveaux tokens dans les requêtes Hibernate en utilisant la propriété <literal>hibernate.query.substitutions</literal>. Par exemple :"
+msgstr "Substitution dans le langage de requêtage"
 
-#: index.docbook:1153
-msgid "You may define new Hibernate query tokens using <literal>hibernate.query.substitutions</literal>. For example:"
-msgstr "hibernate.query.substitutions vrai=1, faux=0"
+#. Tag: para
+#: configuration.xml:1153
+#, no-c-format
+msgid ""
+"You may define new Hibernate query tokens using <literal>hibernate.query."
+"substitutions</literal>. For example:"
+msgstr ""
+"Vous pouvez définir de nouveaux tokens dans les requêtes Hibernate en "
+"utilisant la propriété <literal>hibernate.query.substitutions</literal>. Par "
+"exemple :"
 
-#: index.docbook:1158
+#. Tag: programlisting
+#: configuration.xml:1158
+#, no-c-format
 msgid "hibernate.query.substitutions true=1, false=0"
-msgstr "remplacerait les tokens <literal>vrai</literal> et <literal>faux</literal> par des entiers dans le SQL généré."
+msgstr "hibernate.query.substitutions vrai=1, faux=0"
 
-#: index.docbook:1160
-msgid "would cause the tokens <literal>true</literal> and <literal>false</literal> to be translated to integer literals in the generated SQL."
-msgstr "hibernate.query.substitutions toLowercase=LOWER"
+#. Tag: para
+#: configuration.xml:1160
+#, no-c-format
+msgid ""
+"would cause the tokens <literal>true</literal> and <literal>false</literal> "
+"to be translated to integer literals in the generated SQL."
+msgstr ""
+"remplacerait les tokens <literal>vrai</literal> et <literal>faux</literal> "
+"par des entiers dans le SQL généré."
 
-#: index.docbook:1165
+#. Tag: programlisting
+#: configuration.xml:1165
+#, no-c-format
 msgid "hibernate.query.substitutions toLowercase=LOWER"
-msgstr "permettrait de renommer la fonction SQL <literal>LOWER</literal> en <literal>toLowercase</literal>"
+msgstr "hibernate.query.substitutions toLowercase=LOWER"
 
-#: index.docbook:1167
+#. Tag: para
+#: configuration.xml:1167
+#, no-c-format
 msgid "would allow you to rename the SQL <literal>LOWER</literal> function."
-msgstr "Statistiques Hibernate"
+msgstr ""
+"permettrait de renommer la fonction SQL <literal>LOWER</literal> en "
+"<literal>toLowercase</literal>"
 
-#: index.docbook:1174
+#. Tag: title
+#: configuration.xml:1174
+#, no-c-format
 msgid "Hibernate statistics"
-msgstr "Si vous activez <literal>hibernate.generate_statistics</literal>, Hibernate va fournir un certains nombre de métriques utiles pour régler les performances d'une application qui tourne via <literal>SessionFactory.getStatistics()</literal>. Hibernate peut aussi être configuré pour exposer ces statistiques via JMX. Lisez les Javadoc des interfaces dans le package <literal>org.hibernate.stats</literal> pour plus d'informations."
+msgstr "Statistiques Hibernate"
 
-#: index.docbook:1176
-msgid "If you enable <literal>hibernate.generate_statistics</literal>, Hibernate will expose a number of metrics that are useful when tuning a running system via <literal>SessionFactory.getStatistics()</literal>. Hibernate can even be configured to expose these statistics via JMX. Read the Javadoc of the interfaces in <literal>org.hibernate.stats</literal> for more information."
-msgstr "Tracer"
+#. Tag: para
+#: configuration.xml:1176
+#, no-c-format
+msgid ""
+"If you enable <literal>hibernate.generate_statistics</literal>, Hibernate "
+"will expose a number of metrics that are useful when tuning a running system "
+"via <literal>SessionFactory.getStatistics()</literal>. Hibernate can even be "
+"configured to expose these statistics via JMX. Read the Javadoc of the "
+"interfaces in <literal>org.hibernate.stats</literal> for more information."
+msgstr ""
+"Si vous activez <literal>hibernate.generate_statistics</literal>, Hibernate "
+"va fournir un certains nombre de métriques utiles pour régler les "
+"performances d'une application qui tourne via <literal>SessionFactory."
+"getStatistics()</literal>. Hibernate peut aussi être configuré pour exposer "
+"ces statistiques via JMX. Lisez les Javadoc des interfaces dans le package "
+"<literal>org.hibernate.stats</literal> pour plus d'informations."
 
-#: index.docbook:1188
+#. Tag: title
+#: configuration.xml:1188
+#, no-c-format
 msgid "Logging"
-msgstr "Hibernate trace divers évènements en utilisant Apache commons-logging."
+msgstr "Tracer"
 
-#: index.docbook:1190
+#. Tag: para
+#: configuration.xml:1190
+#, no-c-format
 msgid "Hibernate logs various events using Apache commons-logging."
-msgstr "Le service commons-logging délèguera directement à Apache Log4j (si vous incluez <literal>log4j.jar</literal> dans votre classpath) ou le système de trace du JDK 1.4 (si vous tournez sous le JDK 1.4 et supérieur). Vous pouvez télécharger Log4j à partir de <literal>http://jakarta.apache.org</literal>. Pour utiliser Log4j, vous devrez placer dans votre classpath un fichier <literal>log4j.properties</literal>. Un exemple de fichier est distribué avec Hibernate dans le répertoire <literal>src/</literal>."
+msgstr "Hibernate trace divers évènements en utilisant Apache commons-logging."
 
-#: index.docbook:1194
-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 "Nous vous recommandons fortement de vous familiariser avec les messages des traces d'Hibernate. Beaucoup de soins a été apporté pour donner le plus de détails possible sans les rendre illisibles. C'est un outil essentiel en cas de soucis. Les catégories de trace les plus intéressantes sont les suivantes :"
+#. Tag: para
+#: configuration.xml:1194
+#, no-c-format
+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 ""
+"Le service commons-logging délèguera directement à Apache Log4j (si vous "
+"incluez <literal>log4j.jar</literal> dans votre classpath) ou le système de "
+"trace du JDK 1.4 (si vous tournez sous le JDK 1.4 et supérieur). Vous pouvez "
+"télécharger Log4j à partir de <literal>http://jakarta.apache.org</literal>. "
+"Pour utiliser Log4j, vous devrez placer dans votre classpath un fichier "
+"<literal>log4j.properties</literal>. Un exemple de fichier est distribué "
+"avec Hibernate dans le répertoire <literal>src/</literal>."
 
-#: index.docbook:1204
-msgid "We strongly recommend that you familiarize yourself with Hibernate's log messages. A lot of work has been put into making the Hibernate log as detailed as possible, without making it unreadable. It is an essential troubleshooting device. The most interesting log categories are the following:"
-msgstr "Catégories de trace d'Hibernate"
+#. Tag: para
+#: configuration.xml:1204
+#, no-c-format
+msgid ""
+"We strongly recommend that you familiarize yourself with Hibernate's log "
+"messages. A lot of work has been put into making the Hibernate log as "
+"detailed as possible, without making it unreadable. It is an essential "
+"troubleshooting device. The most interesting log categories are the "
+"following:"
+msgstr ""
+"Nous vous recommandons fortement de vous familiariser avec les messages des "
+"traces d'Hibernate. Beaucoup de soins a été apporté pour donner le plus de "
+"détails possible sans les rendre illisibles. C'est un outil essentiel en cas "
+"de soucis. Les catégories de trace les plus intéressantes sont les "
+"suivantes :"
 
-#: index.docbook:1213
+#. Tag: title
+#: configuration.xml:1213
+#, no-c-format
 msgid "Hibernate Log Categories"
-msgstr "Catégorie"
+msgstr "Catégories de trace d'Hibernate"
 
-#: index.docbook:1219
+#. Tag: entry
+#: configuration.xml:1219
+#, no-c-format
 msgid "Category"
-msgstr "Fonction"
+msgstr "Catégorie"
 
-#: index.docbook:1220
+#. Tag: entry
+#: configuration.xml:1220
+#, no-c-format
 msgid "Function"
-msgstr "org.hibernate.SQL"
+msgstr "Fonction"
 
-#: index.docbook:1225
+#. Tag: literal
+#: configuration.xml:1225
+#, no-c-format
 msgid "org.hibernate.SQL"
-msgstr "Trace toutes les requêts SQL de type DML (gestion des données) qui sont exécutées"
+msgstr "org.hibernate.SQL"
 
-#: index.docbook:1226
+#. Tag: entry
+#: configuration.xml:1226
+#, no-c-format
 msgid "Log all SQL DML statements as they are executed"
-msgstr "org.hibernate.type"
+msgstr ""
+"Trace toutes les requêts SQL de type DML (gestion des données) qui sont "
+"exécutées"
 
-#: index.docbook:1229
+#. Tag: literal
+#: configuration.xml:1229
+#, no-c-format
 msgid "org.hibernate.type"
-msgstr "Trace tous les paramètres JDBC"
+msgstr "org.hibernate.type"
 
-#: index.docbook:1230
+#. Tag: entry
+#: configuration.xml:1230
+#, no-c-format
 msgid "Log all JDBC parameters"
-msgstr "org.hibernate.tool.hbm2ddl"
+msgstr "Trace tous les paramètres JDBC"
 
-#: index.docbook:1233
+#. Tag: literal
+#: configuration.xml:1233
+#, no-c-format
 msgid "org.hibernate.tool.hbm2ddl"
-msgstr "Trace toutes les requêts SQL de type DDL (gestion de la structure de la base) qui sont exécutées"
+msgstr "org.hibernate.tool.hbm2ddl"
 
-#: index.docbook:1234
+#. Tag: entry
+#: configuration.xml:1234
+#, no-c-format
 msgid "Log all SQL DDL statements as they are executed"
-msgstr "org.hibernate.pretty"
+msgstr ""
+"Trace toutes les requêts SQL de type DDL (gestion de la structure de la "
+"base) qui sont exécutées"
 
-#: index.docbook:1237
+#. Tag: literal
+#: configuration.xml:1237
+#, no-c-format
 msgid "org.hibernate.pretty"
-msgstr "Trace l'état de toutes les entités (20 entités maximum) qui sont associées avec la session hibernate au moment du flush"
+msgstr "org.hibernate.pretty"
 
-#: index.docbook:1238
-msgid "Log the state of all entities (max 20 entities) associated with the session at flush time"
-msgstr "org.hibernate.cache"
+#. Tag: entry
+#: configuration.xml:1238
+#, no-c-format
+msgid ""
+"Log the state of all entities (max 20 entities) associated with the session "
+"at flush time"
+msgstr ""
+"Trace l'état de toutes les entités (20 entités maximum) qui sont associées "
+"avec la session hibernate au moment du flush"
 
-#: index.docbook:1244
+#. Tag: literal
+#: configuration.xml:1244
+#, no-c-format
 msgid "org.hibernate.cache"
-msgstr "Trace toute l'activité du cache de second niveau"
+msgstr "org.hibernate.cache"
 
-#: index.docbook:1245
+#. Tag: entry
+#: configuration.xml:1245
+#, no-c-format
 msgid "Log all second-level cache activity"
-msgstr "org.hibernate.transaction"
+msgstr "Trace toute l'activité du cache de second niveau"
 
-#: index.docbook:1248
+#. Tag: literal
+#: configuration.xml:1248
+#, no-c-format
 msgid "org.hibernate.transaction"
-msgstr "Trace toute l'activité relative aux transactions"
+msgstr "org.hibernate.transaction"
 
-#: index.docbook:1249
+#. Tag: entry
+#: configuration.xml:1249
+#, no-c-format
 msgid "Log transaction related activity"
-msgstr "org.hibernate.jdbc"
+msgstr "Trace toute l'activité relative aux transactions"
 
-#: index.docbook:1252
+#. Tag: literal
+#: configuration.xml:1252
+#, no-c-format
 msgid "org.hibernate.jdbc"
-msgstr "Trace toute acquisition de ressource JDBC"
+msgstr "org.hibernate.jdbc"
 
-#: index.docbook:1253
+#. Tag: entry
+#: configuration.xml:1253
+#, no-c-format
 msgid "Log all JDBC resource acquisition"
-msgstr "org.hibernate.hql.ast.AST"
+msgstr "Trace toute acquisition de ressource JDBC"
 
-#: index.docbook:1256
+#. Tag: literal
+#: configuration.xml:1256
+#, no-c-format
 msgid "org.hibernate.hql.ast.AST"
-msgstr "Trace l'arbre syntaxique des requêtes HQL et SQL durant l'analyse syntaxique des requêtes"
+msgstr "org.hibernate.hql.ast.AST"
 
-#: index.docbook:1257
+#. Tag: entry
+#: configuration.xml:1257
+#, no-c-format
 msgid "Log HQL and SQL ASTs during query parsing"
-msgstr "org.hibernate.secure"
+msgstr ""
+"Trace l'arbre syntaxique des requêtes HQL et SQL durant l'analyse syntaxique "
+"des requêtes"
 
-#: index.docbook:1262
+#. Tag: literal
+#: configuration.xml:1262
+#, no-c-format
 msgid "org.hibernate.secure"
-msgstr "Trace toutes les demandes d'autorisation JAAS"
+msgstr "org.hibernate.secure"
 
-#: index.docbook:1263
+#. Tag: entry
+#: configuration.xml:1263
+#, no-c-format
 msgid "Log all JAAS authorization requests"
-msgstr "org.hibernate"
+msgstr "Trace toutes les demandes d'autorisation JAAS"
 
-#: index.docbook:1266
+#. Tag: literal
+#: configuration.xml:1266
+#, no-c-format
 msgid "org.hibernate"
-msgstr "Trace tout (beaucoupe d'informations, mais très utile pour résoudre les problèmes)."
+msgstr "org.hibernate"
 
-#: index.docbook:1267
-msgid "Log everything (a lot of information, but very useful for troubleshooting)"
-msgstr "Lorsque vous développez des applications avec Hibernate, vous devriez quasiment toujours travailler avec le niveau <literal>debug</literal> activé pour la catégorie <literal>org.hibernate.SQL</literal>, ou sinon avec la propriété <literal>hibernate.show_sql</literal> activée."
+#. Tag: entry
+#: configuration.xml:1267
+#, no-c-format
+msgid ""
+"Log everything (a lot of information, but very useful for troubleshooting)"
+msgstr ""
+"Trace tout (beaucoupe d'informations, mais très utile pour résoudre les "
+"problèmes)."
 
-#: index.docbook:1276
-msgid "When developing applications with Hibernate, you should almost always work with <literal>debug</literal> enabled for the category <literal>org.hibernate.SQL</literal>, or, alternatively, the property <literal>hibernate.show_sql</literal> enabled."
-msgstr "Implémenter une <literal>NamingStrategy</literal>"
+#. Tag: para
+#: configuration.xml:1276
+#, no-c-format
+msgid ""
+"When developing applications with Hibernate, you should almost always work "
+"with <literal>debug</literal> enabled for the category <literal>org."
+"hibernate.SQL</literal>, or, alternatively, the property <literal>hibernate."
+"show_sql</literal> enabled."
+msgstr ""
+"Lorsque vous développez des applications avec Hibernate, vous devriez "
+"quasiment toujours travailler avec le niveau <literal>debug</literal> activé "
+"pour la catégorie <literal>org.hibernate.SQL</literal>, ou sinon avec la "
+"propriété <literal>hibernate.show_sql</literal> activée."
 
-#: index.docbook:1286
+#. Tag: title
+#: configuration.xml:1286
+#, no-c-format
 msgid "Implementing a <literal>NamingStrategy</literal>"
-msgstr "L'interface <literal>org.hibernate.cfg.NamingStrategy</literal> vous permet de spécifier une \"stratégie de nommage\" des objets et éléments de la base de données."
+msgstr "Implémenter une <literal>NamingStrategy</literal>"
 
-#: index.docbook:1288
-msgid "The interface <literal>org.hibernate.cfg.NamingStrategy</literal> allows you to specify a \"naming standard\" for database objects and schema elements."
-msgstr "Vous pouvez fournir des règles pour automatiquement générer les identifiants de base de données à partir des identifiants Java, ou transformer une colonne ou table \"logique\" donnée dans le fichier de mapping en une colonne ou table \"physique\". Cette fonctionnalité aide à réduire la verbosité de documents de mapping, en éliminant le bruit répétitif (les préfixes <literal>TBL_</literal> par exemple). La stratégie par défaut utilisée par Hibernate est minimale."
+#. Tag: para
+#: configuration.xml:1288
+#, 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 ""
+"L'interface <literal>org.hibernate.cfg.NamingStrategy</literal> vous permet "
+"de spécifier une \"stratégie de nommage\" des objets et éléments de la base "
+"de données."
 
-#: index.docbook:1293
-msgid "You may provide rules for automatically generating database identifiers from Java identifiers or for processing \"logical\" column and table names given in the mapping file into \"physical\" table and column names. This feature helps reduce the verbosity of the mapping document, eliminating repetitive noise (<literal>TBL_</literal> prefixes, for example). The default strategy used by Hibernate is quite minimal."
-msgstr "Vous pouvez définir une stratégie différente en appelant <literal>Configuration.setNamingStrategy()</literal> avant d'ajouter des mappings :"
+#. Tag: para
+#: configuration.xml:1293
+#, no-c-format
+msgid ""
+"You may provide rules for automatically generating database identifiers from "
+"Java identifiers or for processing \"logical\" column and table names given "
+"in the mapping file into \"physical\" table and column names. This feature "
+"helps reduce the verbosity of the mapping document, eliminating repetitive "
+"noise (<literal>TBL_</literal> prefixes, for example). The default strategy "
+"used by Hibernate is quite minimal."
+msgstr ""
+"Vous pouvez fournir des règles pour automatiquement générer les identifiants "
+"de base de données à partir des identifiants Java, ou transformer une "
+"colonne ou table \"logique\" donnée dans le fichier de mapping en une "
+"colonne ou table \"physique\". Cette fonctionnalité aide à réduire la "
+"verbosité de documents de mapping, en éliminant le bruit répétitif (les "
+"préfixes <literal>TBL_</literal> par exemple). La stratégie par défaut "
+"utilisée par Hibernate est minimale."
 
-#: index.docbook:1302
-msgid "You may specify a different strategy by calling <literal>Configuration.setNamingStrategy()</literal> before adding mappings:"
+#. Tag: para
+#: configuration.xml:1302
+#, no-c-format
+msgid ""
+"You may specify a different strategy by calling <literal>Configuration."
+"setNamingStrategy()</literal> before adding mappings:"
 msgstr ""
-      "<![CDATA[SessionFactory sf = new Configuration()\n"
-      "    .setNamingStrategy(ImprovedNamingStrategy.INSTANCE)\n"
-      "    .addFile(\"Item.hbm.xml\")\n"
-      "    .addFile(\"Bid.hbm.xml\")\n"
-      "    .buildSessionFactory();]]>"
+"Vous pouvez définir une stratégie différente en appelant "
+"<literal>Configuration.setNamingStrategy()</literal> avant d'ajouter des "
+"mappings :"
 
-#: index.docbook:1307
+#. Tag: programlisting
+#: configuration.xml:1307
+#, 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 "<literal>net.sf.hibernate.cfg.ImprovedNamingStrategy</literal> est une stratégie fournie qui peut être utile comme point de départ de quelques applications."
+"<![CDATA[SessionFactory sf = new Configuration()\n"
+"    .setNamingStrategy(ImprovedNamingStrategy.INSTANCE)\n"
+"    .addFile(\"Item.hbm.xml\")\n"
+"    .addFile(\"Bid.hbm.xml\")\n"
+"    .buildSessionFactory();]]>"
+msgstr ""
 
-#: index.docbook:1309
-msgid "<literal>org.hibernate.cfg.ImprovedNamingStrategy</literal> is a built-in strategy that might be a useful starting point for some applications."
-msgstr "Fichier de configuration XML"
+#. Tag: para
+#: configuration.xml:1309
+#, 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>net.sf.hibernate.cfg.ImprovedNamingStrategy</literal> est une "
+"stratégie fournie qui peut être utile comme point de départ de quelques "
+"applications."
 
-#: index.docbook:1317
+#. Tag: title
+#: configuration.xml:1317
+#, no-c-format
 msgid "XML configuration file"
-msgstr "Une approche alternative est de spécifier toute la configuration dans un fichier nommé <literal>hibernate.cfg.xml</literal>. Ce fichier peut être utilisé à la place du fichier <literal>hibernate.properties</literal>, voire même peut servir à surcharger les propriétés si les deux fichiers sont présents."
+msgstr "Fichier de configuration XML"
 
-#: index.docbook:1319
-msgid "An alternative approach to configuration is to specify a full configuration in a file named <literal>hibernate.cfg.xml</literal>. This file can be used as a replacement for the <literal>hibernate.properties</literal> file or, if both are present, to override properties."
-msgstr "Le fichier de configuration XML doit par défaut se placer à la racine du <literal>CLASSPATH</literal>. En voici un exemple :"
+#. Tag: para
+#: configuration.xml:1319
+#, no-c-format
+msgid ""
+"An alternative approach to configuration is to specify a full configuration "
+"in a file named <literal>hibernate.cfg.xml</literal>. This file can be used "
+"as a replacement for the <literal>hibernate.properties</literal> file or, if "
+"both are present, to override properties."
+msgstr ""
+"Une approche alternative est de spécifier toute la configuration dans un "
+"fichier nommé <literal>hibernate.cfg.xml</literal>. Ce fichier peut être "
+"utilisé à la place du fichier <literal>hibernate.properties</literal>, voire "
+"même peut servir à surcharger les propriétés si les deux fichiers sont "
+"présents."
 
-#: index.docbook:1326
-msgid "The XML configuration file is by default expected to be in the root o your <literal>CLASSPATH</literal>. Here is an example:"
+#. Tag: para
+#: configuration.xml:1326
+#, no-c-format
+msgid ""
+"The XML configuration file is by default expected to be in the root o your "
+"<literal>CLASSPATH</literal>. Here is an example:"
 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>]]>"
+"Le fichier de configuration XML doit par défaut se placer à la racine du "
+"<literal>CLASSPATH</literal>. En voici un exemple :"
 
-#: index.docbook:1331
+#. Tag: programlisting
+#: configuration.xml:1331
+#, 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 "Commme vous pouvez le voir, l'avantage de cette approche est l'externalisation des noms des fichiers de mapping de la configuration. Le fichier <literal>hibernate.cfg.xml</literal> est également plus pratique quand on commence à régler le cache d'Hibernate. Notez que vous pouvez choisir entre utiliser <literal>hibernate.properties</literal> ou <literal>hibernate.cfg.xml</literal>, les deux sont équivalents, sauf en ce qui concerne les bénéfices de l'utilisation de la syntaxe XML mentionnés ci-dessus."
+"<![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 ""
 
-#: index.docbook:1333
-msgid "As you can see, the advantage of this approach is the externalization of the mapping file names to configuration. The <literal>hibernate.cfg.xml</literal> is also more convenient once you have to tune the Hibernate cache. Note that is your choice to use either <literal>hibernate.properties</literal> or <literal>hibernate.cfg.xml</literal>, both are equivalent, except for the above mentioned benefits of using the XML syntax."
-msgstr "Avec la configuration XML, démarrer Hibernate devient donc aussi simple que ceci :"
+#. Tag: para
+#: configuration.xml:1333
+#, no-c-format
+msgid ""
+"As you can see, the advantage of this approach is the externalization of the "
+"mapping file names to configuration. The <literal>hibernate.cfg.xml</"
+"literal> is also more convenient once you have to tune the Hibernate cache. "
+"Note that is your choice to use either <literal>hibernate.properties</"
+"literal> or <literal>hibernate.cfg.xml</literal>, both are equivalent, "
+"except for the above mentioned benefits of using the XML syntax."
+msgstr ""
+"Commme vous pouvez le voir, l'avantage de cette approche est "
+"l'externalisation des noms des fichiers de mapping de la configuration. Le "
+"fichier <literal>hibernate.cfg.xml</literal> est également plus pratique "
+"quand on commence à régler le cache d'Hibernate. Notez que vous pouvez "
+"choisir entre utiliser <literal>hibernate.properties</literal> ou "
+"<literal>hibernate.cfg.xml</literal>, les deux sont équivalents, sauf en ce "
+"qui concerne les bénéfices de l'utilisation de la syntaxe XML mentionnés ci-"
+"dessus."
 
-#: index.docbook:1342
+#. Tag: para
+#: configuration.xml:1342
+#, no-c-format
 msgid "With the XML configuration, starting Hibernate is then as simple as"
-msgstr "<![CDATA[SessionFactory sf = new Configuration().configure().buildSessionFactory();]]>"
+msgstr ""
+"Avec la configuration XML, démarrer Hibernate devient donc aussi simple que "
+"ceci :"
 
-#: index.docbook:1346
-msgid "<![CDATA[SessionFactory sf = new Configuration().configure().buildSessionFactory();]]>"
-msgstr "Intégration à un serveur d'application J2EE"
+#. Tag: programlisting
+#: configuration.xml:1346
+#, no-c-format
+msgid ""
+"<![CDATA[SessionFactory sf = new Configuration().configure()."
+"buildSessionFactory();]]>"
+msgstr ""
 
-#: index.docbook:1348
+#. Tag: para
+#: configuration.xml:1348
+#, no-c-format
 msgid "You can pick a different XML configuration file using"
-msgstr "Hibernate possède les points suivants d'intégration à l'infrastructure J2EE :"
+msgstr "You can pick a different XML configuration file using"
 
-#: index.docbook:1352
+#. Tag: programlisting
+#: configuration.xml:1352
+#, no-c-format
 msgid ""
-      "<![CDATA[SessionFactory sf = new Configuration()\n"
-      "    .configure(\"catdb.cfg.xml\")\n"
-      "    .buildSessionFactory();]]>"
-msgstr "<emphasis>Source de données gérée par le conteneur</emphasis> : Hibernate peut utiliser des connexions JDBC gérées par le conteneur et fournie par l'intermédiaire de JNDI. Souvent, un <literal>TransactionManager</literal> compatible JTA et un <literal>ResourceManager</literal> s'occupent de la gestion des transactions (CMT). Ils sont particulièrement prévus pour pouvoir gérer des transactions distribuées sur plusieurs sources de données. Vous pouvez bien sûr également définir vos limites de transaction dans votre programme (BMT) ou vous pouvez sinon aussi utiliser l'API optionnelle <literal>Transaction</literal> d'Hibernate qui vous garantira la portabilité de votre code entre plusieurs serveurs d'application."
+"<![CDATA[SessionFactory sf = new Configuration()\n"
+"    .configure(\"catdb.cfg.xml\")\n"
+"    .buildSessionFactory();]]>"
+msgstr ""
 
-#: index.docbook:1357
+#. Tag: title
+#: configuration.xml:1357
+#, no-c-format
 msgid "J2EE Application Server integration"
-msgstr "<emphasis>Association JNDI automatique</emphasis>: Hibernate peut associer sa <literal>SessionFactory</literal> à JNDI après le démarrage."
+msgstr "Intégration à un serveur d'application J2EE"
 
-#: index.docbook:1359
+#. Tag: para
+#: configuration.xml:1359
+#, no-c-format
 msgid "Hibernate has the following integration points for J2EE infrastructure:"
-msgstr "<emphasis>Association de la Session à JTA:</emphasis> La <literal>Session</literal> Hibernate peut être associée automatiquement à une transaction JTA si vous utilisez les EJBs. Vous avez juste à récupérer la <literal>SessionFactory</literal> depuis JNDI et à récupérer la <literal>Session</literal> courante. Hibernate s'occupe de vider et fermer la <literal>Session</literal> lorsque le transaction JTA se termine. La démarcation des transactions se fait de manière déclarative dans les descripteurs de déploiement."
+msgstr ""
+"Hibernate possède les points suivants d'intégration à l'infrastructure J2EE :"
 
-#: index.docbook:1365
-msgid "<emphasis>Container-managed datasources</emphasis>: Hibernate can use JDBC connections managed by the container and provided through JNDI. Usually, a JTA compatible <literal>TransactionManager</literal> and a <literal>ResourceManager</literal> take care of transaction management (CMT), esp. distributed transaction handling across several datasources. You may of course also demarcate transaction boundaries programmatically (BMT) or you might want to use the optional Hibernate <literal>Transaction</literal> API for this to keep your code portable."
-msgstr "<emphasis>Déploiement JMX :</emphasis>Si vous avez un serveur d'application compatible JMX (JBoss AS par exemple), vous pouvez choisir de déployer Hibernate en temps que MBean géré par le serveur. Cela vous évite de coder la ligne de démarrage qui permet de construire la <literal>SessionFactory</literal> depuis la <literal>Configuration</literal>. Le conteneur va démarrer votre <literal>HibernateService</literal>, et va idéalement s'occuper des dépendances entre les services (la source de données doit être disponible avant qu'Hibernate ne démarre, etc)."
+#. Tag: para
+#: configuration.xml:1365
+#, no-c-format
+msgid ""
+"<emphasis>Container-managed datasources</emphasis>: Hibernate can use JDBC "
+"connections managed by the container and provided through JNDI. Usually, a "
+"JTA compatible <literal>TransactionManager</literal> and a "
+"<literal>ResourceManager</literal> take care of transaction management "
+"(CMT), esp. distributed transaction handling across several datasources. You "
+"may of course also demarcate transaction boundaries programmatically (BMT) "
+"or you might want to use the optional Hibernate <literal>Transaction</"
+"literal> API for this to keep your code portable."
+msgstr ""
+"<emphasis>Source de données gérée par le conteneur</emphasis> : Hibernate "
+"peut utiliser des connexions JDBC gérées par le conteneur et fournie par "
+"l'intermédiaire de JNDI. Souvent, un <literal>TransactionManager</literal> "
+"compatible JTA et un <literal>ResourceManager</literal> s'occupent de la "
+"gestion des transactions (CMT). Ils sont particulièrement prévus pour "
+"pouvoir gérer des transactions distribuées sur plusieurs sources de données. "
+"Vous pouvez bien sûr également définir vos limites de transaction dans votre "
+"programme (BMT) ou vous pouvez sinon aussi utiliser l'API optionnelle "
+"<literal>Transaction</literal> d'Hibernate qui vous garantira la portabilité "
+"de votre code entre plusieurs serveurs d'application."
 
-#: index.docbook:1380
-msgid "<emphasis>Automatic JNDI binding</emphasis>: Hibernate can bind its <literal>SessionFactory</literal> to JNDI after startup."
-msgstr "En fonction de votre environnement, vous devrez peut être mettre l'option de configuration <literal>hibernate.connection.aggressive_release</literal> à vrai si le serveur d'application affiche des exceptions de type \"connection containment\"."
+#. Tag: para
+#: configuration.xml:1380
+#, no-c-format
+msgid ""
+"<emphasis>Automatic JNDI binding</emphasis>: Hibernate can bind its "
+"<literal>SessionFactory</literal> to JNDI after startup."
+msgstr ""
+"<emphasis>Association JNDI automatique</emphasis>: Hibernate peut associer "
+"sa <literal>SessionFactory</literal> à JNDI après le démarrage."
 
-#: index.docbook:1389
-msgid "<emphasis>JTA Session binding:</emphasis> The Hibernate <literal>Session</literal> may be automatically bound to the scope of JTA transactions. Simply lookup the <literal>SessionFactory</literal> from JNDI and get the current <literal>Session</literal>. Let Hibernate take care of flushing and closing the <literal>Session</literal> when your JTA transaction completes. Transaction demarcation is either declarative (CMT) or programmatic (BMT/UserTransaction)."
-msgstr "Configuration de la stratégie transactionnelle"
+#. Tag: para
+#: configuration.xml:1389
+#, no-c-format
+msgid ""
+"<emphasis>JTA Session binding:</emphasis> The Hibernate <literal>Session</"
+"literal> may be automatically bound to the scope of JTA transactions. Simply "
+"lookup the <literal>SessionFactory</literal> from JNDI and get the current "
+"<literal>Session</literal>. Let Hibernate take care of flushing and closing "
+"the <literal>Session</literal> when your JTA transaction completes. "
+"Transaction demarcation is either declarative (CMT) or programmatic (BMT/"
+"UserTransaction)."
+msgstr ""
+"<emphasis>Association de la Session à JTA:</emphasis> La <literal>Session</"
+"literal> Hibernate peut être associée automatiquement à une transaction JTA "
+"si vous utilisez les EJBs. Vous avez juste à récupérer la "
+"<literal>SessionFactory</literal> depuis JNDI et à récupérer la "
+"<literal>Session</literal> courante. Hibernate s'occupe de vider et fermer "
+"la <literal>Session</literal> lorsque le transaction JTA se termine. La "
+"démarcation des transactions se fait de manière déclarative dans les "
+"descripteurs de déploiement."
 
-#: index.docbook:1402
-msgid "<emphasis>JMX deployment:</emphasis> If you have a JMX capable application server (e.g. JBoss AS), you can chose to deploy Hibernate as a managed MBean. This saves you the one line startup code to build your <literal>SessionFactory</literal> from a <literal>Configuration</literal>. The container will startup your <literal>HibernateService</literal>, and ideally also take care of service dependencies (Datasource has to be available before Hibernate starts, etc)."
-msgstr "L'API de la <literal>Session</literal> Hibernate est indépendante de tout système de démarcation des transactions qui peut être présent dans votre architecture. Si vous laissez Hibernate utiliser l'API JDBC directement via un pool de connexion, vous devrez commencer et terminer vos transactions en utilisant l'API JDBC. Si votre application tourne à l'intérieur d'un serveur d'application J2EE, vous voudrez peut être utiliser les transactions gérées par les beans (BMT) et appeller l'API JTA et <literal>UserTransaction</literal> lorsque cela est nécessaire."
+#. Tag: para
+#: configuration.xml:1402
+#, no-c-format
+msgid ""
+"<emphasis>JMX deployment:</emphasis> If you have a JMX capable application "
+"server (e.g. JBoss AS), you can chose to deploy Hibernate as a managed "
+"MBean. This saves you the one line startup code to build your "
+"<literal>SessionFactory</literal> from a <literal>Configuration</literal>. "
+"The container will startup your <literal>HibernateService</literal>, and "
+"ideally also take care of service dependencies (Datasource has to be "
+"available before Hibernate starts, etc)."
+msgstr ""
+"<emphasis>Déploiement JMX :</emphasis>Si vous avez un serveur d'application "
+"compatible JMX (JBoss AS par exemple), vous pouvez choisir de déployer "
+"Hibernate en temps que MBean géré par le serveur. Cela vous évite de coder "
+"la ligne de démarrage qui permet de construire la <literal>SessionFactory</"
+"literal> depuis la <literal>Configuration</literal>. Le conteneur va "
+"démarrer votre <literal>HibernateService</literal>, et va idéalement "
+"s'occuper des dépendances entre les services (la source de données doit être "
+"disponible avant qu'Hibernate ne démarre, etc)."
 
-#: index.docbook:1413
-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 "Pour conserver votre code portable entre ces deux environnements (et d'autres éventuels) nous vous recommandons d'utiliser l'API optionnelle <literal>Transaction</literal> d'Hibernate, qui va encapsuler et masquer le système de transaction sous-jacent. Pour cela, vous devez préciser une classe de fabrique d'instances de <literal>Transaction</literal> en positionnant la propriété <literal>hibernate.transaction.factory_class</literal>."
+#. Tag: para
+#: configuration.xml:1413
+#, 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 ""
+"En fonction de votre environnement, vous devrez peut être mettre l'option de "
+"configuration <literal>hibernate.connection.aggressive_release</literal> à "
+"vrai si le serveur d'application affiche des exceptions de type \"connection "
+"containment\"."
 
-#: index.docbook:1420
+#. Tag: title
+#: configuration.xml:1420
+#, no-c-format
 msgid "Transaction strategy configuration"
-msgstr "Il existe trois choix standards (fournis) :"
+msgstr "Configuration de la stratégie transactionnelle"
 
-#: index.docbook:1422
-msgid "The Hibernate <literal>Session</literal> API is independent of any transaction demarcation system in your architecture. If you let Hibernate use JDBC directly, through a connection pool, you may begin and end your transactions by calling the JDBC API. If you run in a J2EE application server, you might want to use bean-managed transactions and call the JTA API and <literal>UserTransaction</literal> when needed."
-msgstr "net.sf.hibernate.transaction.JDBCTransactionFactory"
+#. Tag: para
+#: configuration.xml:1422
+#, no-c-format
+msgid ""
+"The Hibernate <literal>Session</literal> API is independent of any "
+"transaction demarcation system in your architecture. If you let Hibernate "
+"use JDBC directly, through a connection pool, you may begin and end your "
+"transactions by calling the JDBC API. If you run in a J2EE application "
+"server, you might want to use bean-managed transactions and call the JTA API "
+"and <literal>UserTransaction</literal> when needed."
+msgstr ""
+"L'API de la <literal>Session</literal> Hibernate est indépendante de tout "
+"système de démarcation des transactions qui peut être présent dans votre "
+"architecture. Si vous laissez Hibernate utiliser l'API JDBC directement via "
+"un pool de connexion, vous devrez commencer et terminer vos transactions en "
+"utilisant l'API JDBC. Si votre application tourne à l'intérieur d'un serveur "
+"d'application J2EE, vous voudrez peut être utiliser les transactions gérées "
+"par les beans (BMT) et appeller l'API JTA et <literal>UserTransaction</"
+"literal> lorsque cela est nécessaire."
 
-#: index.docbook:1430
-msgid "To keep your code portable between these two (and other) environments we recommend the optional Hibernate <literal>Transaction</literal> API, which wraps and hides the underlying system. You have to specify a factory class for <literal>Transaction</literal> instances by setting the Hibernate configuration property <literal>hibernate.transaction.factory_class</literal>."
-msgstr "délègue aux transactions de la base de données (JDBC). Valeur par défaut."
+#. Tag: para
+#: configuration.xml:1430
+#, no-c-format
+msgid ""
+"To keep your code portable between these two (and other) environments we "
+"recommend the optional Hibernate <literal>Transaction</literal> API, which "
+"wraps and hides the underlying system. You have to specify a factory class "
+"for <literal>Transaction</literal> instances by setting the Hibernate "
+"configuration property <literal>hibernate.transaction.factory_class</"
+"literal>."
+msgstr ""
+"Pour conserver votre code portable entre ces deux environnements (et "
+"d'autres éventuels) nous vous recommandons d'utiliser l'API optionnelle "
+"<literal>Transaction</literal> d'Hibernate, qui va encapsuler et masquer le "
+"système de transaction sous-jacent. Pour cela, vous devez préciser une "
+"classe de fabrique d'instances de <literal>Transaction</literal> en "
+"positionnant la propriété <literal>hibernate.transaction.factory_class</"
+"literal>."
 
-#: index.docbook:1437
+#. Tag: para
+#: configuration.xml:1437
+#, no-c-format
 msgid "There are three standard (built-in) choices:"
-msgstr "org.hibernate.transaction.JTATransactionFactory"
+msgstr "Il existe trois choix standards (fournis) :"
 
-#: index.docbook:1443
+#. Tag: literal
+#: configuration.xml:1443
+#, no-c-format
 msgid "org.hibernate.transaction.JDBCTransactionFactory"
-msgstr "délègue à CMT si une transaction existante est sous ce contexte (ex: méthode d'un EJB session), sinon une nouvelle transaction est entamée et une transaction gérée par le bean est utilisée."
+msgstr "net.sf.hibernate.transaction.JDBCTransactionFactory"
 
-#: index.docbook:1445
+#. Tag: para
+#: configuration.xml:1445
+#, no-c-format
 msgid "delegates to database (JDBC) transactions (default)"
-msgstr "org.hibernate.transaction.CMTTransactionFactory"
+msgstr ""
+"délègue aux transactions de la base de données (JDBC). Valeur par défaut."
 
-#: index.docbook:1449
+#. Tag: literal
+#: configuration.xml:1449
+#, no-c-format
 msgid "org.hibernate.transaction.JTATransactionFactory"
-msgstr "délègue à aux transactions JTA gérées par le conteneur"
+msgstr "org.hibernate.transaction.JTATransactionFactory"
 
-#: index.docbook:1451
-msgid "delegates to container-managed transaction if an existing transaction is underway in this context (e.g. EJB session bean method), otherwise a new transaction is started and bean-managed transaction are used."
-msgstr "Vous pouvez également définir votre propre stratégie transactionnelle (pour un service de transaction CORBA par exemple)."
+#. Tag: para
+#: configuration.xml:1451
+#, no-c-format
+msgid ""
+"delegates to container-managed transaction if an existing transaction is "
+"underway in this context (e.g. EJB session bean method), otherwise a new "
+"transaction is started and bean-managed transaction are used."
+msgstr ""
+"délègue à CMT si une transaction existante est sous ce contexte (ex: méthode "
+"d'un EJB session), sinon une nouvelle transaction est entamée et une "
+"transaction gérée par le bean est utilisée."
 
-#: index.docbook:1459
+#. Tag: literal
+#: configuration.xml:1459
+#, no-c-format
 msgid "org.hibernate.transaction.CMTTransactionFactory"
-msgstr "Certaines fonctionnalités d'Hibernate (i.e. le cache de second niveau, l'association automatique des Session à JTA, etc.) nécessitent l'accès au <literal>TransactionManager</literal> JTA dans un environnement \"managé\". Dans un serveur d'application, vous devez indiquer comment Hibernate peut obtenir une référence vers le <literal>TransactionManager</literal>, car J2EE ne fournit pas un seul mécanisme standard."
+msgstr "org.hibernate.transaction.CMTTransactionFactory"
 
-#: index.docbook:1461
+#. Tag: para
+#: configuration.xml:1461
+#, no-c-format
 msgid "delegates to container-managed JTA transactions"
-msgstr "TransactionManagers JTA"
+msgstr "délègue à aux transactions JTA gérées par le conteneur"
 
-#: index.docbook:1466
-msgid "You may also define your own transaction strategies (for a CORBA transaction service, for example)."
-msgstr "Fabrique de Transaction"
+#. Tag: para
+#: configuration.xml:1466
+#, no-c-format
+msgid ""
+"You may also define your own transaction strategies (for a CORBA transaction "
+"service, for example)."
+msgstr ""
+"Vous pouvez également définir votre propre stratégie transactionnelle (pour "
+"un service de transaction CORBA par exemple)."
 
-#: index.docbook:1471
-msgid "Some features in Hibernate (i.e. the second level cache, Contextual Sessions with JTA, etc.) require access to the JTA <literal>TransactionManager</literal> in a managed environment. In an application server you have to specify how Hibernate should obtain a reference to the <literal>TransactionManager</literal>, since J2EE does not standardize a single mechanism:"
-msgstr "Serveur d'application"
+#. Tag: para
+#: configuration.xml:1471
+#, no-c-format
+msgid ""
+"Some features in Hibernate (i.e. the second level cache, Contextual Sessions "
+"with JTA, etc.) require access to the JTA <literal>TransactionManager</"
+"literal> in a managed environment. In an application server you have to "
+"specify how Hibernate should obtain a reference to the "
+"<literal>TransactionManager</literal>, since J2EE does not standardize a "
+"single mechanism:"
+msgstr ""
+"Certaines fonctionnalités d'Hibernate (i.e. le cache de second niveau, "
+"l'association automatique des Session à JTA, etc.) nécessitent l'accès au "
+"<literal>TransactionManager</literal> JTA dans un environnement \"managé\". "
+"Dans un serveur d'application, vous devez indiquer comment Hibernate peut "
+"obtenir une référence vers le <literal>TransactionManager</literal>, car "
+"J2EE ne fournit pas un seul mécanisme standard."
 
-#: index.docbook:1479
+#. Tag: title
+#: configuration.xml:1479
+#, no-c-format
 msgid "JTA TransactionManagers"
-msgstr "org.hibernate.transaction.JBossTransactionManagerLookup"
+msgstr "TransactionManagers JTA"
 
-#: index.docbook:1485
+#. Tag: entry
+#: configuration.xml:1485
+#, no-c-format
 msgid "Transaction Factory"
-msgstr "JBoss"
+msgstr "Fabrique de Transaction"
 
-#: index.docbook:1486
+#. Tag: entry
+#: configuration.xml:1486
+#, no-c-format
 msgid "Application Server"
-msgstr "org.hibernate.transaction.WeblogicTransactionManagerLookup"
+msgstr "Serveur d'application"
 
-#: index.docbook:1491
+#. Tag: literal
+#: configuration.xml:1491
+#, no-c-format
 msgid "org.hibernate.transaction.JBossTransactionManagerLookup"
-msgstr "Weblogic"
+msgstr "org.hibernate.transaction.JBossTransactionManagerLookup"
 
-#: index.docbook:1492
+#. Tag: entry
+#: configuration.xml:1492
+#, no-c-format
 msgid "JBoss"
-msgstr "org.hibernate.transaction.WebSphereTransactionManagerLookup"
+msgstr "JBoss"
 
-#: index.docbook:1495
+#. Tag: literal
+#: configuration.xml:1495
+#, no-c-format
 msgid "org.hibernate.transaction.WeblogicTransactionManagerLookup"
-msgstr "WebSphere"
+msgstr "org.hibernate.transaction.WeblogicTransactionManagerLookup"
 
-#: index.docbook:1496
+#. Tag: entry
+#: configuration.xml:1496
+#, no-c-format
 msgid "Weblogic"
-msgstr "org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"
+msgstr "Weblogic"
 
-#: index.docbook:1499
+#. Tag: literal
+#: configuration.xml:1499
+#, no-c-format
 msgid "org.hibernate.transaction.WebSphereTransactionManagerLookup"
-msgstr "WebSphere 6"
+msgstr "org.hibernate.transaction.WebSphereTransactionManagerLookup"
 
-#: index.docbook:1500
+#. Tag: entry
+#: configuration.xml:1500
+#, no-c-format
 msgid "WebSphere"
-msgstr "org.hibernate.transaction.OrionTransactionManagerLookup"
+msgstr "WebSphere"
 
-#: index.docbook:1503
+#. Tag: literal
+#: configuration.xml:1503
+#, no-c-format
 msgid "org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"
-msgstr "Orion"
+msgstr "org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"
 
-#: index.docbook:1504
+#. Tag: entry
+#: configuration.xml:1504
+#, no-c-format
 msgid "WebSphere 6"
-msgstr "org.hibernate.transaction.ResinTransactionManagerLookup"
+msgstr "WebSphere 6"
 
-#: index.docbook:1507
+#. Tag: literal
+#: configuration.xml:1507
+#, no-c-format
 msgid "org.hibernate.transaction.OrionTransactionManagerLookup"
-msgstr "Resin"
+msgstr "org.hibernate.transaction.OrionTransactionManagerLookup"
 
-#: index.docbook:1508
+#. Tag: entry
+#: configuration.xml:1508
+#, no-c-format
 msgid "Orion"
-msgstr "org.hibernate.transaction.JOTMTransactionManagerLookup"
+msgstr "Orion"
 
-#: index.docbook:1511
+#. Tag: literal
+#: configuration.xml:1511
+#, no-c-format
 msgid "org.hibernate.transaction.ResinTransactionManagerLookup"
-msgstr "JOTM"
+msgstr "org.hibernate.transaction.ResinTransactionManagerLookup"
 
-#: index.docbook:1512
+#. Tag: entry
+#: configuration.xml:1512
+#, no-c-format
 msgid "Resin"
-msgstr "org.hibernate.transaction.JOnASTransactionManagerLookup"
+msgstr "Resin"
 
-#: index.docbook:1515
+#. Tag: literal
+#: configuration.xml:1515
+#, no-c-format
 msgid "org.hibernate.transaction.JOTMTransactionManagerLookup"
-msgstr "JOnAS"
+msgstr "org.hibernate.transaction.JOTMTransactionManagerLookup"
 
-#: index.docbook:1516
+#. Tag: entry
+#: configuration.xml:1516
+#, no-c-format
 msgid "JOTM"
-msgstr "org.hibernate.transaction.JRun4TransactionManagerLookup"
+msgstr "JOTM"
 
-#: index.docbook:1519
+#. Tag: literal
+#: configuration.xml:1519
+#, no-c-format
 msgid "org.hibernate.transaction.JOnASTransactionManagerLookup"
-msgstr "JRun4"
+msgstr "org.hibernate.transaction.JOnASTransactionManagerLookup"
 
-#: index.docbook:1520
+#. Tag: entry
+#: configuration.xml:1520
+#, no-c-format
 msgid "JOnAS"
-msgstr "org.hibernate.transaction.BESTransactionManagerLookup"
+msgstr "JOnAS"
 
-#: index.docbook:1523
+#. Tag: literal
+#: configuration.xml:1523
+#, no-c-format
 msgid "org.hibernate.transaction.JRun4TransactionManagerLookup"
-msgstr "Borland ES"
+msgstr "org.hibernate.transaction.JRun4TransactionManagerLookup"
 
-#: index.docbook:1524
+#. Tag: entry
+#: configuration.xml:1524
+#, no-c-format
 msgid "JRun4"
-msgstr "<literal>SessionFactory</literal> associée au JNDI"
+msgstr "JRun4"
 
-#: index.docbook:1527
+#. Tag: literal
+#: configuration.xml:1527
+#, no-c-format
 msgid "org.hibernate.transaction.BESTransactionManagerLookup"
-msgstr "Une <literal>SessionFactory</literal> Hibernate associée au JNDI peut simplifier l'accès à la fabrique et donc la création de nouvelles <literal>Session</literal>s. Notez que cela n'est pas lié avec les <literal>Datasource</literal> associées au JNDI, elles utilisent juste le même registre."
+msgstr "org.hibernate.transaction.BESTransactionManagerLookup"
 
-#: index.docbook:1528
+#. Tag: entry
+#: configuration.xml:1528
+#, no-c-format
 msgid "Borland ES"
-msgstr "Si vous désirez associer la <literal>SessionFactory</literal> à un nom JNDI, spécifiez un nom (ex. <literal>java:hibernate/SessionFactory</literal>) en utilisant la propriété <literal>hibernate.session_factory_name</literal>. Si cette propriété est omise, la <literal>SessionFactory</literal> ne sera pas associée au JNDI (c'est particulièrement pratique dans les environnements ayant une implémentation de JNDI en lecture seule, comme c'est le cas pour Tomcat)."
+msgstr "Borland ES"
 
-#: index.docbook:1537
+#. Tag: title
+#: configuration.xml:1537
+#, no-c-format
 msgid "JNDI-bound <literal>SessionFactory</literal>"
-msgstr "Lorsqu'il associe la <literal>SessionFactory</literal> au JNDI, Hibernate utilisera les valeurs de <literal>hibernate.jndi.url</literal>, <literal>hibernate.jndi.class</literal> pour instancier un contexte d'initialisation. S'ils ne sont pas spécifiés, l'<literal>InitialContext</literal> par défaut sera utilisé."
+msgstr "<literal>SessionFactory</literal> associée au JNDI"
 
-#: index.docbook:1539
-msgid "A JNDI bound Hibernate <literal>SessionFactory</literal> can simplify the lookup of the factory and the creation of new <literal>Session</literal>s. Note that this is not related to a JNDI bound <literal>Datasource</literal>, both simply use the same registry!"
-msgstr "Hibernate va automatiquement placer la <literal>SessionFactory</literal> dans JNDI après avoir appelé <literal>cfg.buildSessionFactory()</literal>. Cela signifie que vous devez avoir cet appel dans un code de démarrage (ou dans une classe utilitaire) dans votre application sauf si vous utilisez le déploiement JMX avec le service <literal>HibernateService</literal> présenté plus tard dans ce document."
+#. Tag: para
+#: configuration.xml:1539
+#, no-c-format
+msgid ""
+"A JNDI bound Hibernate <literal>SessionFactory</literal> can simplify the "
+"lookup of the factory and the creation of new <literal>Session</literal>s. "
+"Note that this is not related to a JNDI bound <literal>Datasource</literal>, "
+"both simply use the same registry!"
+msgstr ""
+"Une <literal>SessionFactory</literal> Hibernate associée au JNDI peut "
+"simplifier l'accès à la fabrique et donc la création de nouvelles "
+"<literal>Session</literal>s. Notez que cela n'est pas lié avec les "
+"<literal>Datasource</literal> associées au JNDI, elles utilisent juste le "
+"même registre."
 
-#: index.docbook:1546
-msgid "If you wish to have the <literal>SessionFactory</literal> bound to a JNDI namespace, specify a name (eg. <literal>java:hibernate/SessionFactory</literal>) using the property <literal>hibernate.session_factory_name</literal>. If this property is omitted, the <literal>SessionFactory</literal> will not be bound to JNDI. (This is especially useful in environments with a read-only JNDI default implementation, e.g. Tomcat.)"
-msgstr "Si vous utilisez <literal>SessionFactory</literal> JNDI, un EJB ou n'importe quelle autre classe peut obtenir la <literal>SessionFactory</literal> en utilisant un lookup JNDI."
+#. Tag: para
+#: configuration.xml:1546
+#, no-c-format
+msgid ""
+"If you wish to have the <literal>SessionFactory</literal> bound to a JNDI "
+"namespace, specify a name (eg. <literal>java:hibernate/SessionFactory</"
+"literal>) using the property <literal>hibernate.session_factory_name</"
+"literal>. If this property is omitted, the <literal>SessionFactory</literal> "
+"will not be bound to JNDI. (This is especially useful in environments with a "
+"read-only JNDI default implementation, e.g. Tomcat.)"
+msgstr ""
+"Si vous désirez associer la <literal>SessionFactory</literal> à un nom JNDI, "
+"spécifiez un nom (ex. <literal>java:hibernate/SessionFactory</literal>) en "
+"utilisant la propriété <literal>hibernate.session_factory_name</literal>. Si "
+"cette propriété est omise, la <literal>SessionFactory</literal> ne sera pas "
+"associée au JNDI (c'est particulièrement pratique dans les environnements "
+"ayant une implémentation de JNDI en lecture seule, comme c'est le cas pour "
+"Tomcat)."
 
-#: index.docbook:1554
-msgid "When binding the <literal>SessionFactory</literal> to JNDI, Hibernate will use the values of <literal>hibernate.jndi.url</literal>, <literal>hibernate.jndi.class</literal> to instantiate an initial context. If they are not specified, the default <literal>InitialContext</literal> will be used."
-msgstr "Nous recommandons que vous liiez la <literal>SessionFactory</literal> à JNDI dans les environnements managés et que vous utilisiez un singleton <literal>static</literal> si ce n'est pas le cas. Pour isoler votre application de ces détails, nous vous recommandons aussi de masquer le code de lookup actuel pour une <literal>SessionFactory</literal> dans une classe helper, comme <literal>HibernateUtil.getSessionFactory()</literal>. Notez qu'une telle classe est aussi un moyen efficace de démarrer Hibernate&mdash;voir chapitre 1."
+#. Tag: para
+#: configuration.xml:1554
+#, no-c-format
+msgid ""
+"When binding the <literal>SessionFactory</literal> to JNDI, Hibernate will "
+"use the values of <literal>hibernate.jndi.url</literal>, <literal>hibernate."
+"jndi.class</literal> to instantiate an initial context. If they are not "
+"specified, the default <literal>InitialContext</literal> will be used."
+msgstr ""
+"Lorsqu'il associe la <literal>SessionFactory</literal> au JNDI, Hibernate "
+"utilisera les valeurs de <literal>hibernate.jndi.url</literal>, "
+"<literal>hibernate.jndi.class</literal> pour instancier un contexte "
+"d'initialisation. S'ils ne sont pas spécifiés, l'<literal>InitialContext</"
+"literal> par défaut sera utilisé."
 
-#: index.docbook:1561
-msgid "Hibernate will automatically place the <literal>SessionFactory</literal> in JNDI after you call <literal>cfg.buildSessionFactory()</literal>. This means you will at least have this call in some startup code (or utility class) in your application, unless you use JMX deployment with the <literal>HibernateService</literal> (discussed later)."
-msgstr "Association automatique de la Session à JTA"
+#. Tag: para
+#: configuration.xml:1561
+#, no-c-format
+msgid ""
+"Hibernate will automatically place the <literal>SessionFactory</literal> in "
+"JNDI after you call <literal>cfg.buildSessionFactory()</literal>. This means "
+"you will at least have this call in some startup code (or utility class) in "
+"your application, unless you use JMX deployment with the "
+"<literal>HibernateService</literal> (discussed later)."
+msgstr ""
+"Hibernate va automatiquement placer la <literal>SessionFactory</literal> "
+"dans JNDI après avoir appelé <literal>cfg.buildSessionFactory()</literal>. "
+"Cela signifie que vous devez avoir cet appel dans un code de démarrage (ou "
+"dans une classe utilitaire) dans votre application sauf si vous utilisez le "
+"déploiement JMX avec le service <literal>HibernateService</literal> présenté "
+"plus tard dans ce document."
 
-#: index.docbook:1568
-msgid "If you use a JNDI <literal>SessionFactory</literal>, an EJB or any other class may obtain the <literal>SessionFactory</literal> using a JNDI lookup."
-msgstr "Le moyen le plus simple de gérer les <literal>Session</literal>s et transactions est la gestion automatique de session \"courante\" offerte par Hibernate. Voir détail à <xref linkend=\"architecture-current-session\"/>current sessions. En utilisant le contexte de session <literal>\"jta\"</literal> session context, s'il n'y a pas de <literal>Session</literal> associée à la transaction JTA courante, une session sera démarrée et associée à la transaction JTA courante la première fois que vous appelez <literal>sessionFactory.getCurrentSession()</literal>. Les <literal>Session</literal>s obtenue via <literal>getCurrentSession()</literal> dans une contexte <literal>\"jta\"</literal> seront automatiquement flushées avant la validation de la transaction, fermées une fois la transaction complétée, et libéreront les connexions JDBC de manière aggressive après chaque statement. Ceci permet aux <literal>Session</literal>s d'être gérées par le cycle de vie de !
 la transaction JTA à la quelle est sont associées, laissant le code de l'utilisateur propre de ce type de gestion. Votre code peut soit utiliser JTA de manière programmatique via <literal>UserTransaction</literal>, ou (ce qui est recommandé pour la portabilité du code) utiliser l'API <literal>Transaction</literal> API pour marquer les limites. Si vous exécutez sous un conteneur EJB, la démarcation déclarative des transactions avec CMT est recommandée."
+#. Tag: para
+#: configuration.xml:1568
+#, no-c-format
+msgid ""
+"If you use a JNDI <literal>SessionFactory</literal>, an EJB or any other "
+"class may obtain the <literal>SessionFactory</literal> using a JNDI lookup."
+msgstr ""
+"Si vous utilisez <literal>SessionFactory</literal> JNDI, un EJB ou n'importe "
+"quelle autre classe peut obtenir la <literal>SessionFactory</literal> en "
+"utilisant un lookup JNDI."
 
-#: index.docbook:1573
-msgid "We recommend that you bind the <literal>SessionFactory</literal> to JNDI in a managed environment and use a <literal>static</literal> singleton otherwise. To shield your application code from these details, we also recommend to hide the actual lookup code for a <literal>SessionFactory</literal> in a helper class, such as <literal>HibernateUtil.getSessionFactory()</literal>. Note that such a class is also a convenient way to startup Hibernate&mdash;see chapter 1."
-msgstr "Déploiement JMX"
+#. Tag: para
+#: configuration.xml:1573
+#, no-c-format
+msgid ""
+"We recommend that you bind the <literal>SessionFactory</literal> to JNDI in "
+"a managed environment and use a <literal>static</literal> singleton "
+"otherwise. To shield your application code from these details, we also "
+"recommend to hide the actual lookup code for a <literal>SessionFactory</"
+"literal> in a helper class, such as <literal>HibernateUtil.getSessionFactory"
+"()</literal>. Note that such a class is also a convenient way to startup "
+"Hibernate&mdash;see chapter 1."
+msgstr ""
+"Nous recommandons que vous liiez la <literal>SessionFactory</literal> à JNDI "
+"dans les environnements managés et que vous utilisiez un singleton "
+"<literal>static</literal> si ce n'est pas le cas. Pour isoler votre "
+"application de ces détails, nous vous recommandons aussi de masquer le code "
+"de lookup actuel pour une <literal>SessionFactory</literal> dans une classe "
+"helper, comme <literal>HibernateUtil.getSessionFactory()</literal>. Notez "
+"qu'une telle classe est aussi un moyen efficace de démarrer Hibernate&mdash;"
+"voir chapitre 1."
 
-#: index.docbook:1585
+#. Tag: title
+#: configuration.xml:1585
+#, no-c-format
 msgid "Current Session context management with JTA"
-msgstr "La ligne <literal>cfg.buildSessionFactory()</literal> doit toujours être exécutée quelque part pour avoir une <literal>SessionFactory</literal> dans JNDI. Vous pouvez faire cela dans un bloc d'initialisation <literal>static</literal> (comme celui qui se trouve dans la classe <literal>HibernateUtil</literal>) ou vous pouvez déployer Hibernate en temps que <emphasis>service managé</emphasis>."
+msgstr "Association automatique de la Session à JTA"
 
-#: index.docbook:1587
-msgid "The easiest way to handle <literal>Session</literal>s and transactions is Hibernates automatic \"current\" <literal>Session</literal> management. See the discussion of <xref linkend=\"architecture-current-session\"/>current sessions. 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 man!
 agement 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."
-msgstr "Hibernate est distribué avec <literal>org.hibernate.jmx.HibernateService</literal> pour le déploiement sur un serveur d'application avec le support de JMX comme JBoss AS. Le déploiement et la configuration sont spécifiques à chaque vendeur. Voici un fichier <literal>jboss-service.xml</literal> d'exemple pour JBoss 4.0.x:"
+#. Tag: para
+#: configuration.xml:1587
+#, no-c-format
+msgid ""
+"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."
+msgstr ""
+"Le moyen le plus simple de gérer les <literal>Session</literal>s et "
+"transactions est la gestion automatique de session \"courante\" offerte par "
+"Hibernate. Voir détail à <xref linkend=\"architecture-current-session"
+"\">current sessions</xref>. En utilisant le contexte de session <literal>"
+"\"jta\"</literal> session context, s'il n'y a pas de <literal>Session</"
+"literal> associée à la transaction JTA courante, une session sera démarrée "
+"et associée à la transaction JTA courante la première fois que vous appelez "
+"<literal>sessionFactory.getCurrentSession()</literal>. Les <literal>Session</"
+"literal>s obtenue via <literal>getCurrentSession()</literal> dans une "
+"contexte <literal>\"jta\"</literal> seront automatiquement flushées avant la "
+"validation de la transaction, fermées une fois la transaction complétée, et "
+"libéreront les connexions JDBC de manière aggressive après chaque statement. "
+"Ceci permet aux <literal>Session</literal>s d'être gérées par le cycle de "
+"vie de la transaction JTA à la quelle est sont associées, laissant le code "
+"de l'utilisateur propre de ce type de gestion. Votre code peut soit utiliser "
+"JTA de manière programmatique via <literal>UserTransaction</literal>, ou (ce "
+"qui est recommandé pour la portabilité du code) utiliser l'API "
+"<literal>Transaction</literal> API pour marquer les limites. Si vous "
+"exécutez sous un conteneur EJB, la démarcation déclarative des transactions "
+"avec CMT est recommandée."
 
-#: index.docbook:1610
+#. Tag: title
+#: configuration.xml:1610
+#, no-c-format
 msgid "JMX deployment"
+msgstr "Déploiement JMX"
+
+#. Tag: para
+#: configuration.xml:1612
+#, 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 "
+"can do this either in a <literal>static</literal> initializer block (like "
+"the one in <literal>HibernateUtil</literal>) or you deploy Hibernate as a "
+"<emphasis>managed service</emphasis>."
 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>]]>"
+"La ligne <literal>cfg.buildSessionFactory()</literal> doit toujours être "
+"exécutée quelque part pour avoir une <literal>SessionFactory</literal> dans "
+"JNDI. Vous pouvez faire cela dans un bloc d'initialisation <literal>static</"
+"literal> (comme celui qui se trouve dans la classe <literal>HibernateUtil</"
+"literal>) ou vous pouvez déployer Hibernate en temps que <emphasis>service "
+"managé</emphasis>."
 
-#: index.docbook:1612
-msgid "The line <literal>cfg.buildSessionFactory()</literal> still has to be executed somewhere to get a <literal>SessionFactory</literal> into JNDI. You can do this either in a <literal>static</literal> initializer block (like the one in <literal>HibernateUtil</literal>) or you deploy Hibernate as a <emphasis>managed service</emphasis>."
-msgstr "Ce fichier est déployé dans un répertoire <literal>META-INF</literal> et est packagé dans un fichier JAR avec l'extension <literal>.sar</literal> (service archive). Vous devez également packager Hibernate, les librairies tierces requises, vos classes persistantes compilées et vos fichiers de mapping dans la même archive. Vos beans entreprise (souvent des EJBs session) peuvent rester dans leur propre fichier JAR mais vous pouvez inclure ce fichier JAR dans le jar principal du service pour avoir une seule unité déployable à chaud. Vous pouvez consulter la documentation de JBoss AS pour plus d'information sur les services JMX et le déploiement des EJBs."
-
-#: index.docbook:1620
-msgid "Hibernate is distributed with <literal>org.hibernate.jmx.HibernateService</literal> for deployment on an application server with JMX capabilities, such as JBoss AS. The actual deployment and configuration is vendor specific. Here is an example <literal>jboss-service.xml</literal> for JBoss 4.0.x:"
+#. Tag: para
+#: configuration.xml:1620
+#, no-c-format
+msgid ""
+"Hibernate is distributed with <literal>org.hibernate.jmx.HibernateService</"
+"literal> for deployment on an application server with JMX capabilities, such "
+"as JBoss AS. The actual deployment and configuration is vendor specific. "
+"Here is an example <literal>jboss-service.xml</literal> for JBoss 4.0.x:"
 msgstr ""
+"Hibernate est distribué avec <literal>org.hibernate.jmx.HibernateService</"
+"literal> pour le déploiement sur un serveur d'application avec le support de "
+"JMX comme JBoss AS. Le déploiement et la configuration sont spécifiques à "
+"chaque vendeur. Voici un fichier <literal>jboss-service.xml</literal> "
+"d'exemple pour JBoss 4.0.x:"
 
-#: index.docbook:1627
+#. Tag: programlisting
+#: configuration.xml:1627
+#, 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>]]>"
+"<![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 ""
 
-#: index.docbook:1629
-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 libraries, your compiled persistent classes, as well as your mapping files in the same archive. Your enterprise beans (usually session beans) may be kept in their own JAR file, but you may include this EJB JAR file in the main service archive to get a single (hot-)deployable unit. Consult the JBoss AS documentation for more information about JMX service and EJB deployment."
+#. Tag: para
+#: configuration.xml:1629
+#, 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 "
+"libraries, your compiled persistent classes, as well as your mapping files "
+"in the same archive. Your enterprise beans (usually session beans) may be "
+"kept in their own JAR file, but you may include this EJB JAR file in the "
+"main service archive to get a single (hot-)deployable unit. Consult the "
+"JBoss AS documentation for more information about JMX service and EJB "
+"deployment."
 msgstr ""
+"Ce fichier est déployé dans un répertoire <literal>META-INF</literal> et est "
+"packagé dans un fichier JAR avec l'extension <literal>.sar</literal> "
+"(service archive). Vous devez également packager Hibernate, les librairies "
+"tierces requises, vos classes persistantes compilées et vos fichiers de "
+"mapping dans la même archive. Vos beans entreprise (souvent des EJBs "
+"session) peuvent rester dans leur propre fichier JAR mais vous pouvez "
+"inclure ce fichier JAR dans le jar principal du service pour avoir une seule "
+"unité déployable à chaud. Vous pouvez consulter la documentation de JBoss AS "
+"pour plus d'information sur les services JMX et le déploiement des EJBs."
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid "<placeholder-1/> (optional)"
+#~ msgstr "<placeholder-1/> (optionnelle)"
 
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid "InitialContextFactory"
+#~ msgstr "InitialContextFactory"
 
+#~ msgid "class of the JNDI <placeholder-1/>"
+#~ msgstr "Classe de l'<placeholder-1/> du JNDI"
+
+#, fuzzy
+#~ msgid "eg."
+#~ msgstr ""
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "eg.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "eg.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex.\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "ex."
+
+#~ msgid "full.classname.of.Dialect"
+#~ msgstr "nom.complet.de.ma.classe.de.Dialect"
+
+#~ msgid "debug"
+#~ msgstr "debug"
+
+#~ msgid "SCHEMA_NAME"
+#~ msgstr "MON_SCHEMA"
+
+#~ msgid "CATALOG_NAME"
+#~ msgstr "CATALOG_NAME"
+
+#~ msgid "SessionFactory"
+#~ msgstr "SessionFactory"
+
+#, fuzzy
+#~ msgid "jndi/composite/name"
+#~ msgstr ""
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "jndi/nom/hierarchique\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "jndi/nom/compose"
+
+#~ msgid "0"
+#~ msgstr "0"
+
+#~ msgid "false"
+#~ msgstr "false"
+
+#~ msgid "Statement.setFetchSize()"
+#~ msgstr "Statement.setFetchSize()"
+
+#~ msgid "true"
+#~ msgstr "true"
+
+#~ msgid "executeBatch()"
+#~ msgstr "executeBatch()"
+
+#~ msgid "Batcher"
+#~ msgstr "Batcher"
+
+#~ msgid "classname.of.BatcherFactory"
+#~ msgstr "classname.of.BatcherFactory"
+
+#~ msgid "binary"
+#~ msgstr "binary"
+
+#~ msgid "serializable"
+#~ msgstr "serializable"
+
+#~ msgid "PreparedStatement.getGeneratedKeys()"
+#~ msgstr "PreparedStatement.getGeneratedKeys()"
+
+#~ msgid "true|false"
+#~ msgstr "true|false"
+
+#~ msgid "ConnectionProvider"
+#~ msgstr "ConnectionProvider"
+
+#~ msgid "classname.of.ConnectionProvider"
+#~ msgstr "classname.of.ConnectionProvider"
+
+#~ msgid "java.sql.Connection"
+#~ msgstr "java.sql.Connection"
+
+#~ msgid "1, 2, 4, 8"
+#~ msgstr "1, 2, 4, 8"
+
+#~ msgid "after_statement"
+#~ msgstr "after_statement"
+
+#~ msgid "after_transaction"
+#~ msgstr "after_transaction"
+
+#~ msgid "auto"
+#~ msgstr "auto"
+
+#~ msgid "hibernate.connection."
+#~ msgstr "hibernate.connection."
+
+#, fuzzy
+#~ msgid "&lt;propertyName&gt;"
+#~ msgstr ""
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "&lt;propertyName&gt;\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "&lt;propertyName&gt;\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "&lt;propertyName&gt;\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "propertyName"
+
+#~ msgid "DriverManager.getConnection()"
+#~ msgstr "DriverManager.getConnection()"
+
+#~ msgid "Pass the JDBC property <placeholder-1/> to <placeholder-2/>."
+#~ msgstr "Passe la propriété JDBC <placeholder-1/> à <placeholder-2/>."
+
+#~ msgid "hibernate.jndi."
+#~ msgstr "hibernate.jndi."
+
+#~ msgid "Pass the property <placeholder-1/> to the JNDI <placeholder-2/>."
+#~ msgstr "Passe la propriété <placeholder-1/> à l'<placeholder-2/> de JNDI."
+
+#~ msgid "CacheProvider"
+#~ msgstr "CacheProvider"
+
+#~ msgid "classname.of.CacheProvider"
+#~ msgstr "nom.de.classe.du.CacheProvider"
+
+#~ msgid "&lt;cache&gt;"
+#~ msgstr "&lt;cache&gt;"
+
+#~ msgid "QueryCache"
+#~ msgstr "QueryCacheFactory"
+
+#~ msgid "StandardQueryCache"
+#~ msgstr "StandardQueryCacheFactory"
+
+#~ msgid "classname.of.QueryCache"
+#~ msgstr "nom.de.la.classe.de.QueryCacheFactory"
+
+#~ msgid "prefix"
+#~ msgstr "prefix"
+
+#~ msgid "TransactionFactory"
+#~ msgstr "TransactionFactory"
+
+#~ msgid "Transaction"
+#~ msgstr "Transaction"
+
+#~ msgid "JDBCTransactionFactory"
+#~ msgstr "JDBCTransactionFactory"
+
+#~ msgid "classname.of.TransactionFactory"
+#~ msgstr "nom.de.classe.d.une.TransactionFactory"
+
+#~ msgid "JTATransactionFactory"
+#~ msgstr "JTATransactionFactory"
+
+#~ msgid "UserTransaction"
+#~ msgstr "UserTransaction"
+
+#~ msgid "TransactionManagerLookup"
+#~ msgstr "TransactionManagerLookup"
+
+#~ msgid "classname.of.TransactionManagerLookup"
+#~ msgstr "nom.de.classe.du.TransactionManagerLookup"
+
+#~ msgid "Session"
+#~ msgstr "Session"
+
+#~ msgid "hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC"
+#~ msgstr "hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC"
+
+#~ msgid "create-drop"
+#~ msgstr "create-drop"
+
+#~ msgid "hibernate.cfg.xml"
+#~ msgstr "hibernate.cfg.xml"
+
+#~ msgid "DB2"
+#~ msgstr "DB2"

Modified: core/trunk/documentation/manual/translations/fr-FR/content/events.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/events.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/events.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,358 +1,480 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: events.xml:5
+#, no-c-format
 msgid "Interceptors and events"
 msgstr "Les intercepteurs et les événements"
 
-#: index.docbook:7
-msgid "It is often useful for the application to react to certain events that occur inside Hibernate. This allows implementation of certain kinds of generic functionality, and extension of Hibernate functionality."
-msgstr "Il est souvent utile pour l'application de réagir à certains événements qui surviennent dans Hibernate. Cela autorise l'implémentation de certaines sortes de fonctionnalités génériques, et d'extensions de fonctionnalités d'Hibernate."
+#. Tag: para
+#: events.xml:7
+#, no-c-format
+msgid ""
+"It is often useful for the application to react to certain events that occur "
+"inside Hibernate. This allows implementation of certain kinds of generic "
+"functionality, and extension of Hibernate functionality."
+msgstr ""
+"Il est souvent utile pour l'application de réagir à certains événements qui "
+"surviennent dans Hibernate. Cela autorise l'implémentation de certaines "
+"sortes de fonctionnalités génériques, et d'extensions de fonctionnalités "
+"d'Hibernate."
 
-#: index.docbook:14
+#. Tag: title
+#: events.xml:14
+#, no-c-format
 msgid "Interceptors"
 msgstr "Intercepteurs"
 
-#: index.docbook:16
-msgid "The <literal>Interceptor</literal> interface provides callbacks from the session to the application allowing the application to inspect and/or manipulate properties of a persistent object before it is saved, updated, deleted or loaded. One possible use for this is to track auditing information. For example, the following <literal>Interceptor</literal> automatically sets the <literal>createTimestamp</literal> when an <literal>Auditable</literal> is created and updates the <literal>lastUpdateTimestamp</literal> property when an <literal>Auditable</literal> is updated."
-msgstr "L'interface <literal>Interceptor</literal> fournit des \"callbacks\" de la session vers l'application et permettent à l'application de consulter et/ou de manipuler des propriétés d'un objet persistant avant qu'il soit sauvegardé, mis à jour, supprimé ou chargé. Une utilisation possible de cette fonctionnalité est de tracer l'accès à l'information. Par exemple, l'<literal>Interceptor</literal> suivant positionne <literal>createTimestamp</literal> quand un <literal>Auditable</literal> est créé et met à jour la propriété <literal>lastUpdateTimestamp</literal> quand un <literal>Auditable</literal> est mis à jour."
+#. Tag: para
+#: events.xml:16
+#, no-c-format
+msgid ""
+"The <literal>Interceptor</literal> interface provides callbacks from the "
+"session to the application allowing the application to inspect and/or "
+"manipulate properties of a persistent object before it is saved, updated, "
+"deleted or loaded. One possible use for this is to track auditing "
+"information. For example, the following <literal>Interceptor</literal> "
+"automatically sets the <literal>createTimestamp</literal> when an "
+"<literal>Auditable</literal> is created and updates the "
+"<literal>lastUpdateTimestamp</literal> property when an <literal>Auditable</"
+"literal> is updated."
+msgstr ""
+"L'interface <literal>Interceptor</literal> fournit des \"callbacks\" de la "
+"session vers l'application et permettent à l'application de consulter et/ou "
+"de manipuler des propriétés d'un objet persistant avant qu'il soit "
+"sauvegardé, mis à jour, supprimé ou chargé. Une utilisation possible de "
+"cette fonctionnalité est de tracer l'accès à l'information. Par exemple, "
+"l'<literal>Interceptor</literal> suivant positionne "
+"<literal>createTimestamp</literal> quand un <literal>Auditable</literal> est "
+"créé et met à jour la propriété <literal>lastUpdateTimestamp</literal> quand "
+"un <literal>Auditable</literal> est mis à jour."
 
-#: index.docbook:27
-msgid "You may either implement <literal>Interceptor</literal> directly or (better) extend <literal>EmptyInterceptor</literal>."
-msgstr "Vous pouvez soit implémenter <literal>Interceptor</literal> directement ou (mieux) étendre <literal>EmptyInterceptor</literal>."
+#. Tag: para
+#: events.xml:27
+#, no-c-format
+msgid ""
+"You may either implement <literal>Interceptor</literal> directly or (better) "
+"extend <literal>EmptyInterceptor</literal>."
+msgstr ""
+"Vous pouvez soit implémenter <literal>Interceptor</literal> directement ou "
+"(mieux) étendre <literal>EmptyInterceptor</literal>."
 
-#: index.docbook:32
+#. Tag: programlisting
+#: events.xml:32
+#, 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"
-      "}]]>"
+"<![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"
-      "        // ne fait rien\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 postFlush(Iterator entities) {\n"
-      "        System.out.println(\"Creations: \" + creates + \", Updates: \" + updates);\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"
-      "}]]>"
 
-#: index.docbook:34
-msgid "Interceptors come in two flavors: <literal>Session</literal>-scoped and <literal>SessionFactory</literal>-scoped."
-msgstr "L'intercepteur doit être spécifié quand une session est créée."
+#. Tag: para
+#: events.xml:34
+#, no-c-format
+msgid ""
+"Interceptors come in two flavors: <literal>Session</literal>-scoped and "
+"<literal>SessionFactory</literal>-scoped."
+msgstr ""
+"Interceptors come in two flavors: <literal>Session</literal>-scoped and "
+"<literal>SessionFactory</literal>-scoped."
 
-#: index.docbook:39
-msgid "A <literal>Session</literal>-scoped interceptor is specified when a session is opened using one of the overloaded SessionFactory.openSession() methods accepting an <literal>Interceptor</literal>."
-msgstr "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
+#. Tag: para
+#: events.xml:39
+#, 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 ""
+"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>."
 
-#: index.docbook:45
+#. Tag: programlisting
+#: events.xml:45
+#, no-c-format
 msgid "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
-msgstr "Vous pouvez aussi mettre un intercepteur au niveau global, en utilisant l'objet <literal>Configuration</literal>. Dans ce cas, l'intercepteur doit être \"threadsafe\"."
+msgstr ""
 
-#: index.docbook:47
-msgid "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."
-msgstr "<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
+#. Tag: para
+#: events.xml:47
+#, no-c-format
+msgid ""
+"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."
+msgstr ""
+"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."
 
-#: index.docbook:56
-msgid "<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
-msgstr "Système d'événements"
+#. Tag: programlisting
+#: events.xml:56
+#, no-c-format
+msgid ""
+"<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
+msgstr ""
 
-#: index.docbook:61
+#. Tag: title
+#: events.xml:61
+#, no-c-format
 msgid "Event system"
-msgstr "Si vous devez réagir à des événements particuliers dans votre couche de persistance, vous pouvez aussi utiliser l'architecture d'<emphasis>événements</emphasis> d'Hibernate3. Le système d'événements peut être utilisé en supplément ou en remplacement des interceptors."
+msgstr "Système d'événements"
 
-#: index.docbook:63
-msgid "If you have to react to particular events in your persistence layer, you may also use the Hibernate3 <emphasis>event</emphasis> architecture. The event system can be used in addition or as a replacement for interceptors."
-msgstr "Essentiellement toutes les méthodes de l'interface <literal>Session</literal> sont corrélées à un événement. Vous avez un <literal>LoadEvent</literal>, un <literal>FlushEvent</literal>, etc (consultez la DTD du fichier de configuration XML ou le paquet <literal>org.hibernate.event</literal> pour avoir la liste complète des types d'événement définis). Quand une requête est faite à partir d'une de ces méthodes, la <literal>Session</literal> Hibernate génère un événement approprié et le passe au listener configuré pour ce type. Par défaut, ces listeners implémentent le même traitement dans lequel ces méthodes aboutissent toujours. Cependant, vous êtes libre d'implémenter une version personnalisée d'une de ces interfaces de listener (c'est-à-dire, le <literal>LoadEvent</literal> est traité par l'implémentation de l'interface <literal>LoadEventListener</literal> déclarée), dans quel cas leur implémentation devrait être responsable du trai!
 tement des requêtes <literal>load()</literal> faites par la <literal>Session</literal>."
+#. Tag: para
+#: events.xml:63
+#, no-c-format
+msgid ""
+"If you have to react to particular events in your persistence layer, you may "
+"also use the Hibernate3 <emphasis>event</emphasis> architecture. The event "
+"system can be used in addition or as a replacement for interceptors."
+msgstr ""
+"Si vous devez réagir à des événements particuliers dans votre couche de "
+"persistance, vous pouvez aussi utiliser l'architecture "
+"d'<emphasis>événements</emphasis> d'Hibernate3. Le système d'événements peut "
+"être utilisé en supplément ou en remplacement des interceptors."
 
-#: index.docbook:69
-msgid "Essentially all of the methods of the <literal>Session</literal> interface correlate to an event. You have a <literal>LoadEvent</literal>, a <literal>FlushEvent</literal>, etc (consult the XML configuration-file DTD or the <literal>org.hibernate.event</literal> package for the full list of defined event types). When a request is made of one of these methods, the Hibernate <literal>Session</literal> generates an appropriate event and passes it to the configured event listeners for that type. Out-of-the-box, these listeners implement the same processing in which those methods always resulted. However, you are free to implement a customization of one of the listener interfaces (i.e., the <literal>LoadEvent</literal> is processed by the registered implemenation of the <literal>LoadEventListener</literal> interface), in which case their implementation would be responsible for processing any <literal>load()</literal> requests made of the <literal>Session</literal>."
-msgstr "Les listeners devraient effectivement être considérés comme des singletons ; dans le sens où ils sont partagés entre des requêtes, et donc ne devraient pas sauvegarder des états de variables d'instance."
+#. Tag: para
+#: events.xml:69
+#, no-c-format
+msgid ""
+"Essentially all of the methods of the <literal>Session</literal> interface "
+"correlate to an event. You have a <literal>LoadEvent</literal>, a "
+"<literal>FlushEvent</literal>, etc (consult the XML configuration-file DTD "
+"or the <literal>org.hibernate.event</literal> package for the full list of "
+"defined event types). When a request is made of one of these methods, the "
+"Hibernate <literal>Session</literal> generates an appropriate event and "
+"passes it to the configured event listeners for that type. Out-of-the-box, "
+"these listeners implement the same processing in which those methods always "
+"resulted. However, you are free to implement a customization of one of the "
+"listener interfaces (i.e., the <literal>LoadEvent</literal> is processed by "
+"the registered implemenation of the <literal>LoadEventListener</literal> "
+"interface), in which case their implementation would be responsible for "
+"processing any <literal>load()</literal> requests made of the "
+"<literal>Session</literal>."
+msgstr ""
+"Essentiellement toutes les méthodes de l'interface <literal>Session</"
+"literal> sont corrélées à un événement. Vous avez un <literal>LoadEvent</"
+"literal>, un <literal>FlushEvent</literal>, etc (consultez la DTD du fichier "
+"de configuration XML ou le paquet <literal>org.hibernate.event</literal> "
+"pour avoir la liste complète des types d'événement définis). Quand une "
+"requête est faite à partir d'une de ces méthodes, la <literal>Session</"
+"literal> Hibernate génère un événement approprié et le passe au listener "
+"configuré pour ce type. Par défaut, ces listeners implémentent le même "
+"traitement dans lequel ces méthodes aboutissent toujours. Cependant, vous "
+"êtes libre d'implémenter une version personnalisée d'une de ces interfaces "
+"de listener (c'est-à-dire, le <literal>LoadEvent</literal> est traité par "
+"l'implémentation de l'interface <literal>LoadEventListener</literal> "
+"déclarée), dans quel cas leur implémentation devrait être responsable du "
+"traitement des requêtes <literal>load()</literal> faites par la "
+"<literal>Session</literal>."
 
-#: index.docbook:84
-msgid "The listeners should be considered effectively singletons; meaning, they are shared between requests, and thus should not save any state as instance variables."
-msgstr "Un listener personnalisé devrait implémenter l'interface appropriée pour l'événement qu'il veut traiter et/ou étendre une des classes de base (ou même l'événement prêt à l'emploi utilisé par Hibernate comme ceux déclarés non-finaux à cette intention). Les listeners personnalisés peuvent être soit inscrits par programmation à travers l'objet <literal>Configuration</literal>, ou spécifiés la configuration XML d'Hibernate (la configuration déclarative à travers le fichier de propriétés n'est pas supportée). Voici un exemple de listener personnalisé pour l'événement de chargement :"
+#. Tag: para
+#: events.xml:84
+#, no-c-format
+msgid ""
+"The listeners should be considered effectively singletons; meaning, they are "
+"shared between requests, and thus should not save any state as instance "
+"variables."
+msgstr ""
+"Les listeners devraient effectivement être considérés comme des singletons ; "
+"dans le sens où ils sont partagés entre des requêtes, et donc ne devraient "
+"pas sauvegarder des états de variables d'instance."
 
-#: index.docbook:89
-msgid "A custom listener should implement the appropriate interface for the event it wants to process and/or extend one of the convenience base classes (or even the default event listeners used by Hibernate out-of-the-box as these are declared non-final for this purpose). Custom listeners can either be registered programmatically through the <literal>Configuration</literal> object, or specified in the Hibernate configuration XML (declarative configuration through the properties file is not supported). Here's an example of a custom load event listener:"
+#. Tag: para
+#: events.xml:89
+#, no-c-format
+msgid ""
+"A custom listener should implement the appropriate interface for the event "
+"it wants to process and/or extend one of the convenience base classes (or "
+"even the default event listeners used by Hibernate out-of-the-box as these "
+"are declared non-final for this purpose). Custom listeners can either be "
+"registered programmatically through the <literal>Configuration</literal> "
+"object, or specified in the Hibernate configuration XML (declarative "
+"configuration through the properties file is not supported). Here's an "
+"example of a custom load event listener:"
 msgstr ""
-      "<![CDATA[public class MyLoadListener implements LoadEventListener {\n"
-      "    // C'est une simple méthode définie par l'interface LoadEventListener\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"
-      "}]]>"
+"Un listener personnalisé devrait implémenter l'interface appropriée pour "
+"l'événement qu'il veut traiter et/ou étendre une des classes de base (ou "
+"même l'événement prêt à l'emploi utilisé par Hibernate comme ceux déclarés "
+"non-finaux à cette intention). Les listeners personnalisés peuvent être soit "
+"inscrits par programmation à travers l'objet <literal>Configuration</"
+"literal>, ou spécifiés la configuration XML d'Hibernate (la configuration "
+"déclarative à travers le fichier de propriétés n'est pas supportée). Voici "
+"un exemple de listener personnalisé pour l'événement de chargement :"
 
-#: index.docbook:99
+#. Tag: programlisting
+#: events.xml:99
+#, 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 "Vous avez aussi besoin d'une entrée de configuration disant à Hibernate d'utiliser ce listener en plus du listener par défaut :"
+"<![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 ""
 
-#: index.docbook:101
-msgid "You also need a configuration entry telling Hibernate to use the listener in addition to the default listener:"
+#. Tag: para
+#: events.xml:101
+#, no-c-format
+msgid ""
+"You also need a configuration entry telling Hibernate to use the listener in "
+"addition to the default listener:"
 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>]]>"
+"Vous avez aussi besoin d'une entrée de configuration disant à Hibernate "
+"d'utiliser ce listener en plus du listener par défaut :"
 
-#: index.docbook:106
+#. Tag: programlisting
+#: events.xml:106
+#, 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>]]>"
+"<![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 ""
+
+#. Tag: para
+#: events.xml:108
+#, no-c-format
+msgid "Instead, you may register it programmatically:"
 msgstr "Vous pouvez aussi l'inscrire par programmation :"
 
-#: index.docbook:108
-msgid "Instead, you may register it programmatically:"
+#. Tag: programlisting
+#: events.xml:112
+#, 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"
-      "LoadEventListener[] stack = { new MyLoadListener(), new DefaultLoadEventListener() };\n"
-      "cfg.EventListeners().setLoadEventListeners(stack);]]>"
 
-#: index.docbook:112
+#. Tag: para
+#: events.xml:114
+#, no-c-format
 msgid ""
-      "<![CDATA[Configuration cfg = new Configuration();\n"
-      "LoadEventListener[] stack = { new MyLoadListener(), new DefaultLoadEventListener() };\n"
-      "cfg.EventListeners().setLoadEventListeners(stack);]]>"
-msgstr "Les listeners inscrits déclarativement ne peuvent pas partager d'instances. Si le même nom de classe est utilisée dans plusieurs éléments <literal>&lt;listener/&gt;</literal>, chaque référence sera une instance distincte de cette classe. Si vous avez besoin de la faculté de partager des instances de listener entre plusieurs types de listener, vous devez utiliser l'approche d'inscription par programmation."
+"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 the "
+"capability to share listener instances between listener types you must use "
+"the programmatic registration approach."
+msgstr ""
+"Les listeners inscrits déclarativement ne peuvent pas partager d'instances. "
+"Si le même nom de classe est utilisée dans plusieurs éléments <literal>&lt;"
+"listener/&gt;</literal>, chaque référence sera une instance distincte de "
+"cette classe. Si vous avez besoin de la faculté de partager des instances de "
+"listener entre plusieurs types de listener, vous devez utiliser l'approche "
+"d'inscription par programmation."
 
-#: index.docbook:114
-msgid "Listeners registered declaratively cannot share instances. If the same class name is used in multiple <literal>&lt;listener/&gt;</literal> elements, each reference will result in a separate instance of that class. If you need the capability to share listener instances between listener types you must use the programmatic registration approach."
-msgstr "Pourquoi implémenter une interface et définir le type spécifique durant la configuration ? Une implémentation de listener pourrait implémenter plusieurs interfaces de listener d'événements. Avoir en plus le type défini durant l'inscription rend plus facile l'activation ou la désactivation pendant la configuration."
+#. Tag: para
+#: events.xml:122
+#, no-c-format
+msgid ""
+"Why implement an interface and define the specific type during "
+"configuration? Well, a listener implementation could implement multiple "
+"event listener interfaces. Having the type additionally defined during "
+"registration makes it easier to turn custom listeners on or off during "
+"configuration."
+msgstr ""
+"Pourquoi implémenter une interface et définir le type spécifique durant la "
+"configuration ? Une implémentation de listener pourrait implémenter "
+"plusieurs interfaces de listener d'événements. Avoir en plus le type défini "
+"durant l'inscription rend plus facile l'activation ou la désactivation "
+"pendant la configuration."
 
-#: index.docbook:122
-msgid "Why implement an interface and define the specific type during configuration? Well, a listener implementation could implement multiple event listener interfaces. Having the type additionally defined during registration makes it easier to turn custom listeners on or off during configuration."
+#. Tag: title
+#: events.xml:132
+#, no-c-format
+msgid "Hibernate declarative security"
 msgstr "Sécurité déclarative d'Hibernate"
 
-#: index.docbook:132
-msgid "Hibernate declarative security"
-msgstr "Généralement, la sécurité déclarative dans les applications Hibernate est gérée dans la couche de session. Maintenant, Hibernate3 permet à certaines actions d'être approuvées via JACC, et autorisées via JAAS. Cette fonctionnalité optionnelle est construite au dessus de l'architecture d'événements."
+#. Tag: para
+#: events.xml:133
+#, no-c-format
+msgid ""
+"Usually, declarative security in Hibernate applications is managed in a "
+"session facade layer. Now, Hibernate3 allows certain actions to be "
+"permissioned via JACC, and authorized via JAAS. This is optional "
+"functionality built on top of the event architecture."
+msgstr ""
+"Généralement, la sécurité déclarative dans les applications Hibernate est "
+"gérée dans la couche de session. Maintenant, Hibernate3 permet à certaines "
+"actions d'être approuvées via JACC, et autorisées via JAAS. Cette "
+"fonctionnalité optionnelle est construite au dessus de l'architecture "
+"d'événements."
 
-#: index.docbook:133
-msgid "Usually, declarative security in Hibernate applications is managed in a session facade layer. Now, Hibernate3 allows certain actions to be permissioned via JACC, and authorized via JAAS. This is optional functionality built on top of the event architecture."
-msgstr "D'abord, vous devez configurer les listeners d'événements appropriés pour permettre l'utilisation d'autorisations JAAS."
+#. Tag: para
+#: events.xml:139
+#, no-c-format
+msgid ""
+"First, you must configure the appropriate event listeners, to enable the use "
+"of JAAS authorization."
+msgstr ""
+"D'abord, vous devez configurer les listeners d'événements appropriés pour "
+"permettre l'utilisation d'autorisations JAAS."
 
-#: index.docbook:139
-msgid "First, you must configure the appropriate event listeners, to enable the use of JAAS authorization."
+#. Tag: programlisting
+#: events.xml:144
+#, 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\"/>]]>"
 
-#: index.docbook:144
+#. Tag: para
+#: events.xml:146
+#, 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 "Notez que <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> est juste un raccourci pour <literal>&lt;event type=\"...\"&gt;&lt;listener class=\"...\"/&gt;&lt;/event&gt;</literal> quand il y a exactement un listener pour un type d'événement particulier."
+"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."
+msgstr ""
+"Notez que <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> "
+"est juste un raccourci pour <literal>&lt;event type=\"...\"&gt;&lt;listener "
+"class=\"...\"/&gt;&lt;/event&gt;</literal> quand il y a exactement un "
+"listener pour un type d'événement particulier."
 
-#: index.docbook:146
-msgid "Note that <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> is just a shorthand for <literal>&lt;event type=\"...\"&gt;&lt;listener class=\"...\"/&gt;&lt;/event&gt;</literal> when there is exactly one listener for a particular event type."
-msgstr "Ensuite, toujours dans <literal>hibernate.cfg.xml</literal>, lier les permissions aux rôles :"
-
-#: index.docbook:152
-msgid "Next, still in <literal>hibernate.cfg.xml</literal>, bind the permissions to roles:"
+#. Tag: para
+#: events.xml:152
+#, no-c-format
+msgid ""
+"Next, still in <literal>hibernate.cfg.xml</literal>, bind the permissions to "
+"roles:"
 msgstr ""
-      "<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,update,read\"/>\n"
-      "<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"
+"Ensuite, toujours dans <literal>hibernate.cfg.xml</literal>, lier les "
+"permissions aux rôles :"
 
-#: index.docbook:156
+#. Tag: programlisting
+#: events.xml:156
+#, no-c-format
 msgid ""
-      "<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,update,read\"/>\n"
-      "<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"
-msgstr "Les noms de rôle sont les rôles compris par votre fournisseur JAAC."
+"<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,update,"
+"read\"/>\n"
+"<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"
+msgstr ""
 
-#: index.docbook:158
+#. Tag: para
+#: events.xml:158
+#, no-c-format
 msgid "The role names are the roles understood by your JACC provider."
-msgstr ""
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+msgstr "Les noms de rôle sont les rôles compris par votre fournisseur JAAC."

Modified: core/trunk/documentation/manual/translations/fr-FR/content/example_mappings.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/example_mappings.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/example_mappings.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,1162 +1,795 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:20
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: example_mappings.xml:20
+#, no-c-format
 msgid "Example: Various Mappings"
 msgstr "Exemple : quelques mappings"
 
-#: index.docbook:22
+#. Tag: para
+#: example_mappings.xml:22
+#, no-c-format
 msgid "This chapters shows off some more complex association mappings."
 msgstr "Ce chapitre montre quelques mappings plus complexes."
 
-#: index.docbook:27
+#. Tag: title
+#: example_mappings.xml:27
+#, no-c-format
 msgid "Employer/Employee"
 msgstr "Employeur/Employé (Employer/Employee)"
 
-#: index.docbook:29
-msgid "The following model of the relationship between <literal>Employer</literal> and <literal>Employee</literal> uses an actual entity class (<literal>Employment</literal>) to represent the association. This is done because there might be more than one period of employment for the same two parties. Components are used to model monetary values and employee names."
-msgstr "Le modèle suivant de relation entre <literal>Employer</literal> et <literal>Employee</literal> utilise une vraie classe entité (<literal>Employment</literal>) pour représenter l'association. On a fait cela parce qu'il peut y avoir plus d'une période d'emploi pour les deux mêmes parties. Des composants sont utilisés pour modéliser les valeurs monétaires et les noms des employés."
+#. Tag: para
+#: example_mappings.xml:29
+#, no-c-format
+msgid ""
+"The following model of the relationship between <literal>Employer</literal> "
+"and <literal>Employee</literal> uses an actual entity class "
+"(<literal>Employment</literal>) to represent the association. This is done "
+"because there might be more than one period of employment for the same two "
+"parties. Components are used to model monetary values and employee names."
+msgstr ""
+"Le modèle suivant de relation entre <literal>Employer</literal> et "
+"<literal>Employee</literal> utilise une vraie classe entité "
+"(<literal>Employment</literal>) pour représenter l'association. On a fait "
+"cela parce qu'il peut y avoir plus d'une période d'emploi pour les deux "
+"mêmes parties. Des composants sont utilisés pour modéliser les valeurs "
+"monétaires et les noms des employés."
 
-#: index.docbook:46
+#. Tag: para
+#: example_mappings.xml:46
+#, no-c-format
 msgid "Heres a possible mapping document:"
 msgstr "Voici un document de mapping possible :"
 
-#: index.docbook:50
+#. Tag: programlisting
+#: example_mappings.xml:50
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:52
-msgid "And heres the table schema generated by <literal>SchemaExport</literal>."
-msgstr "Et voici le schéma des tables générées par <literal>SchemaExport</literal>."
+#. Tag: para
+#: example_mappings.xml:52
+#, no-c-format
+msgid ""
+"And heres the table schema generated by <literal>SchemaExport</literal>."
+msgstr ""
+"Et voici le schéma des tables générées par <literal>SchemaExport</literal>."
 
-#: index.docbook:56
+#. Tag: programlisting
+#: example_mappings.xml:56
+#, 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]]>"
+"<![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]]>"
 
-#: index.docbook:61
+#. Tag: title
+#: example_mappings.xml:61
+#, no-c-format
 msgid "Author/Work"
 msgstr "Auteur/Travail (Author/Work)"
 
-#: index.docbook:63
-msgid "Consider the following model of the relationships between <literal>Work</literal>, <literal>Author</literal> and <literal>Person</literal>. We represent the relationship between <literal>Work</literal> and <literal>Author</literal> as a many-to-many association. We choose to represent the relationship between <literal>Author</literal> and <literal>Person</literal> as one-to-one association. Another possibility would be to have <literal>Author</literal> extend <literal>Person</literal>."
-msgstr "Soit le modèle de la relation entre <literal>Work</literal>, <literal>Author</literal> et <literal>Person</literal>. Nous représentons la relation entre <literal>Work</literal> et <literal>Author</literal> comme une association plusieurs-vers-plusieurs. Nous avons choisi de représenter la relation entre <literal>Author</literal> et <literal>Person</literal> comme une association un-vers-un. Une autre possibilité aurait été que <literal>Author</literal> hérite de <literal>Person</literal>."
+#. Tag: para
+#: example_mappings.xml:63
+#, no-c-format
+msgid ""
+"Consider the following model of the relationships between <literal>Work</"
+"literal>, <literal>Author</literal> and <literal>Person</literal>. We "
+"represent the relationship between <literal>Work</literal> and "
+"<literal>Author</literal> as a many-to-many association. We choose to "
+"represent the relationship between <literal>Author</literal> and "
+"<literal>Person</literal> as one-to-one association. Another possibility "
+"would be to have <literal>Author</literal> extend <literal>Person</literal>."
+msgstr ""
+"Soit le modèle de la relation entre <literal>Work</literal>, "
+"<literal>Author</literal> et <literal>Person</literal>. Nous représentons la "
+"relation entre <literal>Work</literal> et <literal>Author</literal> comme "
+"une association plusieurs-vers-plusieurs. Nous avons choisi de représenter "
+"la relation entre <literal>Author</literal> et <literal>Person</literal> "
+"comme une association un-vers-un. Une autre possibilité aurait été que "
+"<literal>Author</literal> hérite de <literal>Person</literal>."
 
-#: index.docbook:81
-msgid "The following mapping document correctly represents these relationships:"
+#. Tag: para
+#: example_mappings.xml:81
+#, no-c-format
+msgid ""
+"The following mapping document correctly represents these relationships:"
 msgstr "Le mapping suivant représente exactement ces relations :"
 
-#: index.docbook:85
+#. Tag: programlisting
+#: example_mappings.xml:85
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:87
-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. Heres the table schema, as generated by <literal>SchemaExport</literal>."
-msgstr "Il y a quatre tables dans ce mapping. <literal>works</literal>, <literal>authors</literal> et <literal>persons</literal> qui contiennent respectivement les données de work, author et person. <literal>author_work</literal> est une table d'association qui lie authors à works. Voici le schéma de tables, généré par <literal>SchemaExport</literal>."
+#. Tag: para
+#: example_mappings.xml:87
+#, 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. Heres the table schema, as "
+"generated by <literal>SchemaExport</literal>."
+msgstr ""
+"Il y a quatre tables dans ce mapping. <literal>works</literal>, "
+"<literal>authors</literal> et <literal>persons</literal> qui contiennent "
+"respectivement les données de work, author et person. <literal>author_work</"
+"literal> est une table d'association qui lie authors à works. Voici le "
+"schéma de tables, généré par <literal>SchemaExport</literal>."
 
-#: index.docbook:95
+#. Tag: programlisting
+#: example_mappings.xml:95
+#, 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]]>"
+"<![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]]>"
 
-#: index.docbook:100
+#. Tag: title
+#: example_mappings.xml:100
+#, no-c-format
 msgid "Customer/Order/Product"
 msgstr "Client/Commande/Produit (Customer/Order/Product)"
 
-#: index.docbook:102
-msgid "Now consider a model of the relationships between <literal>Customer</literal>, <literal>Order</literal> and <literal>LineItem</literal> and <literal>Product</literal>. There is a one-to-many association between <literal>Customer</literal> and <literal>Order</literal>, but how should we represent <literal>Order</literal> / <literal>LineItem</literal> / <literal>Product</literal>? I've chosen to map <literal>LineItem</literal> as an association class representing the many-to-many association between <literal>Order</literal> and <literal>Product</literal>. In Hibernate, this is called a composite element."
-msgstr "Imaginons maintenant le modèle de relation entre <literal>Customer</literal>, <literal>Order</literal>, <literal>LineItem</literal> et <literal>Product</literal>. Il y a une association un-vers-plusieurs entre <literal>Customer</literal> et <literal>Order</literal>, mais comment devrions nous représenter <literal>Order</literal> / <literal>LineItem</literal> / <literal>Product</literal>? J'ai choisi de mapper <literal>LineItem</literal> comme une classe d'association représentant l'association plusieurs-vers-plusieurs entre <literal>Order</literal> et <literal>Product</literal>. Dans Hibernate, on appelle cela un élément composite."
+#. Tag: para
+#: example_mappings.xml:102
+#, no-c-format
+msgid ""
+"Now consider a model of the relationships between <literal>Customer</"
+"literal>, <literal>Order</literal> and <literal>LineItem</literal> and "
+"<literal>Product</literal>. There is a one-to-many association between "
+"<literal>Customer</literal> and <literal>Order</literal>, but how should we "
+"represent <literal>Order</literal> / <literal>LineItem</literal> / "
+"<literal>Product</literal>? I've chosen to map <literal>LineItem</literal> "
+"as an association class representing the many-to-many association between "
+"<literal>Order</literal> and <literal>Product</literal>. In Hibernate, this "
+"is called a composite element."
+msgstr ""
+"Imaginons maintenant le modèle de relation entre <literal>Customer</"
+"literal>, <literal>Order</literal>, <literal>LineItem</literal> et "
+"<literal>Product</literal>. Il y a une association un-vers-plusieurs entre "
+"<literal>Customer</literal> et <literal>Order</literal>, mais comment "
+"devrions nous représenter <literal>Order</literal> / <literal>LineItem</"
+"literal> / <literal>Product</literal>? J'ai choisi de mapper "
+"<literal>LineItem</literal> comme une classe d'association représentant "
+"l'association plusieurs-vers-plusieurs entre <literal>Order</literal> et "
+"<literal>Product</literal>. Dans Hibernate, on appelle cela un élément "
+"composite."
 
-#: index.docbook:122
+#. Tag: para
+#: example_mappings.xml:122
+#, no-c-format
 msgid "The mapping document:"
 msgstr "Le document de mapping :"
 
-#: index.docbook:126
+#. Tag: programlisting
+#: example_mappings.xml:126
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:128
-msgid "<literal>customers</literal>, <literal>orders</literal>, <literal>line_items</literal> and <literal>products</literal> hold customer, order, order line item and product data respectively. <literal>line_items</literal> also acts as an association table linking orders with products."
-msgstr "<literal>customers</literal>, <literal>orders</literal>, <literal>line_items</literal> et <literal>products</literal> contiennent les données de customer, order, order line item et product. <literal>line_items</literal> est aussi la table d'association liant orders à products."
+#. Tag: para
+#: example_mappings.xml:128
+#, no-c-format
+msgid ""
+"<literal>customers</literal>, <literal>orders</literal>, "
+"<literal>line_items</literal> and <literal>products</literal> hold customer, "
+"order, order line item and product data respectively. <literal>line_items</"
+"literal> also acts as an association table linking orders with products."
+msgstr ""
+"<literal>customers</literal>, <literal>orders</literal>, "
+"<literal>line_items</literal> et <literal>products</literal> contiennent les "
+"données de customer, order, order line item et product. <literal>line_items</"
+"literal> est aussi la table d'association liant orders à products."
 
-#: index.docbook:135
+#. Tag: programlisting
+#: example_mappings.xml:135
+#, 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]]>"
+"<![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]]>"
 
-#: index.docbook:140
+#. Tag: title
+#: example_mappings.xml:140
+#, no-c-format
 msgid "Miscellaneous example mappings"
 msgstr "Divers mappings d'exemple"
 
-#: index.docbook:142
-msgid "These examples are all taken from the Hibernate test suite. You will find many other useful example mappings there. Look in the <literal>test</literal> folder of the Hibernate distribution."
-msgstr "Ces exemples sont tous pris de la suite de tests d'Hibernate. Vous en trouverez beaucoup d'autres. Regardez dans le dossier <literal>test</literal> de la distribution d'Hibernate."
+#. Tag: para
+#: example_mappings.xml:142
+#, no-c-format
+msgid ""
+"These examples are all taken from the Hibernate test suite. You will find "
+"many other useful example mappings there. Look in the <literal>test</"
+"literal> folder of the Hibernate distribution."
+msgstr ""
+"Ces exemples sont tous pris de la suite de tests d'Hibernate. Vous en "
+"trouverez beaucoup d'autres. Regardez dans le dossier <literal>test</"
+"literal> de la distribution d'Hibernate."
 
-#: index.docbook:148
+#. Tag: para
+#: example_mappings.xml:148
+#, no-c-format
 msgid "TODO: put words around this stuff"
 msgstr "TODO: put words around this stuff"
 
-#: index.docbook:151
+#. Tag: title
+#: example_mappings.xml:151
+#, no-c-format
 msgid "\"Typed\" one-to-one association"
 msgstr "\"Typed\" one-to-one association"
 
-#: index.docbook:152
+#. Tag: programlisting
+#: example_mappings.xml:152
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:156
+#. Tag: title
+#: example_mappings.xml:156
+#, no-c-format
 msgid "Composite key example"
 msgstr "Exemple de clef composée"
 
-#: index.docbook:157
+#. Tag: programlisting
+#: example_mappings.xml:157
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:161
+#. Tag: title
+#: example_mappings.xml:161
+#, no-c-format
 msgid "Many-to-many with shared composite key attribute"
 msgstr "Many-to-many avec une clef composée partagée"
 
-#: index.docbook:162
+#. Tag: programlisting
+#: example_mappings.xml:162
+#, 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"
-      "]]>"
+"<![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"
-      "]]>"
 
-#: index.docbook:166
+#. Tag: title
+#: example_mappings.xml:166
+#, no-c-format
 msgid "Content based discrimination"
 msgstr "Contenu basé sur une discrimination"
 
-#: index.docbook:167
+#. Tag: programlisting
+#: example_mappings.xml:167
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:171
+#. Tag: title
+#: example_mappings.xml:171
+#, no-c-format
 msgid "Associations on alternate keys"
 msgstr "Associations sur des clefs alternées"
 
-#: index.docbook:172
+#. Tag: programlisting
+#: example_mappings.xml:172
+#, 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>]]>"
+"<![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>]]>"
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-

Modified: core/trunk/documentation/manual/translations/fr-FR/content/example_parentchild.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/example_parentchild.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/example_parentchild.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,350 +1,617 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: example_parentchild.xml:5
+#, no-c-format
 msgid "Example: Parent/Child"
 msgstr "Exemple : Père/Fils"
 
-#: index.docbook:7
-msgid "One of the very first things that new users try to do with Hibernate is to model a parent / child type relationship. There are two different approaches to this. For various reasons the most convenient approach, especially for new users, is to model both <literal>Parent</literal> and <literal>Child</literal> as entity classes with a <literal>&lt;one-to-many&gt;</literal> association from <literal>Parent</literal> to <literal>Child</literal>. (The alternative approach is to declare the <literal>Child</literal> as a <literal>&lt;composite-element&gt;</literal>.) Now, it turns out that default semantics of a one to many association (in Hibernate) are much less close to the usual semantics of a parent / child relationship than those of a composite element mapping. We will explain how to use a <emphasis>bidirectional one to many association with cascades</emphasis> to model a parent / child relationship efficiently and elegantly. It's not at all difficult!"
-msgstr "L'une des premières choses que les nouveaux utilisateurs essaient de faire avec Hibernate est de modéliser une relation père/fils. Il y a deux approches différentes pour cela. Pour un certain nombre de raisons, la méthode la plus courante, en particulier pour les nouveaux utilisateurs, est de modéliser les deux relations <literal>Père</literal> et <literal>Fils</literal> comme des classes entités liées par une association <literal>&lt;one-to-many&gt;</literal> du <literal>Père</literal> vers le <literal>Fils</literal> (l'autre approche est de déclarer le <literal>Fils</literal> comme un <literal>&lt;composite-element&gt;</literal>). Il est évident que le sens de l'association un vers plusieurs (dans Hibernate) est bien moins proche du sens habituel d'une relation père/fils que ne l'est celui d'un élément cmposite. Nous allons vous expliquer comment utiliser une association <emphasis>un vers plusieurs bidirectionnelle avec cascade</emphasis> afin de mo!
 déliser efficacement et élégamment une relation père/fils, ce n'est vraiment pas difficile !"
+#. Tag: para
+#: example_parentchild.xml:7
+#, no-c-format
+msgid ""
+"One of the very first things that new users try to do with Hibernate is to "
+"model a parent / child type relationship. There are two different approaches "
+"to this. For various reasons the most convenient approach, especially for "
+"new users, is to model both <literal>Parent</literal> and <literal>Child</"
+"literal> as entity classes with a <literal>&lt;one-to-many&gt;</literal> "
+"association from <literal>Parent</literal> to <literal>Child</literal>. (The "
+"alternative approach is to declare the <literal>Child</literal> as a "
+"<literal>&lt;composite-element&gt;</literal>.) Now, it turns out that "
+"default semantics of a one to many association (in Hibernate) are much less "
+"close to the usual semantics of a parent / child relationship than those of "
+"a composite element mapping. We will explain how to use a "
+"<emphasis>bidirectional one to many association with cascades</emphasis> to "
+"model a parent / child relationship efficiently and elegantly. It's not at "
+"all difficult!"
+msgstr ""
+"L'une des premières choses que les nouveaux utilisateurs essaient de faire "
+"avec Hibernate est de modéliser une relation père/fils. Il y a deux "
+"approches différentes pour cela. Pour un certain nombre de raisons, la "
+"méthode la plus courante, en particulier pour les nouveaux utilisateurs, est "
+"de modéliser les deux relations <literal>Père</literal> et <literal>Fils</"
+"literal> comme des classes entités liées par une association <literal>&lt;"
+"one-to-many&gt;</literal> du <literal>Père</literal> vers le <literal>Fils</"
+"literal> (l'autre approche est de déclarer le <literal>Fils</literal> comme "
+"un <literal>&lt;composite-element&gt;</literal>). Il est évident que le sens "
+"de l'association un vers plusieurs (dans Hibernate) est bien moins proche du "
+"sens habituel d'une relation père/fils que ne l'est celui d'un élément "
+"cmposite. Nous allons vous expliquer comment utiliser une association "
+"<emphasis>un vers plusieurs bidirectionnelle avec cascade</emphasis> afin de "
+"modéliser efficacement et élégamment une relation père/fils, ce n'est "
+"vraiment pas difficile !"
 
-#: index.docbook:21
+#. Tag: title
+#: example_parentchild.xml:21
+#, no-c-format
 msgid "A note about collections"
 msgstr "Une note à propos des collections"
 
-#: index.docbook:23
-msgid "Hibernate collections are considered to be a logical part of their owning entity; never of the contained entities. This is a crucial distinction! It has the following consequences:"
-msgstr "Les collections Hibernate sont considérées comme étant une partie logique de l'entité dans laquelle elles sont contenues ; jamais des entités qu'elle contient. C'est une distinction crutiale ! Les conséquences sont les suivantes :"
+#. Tag: para
+#: example_parentchild.xml:23
+#, no-c-format
+msgid ""
+"Hibernate collections are considered to be a logical part of their owning "
+"entity; never of the contained entities. This is a crucial distinction! It "
+"has the following consequences:"
+msgstr ""
+"Les collections Hibernate sont considérées comme étant une partie logique de "
+"l'entité dans laquelle elles sont contenues ; jamais des entités qu'elle "
+"contient. C'est une distinction crutiale ! Les conséquences sont les "
+"suivantes :"
 
-#: index.docbook:30
-msgid "When we remove / add an object from / to a collection, the version number of the collection owner is incremented."
-msgstr "Quand nous ajoutons / retirons un objet d'une collection, le numéro de version du propriétaire de la collection est incrémenté."
+#. Tag: para
+#: example_parentchild.xml:30
+#, no-c-format
+msgid ""
+"When we remove / add an object from / to a collection, the version number of "
+"the collection owner is incremented."
+msgstr ""
+"Quand nous ajoutons / retirons un objet d'une collection, le numéro de "
+"version du propriétaire de la collection est incrémenté."
 
-#: index.docbook:36
-msgid "If an object that was removed from a collection is an instance of a value type (eg, a composite element), that object will cease to be persistent and its state will be completely removed from the database. Likewise, adding a value type instance to the collection will cause its state to be immediately persistent."
-msgstr "Si un objet qui a été enlevé d'une collection est une instance de type valeur (ex : élément composite), cet objet cessera d'être persistant et son état sera complètement effacé de la base de données. Par ailleurs, ajouter une instance de type valeur dans une collection aura pour conséquence que son état sera immédiatement persistant."
+#. Tag: para
+#: example_parentchild.xml:36
+#, no-c-format
+msgid ""
+"If an object that was removed from a collection is an instance of a value "
+"type (eg, a composite element), that object will cease to be persistent and "
+"its state will be completely removed from the database. Likewise, adding a "
+"value type instance to the collection will cause its state to be immediately "
+"persistent."
+msgstr ""
+"Si un objet qui a été enlevé d'une collection est une instance de type "
+"valeur (ex : élément composite), cet objet cessera d'être persistant et son "
+"état sera complètement effacé de la base de données. Par ailleurs, ajouter "
+"une instance de type valeur dans une collection aura pour conséquence que "
+"son état sera immédiatement persistant."
 
-#: index.docbook:44
-msgid "On the other hand, if an entity is removed from a collection (a one-to-many or many-to-many association), it will not be deleted, by default. This behaviour is completely consistent - a change to the internal state of another entity 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 "Si une entité est enlevée d'une collection (association un-vers-plusieurs ou plusieurs-vers-plusieurs), par défaut, elle ne sera pas effacée. Ce comportement est complètement logique - une modification de l'un des états internes d'une entité ne doit pas causer la disparition de l'entité associée ! De même, l'ajout d'une entité dans une collection n'engendre pas, par défaut, la persistance de cette entité."
+#. Tag: para
+#: example_parentchild.xml:44
+#, no-c-format
+msgid ""
+"On the other hand, if an entity is removed from a collection (a one-to-many "
+"or many-to-many association), it will not be deleted, by default. This "
+"behaviour is completely consistent - a change to the internal state of "
+"another entity 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 ""
+"Si une entité est enlevée d'une collection (association un-vers-plusieurs ou "
+"plusieurs-vers-plusieurs), par défaut, elle ne sera pas effacée. Ce "
+"comportement est complètement logique - une modification de l'un des états "
+"internes d'une entité ne doit pas causer la disparition de l'entité "
+"associée ! De même, l'ajout d'une entité dans une collection n'engendre pas, "
+"par défaut, la persistance de cette entité."
 
-#: index.docbook:54
-msgid "Instead, the default behaviour is that adding an entity to a collection merely creates a link between the two entities, while removing it removes the link. This is very appropriate for all sorts of cases. Where it is not appropriate at all is the case of a parent / child relationship, where the life of the child is bound to the life cycle of the parent."
-msgstr "Le comportement par défaut est donc que l'ajout d'une entité dans une collection créé simplement le lien entre les deux entités, et qu'effacer une entité supprime ce lien. C'est le comportement le plus approprié dans la plupart des cas. Ce comportement n'est cependant pas approprié lorsque la vie du fils est liée au cycle de vie du père."
+#. Tag: para
+#: example_parentchild.xml:54
+#, no-c-format
+msgid ""
+"Instead, the default behaviour is that adding an entity to a collection "
+"merely creates a link between the two entities, while removing it removes "
+"the link. This is very appropriate for all sorts of cases. Where it is not "
+"appropriate at all is the case of a parent / child relationship, where the "
+"life of the child is bound to the life cycle of the parent."
+msgstr ""
+"Le comportement par défaut est donc que l'ajout d'une entité dans une "
+"collection créé simplement le lien entre les deux entités, et qu'effacer une "
+"entité supprime ce lien. C'est le comportement le plus approprié dans la "
+"plupart des cas. Ce comportement n'est cependant pas approprié lorsque la "
+"vie du fils est liée au cycle de vie du père."
 
-#: index.docbook:64
+#. Tag: title
+#: example_parentchild.xml:64
+#, no-c-format
 msgid "Bidirectional one-to-many"
 msgstr "un-vers-plusieurs bidirectionnel"
 
-#: index.docbook:66
-msgid "Suppose we start with a simple <literal>&lt;one-to-many&gt;</literal> association from <literal>Parent</literal> to <literal>Child</literal>."
-msgstr "Supposons que nous ayons une simple association <literal>&lt;one-to-many&gt;</literal> de <literal>Parent</literal> vers <literal>Child</literal>."
+#. Tag: para
+#: example_parentchild.xml:66
+#, 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 ""
+"Supposons que nous ayons une simple association <literal>&lt;one-to-many&gt;"
+"</literal> de <literal>Parent</literal> vers <literal>Child</literal>."
 
-#: index.docbook:71
+#. Tag: programlisting
+#: example_parentchild.xml:71
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"children\">\n"
-      "    <key column=\"parent_id\"/>\n"
-      "    <one-to-many class=\"Child\"/>\n"
-      "</set>]]>"
+"<![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>]]>"
 
-#: index.docbook:73
+#. Tag: para
+#: example_parentchild.xml:73
+#, no-c-format
 msgid "If we were to execute the following code"
 msgstr "Si nous executions le code suivant"
 
-#: index.docbook:77
+#. Tag: programlisting
+#: example_parentchild.xml:77
+#, no-c-format
 msgid ""
-      "<![CDATA[Parent p = .....;\n"
-      "Child c = new Child();\n"
-      "p.getChildren().add(c);\n"
-      "session.save(c);\n"
-      "session.flush();]]>"
+"<![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();]]>"
 
-#: index.docbook:79
+#. Tag: para
+#: example_parentchild.xml:79
+#, no-c-format
 msgid "Hibernate would issue two SQL statements:"
 msgstr "Hibernate exécuterait deux ordres SQL:"
 
-#: index.docbook:85
-msgid "an <literal>INSERT</literal> to create the record for <literal>c</literal>"
-msgstr "un <literal>INSERT</literal> pour créer l'enregistrement pour <literal>c</literal>"
+#. Tag: para
+#: example_parentchild.xml:85
+#, no-c-format
+msgid ""
+"an <literal>INSERT</literal> to create the record for <literal>c</literal>"
+msgstr ""
+"un <literal>INSERT</literal> pour créer l'enregistrement pour <literal>c</"
+"literal>"
 
-#: index.docbook:88
-msgid "an <literal>UPDATE</literal> to create the link from <literal>p</literal> to <literal>c</literal>"
-msgstr "un <literal>UPDATE</literal> pour créer le lien de <literal>p</literal> vers <literal>c</literal>"
+#. Tag: para
+#: example_parentchild.xml:88
+#, no-c-format
+msgid ""
+"an <literal>UPDATE</literal> to create the link from <literal>p</literal> to "
+"<literal>c</literal>"
+msgstr ""
+"un <literal>UPDATE</literal> pour créer le lien de <literal>p</literal> vers "
+"<literal>c</literal>"
 
-#: index.docbook:95
-msgid "This is not only inefficient, but also violates any <literal>NOT NULL</literal> constraint on the <literal>parent_id</literal> column. We can fix the nullability constraint violation by specifying <literal>not-null=\"true\"</literal> in the collection mapping:"
-msgstr "Ceci est non seuleument inefficace, mais viole aussi toute contrainte <literal>NOT NULL</literal> sur la colonne <literal>parent_id</literal>. Nous pouvons réparer la contrainte de nullité en spécifiant <literal>not-null=\"true\"</literal> dans le mapping de la collection :"
+#. Tag: para
+#: example_parentchild.xml:95
+#, 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. We can fix "
+"the nullability constraint violation by specifying <literal>not-null=\"true"
+"\"</literal> in the collection mapping:"
+msgstr ""
+"Ceci est non seuleument inefficace, mais viole aussi toute contrainte "
+"<literal>NOT NULL</literal> sur la colonne <literal>parent_id</literal>. "
+"Nous pouvons réparer la contrainte de nullité en spécifiant <literal>not-"
+"null=\"true\"</literal> dans le mapping de la collection :"
 
-#: index.docbook:101
+#. Tag: programlisting
+#: example_parentchild.xml:101
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"children\">\n"
-      "    <key column=\"parent_id\" not-null=\"true\"/>\n"
-      "    <one-to-many class=\"Child\"/>\n"
-      "</set>]]>"
+"<![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>]]>"
 
-#: index.docbook:103
+#. Tag: para
+#: example_parentchild.xml:103
+#, no-c-format
 msgid "However, this is not the recommended solution."
 msgstr "Cependant ce n'est pas la solution recommandée."
 
-#: index.docbook:106
-msgid "The underlying cause of this behaviour is that the link (the foreign key <literal>parent_id</literal>) from <literal>p</literal> to <literal>c</literal> is not considered part of the state of the <literal>Child</literal> object and is therefore not created in the <literal>INSERT</literal>. So the solution is to make the link part of the <literal>Child</literal> mapping."
-msgstr "La cause sous jacente à ce comportement est que le lien (la clé étrangère <literal>parent_id</literal>) de <literal>p</literal> vers <literal>c</literal> n'est pas considérée comme faisant partie de l'état de l'objet <literal>Child</literal> et n'est donc pas créé par l'<literal>INSERT</literal>. La solution est donc que ce lien fasse partie du mapping de <literal>Child</literal>."
+#. Tag: para
+#: example_parentchild.xml:106
+#, no-c-format
+msgid ""
+"The underlying cause of this behaviour is that the link (the foreign key "
+"<literal>parent_id</literal>) from <literal>p</literal> to <literal>c</"
+"literal> is not considered part of the state of the <literal>Child</literal> "
+"object and is therefore not created in the <literal>INSERT</literal>. So the "
+"solution is to make the link part of the <literal>Child</literal> mapping."
+msgstr ""
+"La cause sous jacente à ce comportement est que le lien (la clé étrangère "
+"<literal>parent_id</literal>) de <literal>p</literal> vers <literal>c</"
+"literal> n'est pas considérée comme faisant partie de l'état de l'objet "
+"<literal>Child</literal> et n'est donc pas créé par l'<literal>INSERT</"
+"literal>. La solution est donc que ce lien fasse partie du mapping de "
+"<literal>Child</literal>."
 
-#: index.docbook:113
-msgid "<![CDATA[<many-to-one name=\"parent\" column=\"parent_id\" not-null=\"true\"/>]]>"
-msgstr "<![CDATA[<many-to-one name=\"parent\" column=\"parent_id\" not-null=\"true\"/>]]>"
+#. Tag: programlisting
+#: example_parentchild.xml:113
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"parent\" column=\"parent_id\" not-null=\"true\"/"
+">]]>"
+msgstr ""
 
-#: index.docbook:115
-msgid "(We also need to add the <literal>parent</literal> property to the <literal>Child</literal> class.)"
-msgstr "(Nous avons aussi besoin d'ajouter la propriété <literal>parent</literal> dans la classe <literal>Child</literal>)."
+#. Tag: para
+#: example_parentchild.xml:115
+#, no-c-format
+msgid ""
+"(We also need to add the <literal>parent</literal> property to the "
+"<literal>Child</literal> class.)"
+msgstr ""
+"(Nous avons aussi besoin d'ajouter la propriété <literal>parent</literal> "
+"dans la classe <literal>Child</literal>)."
 
-#: index.docbook:119
-msgid "Now that the <literal>Child</literal> entity is managing the state of the link, we tell the collection not to update the link. We use the <literal>inverse</literal> attribute."
-msgstr "Maintenant que l'état du lien est géré par l'entité <literal>Child</literal>, nous spécifions à la collection de ne pas mettre à jour le lien. Nous utilisons l'attribut <literal>inverse</literal>."
+#. Tag: para
+#: example_parentchild.xml:119
+#, 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."
+msgstr ""
+"Maintenant que l'état du lien est géré par l'entité <literal>Child</"
+"literal>, nous spécifions à la collection de ne pas mettre à jour le lien. "
+"Nous utilisons l'attribut <literal>inverse</literal>."
 
-#: index.docbook:124
+#. Tag: programlisting
+#: example_parentchild.xml:124
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"children\" inverse=\"true\">\n"
-      "    <key column=\"parent_id\"/>\n"
-      "    <one-to-many class=\"Child\"/>\n"
-      "</set>]]>"
+"<![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>]]>"
 
-#: index.docbook:126
+#. Tag: para
+#: example_parentchild.xml:126
+#, no-c-format
 msgid "The following code would be used to add a new <literal>Child</literal>"
-msgstr "Le code suivant serait utilisé pour ajouter un nouveau <literal>Child</literal>"
+msgstr ""
+"Le code suivant serait utilisé pour ajouter un nouveau <literal>Child</"
+"literal>"
 
-#: index.docbook:130
+#. Tag: programlisting
+#: example_parentchild.xml:130
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:132
+#. Tag: para
+#: example_parentchild.xml:132
+#, no-c-format
 msgid "And now, only one SQL <literal>INSERT</literal> would be issued!"
 msgstr "Maintenant, seul un <literal>INSERT</literal> SQL est nécessaire !"
 
-#: index.docbook:136
-msgid "To tighten things up a bit, we could create an <literal>addChild()</literal> method of <literal>Parent</literal>."
-msgstr "Pour alléger encore un peu les choses, nous devrions créer une méthode <literal>addChild()</literal> dans <literal>Parent</literal>."
+#. Tag: para
+#: example_parentchild.xml:136
+#, no-c-format
+msgid ""
+"To tighten things up a bit, we could create an <literal>addChild()</literal> "
+"method of <literal>Parent</literal>."
+msgstr ""
+"Pour alléger encore un peu les choses, nous devrions créer une méthode "
+"<literal>addChild()</literal> dans <literal>Parent</literal>."
 
-#: index.docbook:141
+#. Tag: programlisting
+#: example_parentchild.xml:141
+#, no-c-format
 msgid ""
-      "<![CDATA[public void addChild(Child c) {\n"
-      "    c.setParent(this);\n"
-      "    children.add(c);\n"
-      "}]]>"
+"<![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"
-      "}]]>"
 
-#: index.docbook:143
+#. Tag: para
+#: example_parentchild.xml:143
+#, no-c-format
 msgid "Now, the code to add a <literal>Child</literal> looks like"
 msgstr "Le code d'ajout d'un <literal>Child</literal> serait alors"
 
-#: index.docbook:147
+#. Tag: programlisting
+#: example_parentchild.xml:147
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:152
+#. Tag: title
+#: example_parentchild.xml:152
+#, no-c-format
 msgid "Cascading life cycle"
 msgstr "Cycle de vie en cascade"
 
-#: index.docbook:154
-msgid "The explicit call to <literal>save()</literal> is still annoying. We will address this by using cascades."
-msgstr "L'appel explicite de <literal>save()</literal> est un peu fastidieux. Nous pouvons simplifier cela en utilisant les cascades."
+#. Tag: para
+#: example_parentchild.xml:154
+#, no-c-format
+msgid ""
+"The explicit call to <literal>save()</literal> is still annoying. We will "
+"address this by using cascades."
+msgstr ""
+"L'appel explicite de <literal>save()</literal> est un peu fastidieux. Nous "
+"pouvons simplifier cela en utilisant les cascades."
 
-#: index.docbook:159
+#. Tag: programlisting
+#: example_parentchild.xml:159
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:161
+#. Tag: para
+#: example_parentchild.xml:161
+#, no-c-format
 msgid "This simplifies the code above to"
 msgstr "Simplifie le code précédent en"
 
-#: index.docbook:165
+#. Tag: programlisting
+#: example_parentchild.xml:165
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:167
-msgid "Similarly, we don't need to iterate over the children when saving or deleting a <literal>Parent</literal>. The following removes <literal>p</literal> and all its children from the database."
-msgstr "De la même manière, nous n'avons pas à itérer sur les fils lorsque nous sauvons ou effacons un <literal>Parent</literal>. Le code suivant efface <literal>p</literal> et tous ses fils de la base de données."
+#. Tag: para
+#: example_parentchild.xml:167
+#, no-c-format
+msgid ""
+"Similarly, we don't 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 ""
+"De la même manière, nous n'avons pas à itérer sur les fils lorsque nous "
+"sauvons ou effacons un <literal>Parent</literal>. Le code suivant efface "
+"<literal>p</literal> et tous ses fils de la base de données."
 
-#: index.docbook:172
+#. Tag: programlisting
+#: example_parentchild.xml:172
+#, no-c-format
 msgid ""
-      "<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
-      "session.delete(p);\n"
-      "session.flush();]]>"
+"<![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();]]>"
 
-#: index.docbook:174
+#. Tag: para
+#: example_parentchild.xml:174
+#, no-c-format
 msgid "However, this code"
 msgstr "Par contre, ce code"
 
-#: index.docbook:178
+#. Tag: programlisting
+#: example_parentchild.xml:178
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:180
-msgid "will not remove <literal>c</literal> from the database; it will ony remove the link to <literal>p</literal> (and cause a <literal>NOT NULL</literal> constraint violation, in this case). You need to explicitly <literal>delete()</literal> the <literal>Child</literal>."
-msgstr "n'effacera pas <literal>c</literal> de la base de données, il enlèvera seulement le lien vers <literal>p</literal> (et causera une violation de contrainte <literal>NOT NULL</literal>, dans ce cas). Vous devez explicitement utiliser <literal>delete()</literal> sur <literal>Child</literal>."
+#. Tag: para
+#: example_parentchild.xml:180
+#, no-c-format
+msgid ""
+"will not remove <literal>c</literal> from the database; it will ony remove "
+"the link to <literal>p</literal> (and cause a <literal>NOT NULL</literal> "
+"constraint violation, in this case). You need to explicitly <literal>delete()"
+"</literal> the <literal>Child</literal>."
+msgstr ""
+"n'effacera pas <literal>c</literal> de la base de données, il enlèvera "
+"seulement le lien vers <literal>p</literal> (et causera une violation de "
+"contrainte <literal>NOT NULL</literal>, dans ce cas). Vous devez "
+"explicitement utiliser <literal>delete()</literal> sur <literal>Child</"
+"literal>."
 
-#: index.docbook:186
+#. Tag: programlisting
+#: example_parentchild.xml:186
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:188
-msgid "Now, in our case, a <literal>Child</literal> can't really exist without its parent. So if we remove a <literal>Child</literal> from the collection, we really do want it to be deleted. For this, we must use <literal>cascade=\"all-delete-orphan\"</literal>."
-msgstr "Dans notre cas, un <literal>Child</literal> ne peut pas vraiment exister sans son père. Si nous effacons un <literal>Child</literal> de la collection, nous voulons vraiment qu'il soit effacé. Pour cela, nous devons utiliser <literal>cascade=\"all-delete-orphan\"</literal>."
+#. Tag: para
+#: example_parentchild.xml:188
+#, no-c-format
+msgid ""
+"Now, in our case, a <literal>Child</literal> can't really exist without its "
+"parent. So if we remove a <literal>Child</literal> from the collection, we "
+"really do want it to be deleted. For this, we must use <literal>cascade="
+"\"all-delete-orphan\"</literal>."
+msgstr ""
+"Dans notre cas, un <literal>Child</literal> ne peut pas vraiment exister "
+"sans son père. Si nous effacons un <literal>Child</literal> de la "
+"collection, nous voulons vraiment qu'il soit effacé. Pour cela, nous devons "
+"utiliser <literal>cascade=\"all-delete-orphan\"</literal>."
 
-#: index.docbook:194
+#. Tag: programlisting
+#: example_parentchild.xml:194
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:196
-msgid "Note: even though the collection mapping specifies <literal>inverse=\"true\"</literal>, cascades are still processed by iterating the collection elements. So if you require that 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 "A noter : même si le mapping de la collection spécifie <literal>inverse=\"true\"</literal>, les cascades sont toujours assurées par l'itération sur les éléments de la collection. Donc, si vous avez besoin qu'un objet soit enregistré, effacé ou mis à jour par cascade, vous devez l'ajouter dans la colleciton. Il ne suffit pas d'appeler explicitement <literal>setParent()</literal>."
+#. Tag: para
+#: example_parentchild.xml:196
+#, no-c-format
+msgid ""
+"Note: even though the collection mapping specifies <literal>inverse=\"true"
+"\"</literal>, cascades are still processed by iterating the collection "
+"elements. So if you require that 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 ""
+"A noter : même si le mapping de la collection spécifie <literal>inverse="
+"\"true\"</literal>, les cascades sont toujours assurées par l'itération sur "
+"les éléments de la collection. Donc, si vous avez besoin qu'un objet soit "
+"enregistré, effacé ou mis à jour par cascade, vous devez l'ajouter dans la "
+"colleciton. Il ne suffit pas d'appeler explicitement <literal>setParent()</"
+"literal>."
 
-#: index.docbook:206
+#. Tag: title
+#: example_parentchild.xml:206
+#, no-c-format
 msgid "Cascades and <literal>unsaved-value</literal>"
 msgstr "Cascades et <literal>unsaved-value</literal>"
 
-#: index.docbook:208
-msgid "Suppose we loaded up a <literal>Parent</literal> in one <literal>Session</literal>, made some changes in a UI action and wish to persist these changes in a new session by calling <literal>update()</literal>. The <literal>Parent</literal> will contain a collection of childen and, since cascading update is enabled, Hibernate needs to know which children are newly instantiated and which represent existing rows in the database. Lets assume that both <literal>Parent</literal> and <literal>Child</literal> have genenerated 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 necessary to specify an <literal>unsaved-value</literal> explicitly.</emphasis>"
-msgstr "Supposons que nous ayons chargé un <literal>Parent</literal> dans une <literal>Session</literal>, que nous l'ayons ensuite modifié et que voulions persiter ces modifications dans une nouvelle session en appelant <literal>update()</literal>. Le <literal>Parent</literal> contiendra une collection de fils et, puisque la cascade est activée, Hibernate a besoin de savoir quels fils viennent d'être instanciés et quels fils proviennent de la base de données. Supposons aussi que <literal>Parent</literal> et <literal>Child</literal> ont tous deux des identifiants du type <literal>Long</literal>. Hibernate utilisera la propriété de l'identifiant et la propriété de la version/horodatage pour déterminer quels fils sont nouveaux (vous pouvez aussi utiliser la propriété version ou timestamp, voir <xref linkend=\"manipulatingdata-updating-detached\"/>). <emphasis>Dans Hibernate3, il n'est plus nécessaire de spécifier une <literal>unsaved-value</literal> explicitemen!
 t.</emphasis>"
+#. Tag: para
+#: example_parentchild.xml:208
+#, 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 wish to persist these changes "
+"in a new session by calling <literal>update()</literal>. The "
+"<literal>Parent</literal> will contain a collection of childen and, since "
+"cascading update is enabled, Hibernate needs to know which children are "
+"newly instantiated and which represent existing rows in the database. Lets "
+"assume that both <literal>Parent</literal> and <literal>Child</literal> have "
+"genenerated 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 necessary to specify an "
+"<literal>unsaved-value</literal> explicitly.</emphasis>"
+msgstr ""
+"Supposons que nous ayons chargé un <literal>Parent</literal> dans une "
+"<literal>Session</literal>, que nous l'ayons ensuite modifié et que voulions "
+"persiter ces modifications dans une nouvelle session en appelant "
+"<literal>update()</literal>. Le <literal>Parent</literal> contiendra une "
+"collection de fils et, puisque la cascade est activée, Hibernate a besoin de "
+"savoir quels fils viennent d'être instanciés et quels fils proviennent de la "
+"base de données. Supposons aussi que <literal>Parent</literal> et "
+"<literal>Child</literal> ont tous deux des identifiants du type "
+"<literal>Long</literal>. Hibernate utilisera la propriété de l'identifiant "
+"et la propriété de la version/horodatage pour déterminer quels fils sont "
+"nouveaux (vous pouvez aussi utiliser la propriété version ou timestamp, voir "
+"<xref linkend=\"manipulatingdata-updating-detached\"/>). <emphasis>Dans "
+"Hibernate3, il n'est plus nécessaire de spécifier une <literal>unsaved-"
+"value</literal> explicitement.</emphasis>"
 
-#: index.docbook:220
-msgid "The following code will update <literal>parent</literal> and <literal>child</literal> and insert <literal>newChild</literal>."
-msgstr "Le code suivant mettra à jour <literal>parent</literal> et <literal>child</literal> et insérera <literal>newChild</literal>."
+#. Tag: para
+#: example_parentchild.xml:220
+#, no-c-format
+msgid ""
+"The following code will update <literal>parent</literal> and <literal>child</"
+"literal> and insert <literal>newChild</literal>."
+msgstr ""
+"Le code suivant mettra à jour <literal>parent</literal> et <literal>child</"
+"literal> et insérera <literal>newChild</literal>."
 
-#: index.docbook:225
+#. Tag: programlisting
+#: example_parentchild.xml:225
+#, 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();]]>"
+"<![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 et child ont été chargés dans une session précédente\n"
-      "parent.addChild(child);\n"
-      "Child newChild = new Child();\n"
-      "parent.addChild(newChild);\n"
-      "session.update(parent);\n"
-      "session.flush();]]>"
 
-#: index.docbook:227
-msgid "Well, that's all very well for the case of a generated identifier, but what about assigned identifiers and composite identifiers? This is more difficult, since Hibernate can't use the identifier property to distinguish between a newly instantiated object (with an identifier assigned by the user) and an object loaded in a previous session. In this case, Hibernate will either use 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 "Ceci est très bien pour des identifiants générés, mais qu'en est-il des identifiants assignés et des identifiants composés ? C'est plus difficile, puisqu'Hibernate ne peut pas utiliser la propriété de l'identifiant pour distinguer un objet nouvellement instancié (avec un identifiant assigné par l'utilisateur) d'un objet chargé dans une session précédente. Dans ce cas, Hibernate utilisera soit la propriété de version ou d'horodatage, soit effectuera vraiment une requête au cache de second niveau, soit, dans le pire des cas, à la base de données, pour voir si la ligne existe."
+#. Tag: para
+#: example_parentchild.xml:227
+#, no-c-format
+msgid ""
+"Well, that's all very well for the case of a generated identifier, but what "
+"about assigned identifiers and composite identifiers? This is more "
+"difficult, since Hibernate can't use the identifier property to distinguish "
+"between a newly instantiated object (with an identifier assigned by the "
+"user) and an object loaded in a previous session. In this case, Hibernate "
+"will either use 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 ""
+"Ceci est très bien pour des identifiants générés, mais qu'en est-il des "
+"identifiants assignés et des identifiants composés ? C'est plus difficile, "
+"puisqu'Hibernate ne peut pas utiliser la propriété de l'identifiant pour "
+"distinguer un objet nouvellement instancié (avec un identifiant assigné par "
+"l'utilisateur) d'un objet chargé dans une session précédente. Dans ce cas, "
+"Hibernate utilisera soit la propriété de version ou d'horodatage, soit "
+"effectuera vraiment une requête au cache de second niveau, soit, dans le "
+"pire des cas, à la base de données, pour voir si la ligne existe."
 
-#: index.docbook:260
+#. Tag: title
+#: example_parentchild.xml:260
+#, no-c-format
 msgid "Conclusion"
 msgstr "Conclusion"
 
-#: index.docbook:262
-msgid "There is quite a bit to digest here and it might look confusing first time around. However, in practice, it all works out very nicely. Most Hibernate applications use the parent / child pattern in many places."
-msgstr "Il y a quelques principes à maîtriser dans ce chapitre et tout cela peut paraître déroutant la première fois. Cependant, dans la pratique, tout fonctionne parfaitement. La plupart des applications Hibernate utilisent le pattern père / fils."
+#. Tag: para
+#: example_parentchild.xml:262
+#, no-c-format
+msgid ""
+"There is quite a bit to digest here and it might look confusing first time "
+"around. However, in practice, it all works out very nicely. Most Hibernate "
+"applications use the parent / child pattern in many places."
+msgstr ""
+"Il y a quelques principes à maîtriser dans ce chapitre et tout cela peut "
+"paraître déroutant la première fois. Cependant, dans la pratique, tout "
+"fonctionne parfaitement. La plupart des applications Hibernate utilisent le "
+"pattern père / fils."
 
-#: index.docbook:267
-msgid "We mentioned an alternative in the first paragraph. None of the above issues exist in the case of <literal>&lt;composite-element&gt;</literal> mappings, which have exactly the semantics of a parent / child relationship. Unfortunately, there are two big limitations to composite element classes: composite elements may not own collections, and they should not be the child of any entity other than the unique parent."
-msgstr "Nous avons évoqué une alternative dans le premier paragraphe. Aucun des points traités précédemment n'existe dans le cas d'un mapping <literal>&lt;composite-element&gt;</literal> qui possède exactement la sémantique d'une relation père / fils. Malheureusement, il y a deux grandes limitations pour les classes éléments composites : les éléments composites ne peuvent contenir de collections, et ils ne peuvent être les fils d'entités autres que l'unique parent."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: example_parentchild.xml:267
+#, 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, "
+"which have exactly the semantics of a parent / child relationship. "
+"Unfortunately, there are two big limitations to composite element classes: "
+"composite elements may not own collections, and they should not be the child "
+"of any entity other than the unique parent."
+msgstr ""
+"Nous avons évoqué une alternative dans le premier paragraphe. Aucun des "
+"points traités précédemment n'existe dans le cas d'un mapping <literal>&lt;"
+"composite-element&gt;</literal> qui possède exactement la sémantique d'une "
+"relation père / fils. Malheureusement, il y a deux grandes limitations pour "
+"les classes éléments composites : les éléments composites ne peuvent "
+"contenir de collections, et ils ne peuvent être les fils d'entités autres "
+"que l'unique parent."

Modified: core/trunk/documentation/manual/translations/fr-FR/content/example_weblog.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/example_weblog.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/example_weblog.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,840 +1,484 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: example_weblog.xml:5
+#, no-c-format
 msgid "Example: Weblog Application"
 msgstr "Exemple : application Weblog"
 
-#: index.docbook:8
+#. Tag: title
+#: example_weblog.xml:8
+#, no-c-format
 msgid "Persistent Classes"
 msgstr "Classes persistantes"
 
-#: index.docbook:10
-msgid "The persistent classes represent a weblog, and an item posted in a weblog. They are to be modelled as a standard parent/child relationship, but we will use an ordered bag, instead of a set."
-msgstr "Les classes persistantes representent un weblog, et un article posté dans un weblog. Il seront modélisés comme une relation père/fils standard, mais nous allons utiliser un \"bag\" trié au lieu d'un set."
+#. Tag: para
+#: example_weblog.xml:10
+#, no-c-format
+msgid ""
+"The persistent classes represent a weblog, and an item posted in a weblog. "
+"They are to be modelled as a standard parent/child relationship, but we will "
+"use an ordered bag, instead of a set."
+msgstr ""
+"Les classes persistantes representent un weblog, et un article posté dans un "
+"weblog. Il seront modélisés comme une relation père/fils standard, mais nous "
+"allons utiliser un \"bag\" trié au lieu d'un set."
 
-#: index.docbook:16
+#. Tag: programlisting
+#: example_weblog.xml:16
+#, 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"
-      "}]]>"
+"<![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"
-      "}]]>"
 
-#: index.docbook:18
+#. Tag: programlisting
+#: example_weblog.xml:18
+#, 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"
-      "}]]>"
+"<![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"
-      "}]]>"
 
-#: index.docbook:23
+#. Tag: title
+#: example_weblog.xml:23
+#, no-c-format
 msgid "Hibernate Mappings"
 msgstr "Mappings Hibernate"
 
-#: index.docbook:25
+#. Tag: para
+#: example_weblog.xml:25
+#, no-c-format
 msgid "The XML mappings should now be quite straightforward."
 msgstr "Le mapping XML doit maintenant être relativement simple à vos yeux."
 
-#: index.docbook:29
+#. Tag: programlisting
+#: example_weblog.xml:29
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:31
+#. Tag: programlisting
+#: example_weblog.xml:31
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:36
+#. Tag: title
+#: example_weblog.xml:36
+#, no-c-format
 msgid "Hibernate Code"
 msgstr "Code Hibernate"
 
-#: index.docbook:38
-msgid "The following class demonstrates some of the kinds of things we can do with these classes, using Hibernate."
-msgstr "La classe suivante montre quelques utilisations que nous pouvons faire de ces classes."
-
-#: index.docbook:43
+#. Tag: para
+#: example_weblog.xml:38
+#, 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"
-      "}]]>"
+"The following class demonstrates some of the kinds of things we can do with "
+"these classes, using Hibernate."
 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"
-      "}]]>"
+"La classe suivante montre quelques utilisations que nous pouvons faire de "
+"ces classes."
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: programlisting
+#: example_weblog.xml:43
+#, 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 ""

Modified: core/trunk/documentation/manual/translations/fr-FR/content/filters.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/filters.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/filters.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,192 +1,294 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: filters.xml:5
+#, no-c-format
 msgid "Filtering data"
 msgstr "Filtrer les données"
 
-#: index.docbook:7
-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 may be enabled or disabled for a particular Hibernate session."
-msgstr "Hibernate3 fournit une nouvelle approche innovatrice pour gérer des données avec des règles de \"visibilité\". Un <emphasis>filtre Hibernate</emphasis> est un filtre global, nommé, paramétré qui peut être activé ou désactivé pour une session Hibernate particulière."
+#. Tag: para
+#: filters.xml:7
+#, 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 may be enabled or disabled for a particular "
+"Hibernate session."
+msgstr ""
+"Hibernate3 fournit une nouvelle approche innovatrice pour gérer des données "
+"avec des règles de \"visibilité\". Un <emphasis>filtre Hibernate</emphasis> "
+"est un filtre global, nommé, paramétré qui peut être activé ou désactivé "
+"pour une session Hibernate particulière."
 
-#: index.docbook:14
+#. Tag: title
+#: filters.xml:14
+#, no-c-format
 msgid "Hibernate filters"
 msgstr "Filtres Hibernate"
 
-#: index.docbook:16
-msgid "Hibernate3 adds the ability to pre-define filter criteria and attach those filters at both a class and a collection level. A filter criteria is the ability to define a restriction clause very similiar to the existing \"where\" attribute available on the class and various collection elements. Except these filter conditions can be parameterized. The application can then make the decision at runtime whether given filters should be enabled and what their parameter values should be. Filters can be used like database views, but parameterized inside the application."
-msgstr "Hibernate3 ajoute la capacité de prédéfinir des critères de filtre et d'attacher ces filtres à une classe ou à une collection. Un critère de filtre est la faculté de définir une clause de restriction très similaire à l'attribut \"where\" existant disponible sur une classe et divers éléments d'une collection. Mis à part que ces conditions de filtre peuvent être paramétrées. L'application peut alors prendre la décision à l'exécution si des filtres donnés devraient être activés et quels devraient être leurs paramètres. Des filtres peuvent être utilisés comme des vues de base de données, mais paramétrées dans l'application."
+#. Tag: para
+#: filters.xml:16
+#, no-c-format
+msgid ""
+"Hibernate3 adds the ability to pre-define filter criteria and attach those "
+"filters at both a class and a collection level. A filter criteria is the "
+"ability to define a restriction clause very similiar to the existing \"where"
+"\" attribute available on the class and various collection elements. Except "
+"these filter conditions can be parameterized. The application can then make "
+"the decision at runtime whether given filters should be enabled and what "
+"their parameter values should be. Filters can be used like database views, "
+"but parameterized inside the application."
+msgstr ""
+"Hibernate3 ajoute la capacité de prédéfinir des critères de filtre et "
+"d'attacher ces filtres à une classe ou à une collection. Un critère de "
+"filtre est la faculté de définir une clause de restriction très similaire à "
+"l'attribut \"where\" existant disponible sur une classe et divers éléments "
+"d'une collection. Mis à part que ces conditions de filtre peuvent être "
+"paramétrées. L'application peut alors prendre la décision à l'exécution si "
+"des filtres donnés devraient être activés et quels devraient être leurs "
+"paramètres. Des filtres peuvent être utilisés comme des vues de base de "
+"données, mais paramétrées dans l'application."
 
-#: index.docbook:26
-msgid "In order to use filters, they must first be defined and then attached to the appropriate mapping elements. To define a filter, use the <literal>&lt;filter-def/&gt;</literal> element within a <literal>&lt;hibernate-mapping/&gt;</literal> element:"
-msgstr "Afin d'utiliser des filtres, ils doivent d'abord être définis, puis attachés aux éléments de mapping appropriés. Pour définir un filtre, utilisez l'élément <literal>&lt;filter-def/&gt;</literal> dans un élément <literal>&lt;hibernate-mapping/&gt;</literal> :"
+#. Tag: para
+#: filters.xml:26
+#, no-c-format
+msgid ""
+"In order to use filters, they must first be defined and then attached to the "
+"appropriate mapping elements. To define a filter, use the <literal>&lt;"
+"filter-def/&gt;</literal> element within a <literal>&lt;hibernate-mapping/"
+"&gt;</literal> element:"
+msgstr ""
+"Afin d'utiliser des filtres, ils doivent d'abord être définis, puis attachés "
+"aux éléments de mapping appropriés. Pour définir un filtre, utilisez "
+"l'élément <literal>&lt;filter-def/&gt;</literal> dans un élément "
+"<literal>&lt;hibernate-mapping/&gt;</literal> :"
 
-#: index.docbook:32
+#. Tag: programlisting
+#: filters.xml:32
+#, no-c-format
 msgid ""
-      "<![CDATA[<filter-def name=\"myFilter\">\n"
-      "    <filter-param name=\"myFilterParam\" type=\"string\"/>\n"
-      "</filter-def>]]>"
+"<![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>]]>"
 
-#: index.docbook:34
+#. Tag: para
+#: filters.xml:34
+#, no-c-format
 msgid "Then, this filter can be attached to a class:"
 msgstr "Puis, ce filtre peut être attaché à une classe :"
 
-#: index.docbook:38
+#. Tag: programlisting
+#: filters.xml:38
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"myClass\" ...>\n"
-      "    ...\n"
-      "    <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN\"/>\n"
-      "</class>]]>"
+"<![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>]]>"
 
-#: index.docbook:40
+#. Tag: para
+#: filters.xml:40
+#, no-c-format
 msgid "or, to a collection:"
 msgstr "ou à une collection :"
 
-#: index.docbook:44
+#. Tag: programlisting
+#: filters.xml:44
+#, no-c-format
 msgid ""
-      "<![CDATA[<set ...>\n"
-      "    <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN\"/>\n"
-      "</set>]]>"
+"<![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>]]>"
 
-#: index.docbook:46
+#. Tag: para
+#: filters.xml:46
+#, no-c-format
 msgid "or, even to both (or multiples of each) at the same time."
 msgstr "ou même aux deux (ou à plusieurs de chaque) en même temps."
 
-#: index.docbook:50
-msgid "The methods on <literal>Session</literal> are: <literal>enableFilter(String filterName)</literal>, <literal>getEnabledFilter(String filterName)</literal>, and <literal>disableFilter(String filterName)</literal>. By default, filters are <emphasis>not</emphasis> enabled for a given session; they must be explcitly enabled through use of the <literal>Session.enabledFilter()</literal> method, which returns an instance of the <literal>Filter</literal> interface. Using the simple filter defined above, this would look like:"
-msgstr "Les méthodes sur <literal>Session</literal> sont : <literal>enableFilter(String filterName)</literal>, <literal>getEnabledFilter(String filterName)</literal>, et <literal>disableFilter(String filterName)</literal>. Par défaut, les filtres <emphasis>ne sont pas</emphasis> activés pour une session donnée ; ils doivent être explicitement activés en appelant la méthode <literal>Session.enabledFilter()</literal>, laquelle retourne une instance de l'interface <literal>Filter</literal>. Utiliser le simple filtre défini au-dessus ressemblerait à :"
+#. Tag: para
+#: filters.xml:50
+#, no-c-format
+msgid ""
+"The methods on <literal>Session</literal> are: <literal>enableFilter(String "
+"filterName)</literal>, <literal>getEnabledFilter(String filterName)</"
+"literal>, and <literal>disableFilter(String filterName)</literal>. By "
+"default, filters are <emphasis>not</emphasis> enabled for a given session; "
+"they must be explcitly enabled through use of the <literal>Session."
+"enabledFilter()</literal> method, which returns an instance of the "
+"<literal>Filter</literal> interface. Using the simple filter defined above, "
+"this would look like:"
+msgstr ""
+"Les méthodes sur <literal>Session</literal> sont : <literal>enableFilter"
+"(String filterName)</literal>, <literal>getEnabledFilter(String filterName)</"
+"literal>, et <literal>disableFilter(String filterName)</literal>. Par "
+"défaut, les filtres <emphasis>ne sont pas</emphasis> activés pour une "
+"session donnée ; ils doivent être explicitement activés en appelant la "
+"méthode <literal>Session.enabledFilter()</literal>, laquelle retourne une "
+"instance de l'interface <literal>Filter</literal>. Utiliser le simple filtre "
+"défini au-dessus ressemblerait à :"
 
-#: index.docbook:59
-msgid "<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", \"some-value\");]]>"
-msgstr "<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", \"some-value\");]]>"
+#. Tag: programlisting
+#: filters.xml:59
+#, no-c-format
+msgid ""
+"<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", "
+"\"some-value\");]]>"
+msgstr ""
 
-#: index.docbook:61
-msgid "Note that methods on the org.hibernate.Filter interface do allow the method-chaining common to much of Hibernate."
-msgstr "Notez que des méthodes sur l'interface org.hibernate.Filter autorisent le chaînage de beaucoup de méthodes communes d'Hibernate."
+#. Tag: para
+#: filters.xml:61
+#, no-c-format
+msgid ""
+"Note that methods on the org.hibernate.Filter interface do allow the method-"
+"chaining common to much of Hibernate."
+msgstr ""
+"Notez que des méthodes sur l'interface org.hibernate.Filter autorisent le "
+"chaînage de beaucoup de méthodes communes d'Hibernate."
 
-#: index.docbook:65
-msgid "A full example, using temporal data with an effective record date pattern:"
-msgstr "Un exemple complet, utilisant des données temporelles avec une structure de date d'enregistrement effectif :"
+#. Tag: para
+#: filters.xml:65
+#, no-c-format
+msgid ""
+"A full example, using temporal data with an effective record date pattern:"
+msgstr ""
+"Un exemple complet, utilisant des données temporelles avec une structure de "
+"date d'enregistrement effectif :"
 
-#: index.docbook:69
+#. Tag: programlisting
+#: filters.xml:69
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:71
-msgid "Then, in order to ensure that you always get back currently effective records, simply enable the filter on the session prior to retrieving employee data:"
-msgstr "Puis, afin de s'assurer que vous pouvez toujours récupérer les enregistrements actuellement effectifs, activez simplement le filtre sur la session avant de récupérer des données des employés :"
-
-#: index.docbook:76
+#. Tag: para
+#: filters.xml:71
+#, no-c-format
 msgid ""
-      "<![CDATA[Session session = ...;\n"
-      "session.enabledFilter(\"effectiveDate\").setParameter(\"asOfDate\", new Date());\n"
-      "List results = session.createQuery(\"from Employee as e where e.salary > :targetSalary\")\n"
-      "         .setLong(\"targetSalary\", new Long(1000000))\n"
-      "         .list();\n"
-      "]]>"
+"Then, in order to ensure that you always get back currently effective "
+"records, simply enable the filter on the session prior to retrieving "
+"employee data:"
 msgstr ""
-      "<![CDATA[Session session = ...;\n"
-      "session.enabledFilter(\"effectiveDate\").setParameter(\"asOfDate\", new Date());\n"
-      "List results = session.createQuery(\"from Employee as e where e.salary > :targetSalary\")\n"
-      "         .setLong(\"targetSalary\", new Long(1000000))\n"
-      "         .list();\n"
-      "]]>"
+"Puis, afin de s'assurer que vous pouvez toujours récupérer les "
+"enregistrements actuellement effectifs, activez simplement le filtre sur la "
+"session avant de récupérer des données des employés :"
 
-#: index.docbook:78
-msgid "In the HQL above, even though we only explicitly mentioned a salary constraint on the results, because of the enabled filter the query will return only currently active employees who have a salary greater than a million dollars."
-msgstr "Dans le HQL ci-dessus, bien que nous ayons seulement mentionné une contrainte de salaire sur les resultats, à cause du filtre activé, la requête retournera seulement les employés actuellement actifs qui ont un salaire supérieur à un million de dollars."
-
-#: index.docbook:84
-msgid "Note: if you plan on using filters with outer joining (either through HQL or load fetching) be careful of the direction of the condition expression. Its safest to set this up for left outer joining; in general, place the parameter first followed by the column name(s) after the operator."
-msgstr "A noter : si vous prévoyez d'utiliser des filtres avec des jointures externes (soit à travers HQL, soit par le chargement) faites attention à la direction de l'expression de condition. Il est plus sûr de la positionner pour les jointures externes à gauche ; en général, placez le paramètre d'abord, suivi du(des) nom(s) de colonne après l'opérateur."
-
-#: index.docbook:91
-msgid "After being defined a filter might be attached to multiple entities and/or collections each with its own condition. That can be tedious when the conditions are the same each time. Thus <literal>&lt;filter-def/&gt;</literal> allows defining a default condition, either as an attribute or CDATA:"
+#. Tag: programlisting
+#: filters.xml:76
+#, no-c-format
+msgid ""
+"<![CDATA[Session session = ...;\n"
+"session.enabledFilter(\"effectiveDate\").setParameter(\"asOfDate\", new Date"
+"());\n"
+"List results = session.createQuery(\"from Employee as e where e.salary > :"
+"targetSalary\")\n"
+"         .setLong(\"targetSalary\", new Long(1000000))\n"
+"         .list();\n"
+"]]>"
 msgstr ""
 
-#: index.docbook:98
+#. Tag: para
+#: filters.xml:78
+#, no-c-format
 msgid ""
-      "<![CDATA[<filter-def name=\"myFilter\" condition=\"abc > xyz\">...</filter-def>\n"
-      "<filter-def name=\"myOtherFilter\">abc=xyz</filter-def>]]>"
+"In the HQL above, even though we only explicitly mentioned a salary "
+"constraint on the results, because of the enabled filter the query will "
+"return only currently active employees who have a salary greater than a "
+"million dollars."
 msgstr ""
+"Dans le HQL ci-dessus, bien que nous ayons seulement mentionné une "
+"contrainte de salaire sur les resultats, à cause du filtre activé, la "
+"requête retournera seulement les employés actuellement actifs qui ont un "
+"salaire supérieur à un million de dollars."
 
-#: index.docbook:100
-msgid "This default condition will then be used whenever the filter is attached to something without specifying a condition. Note that this means you can give a specific condition as part of the attachment of the filter which overrides the default condition in that particular case."
+#. Tag: para
+#: filters.xml:84
+#, no-c-format
+msgid ""
+"Note: if you plan on using filters with outer joining (either through HQL or "
+"load fetching) be careful of the direction of the condition expression. Its "
+"safest to set this up for left outer joining; in general, place the "
+"parameter first followed by the column name(s) after the operator."
 msgstr ""
+"A noter : si vous prévoyez d'utiliser des filtres avec des jointures "
+"externes (soit à travers HQL, soit par le chargement) faites attention à la "
+"direction de l'expression de condition. Il est plus sûr de la positionner "
+"pour les jointures externes à gauche ; en général, placez le paramètre "
+"d'abord, suivi du(des) nom(s) de colonne après l'opérateur."
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#. Tag: para
+#: filters.xml:91
+#, no-c-format
+msgid ""
+"After being defined a filter might be attached to multiple entities and/or "
+"collections each with its own condition. That can be tedious when the "
+"conditions are the same each time. Thus <literal>&lt;filter-def/&gt;</"
+"literal> allows defining a default condition, either as an attribute or "
+"CDATA:"
+msgstr "translator-credits"
 
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#. Tag: programlisting
+#: filters.xml:98
+#, 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:100
+#, no-c-format
+msgid ""
+"This default condition will then be used whenever the filter is attached to "
+"something without specifying a condition. Note that this means you can give "
+"a specific condition as part of the attachment of the filter which overrides "
+"the default condition in that particular case."
+msgstr ""

Modified: core/trunk/documentation/manual/translations/fr-FR/content/inheritance_mapping.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/inheritance_mapping.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/inheritance_mapping.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,642 +1,864 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: inheritance_mapping.xml:5
+#, no-c-format
 msgid "Inheritance Mapping"
 msgstr "Mapping d'héritage de classe"
 
-#: index.docbook:8
+#. Tag: title
+#: inheritance_mapping.xml:8
+#, no-c-format
 msgid "The Three Strategies"
 msgstr "Les trois stratégies"
 
-#: index.docbook:10
+#. Tag: para
+#: inheritance_mapping.xml:10
+#, no-c-format
 msgid "Hibernate supports the three basic inheritance mapping strategies:"
 msgstr "Hibernate supporte les trois stratégies d'héritage de base :"
 
-#: index.docbook:16
+#. Tag: para
+#: inheritance_mapping.xml:16
+#, no-c-format
 msgid "table per class hierarchy"
 msgstr "une table par hiérarchie de classe (table per class hierarchy)"
 
-#: index.docbook:21
+#. Tag: para
+#: inheritance_mapping.xml:21
+#, fuzzy, no-c-format
 msgid "<para>table per subclass</para>"
-msgstr "une table par classe fille (table per subclass)"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"une table par classe fille (table per subclass)\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"une table par classe fille"
 
-#: index.docbook:26
+#. Tag: para
+#: inheritance_mapping.xml:26
+#, no-c-format
 msgid "table per concrete class"
 msgstr "une table par classe concrète (table per concrete class)"
 
-#: index.docbook:32
-msgid "In addition, Hibernate supports a fourth, slightly different kind of polymorphism:"
-msgstr "Hibernate supporte en plus une quatrièmestratégie, légèrement différente, qui supporte le polymorphisme :"
+#. Tag: para
+#: inheritance_mapping.xml:32
+#, no-c-format
+msgid ""
+"In addition, Hibernate supports a fourth, slightly different kind of "
+"polymorphism:"
+msgstr ""
+"Hibernate supporte en plus une quatrièmestratégie, légèrement différente, "
+"qui supporte le polymorphisme :"
 
-#: index.docbook:39
+#. Tag: para
+#: inheritance_mapping.xml:39
+#, no-c-format
 msgid "implicit polymorphism"
 msgstr "le polymorphisme implicite"
 
-#: index.docbook:45
-msgid "It is possible to use different mapping strategies for different branches of the same inheritance hierarchy, and then make use of implicit polymorphism to achieve polymorphism across the whole hierarchy. However, Hibernate does not support mixing <literal>&lt;subclass&gt;</literal>, and <literal>&lt;joined-subclass&gt;</literal> and <literal>&lt;union-subclass&gt;</literal> mappings under the same root <literal>&lt;class&gt;</literal> element. It is possible to mix together the table per hierarchy and table per subclass strategies, under the the same <literal>&lt;class&gt;</literal> element, by combining the <literal>&lt;subclass&gt;</literal> and <literal>&lt;join&gt;</literal> elements (see below)."
-msgstr "Il est possible d'utiliser différentes stratégies de mapping pour différentes branches d'une même hiérarchie d'héritage, et alors d'employer le polymorphisme implicite pour réaliser le polymorphisme à travers toute la hiérarchie. Pourtant, Hibernate ne supporte pas de mélanger des mappings <literal>&lt;subclass&gt;</literal> et <literal>&lt;joined-subclass&gt;</literal> et <literal>&lt;union-subclass&gt;</literal> pour le même élément <literal>&lt;class&gt;</literal> racine. Il est possible de mélanger ensemble les stratégies d'une table par hiérarchie et d'une table par sous-classe, pour le même élément <literal>&lt;class&gt;</literal>, en combinant les éléments <literal>&lt;subclass&gt;</literal> et <literal>&lt;join&gt;</literal> (voir dessous)."
+#. Tag: para
+#: inheritance_mapping.xml:45
+#, no-c-format
+msgid ""
+"It is possible to use different mapping strategies for different branches of "
+"the same inheritance hierarchy, and then make use of implicit polymorphism "
+"to achieve polymorphism across the whole hierarchy. However, Hibernate does "
+"not support mixing <literal>&lt;subclass&gt;</literal>, and <literal>&lt;"
+"joined-subclass&gt;</literal> and <literal>&lt;union-subclass&gt;</literal> "
+"mappings under the same root <literal>&lt;class&gt;</literal> element. It is "
+"possible to mix together the table per hierarchy and table per subclass "
+"strategies, under the the same <literal>&lt;class&gt;</literal> element, by "
+"combining the <literal>&lt;subclass&gt;</literal> and <literal>&lt;join&gt;</"
+"literal> elements (see below)."
+msgstr ""
+"Il est possible d'utiliser différentes stratégies de mapping pour "
+"différentes branches d'une même hiérarchie d'héritage, et alors d'employer "
+"le polymorphisme implicite pour réaliser le polymorphisme à travers toute la "
+"hiérarchie. Pourtant, Hibernate ne supporte pas de mélanger des mappings "
+"<literal>&lt;subclass&gt;</literal> et <literal>&lt;joined-subclass&gt;</"
+"literal> et <literal>&lt;union-subclass&gt;</literal> pour le même élément "
+"<literal>&lt;class&gt;</literal> racine. Il est possible de mélanger "
+"ensemble les stratégies d'une table par hiérarchie et d'une table par sous-"
+"classe, pour le même élément <literal>&lt;class&gt;</literal>, en combinant "
+"les éléments <literal>&lt;subclass&gt;</literal> et <literal>&lt;join&gt;</"
+"literal> (voir dessous)."
 
-#: index.docbook:59
-msgid "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."
-msgstr "Il est possible de définir des mappings de <literal>subclass</literal>, <literal>union-subclass</literal>, et <literal>joined-subclass</literal> dans des documents de mapping séparés, directement sous <literal>hibernate-mapping</literal>. Ceci vous permet d'étendre une hiérarchie de classe juste en ajoutant un nouveau fichier de mapping. Vous devez spécifier un attribut <literal>extends</literal> dans le mapping de la sous-classe, en nommant une super-classe précédemment mappée. Note : précédemment cette foncionnalité rendait l'ordre des documents de mapping important. Depuis Hibernate3, l'ordre des fichier de mapping n'importe plus lors de l'utilisation du mot-clef \"extends\". L'ordre à l'intérieur d'un simple fichier de mapping impose encore de définir les classes mères avant les classes filles."
+#. Tag: para
+#: inheritance_mapping.xml:59
+#, no-c-format
+msgid ""
+"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."
+msgstr ""
+"Il est possible de définir des mappings de <literal>subclass</literal>, "
+"<literal>union-subclass</literal>, et <literal>joined-subclass</literal> "
+"dans des documents de mapping séparés, directement sous <literal>hibernate-"
+"mapping</literal>. Ceci vous permet d'étendre une hiérarchie de classe juste "
+"en ajoutant un nouveau fichier de mapping. Vous devez spécifier un attribut "
+"<literal>extends</literal> dans le mapping de la sous-classe, en nommant une "
+"super-classe précédemment mappée. Note : précédemment cette foncionnalité "
+"rendait l'ordre des documents de mapping important. Depuis Hibernate3, "
+"l'ordre des fichier de mapping n'importe plus lors de l'utilisation du mot-"
+"clef \"extends\". L'ordre à l'intérieur d'un simple fichier de mapping "
+"impose encore de définir les classes mères avant les classes filles."
 
-#: index.docbook:70
+#. Tag: programlisting
+#: inheritance_mapping.xml:70
+#, 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>]]>"
+"<![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 ""
-      "<![CDATA[\n"
-      " <hibernate-mapping>\n"
-      "     <subclass name=\"DomesticCat\" extends=\"Cat\" discriminator-value=\"D\">\n"
-      "          <property name=\"name\" type=\"string\"/>\n"
-      "     </subclass>\n"
-      " </hibernate-mapping>]]>"
 
-#: index.docbook:74
+#. Tag: title
+#: inheritance_mapping.xml:74
+#, no-c-format
 msgid "Table per class hierarchy"
 msgstr "Une table par hiérarchie de classe"
 
-#: index.docbook:76
-msgid "Suppose we have an interface <literal>Payment</literal>, with implementors <literal>CreditCardPayment</literal>, <literal>CashPayment</literal>, <literal>ChequePayment</literal>. The table per hierarchy mapping would look like:"
-msgstr "Supposons que nous ayons une interface <literal>Payment</literal>, implémentée par <literal>CreditCardPayment</literal>, <literal>CashPayment</literal>, <literal>ChequePayment</literal>. La stratégie une table par hiérarchie serait :"
+#. Tag: para
+#: inheritance_mapping.xml:76
+#, no-c-format
+msgid ""
+"Suppose we have an interface <literal>Payment</literal>, with implementors "
+"<literal>CreditCardPayment</literal>, <literal>CashPayment</literal>, "
+"<literal>ChequePayment</literal>. The table per hierarchy mapping would look "
+"like:"
+msgstr ""
+"Supposons que nous ayons une interface <literal>Payment</literal>, "
+"implémentée par <literal>CreditCardPayment</literal>, <literal>CashPayment</"
+"literal>, <literal>ChequePayment</literal>. La stratégie une table par "
+"hiérarchie serait :"
 
-#: index.docbook:83
+#. Tag: programlisting
+#: inheritance_mapping.xml:83
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:85
-msgid "Exactly one table is required. There is one big limitation of this mapping strategy: columns declared by the subclasses, such as <literal>CCTYPE</literal>, may not have <literal>NOT NULL</literal> constraints."
-msgstr "Une seule table est requise. Une grande limitation de cette stratégie est que les colonnes déclarées par les classes filles, telles que <literal>CCTYPE</literal>, ne peuvent avoir de contrainte <literal>NOT NULL</literal>."
+#. Tag: para
+#: inheritance_mapping.xml:85
+#, no-c-format
+msgid ""
+"Exactly one table is required. There is one big limitation of this mapping "
+"strategy: columns declared by the subclasses, such as <literal>CCTYPE</"
+"literal>, may not have <literal>NOT NULL</literal> constraints."
+msgstr ""
+"Une seule table est requise. Une grande limitation de cette stratégie est "
+"que les colonnes déclarées par les classes filles, telles que "
+"<literal>CCTYPE</literal>, ne peuvent avoir de contrainte <literal>NOT NULL</"
+"literal>."
 
-#: index.docbook:94
+#. Tag: title
+#: inheritance_mapping.xml:94
+#, no-c-format
 msgid "Table per subclass"
 msgstr "Une table par classe fille"
 
-#: index.docbook:96
+#. Tag: para
+#: inheritance_mapping.xml:96
+#, no-c-format
 msgid "A table per subclass mapping would look like:"
 msgstr "La stratégie une table par classe fille serait :"
 
-#: index.docbook:100
+#. Tag: programlisting
+#: inheritance_mapping.xml:100
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:102
-msgid "Four tables are required. The three subclass tables have primary key associations to the superclass table (so the relational model is actually a one-to-one association)."
-msgstr "Quatre tables sont requises. Les trois tables des classes filles ont une clé primaire associée à la table classe mère (le modèle relationnel est une association un-vers-un)."
+#. Tag: para
+#: inheritance_mapping.xml:102
+#, 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 ""
+"Quatre tables sont requises. Les trois tables des classes filles ont une clé "
+"primaire associée à la table classe mère (le modèle relationnel est une "
+"association un-vers-un)."
 
-#: index.docbook:111
+#. Tag: title
+#: inheritance_mapping.xml:111
+#, no-c-format
 msgid "Table per subclass, using a discriminator"
 msgstr "Une table par classe fille, en utilisant un discriminant"
 
-#: index.docbook:113
-msgid "Note that Hibernate's implementation of table per subclass requires no discriminator column. Other object/relational mappers use a different implementation of table per subclass which requires a type discriminator column in the superclass table. The approach taken by Hibernate is much more difficult to implement but arguably more correct from a relational point of view. If you would like to use a discriminator column with the table per subclass strategy, you may combine the use of <literal>&lt;subclass&gt;</literal> and <literal>&lt;join&gt;</literal>, as follow:"
-msgstr "Notez que l'implémentation Hibernate de la stratégie un table par classe fille ne nécessite pas de colonne discriminante dans la table classe mère. D'autres implémentations de mappers Objet/Relationnel utilisent une autre implémentation de la stratégie une table par classe fille qui nécessite une colonne de type discriminant dans la table de la classe mère. L'approche prise par Hibernate est plus difficile à implémenter mais plus correcte d'une point de vue relationnel. Si vous aimeriez utiliser une colonne discriminante avec la stratégie d'une table par classe fille, vous pourriez combiner l'utilisation de <literal>&lt;subclass&gt;</literal> et <literal>&lt;join&gt;</literal>, comme suit :"
+#. Tag: para
+#: inheritance_mapping.xml:113
+#, no-c-format
+msgid ""
+"Note that Hibernate's implementation of table per subclass requires no "
+"discriminator column. Other object/relational mappers use a different "
+"implementation of table per subclass which requires a type discriminator "
+"column in the superclass table. The approach taken by Hibernate is much more "
+"difficult to implement but arguably more correct from a relational point of "
+"view. If you would like to use a discriminator column with the table per "
+"subclass strategy, you may combine the use of <literal>&lt;subclass&gt;</"
+"literal> and <literal>&lt;join&gt;</literal>, as follow:"
+msgstr ""
+"Notez que l'implémentation Hibernate de la stratégie un table par classe "
+"fille ne nécessite pas de colonne discriminante dans la table classe mère. "
+"D'autres implémentations de mappers Objet/Relationnel utilisent une autre "
+"implémentation de la stratégie une table par classe fille qui nécessite une "
+"colonne de type discriminant dans la table de la classe mère. L'approche "
+"prise par Hibernate est plus difficile à implémenter mais plus correcte "
+"d'une point de vue relationnel. Si vous aimeriez utiliser une colonne "
+"discriminante avec la stratégie d'une table par classe fille, vous pourriez "
+"combiner l'utilisation de <literal>&lt;subclass&gt;</literal> et "
+"<literal>&lt;join&gt;</literal>, comme suit :"
 
-#: index.docbook:125
+#. Tag: programlisting
+#: inheritance_mapping.xml:125
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:127
-msgid "The optional <literal>fetch=\"select\"</literal> declaration tells Hibernate not to fetch the <literal>ChequePayment</literal> subclass data using an outer join when querying the superclass."
-msgstr "La déclaration optionnelle <literal>fetch=\"select\"</literal> indique à Hibernate de ne pas récupérer les données de la classe fille <literal>ChequePayment</literal> par une jointure externe lors des requêtes sur la classe mère."
+#. Tag: para
+#: inheritance_mapping.xml:127
+#, 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 déclaration optionnelle <literal>fetch=\"select\"</literal> indique à "
+"Hibernate de ne pas récupérer les données de la classe fille "
+"<literal>ChequePayment</literal> par une jointure externe lors des requêtes "
+"sur la classe mère."
 
-#: index.docbook:136
+#. Tag: title
+#: inheritance_mapping.xml:136
+#, no-c-format
 msgid "Mixing table per class hierarchy with table per subclass"
-msgstr "Mélange d'une table par hiérarchie de classe avec une table par classe fille"
+msgstr ""
+"Mélange d'une table par hiérarchie de classe avec une table par classe fille"
 
-#: index.docbook:138
-msgid "You may even mix the table per hierarchy and table per subclass strategies using this approach:"
-msgstr "Vous pouvez même mélanger les stratégies d'une table par hiérarchie de classe et d'une table par classe fille en utilisant cette approche :"
+#. Tag: para
+#: inheritance_mapping.xml:138
+#, no-c-format
+msgid ""
+"You may even mix the table per hierarchy and table per subclass strategies "
+"using this approach:"
+msgstr ""
+"Vous pouvez même mélanger les stratégies d'une table par hiérarchie de "
+"classe et d'une table par classe fille en utilisant cette approche :"
 
-#: index.docbook:143
+#. Tag: programlisting
+#: inheritance_mapping.xml:143
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:145
-msgid "For any of these mapping strategies, a polymorphic association to the root <literal>Payment</literal> class is mapped using <literal>&lt;many-to-one&gt;</literal>."
-msgstr "Pour importe laquelle de ces stratégies, une association polymorphique vers la classe racine <literal>Payment</literal> est mappée en utilisant <literal>&lt;many-to-one&gt;</literal>."
+#. Tag: para
+#: inheritance_mapping.xml:145
+#, 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 ""
+"Pour importe laquelle de ces stratégies, une association polymorphique vers "
+"la classe racine <literal>Payment</literal> est mappée en utilisant "
+"<literal>&lt;many-to-one&gt;</literal>."
 
-#: index.docbook:151
-msgid "<![CDATA[<many-to-one name=\"payment\" column=\"PAYMENT_ID\" class=\"Payment\"/>]]>"
-msgstr "<![CDATA[<many-to-one name=\"payment\" column=\"PAYMENT_ID\" class=\"Payment\"/>]]>"
+#. Tag: programlisting
+#: inheritance_mapping.xml:151
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"payment\" column=\"PAYMENT_ID\" class=\"Payment"
+"\"/>]]>"
+msgstr ""
 
-#: index.docbook:156
+#. Tag: title
+#: inheritance_mapping.xml:156
+#, no-c-format
 msgid "Table per concrete class"
 msgstr "Une table par classe concrète"
 
-#: index.docbook:158
-msgid "There are two ways we could go about mapping the table per concrete class strategy. The first is to use <literal>&lt;union-subclass&gt;</literal>."
-msgstr "Il y a deux manières d'utiliser la stratégie d'une table par classe concrète. La première est d'employer <literal>&lt;union-subclass&gt;</literal>."
+#. Tag: para
+#: inheritance_mapping.xml:158
+#, no-c-format
+msgid ""
+"There are two ways we could go about mapping the table per concrete class "
+"strategy. The first is to use <literal>&lt;union-subclass&gt;</literal>."
+msgstr ""
+"Il y a deux manières d'utiliser la stratégie d'une table par classe "
+"concrète. La première est d'employer <literal>&lt;union-subclass&gt;</"
+"literal>."
 
-#: index.docbook:163
+#. Tag: programlisting
+#: inheritance_mapping.xml:163
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:165
-msgid "Three tables are involved for the subclasses. Each table defines columns for all properties of the class, including inherited properties."
-msgstr "Trois tables sont nécessaires pour les classes filles. Chaque table définit des colonnes pour toutes les propriétés de la classe, incluant les propriétés héritéés."
+#. Tag: para
+#: inheritance_mapping.xml:165
+#, 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 ""
+"Trois tables sont nécessaires pour les classes filles. Chaque table définit "
+"des colonnes pour toutes les propriétés de la classe, incluant les "
+"propriétés héritéés."
 
-#: index.docbook:170
-msgid "The limitation of this approach is that if a property is mapped on the superclass, the column name must be the same on all subclass tables. (We might relax this in a future release of Hibernate.) The identity generator strategy is not allowed in union subclass inheritance, indeed the primary key seed has to be shared accross all unioned subclasses of a hierarchy."
-msgstr "La limitation de cette approche est que si une propriété est mappée sur la classe mère, le nom de la colonne doit être le même pour toutes les classes filles. (Nous pourrions être plus souple dans une future version d'Hibernate). La stratégie du générateur d'identifiant n'est pas permise dans l'héritage de classes filles par union, en effet la valeur (NdT : seed) de la clef primaire doit être partagée par toutes les classes filles \"union\" d'une hiérarchie."
+#. Tag: para
+#: inheritance_mapping.xml:170
+#, 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. (We "
+"might relax this in a future release of Hibernate.) The identity generator "
+"strategy is not allowed in union subclass inheritance, indeed the primary "
+"key seed has to be shared accross all unioned subclasses of a hierarchy."
+msgstr ""
+"La limitation de cette approche est que si une propriété est mappée sur la "
+"classe mère, le nom de la colonne doit être le même pour toutes les classes "
+"filles. (Nous pourrions être plus souple dans une future version "
+"d'Hibernate). La stratégie du générateur d'identifiant n'est pas permise "
+"dans l'héritage de classes filles par union, en effet la valeur (NdT : seed) "
+"de la clef primaire doit être partagée par toutes les classes filles \"union"
+"\" d'une hiérarchie."
 
-#: index.docbook:179
-msgid "If your superclass is abstract, map it with <literal>abstract=\"true\"</literal>. Of course, if it is not abstract, an additional table (defaults to <literal>PAYMENT</literal> in the example above) is needed to hold instances of the superclass."
-msgstr "Si votre classe mère est abstraite, mappez la avec <literal>abstract=\"true\"</literal>. Bien sûr, si elle n'est pas abstraite, une table supplémentaire (par défaut, <literal>PAYMENT</literal> dans l'exemple ci-dessus) est requise pour contenir des instances de la classe mère."
+#. Tag: para
+#: inheritance_mapping.xml:179
+#, no-c-format
+msgid ""
+"If your superclass is abstract, map it with <literal>abstract=\"true\"</"
+"literal>. Of course, if it is not abstract, an additional table (defaults to "
+"<literal>PAYMENT</literal> in the example above) is needed to hold instances "
+"of the superclass."
+msgstr ""
+"Si votre classe mère est abstraite, mappez la avec <literal>abstract=\"true"
+"\"</literal>. Bien sûr, si elle n'est pas abstraite, une table "
+"supplémentaire (par défaut, <literal>PAYMENT</literal> dans l'exemple ci-"
+"dessus) est requise pour contenir des instances de la classe mère."
 
-#: index.docbook:189
+#. Tag: title
+#: inheritance_mapping.xml:189
+#, no-c-format
 msgid "Table per concrete class, using implicit polymorphism"
 msgstr "Une table par classe concrète, en utilisant le polymorphisme implicite"
 
-#: index.docbook:191
+#. Tag: para
+#: inheritance_mapping.xml:191
+#, no-c-format
 msgid "An alternative approach is to make use of implicit polymorphism:"
 msgstr "Une approche alternative est l'emploi du polymorphisme implicite :"
 
-#: index.docbook:195
+#. Tag: programlisting
+#: inheritance_mapping.xml:195
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:197
-msgid "Notice that nowhere do we mention the <literal>Payment</literal> interface explicitly. Also notice that properties of <literal>Payment</literal> are mapped in each of the subclasses. If you want to avoid duplication, consider using XML entities (e.g. <literal>[ &lt;!ENTITY allproperties SYSTEM \"allproperties.xml\"&gt; ]</literal> in the <literal>DOCTYPE</literal> declartion and <literal>&amp;allproperties;</literal> in the mapping)."
-msgstr "Notez que nulle part nous ne mentionnons l'interface <literal>Payment</literal> explicitement. Notez aussi que des propriétés de <literal>Payment</literal> sont mappées dans chaque classe fille. Si vous voulez éviter des duplications, considérez l'utilisation des entités XML (cf. <literal>[ &lt;!ENTITY allproperties SYSTEM \"allproperties.xml\"&gt; ]</literal> dans la déclaration du <literal>DOCTYPE</literal> et <literal>&amp;allproperties;</literal> dans le mapping)."
+#. Tag: para
+#: inheritance_mapping.xml:197
+#, no-c-format
+msgid ""
+"Notice that nowhere do we mention the <literal>Payment</literal> interface "
+"explicitly. Also notice that properties of <literal>Payment</literal> are "
+"mapped in each of the subclasses. If you want to avoid duplication, consider "
+"using XML entities (e.g. <literal>[ &lt;!ENTITY allproperties SYSTEM "
+"\"allproperties.xml\"&gt; ]</literal> in the <literal>DOCTYPE</literal> "
+"declartion and <literal>&amp;allproperties;</literal> in the mapping)."
+msgstr ""
+"Notez que nulle part nous ne mentionnons l'interface <literal>Payment</"
+"literal> explicitement. Notez aussi que des propriétés de <literal>Payment</"
+"literal> sont mappées dans chaque classe fille. Si vous voulez éviter des "
+"duplications, considérez l'utilisation des entités XML (cf. <literal>[ &lt;!"
+"ENTITY allproperties SYSTEM \"allproperties.xml\"&gt; ]</literal> dans la "
+"déclaration du <literal>DOCTYPE</literal> et <literal>&amp;allproperties;</"
+"literal> dans le mapping)."
 
-#: index.docbook:207
-msgid "The disadvantage of this approach is that Hibernate does not generate SQL <literal>UNION</literal>s when performing polymorphic queries."
-msgstr "L'inconvénient de cette approche est qu'Hibernate ne génère pas d'<literal>UNION</literal>s SQL lors de l'exécution des requêtes polymorphiques."
+#. Tag: para
+#: inheritance_mapping.xml:207
+#, 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 ""
+"L'inconvénient de cette approche est qu'Hibernate ne génère pas "
+"d'<literal>UNION</literal>s SQL lors de l'exécution des requêtes "
+"polymorphiques."
 
-#: index.docbook:212
-msgid "For this mapping strategy, a polymorphic association to <literal>Payment</literal> is usually mapped using <literal>&lt;any&gt;</literal>."
-msgstr "Pour cette stratégie de mapping, une association polymorphique pour <literal>Payment</literal> est habituellement mappée en utilisant <literal>&lt;any&gt;</literal>."
+#. Tag: para
+#: inheritance_mapping.xml:212
+#, 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 ""
+"Pour cette stratégie de mapping, une association polymorphique pour "
+"<literal>Payment</literal> est habituellement mappée en utilisant "
+"<literal>&lt;any&gt;</literal>."
 
-#: index.docbook:217
+#. Tag: programlisting
+#: inheritance_mapping.xml:217
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:222
+#. Tag: title
+#: inheritance_mapping.xml:222
+#, no-c-format
 msgid "Mixing implicit polymorphism with other inheritance mappings"
 msgstr "Mélange du polymorphisme implicite avec d'autres mappings d'héritage"
 
-#: index.docbook:224
-msgid "There is one further thing to notice about this mapping. Since the subclasses are each mapped in their own <literal>&lt;class&gt;</literal> element (and since <literal>Payment</literal> is just an interface), each of the subclasses could easily be part of another inheritance hierarchy! (And you can still use polymorphic queries against the <literal>Payment</literal> interface.)"
-msgstr "Il y a une chose supplémentaire à noter à propos de ce mapping. Puisque les classes filles sont chacune mappées avec leur propre élément <literal>&lt;class&gt;</literal> (et puisque <literal>Payment</literal> est juste une interface), chaque classe fille pourrait facilement faire partie d'une autre hiérarchie d'héritage ! (Et vous pouvez encore faire des requêtes polymorphiques pour l'interface <literal>Payment</literal>)."
+#. Tag: para
+#: inheritance_mapping.xml:224
+#, no-c-format
+msgid ""
+"There is one further thing to notice about this mapping. Since the "
+"subclasses are each mapped in their own <literal>&lt;class&gt;</literal> "
+"element (and since <literal>Payment</literal> is just an interface), each of "
+"the subclasses could easily be part of another inheritance hierarchy! (And "
+"you can still use polymorphic queries against the <literal>Payment</literal> "
+"interface.)"
+msgstr ""
+"Il y a une chose supplémentaire à noter à propos de ce mapping. Puisque les "
+"classes filles sont chacune mappées avec leur propre élément <literal>&lt;"
+"class&gt;</literal> (et puisque <literal>Payment</literal> est juste une "
+"interface), chaque classe fille pourrait facilement faire partie d'une autre "
+"hiérarchie d'héritage ! (Et vous pouvez encore faire des requêtes "
+"polymorphiques pour l'interface <literal>Payment</literal>)."
 
-#: index.docbook:232
+#. Tag: programlisting
+#: inheritance_mapping.xml:232
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:234
-msgid "Once again, we don't mention <literal>Payment</literal> explicitly. If we execute a query against the <literal>Payment</literal> interface - for example, <literal>from Payment</literal> - Hibernate automatically returns instances of <literal>CreditCardPayment</literal> (and its subclasses, since they also implement <literal>Payment</literal>), <literal>CashPayment</literal> and <literal>ChequePayment</literal> but not instances of <literal>NonelectronicTransaction</literal>."
-msgstr "Encore une fois, nous ne mentionnons pas explicitement <literal>Payment</literal>. Si nous exécutons une requête sur l'interface <literal>Payment</literal> - par exemple, <literal>from Payment</literal> - Hibernate retournera automatiquement les instances de <literal>CreditCardPayment</literal> (et ses classes filles puisqu'elles implémentent aussi <literal>Payment</literal>), <literal>CashPayment</literal> et <literal>ChequePayment</literal> mais pas les instances de <literal>NonelectronicTransaction</literal>."
+#. Tag: para
+#: inheritance_mapping.xml:234
+#, no-c-format
+msgid ""
+"Once again, we don't mention <literal>Payment</literal> explicitly. If we "
+"execute a query against the <literal>Payment</literal> interface - for "
+"example, <literal>from Payment</literal> - Hibernate automatically returns "
+"instances of <literal>CreditCardPayment</literal> (and its subclasses, since "
+"they also implement <literal>Payment</literal>), <literal>CashPayment</"
+"literal> and <literal>ChequePayment</literal> but not instances of "
+"<literal>NonelectronicTransaction</literal>."
+msgstr ""
+"Encore une fois, nous ne mentionnons pas explicitement <literal>Payment</"
+"literal>. Si nous exécutons une requête sur l'interface <literal>Payment</"
+"literal> - par exemple, <literal>from Payment</literal> - Hibernate "
+"retournera automatiquement les instances de <literal>CreditCardPayment</"
+"literal> (et ses classes filles puisqu'elles implémentent aussi "
+"<literal>Payment</literal>), <literal>CashPayment</literal> et "
+"<literal>ChequePayment</literal> mais pas les instances de "
+"<literal>NonelectronicTransaction</literal>."
 
-#: index.docbook:249
+#. Tag: title
+#: inheritance_mapping.xml:249
+#, no-c-format
 msgid "Limitations"
 msgstr "Limitations"
 
-#: index.docbook:251
-msgid "There are certain limitations to the \"implicit polymorphism\" approach to the table per concrete-class mapping strategy. There are somewhat less restrictive limitations to <literal>&lt;union-subclass&gt;</literal> mappings."
-msgstr "Il y a certaines limitations à l'approche du \"polymorphisme implicite\" pour la stratégie de mapping d'une table par classe concrète. Il y a plutôt moins de limitations restrictives aux mappings <literal>&lt;union-subclass&gt;</literal>."
+#. Tag: para
+#: inheritance_mapping.xml:251
+#, no-c-format
+msgid ""
+"There are certain limitations to the \"implicit polymorphism\" approach to "
+"the table per concrete-class mapping strategy. There are somewhat less "
+"restrictive limitations to <literal>&lt;union-subclass&gt;</literal> "
+"mappings."
+msgstr ""
+"Il y a certaines limitations à l'approche du \"polymorphisme implicite\" "
+"pour la stratégie de mapping d'une table par classe concrète. Il y a plutôt "
+"moins de limitations restrictives aux mappings <literal>&lt;union-"
+"subclass&gt;</literal>."
 
-#: index.docbook:258
-msgid "The following table shows the limitations of table per concrete-class mappings, and of implicit polymorphism, in Hibernate."
-msgstr "La table suivante montre les limitations des mappings d'une table par classe concrète, et du polymorphisme implicite, dans Hibernate."
+#. Tag: para
+#: inheritance_mapping.xml:258
+#, no-c-format
+msgid ""
+"The following table shows the limitations of table per concrete-class "
+"mappings, and of implicit polymorphism, in Hibernate."
+msgstr ""
+"La table suivante montre les limitations des mappings d'une table par classe "
+"concrète, et du polymorphisme implicite, dans Hibernate."
 
-#: index.docbook:264
+#. Tag: title
+#: inheritance_mapping.xml:264
+#, no-c-format
 msgid "Features of inheritance mappings"
 msgstr "Caractéristiques du mapping d'héritage"
 
-#: index.docbook:276
+#. Tag: entry
+#: inheritance_mapping.xml:276
+#, no-c-format
 msgid "Inheritance strategy"
 msgstr "Stratégie d'héritage"
 
-#: index.docbook:277
+#. Tag: entry
+#: inheritance_mapping.xml:277
+#, no-c-format
 msgid "Polymorphic many-to-one"
 msgstr "many-to-one polymorphique"
 
-#: index.docbook:278
+#. Tag: entry
+#: inheritance_mapping.xml:278
+#, no-c-format
 msgid "Polymorphic one-to-one"
 msgstr "one-to-one polymorphique"
 
-#: index.docbook:279
+#. Tag: entry
+#: inheritance_mapping.xml:279
+#, no-c-format
 msgid "Polymorphic one-to-many"
 msgstr "one-to-many polymorphique"
 
-#: index.docbook:280
+#. Tag: entry
+#: inheritance_mapping.xml:280
+#, no-c-format
 msgid "Polymorphic many-to-many"
 msgstr "many-to-many polymorphique"
 
-#: index.docbook:281
+#. Tag: entry
+#: inheritance_mapping.xml:281
+#, no-c-format
 msgid "Polymorphic <literal>load()/get()</literal>"
-msgstr "<literal>load()/get()</literal> polymorphique"
+msgstr ""
 
-#: index.docbook:282
+#. Tag: entry
+#: inheritance_mapping.xml:282
+#, no-c-format
 msgid "Polymorphic queries"
 msgstr "Requêtes polymorphiques"
 
-#: index.docbook:283
+#. Tag: entry
+#: inheritance_mapping.xml:283
+#, no-c-format
 msgid "Polymorphic joins"
 msgstr "Jointures polymorphiques"
 
-#: index.docbook:284
+#. Tag: entry
+#: inheritance_mapping.xml:284
+#, no-c-format
 msgid "Outer join fetching"
 msgstr "Récupération par jointure externe"
 
-#: index.docbook:289
+#. Tag: entry
+#: inheritance_mapping.xml:289
+#, no-c-format
 msgid "table per class-hierarchy"
 msgstr "une table par hiérarchie de classe"
 
-#: index.docbook:290, index.docbook:301, index.docbook:312
+#. Tag: literal
+#: inheritance_mapping.xml:290 inheritance_mapping.xml:301
+#: inheritance_mapping.xml:312
+#, no-c-format
 msgid "&lt;many-to-one&gt;"
 msgstr "&lt;many-to-one&gt;"
 
-#: index.docbook:291, index.docbook:302, index.docbook:313
+#. Tag: literal
+#: inheritance_mapping.xml:291 inheritance_mapping.xml:302
+#: inheritance_mapping.xml:313
+#, no-c-format
 msgid "&lt;one-to-one&gt;"
 msgstr "&lt;one-to-one&gt;"
 
-#: index.docbook:292, index.docbook:303
+#. Tag: literal
+#: inheritance_mapping.xml:292 inheritance_mapping.xml:303
+#, no-c-format
 msgid "&lt;one-to-many&gt;"
 msgstr "&lt;one-to-many&gt;"
 
-#: index.docbook:293, index.docbook:304, index.docbook:315
+#. Tag: literal
+#: inheritance_mapping.xml:293 inheritance_mapping.xml:304
+#: inheritance_mapping.xml:315
+#, no-c-format
 msgid "&lt;many-to-many&gt;"
 msgstr "&lt;many-to-many&gt;"
 
-#: index.docbook:294, index.docbook:305, index.docbook:316
+#. Tag: literal
+#: inheritance_mapping.xml:294 inheritance_mapping.xml:305
+#: inheritance_mapping.xml:316
+#, no-c-format
 msgid "s.get(Payment.class, id)"
 msgstr "s.get(Payment.class, id)"
 
-#: index.docbook:295, index.docbook:306, index.docbook:317, index.docbook:328
+#. Tag: literal
+#: inheritance_mapping.xml:295 inheritance_mapping.xml:306
+#: inheritance_mapping.xml:317 inheritance_mapping.xml:328
+#, no-c-format
 msgid "from Payment p"
 msgstr "from Payment p"
 
-#: index.docbook:296, index.docbook:307, index.docbook:318
+#. Tag: literal
+#: inheritance_mapping.xml:296 inheritance_mapping.xml:307
+#: inheritance_mapping.xml:318
+#, no-c-format
 msgid "from Order o join o.payment p"
 msgstr "from Order o join o.payment p"
 
-#: index.docbook:297, index.docbook:308, index.docbook:319
+#. Tag: emphasis
+#: inheritance_mapping.xml:297 inheritance_mapping.xml:308
+#: inheritance_mapping.xml:319
+#, no-c-format
 msgid "supported"
 msgstr "supportée"
 
-#: index.docbook:300
+#. Tag: entry
+#: inheritance_mapping.xml:300
+#, fuzzy, no-c-format
 msgid "<entry>table per subclass</entry>"
-msgstr "une table par classe fille"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"une table par classe fille (table per subclass)\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"une table par classe fille"
 
-#: index.docbook:311
+#. Tag: entry
+#: inheritance_mapping.xml:311
+#, no-c-format
 msgid "table per concrete-class (union-subclass)"
 msgstr "une table par classe concrète (union-subclass)"
 
-#: index.docbook:314
-msgid "<literal>&lt;one-to-many&gt;</literal> (for <literal>inverse=\"true\"</literal> only)"
-msgstr "<literal>&lt;one-to-many&gt;</literal> (pour <literal>inverse=\"true\"</literal> seulement)"
+#. Tag: entry
+#: inheritance_mapping.xml:314
+#, no-c-format
+msgid ""
+"<literal>&lt;one-to-many&gt;</literal> (for <literal>inverse=\"true\"</"
+"literal> only)"
+msgstr ""
 
-#: index.docbook:322
+#. Tag: entry
+#: inheritance_mapping.xml:322
+#, no-c-format
 msgid "table per concrete class (implicit polymorphism)"
 msgstr "une table par classe concrète (polymorphisme implicite)"
 
-#: index.docbook:323
+#. Tag: literal
+#: inheritance_mapping.xml:323
+#, no-c-format
 msgid "&lt;any&gt;"
 msgstr "&lt;any&gt;"
 
-#: index.docbook:324, index.docbook:325, index.docbook:329, index.docbook:330
+#. Tag: emphasis
+#: inheritance_mapping.xml:324 inheritance_mapping.xml:325
+#: inheritance_mapping.xml:329 inheritance_mapping.xml:330
+#, fuzzy, no-c-format
 msgid "not supported"
-msgstr "non supporté"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"non supporté\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"non supporté\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"non supportées\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"non supportée"
 
-#: index.docbook:326
+#. Tag: literal
+#: inheritance_mapping.xml:326
+#, no-c-format
 msgid "&lt;many-to-any&gt;"
 msgstr "&lt;many-to-any&gt;"
 
-#: index.docbook:327
-msgid "s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()"
-msgstr "s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()"
+#. Tag: literal
+#: inheritance_mapping.xml:327
+#, no-c-format
+msgid ""
+"s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()"
+msgstr ""
+"s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()"
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid "load()/get()"
+#~ msgstr "load()/get()"
 
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid "Polymorphic <placeholder-1/>"
+#~ msgstr "<placeholder-1/> polymorphique"
 
+#~ msgid "inverse=\"true\""
+#~ msgstr "inverse=\"true\""
+
+#~ msgid "<placeholder-1/> (for <placeholder-2/> only)"
+#~ msgstr "<placeholder-1/> (pour <placeholder-2/> seulement)"

Modified: core/trunk/documentation/manual/translations/fr-FR/content/performance.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/performance.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/performance.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,1220 +1,2653 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: performance.xml:5
+#, no-c-format
 msgid "Improving performance"
 msgstr "Améliorer les performances"
 
-#: index.docbook:8
+#. Tag: title
+#: performance.xml:8
+#, no-c-format
 msgid "Fetching strategies"
 msgstr "Stratégies de chargement"
 
-#: index.docbook:10
-msgid "A <emphasis>fetching strategy</emphasis> is the strategy Hibernate will use for retrieving associated objects if the application needs to navigate the association. Fetch strategies may be declared in the O/R mapping metadata, or over-ridden by a particular HQL or <literal>Criteria</literal> query."
-msgstr "Une <emphasis>stratégie de chargement</emphasis> est une stratégie qu'Hibernate va utiliser pour récupérer des objets associés si l'application à besoin de naviguer à travers une association. Les stratégies de chargement peuvent être déclarées dans les méta-données de l'outil de mapping objet relationnel ou surchargées par une requête de type HQL ou <literal>Criteria</literal> particulière."
+#. Tag: para
+#: performance.xml:10
+#, no-c-format
+msgid ""
+"A <emphasis>fetching strategy</emphasis> is the strategy Hibernate will use "
+"for retrieving associated objects if the application needs to navigate the "
+"association. Fetch strategies may be declared in the O/R mapping metadata, "
+"or over-ridden by a particular HQL or <literal>Criteria</literal> query."
+msgstr ""
+"Une <emphasis>stratégie de chargement</emphasis> est une stratégie "
+"qu'Hibernate va utiliser pour récupérer des objets associés si l'application "
+"à besoin de naviguer à travers une association. Les stratégies de chargement "
+"peuvent être déclarées dans les méta-données de l'outil de mapping objet "
+"relationnel ou surchargées par une requête de type HQL ou <literal>Criteria</"
+"literal> particulière."
 
-#: index.docbook:17
+#. Tag: para
+#: performance.xml:17
+#, no-c-format
 msgid "Hibernate3 defines the following fetching strategies:"
 msgstr "Hibernate3 définit les stratégies de chargement suivantes :"
 
-#: index.docbook:23
-msgid "<emphasis>Join fetching</emphasis> - Hibernate retrieves the associated instance or collection in the same <literal>SELECT</literal>, using an <literal>OUTER JOIN</literal>."
-msgstr "<emphasis>Chargement par jointure</emphasis> - Hibernate récupère l'instance associée ou la collection dans un même <literal>SELECT</literal>, en utilisant un <literal>OUTER JOIN</literal>."
+#. Tag: para
+#: performance.xml:23
+#, 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>Chargement par jointure</emphasis> - Hibernate récupère l'instance "
+"associée ou la collection dans un même <literal>SELECT</literal>, en "
+"utilisant un <literal>OUTER JOIN</literal>."
 
-#: index.docbook:30
-msgid "<emphasis>Select fetching</emphasis> - a second <literal>SELECT</literal> is used to retrieve the associated entity or collection. Unless you explicitly disable lazy fetching by specifying <literal>lazy=\"false\"</literal>, this second select will only be executed when you actually access the association."
-msgstr "<emphasis>Chargement par select</emphasis> - Un second <literal>SELECT</literal> est utilisé pour récupérer l'instance associée ou la collection. A moins que vous ne désactiviez explicitement le chargement tardif en spécifiant <literal>lazy=\"false\"</literal>, ce second select ne sera exécuté que lorsque vous accéderez réellement à l'association."
+#. Tag: para
+#: performance.xml:30
+#, 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 actually access the association."
+msgstr ""
+"<emphasis>Chargement par select</emphasis> - Un second <literal>SELECT</"
+"literal> est utilisé pour récupérer l'instance associée ou la collection. A "
+"moins que vous ne désactiviez explicitement le chargement tardif en "
+"spécifiant <literal>lazy=\"false\"</literal>, ce second select ne sera "
+"exécuté que lorsque vous accéderez réellement à l'association."
 
-#: index.docbook:39
-msgid "<emphasis>Subselect fetching</emphasis> - a second <literal>SELECT</literal> is used to retrieve the associated collections for all entities retrieved in a previous query or fetch. Unless you explicitly disable lazy fetching by specifying <literal>lazy=\"false\"</literal>, this second select will only be executed when you actually access the association."
-msgstr "<emphasis>Chargement par sous-select</emphasis> - Un second <literal>SELECT</literal> est utilisé pour récupérer les associations pour toutes les entités récupérées dans une requête ou un chargement préalable. A moins que vous ne désactiviez explicitement le chargement tardif en spécifiant <literal>lazy=\"false\"</literal>, ce second select ne sera exécuté que lorsque vous accéderez réellement à l'association."
+#. Tag: para
+#: performance.xml:39
+#, 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 "
+"a previous query or fetch. Unless you explicitly disable lazy fetching by "
+"specifying <literal>lazy=\"false\"</literal>, this second select will only "
+"be executed when you actually access the association."
+msgstr ""
+"<emphasis>Chargement par sous-select</emphasis> - Un second <literal>SELECT</"
+"literal> est utilisé pour récupérer les associations pour toutes les entités "
+"récupérées dans une requête ou un chargement préalable. A moins que vous ne "
+"désactiviez explicitement le chargement tardif en spécifiant <literal>lazy="
+"\"false\"</literal>, ce second select ne sera exécuté que lorsque vous "
+"accéderez réellement à l'association."
 
-#: index.docbook:48
-msgid "<emphasis>Batch fetching</emphasis> - an optimization strategy for select fetching - Hibernate retrieves a batch of entity instances or collections in a single <literal>SELECT</literal>, by specifying a list of primary keys or foreign keys."
-msgstr "<emphasis>Chargement par lot</emphasis> - Il s'agit d'une stratégie d'optimisation pour le chargement par select - Hibernate récupère un lot d'instances ou de collections en un seul <literal>SELECT</literal> en spécifiant une liste de clé primaire ou de clé étrangère."
+#. Tag: para
+#: performance.xml:48
+#, 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 keys or "
+"foreign keys."
+msgstr ""
+"<emphasis>Chargement par lot</emphasis> - Il s'agit d'une stratégie "
+"d'optimisation pour le chargement par select - Hibernate récupère un lot "
+"d'instances ou de collections en un seul <literal>SELECT</literal> en "
+"spécifiant une liste de clé primaire ou de clé étrangère."
 
-#: index.docbook:57
+#. Tag: para
+#: performance.xml:57
+#, no-c-format
 msgid "Hibernate also distinguishes between:"
 msgstr "Hibernate fait également la distinction entre :"
 
-#: index.docbook:63
-msgid "<emphasis>Immediate fetching</emphasis> - an association, collection or attribute is fetched immediately, when the owner is loaded."
-msgstr "<emphasis>Chargement immédiat</emphasis> - Une association, une collection ou un attribut est chargé immédiatement lorsque l'objet auquel appartient cet élément est chargé."
+#. Tag: para
+#: performance.xml:63
+#, no-c-format
+msgid ""
+"<emphasis>Immediate fetching</emphasis> - an association, collection or "
+"attribute is fetched immediately, when the owner is loaded."
+msgstr ""
+"<emphasis>Chargement immédiat</emphasis> - Une association, une collection "
+"ou un attribut est chargé immédiatement lorsque l'objet auquel appartient "
+"cet élément est chargé."
 
-#: index.docbook:69
-msgid "<emphasis>Lazy collection fetching</emphasis> - a collection is fetched when the application invokes an operation upon that collection. (This is the default for collections.)"
-msgstr "<emphasis>Chargement tardif d'une collection</emphasis> - Une collection est chargée lorque l'application invoque une méthode sur cette collection (il s'agit du mode de chargement par défaut pour les collections)."
+#. Tag: para
+#: performance.xml:69
+#, 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>Chargement tardif d'une collection</emphasis> - Une collection est "
+"chargée lorque l'application invoque une méthode sur cette collection (il "
+"s'agit du mode de chargement par défaut pour les collections)."
 
-#: index.docbook:76
-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 (suitable for very large collections)"
-msgstr "<emphasis>Chargement \"super tardif\" d'une collection</emphasis> - les éléments de la collection sont récupérés individuellement depuis la base de données lorsque nécessaire. Hibernate essaie de ne pas charger toute la collection en mémoire sauf si cela est absolument nécessaire (bien adapté aux très grandes collections)."
+#. Tag: para
+#: performance.xml:76
+#, 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 (suitable for very large collections)"
+msgstr ""
+"<emphasis>Chargement \"super tardif\" d'une collection</emphasis> - les "
+"éléments de la collection sont récupérés individuellement depuis la base de "
+"données lorsque nécessaire. Hibernate essaie de ne pas charger toute la "
+"collection en mémoire sauf si cela est absolument nécessaire (bien adapté "
+"aux très grandes collections)."
 
-#: index.docbook:84
-msgid "<emphasis>Proxy fetching</emphasis> - a single-valued association is fetched when a method other than the identifier getter is invoked upon the associated object."
-msgstr "<emphasis>Chargement par proxy</emphasis> - une association vers un seul objet est chargée lorsqu'une méthode autre que le getter sur l'identifiant est appelée sur l'objet associé."
+#. Tag: para
+#: performance.xml:84
+#, 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>Chargement par proxy</emphasis> - une association vers un seul "
+"objet est chargée lorsqu'une méthode autre que le getter sur l'identifiant "
+"est appelée sur l'objet associé."
 
-#: index.docbook:91
-msgid "<emphasis>\"No-proxy\" fetching</emphasis> - a single-valued association is fetched when the instance variable is accessed. Compared to proxy fetching, this approach is less lazy (the association is fetched even when only the identifier is accessed) but more transparent, since no proxy is visible to the application. This approach requires buildtime bytecode instrumentation and is rarely necessary."
-msgstr "<emphasis>Chargement \"sans proxy\"</emphasis> - une association vers un seul objet est chargée lorsque l'on accède à cet objet. Par rapport au chargement par proxy, cette approche est moins tardif (l'association est quand même chargée même si on n'accède qu'à l'identifiant) mais plus transparente car il n'y a pas de proxy visible dans l'application. Cette approche requiert une instrumentation du bytecode à la compilation et est rarement nécessaire."
+#. Tag: para
+#: performance.xml:91
+#, 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, "
+"this approach is less lazy (the association is fetched even when only the "
+"identifier is accessed) but more transparent, since no proxy is visible to "
+"the application. This approach requires buildtime bytecode instrumentation "
+"and is rarely necessary."
+msgstr ""
+"<emphasis>Chargement \"sans proxy\"</emphasis> - une association vers un "
+"seul objet est chargée lorsque l'on accède à cet objet. Par rapport au "
+"chargement par proxy, cette approche est moins tardif (l'association est "
+"quand même chargée même si on n'accède qu'à l'identifiant) mais plus "
+"transparente car il n'y a pas de proxy visible dans l'application. Cette "
+"approche requiert une instrumentation du bytecode à la compilation et est "
+"rarement nécessaire."
 
-#: index.docbook:101
-msgid "<emphasis>Lazy attribute fetching</emphasis> - an attribute or single valued association is fetched when the instance variable is accessed. This approach requires buildtime bytecode instrumentation and is rarely necessary."
-msgstr "<emphasis>Chargement tardif des attributs</emphasis> - Un attribut ou un objet associé seul est chargé lorsque l'on y accède. Cette approche requiert une instrumentation du bytecode à la compilation et est rarement nécessaire."
+#. Tag: para
+#: performance.xml:101
+#, 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>Chargement tardif des attributs</emphasis> - Un attribut ou un "
+"objet associé seul est chargé lorsque l'on y accède. Cette approche requiert "
+"une instrumentation du bytecode à la compilation et est rarement nécessaire."
 
-#: index.docbook:110
-msgid "We have two orthogonal notions here: <emphasis>when</emphasis> is the association fetched, and <emphasis>how</emphasis> is it fetched (what SQL is used). Don't confuse them! We use <literal>fetch</literal> to tune performance. We may use <literal>lazy</literal> to define a contract for what data is always available in any detached instance of a particular class."
-msgstr "Nous avons ici deux notions orthogonales : <emphasis>quand</emphasis> l'association est chargée et <emphasis>comment</emphasis> (quelle requête SQL est utilisée). Il ne faut pas confondre les deux. Le mode de chargement est utilisé pour améliorer les performances. On peut utiliser le mode tardif pour définir un contrat sur quelles données sont toujours accessibles sur une instance détachée d'une classe particulière."
+#. Tag: para
+#: performance.xml:110
+#, no-c-format
+msgid ""
+"We have two orthogonal notions here: <emphasis>when</emphasis> is the "
+"association fetched, and <emphasis>how</emphasis> is it fetched (what SQL is "
+"used). Don't confuse them! We use <literal>fetch</literal> to tune "
+"performance. We may use <literal>lazy</literal> to define a contract for "
+"what data is always available in any detached instance of a particular class."
+msgstr ""
+"Nous avons ici deux notions orthogonales : <emphasis>quand</emphasis> "
+"l'association est chargée et <emphasis>comment</emphasis> (quelle requête "
+"SQL est utilisée). Il ne faut pas confondre les deux. Le mode de chargement "
+"est utilisé pour améliorer les performances. On peut utiliser le mode tardif "
+"pour définir un contrat sur quelles données sont toujours accessibles sur "
+"une instance détachée d'une classe particulière."
 
-#: index.docbook:119
+#. Tag: title
+#: performance.xml:119
+#, no-c-format
 msgid "Working with lazy associations"
 msgstr "Travailler avec des associations chargées tardivement"
 
-#: index.docbook:121
-msgid "By default, Hibernate3 uses lazy select fetching for collections and lazy proxy fetching for single-valued associations. These defaults make sense for almost all associations in almost all applications."
-msgstr "Par défaut, Hibernate3 utilise le chargement tardif par select pour les collections et le chargement tardif par proxy pour les associations vers un seul objet. Ces valeurs par défaut sont valables pour la plupart des associations dans la plupart des applications."
+#. Tag: para
+#: performance.xml:121
+#, 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 "
+"almost all associations in almost all applications."
+msgstr ""
+"Par défaut, Hibernate3 utilise le chargement tardif par select pour les "
+"collections et le chargement tardif par proxy pour les associations vers un "
+"seul objet. Ces valeurs par défaut sont valables pour la plupart des "
+"associations dans la plupart des applications."
 
-#: index.docbook:127
-msgid "<emphasis>Note:</emphasis> if you set <literal>hibernate.default_batch_fetch_size</literal>, Hibernate will use the batch fetch optimization for lazy fetching (this optimization may also be enabled at a more granular level)."
-msgstr "<emphasis>Note :</emphasis> si vous définissez <literal>hibernate.default_batch_fetch_size</literal>, Hibernate va utiliser l'optimisation du chargement par lot pour le chargement tardif (cette optimisation peut aussi être activée à un niveau de granularité plus fin)."
+#. Tag: para
+#: performance.xml:127
+#, no-c-format
+msgid ""
+"<emphasis>Note:</emphasis> if you set <literal>hibernate."
+"default_batch_fetch_size</literal>, Hibernate will use the batch fetch "
+"optimization for lazy fetching (this optimization may also be enabled at a "
+"more granular level)."
+msgstr ""
+"<emphasis>Note :</emphasis> si vous définissez <literal>hibernate."
+"default_batch_fetch_size</literal>, Hibernate va utiliser l'optimisation du "
+"chargement par lot pour le chargement tardif (cette optimisation peut aussi "
+"être activée à un niveau de granularité plus fin)."
 
-#: index.docbook:134
-msgid "However, lazy fetching poses one problem that you must be aware of. Access to a lazy association outside of the context of an open Hibernate session will result in an exception. For example:"
-msgstr "Cependant, le chargement tardif pose un problème qu'il faut connaitre. L'accès à une association définie comme \"tardive\", hors du contexte d'une session hibernate ouverte, va conduire à une exception. Par exemple :"
+#. Tag: para
+#: performance.xml:134
+#, no-c-format
+msgid ""
+"However, lazy fetching poses one problem that you must be aware of. Access "
+"to a lazy association outside of the context of an open Hibernate session "
+"will result in an exception. For example:"
+msgstr ""
+"Cependant, le chargement tardif pose un problème qu'il faut connaitre. "
+"L'accès à une association définie comme \"tardive\", hors du contexte d'une "
+"session hibernate ouverte, va conduire à une exception. Par exemple :"
 
-#: index.docbook:140
+#. Tag: programlisting
+#: performance.xml:140
+#, 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!]]>"
+"<![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!]]>"
 
-#: index.docbook:142
-msgid "Since the permissions collection was not initialized when the <literal>Session</literal> was closed, the collection will not be able to load its state. <emphasis>Hibernate does not support lazy initialization for detached objects</emphasis>. The fix is to move the code that reads from the collection to just before the transaction is committed."
-msgstr "Etant donné que la collection des permissions n'a pas été initialisée avant que la <literal>Session</literal> soit fermée, la collection n'est pas capable de se charger. <emphasis>Hibernate ne supporte pas le chargement tardif pour des objets détachés</emphasis>. La solution à ce problème est de déplacer le code qui lit la collection avant le \"commit\" de la transaction."
+#. Tag: para
+#: performance.xml:142
+#, 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>. The fix is to move the code that reads from the "
+"collection to just before the transaction is committed."
+msgstr ""
+"Etant donné que la collection des permissions n'a pas été initialisée avant "
+"que la <literal>Session</literal> soit fermée, la collection n'est pas "
+"capable de se charger. <emphasis>Hibernate ne supporte pas le chargement "
+"tardif pour des objets détachés</emphasis>. La solution à ce problème est de "
+"déplacer le code qui lit la collection avant le \"commit\" de la transaction."
 
-#: index.docbook:150
-msgid "Alternatively, we could use a non-lazy collection or association, by specifying <literal>lazy=\"false\"</literal> for the association mapping. However, it is intended that lazy initialization be used for almost all collections and associations. If you define too many non-lazy associations in your object model, Hibernate will end up needing to fetch the entire database into memory in every transaction!"
-msgstr "Une autre alternative est d'utiliser une collection ou une association non \"tardive\" en spécifiant <literal>lazy=\"false\"</literal> dans le mapping de l'association. Cependant il est prévu que le chargement tardif soit utilisé pour quasiment toutes les collections ou associations. Si vous définissez trop d'associtions non \"tardives\" dans votre modèle objet, Hibernate va finir par devoir charger toute la base de données en mémoire à chaque transaction !"
+#. Tag: para
+#: performance.xml:150
+#, no-c-format
+msgid ""
+"Alternatively, we could use a non-lazy collection or association, by "
+"specifying <literal>lazy=\"false\"</literal> for the association mapping. "
+"However, it is intended that lazy initialization be used for almost all "
+"collections and associations. If you define too many non-lazy associations "
+"in your object model, Hibernate will end up needing to fetch the entire "
+"database into memory in every transaction!"
+msgstr ""
+"Une autre alternative est d'utiliser une collection ou une association non "
+"\"tardive\" en spécifiant <literal>lazy=\"false\"</literal> dans le mapping "
+"de l'association. Cependant il est prévu que le chargement tardif soit "
+"utilisé pour quasiment toutes les collections ou associations. Si vous "
+"définissez trop d'associtions non \"tardives\" dans votre modèle objet, "
+"Hibernate va finir par devoir charger toute la base de données en mémoire à "
+"chaque transaction !"
 
-#: index.docbook:159
-msgid "On the other hand, we often want to choose join fetching (which is non-lazy by nature) instead of select fetching in a particular transaction. We'll now see how to customize the fetching strategy. In Hibernate3, the mechanisms for choosing a fetch strategy are identical for single-valued associations and collections."
-msgstr "D'un autre côté, on veut souvent choisir un chargement par jointure (qui est par défaut non tardif) à la place du chargement par select dans une transaction particulière. Nous allons maintenant voir comment adapter les stratégies de chargement. Dans Hibernate3 les mécanismes pour choisir une stratégie de chargement sont identiques que l'on ait une association vers un objet simple ou vers une collection."
+#. Tag: para
+#: performance.xml:159
+#, no-c-format
+msgid ""
+"On the other hand, we often want to choose join fetching (which is non-lazy "
+"by nature) instead of select fetching in a particular transaction. We'll now "
+"see how to customize the fetching strategy. In Hibernate3, the mechanisms "
+"for choosing a fetch strategy are identical for single-valued associations "
+"and collections."
+msgstr ""
+"D'un autre côté, on veut souvent choisir un chargement par jointure (qui est "
+"par défaut non tardif) à la place du chargement par select dans une "
+"transaction particulière. Nous allons maintenant voir comment adapter les "
+"stratégies de chargement. Dans Hibernate3 les mécanismes pour choisir une "
+"stratégie de chargement sont identiques que l'on ait une association vers un "
+"objet simple ou vers une collection."
 
-#: index.docbook:170
+#. Tag: title
+#: performance.xml:170
+#, no-c-format
 msgid "Tuning fetch strategies"
 msgstr "Personnalisation des stratégies de chargement"
 
-#: index.docbook:172
-msgid "Select fetching (the default) is extremely vulnerable to N+1 selects problems, so we might want to enable join fetching in the mapping document:"
-msgstr "Le chargement par select (mode par défaut) est très vulnérable au problème du N+1 selects, du coup vous pouvez avoir envie d'activer le chargement par jointure dans les fichiers de mapping :"
+#. Tag: para
+#: performance.xml:172
+#, 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 ""
+"Le chargement par select (mode par défaut) est très vulnérable au problème "
+"du N+1 selects, du coup vous pouvez avoir envie d'activer le chargement par "
+"jointure dans les fichiers de mapping :"
 
-#: index.docbook:177
+#. Tag: programlisting
+#: performance.xml:177
+#, no-c-format
 msgid ""
-      "<![CDATA[<set name=\"permissions\" \n"
-      "            fetch=\"join\">\n"
-      "    <key column=\"userId\"/>\n"
-      "    <one-to-many class=\"Permission\"/>\n"
-      "</set]]>"
+"<![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]]>"
 
-#: index.docbook:179
+#. Tag: programlisting
+#: performance.xml:179
+#, 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\"/>]]>"
+msgstr ""
 
-#: index.docbook:181
-msgid "The <literal>fetch</literal> strategy defined in the mapping document affects:"
-msgstr "La stratégie de chargement définie à l'aide du mot <literal>fetch</literal> dans les fichiers de mapping affecte :"
+#. Tag: para
+#: performance.xml:181
+#, no-c-format
+msgid ""
+"The <literal>fetch</literal> strategy defined in the mapping document "
+"affects:"
+msgstr ""
+"La stratégie de chargement définie à l'aide du mot <literal>fetch</literal> "
+"dans les fichiers de mapping affecte :"
 
-#: index.docbook:187
+#. Tag: para
+#: performance.xml:187
+#, no-c-format
 msgid "retrieval via <literal>get()</literal> or <literal>load()</literal>"
-msgstr "La récupération via <literal>get()</literal> ou <literal>load()</literal>"
+msgstr ""
+"La récupération via <literal>get()</literal> ou <literal>load()</literal>"
 
-#: index.docbook:192
+#. Tag: para
+#: performance.xml:192
+#, no-c-format
 msgid "retrieval that happens implicitly when an association is navigated"
-msgstr "La récupération implicite lorsque l'on navigue à travers une association"
+msgstr ""
+"La récupération implicite lorsque l'on navigue à travers une association"
 
-#: index.docbook:197
+#. Tag: para
+#: performance.xml:197
+#, no-c-format
 msgid "<literal>Criteria</literal> queries"
 msgstr "Les requêtes de type <literal>Criteria</literal>"
 
-#: index.docbook:202
+#. Tag: para
+#: performance.xml:202
+#, no-c-format
 msgid "HQL queries if <literal>subselect</literal> fetching is used"
-msgstr "Les requêtes HQL si l'on utilise le chargement par <literal>subselect</literal>"
+msgstr ""
+"Les requêtes HQL si l'on utilise le chargement par <literal>subselect</"
+"literal>"
 
-#: index.docbook:208
-msgid "No matter what fetching strategy you use, the defined non-lazy graph is guaranteed to be loaded into memory. Note that this might result in several immediate selects being used to execute a particular HQL query."
-msgstr "Quelle que soit la stratégie de chargement que vous utilisez, la partie du graphe d'objets qui est définie comme non \"tardive\" sera chargée en mémoire. Cela peut mener à l'exécution de plusieurs selects successifs pour une seule requête HQL."
+#. Tag: para
+#: performance.xml:208
+#, no-c-format
+msgid ""
+"No matter what fetching strategy you use, the defined non-lazy graph is "
+"guaranteed to be loaded into memory. Note that this might result in several "
+"immediate selects being used to execute a particular HQL query."
+msgstr ""
+"Quelle que soit la stratégie de chargement que vous utilisez, la partie du "
+"graphe d'objets qui est définie comme non \"tardive\" sera chargée en "
+"mémoire. Cela peut mener à l'exécution de plusieurs selects successifs pour "
+"une seule requête HQL."
 
-#: index.docbook:214
-msgid "Usually, we don't use the mapping document to customize fetching. Instead, we keep the default behavior, and override it for a particular transaction, using <literal>left join fetch</literal> in HQL. This tells Hibernate to fetch the association eagerly in the first select, using an outer join. In the <literal>Criteria</literal> query API, you would use <literal>setFetchMode(FetchMode.JOIN)</literal>."
-msgstr "On n'utilise pas souvent les documents de mapping pour adapter le chargement. Au lieu de cela, on conserve le comportement par défaut et on le surcharge pour une transaction particulière en utilisant <literal>left join fetch</literal> dans les requêtes HQL. Cela indique à hibernate à Hibernate de charger l'association de manière agressive lors du premier select en utilisant une jointure externe. Dans l'API Criteria vous pouvez utiliser la méthode <literal>setFetchMode(FetchMode.JOIN)</literal>"
+#. Tag: para
+#: performance.xml:214
+#, no-c-format
+msgid ""
+"Usually, we don't use the mapping document to customize fetching. Instead, "
+"we keep the default behavior, and override it for a particular transaction, "
+"using <literal>left join fetch</literal> in HQL. This tells Hibernate to "
+"fetch the association eagerly in the first select, using an outer join. In "
+"the <literal>Criteria</literal> query API, you would use "
+"<literal>setFetchMode(FetchMode.JOIN)</literal>."
+msgstr ""
+"On n'utilise pas souvent les documents de mapping pour adapter le "
+"chargement. Au lieu de cela, on conserve le comportement par défaut et on le "
+"surcharge pour une transaction particulière en utilisant <literal>left join "
+"fetch</literal> dans les requêtes HQL. Cela indique à hibernate à Hibernate "
+"de charger l'association de manière agressive lors du premier select en "
+"utilisant une jointure externe. Dans l'API Criteria vous pouvez utiliser la "
+"méthode <literal>setFetchMode(FetchMode.JOIN)</literal>"
 
-#: index.docbook:223
-msgid "If you ever feel like you wish you could change the fetching strategy used by <literal>get()</literal> or <literal>load()</literal>, simply use a <literal>Criteria</literal> query, for example:"
-msgstr "Si vous ne vous sentez pas prêt à modifier la stratégie de chargement utilisé par <literal>get()</literal> ou <literal>load()</literal>, vous pouvez juste utiliser une requête de type <literal>Criteria</literal> comme par exemple :"
+#. Tag: para
+#: performance.xml:223
+#, no-c-format
+msgid ""
+"If you ever feel like you wish you could change the fetching strategy used "
+"by <literal>get()</literal> or <literal>load()</literal>, simply use a "
+"<literal>Criteria</literal> query, for example:"
+msgstr ""
+"Si vous ne vous sentez pas prêt à modifier la stratégie de chargement "
+"utilisé par <literal>get()</literal> ou <literal>load()</literal>, vous "
+"pouvez juste utiliser une requête de type <literal>Criteria</literal> comme "
+"par exemple :"
 
-#: index.docbook:229
+#. Tag: programlisting
+#: performance.xml:229
+#, no-c-format
 msgid ""
-      "<![CDATA[User user = (User) session.createCriteria(User.class)\n"
-      "                .setFetchMode(\"permissions\", FetchMode.JOIN)\n"
-      "                .add( Restrictions.idEq(userId) )\n"
-      "                .uniqueResult();]]>"
+"<![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();]]>"
 
-#: index.docbook:231
-msgid "(This is Hibernate's equivalent of what some ORM solutions call a \"fetch plan\".)"
-msgstr "(Il s'agit de l'équivalent pour Hibernate de ce que d'autres outils de mapping appellent un \"fetch plan\" ou \"plan de chargement\")"
+#. Tag: para
+#: performance.xml:231
+#, no-c-format
+msgid ""
+"(This is Hibernate's equivalent of what some ORM solutions call a \"fetch "
+"plan\".)"
+msgstr ""
+"(Il s'agit de l'équivalent pour Hibernate de ce que d'autres outils de "
+"mapping appellent un \"fetch plan\" ou \"plan de chargement\")"
 
-#: index.docbook:235
-msgid "A completely different way to avoid problems with N+1 selects is to use the second-level cache."
-msgstr "Une autre manière complètement différente d'éviter le problème des N+1 selects est d'utiliser le cache de second niveau."
+#. Tag: para
+#: performance.xml:235
+#, no-c-format
+msgid ""
+"A completely different way to avoid problems with N+1 selects is to use the "
+"second-level cache."
+msgstr ""
+"Une autre manière complètement différente d'éviter le problème des N+1 "
+"selects est d'utiliser le cache de second niveau."
 
-#: index.docbook:243
+#. Tag: title
+#: performance.xml:243
+#, no-c-format
 msgid "Single-ended association proxies"
 msgstr "Proxys pour des associations vers un seul objet"
 
-#: index.docbook:245
-msgid "Lazy fetching for collections is implemented using Hibernate's own implementation of persistent collections. However, a different mechanism is needed for lazy behavior in single-ended associations. The target entity of the association must be proxied. Hibernate implements lazy initializing proxies for persistent objects using runtime bytecode enhancement (via the excellent CGLIB library)."
-msgstr "Le chargement tardif des collections est implémenté par Hibernate en utilisant ses propres implémentations pour des collections persistantes. Si l'on veut un chargement tardif pour des associations vers un seul objet métier il faut utiliser un autre mécanisme. L'entité qui est pointée par l'association doit être masquée derrière un proxy. Hibernate implémente l'initialisation tardive des proxys sur des objets persistents via une mise à jour à chaud du bytecode (à l'aide de l'excellente librairie CGLIB)."
+#. Tag: para
+#: performance.xml:245
+#, no-c-format
+msgid ""
+"Lazy fetching for collections is implemented using Hibernate's own "
+"implementation of persistent collections. However, a different mechanism is "
+"needed for lazy behavior in single-ended associations. The target entity of "
+"the association must be proxied. Hibernate implements lazy initializing "
+"proxies for persistent objects using runtime bytecode enhancement (via the "
+"excellent CGLIB library)."
+msgstr ""
+"Le chargement tardif des collections est implémenté par Hibernate en "
+"utilisant ses propres implémentations pour des collections persistantes. Si "
+"l'on veut un chargement tardif pour des associations vers un seul objet "
+"métier il faut utiliser un autre mécanisme. L'entité qui est pointée par "
+"l'association doit être masquée derrière un proxy. Hibernate implémente "
+"l'initialisation tardive des proxys sur des objets persistents via une mise "
+"à jour à chaud du bytecode (à l'aide de l'excellente librairie CGLIB)."
 
-#: index.docbook:253
-msgid "By default, Hibernate3 generates proxies (at startup) for all persistent classes and uses them to enable lazy fetching of <literal>many-to-one</literal> and <literal>one-to-one</literal> associations."
-msgstr "Par défaut, Hibernate génère des proxys (au démarrage) pour toutes les classes persistantes et les utilise pour activer le chargement tardif des associations <literal>many-to-one</literal> et <literal>one-to-one</literal>."
+#. Tag: para
+#: performance.xml:253
+#, no-c-format
+msgid ""
+"By default, Hibernate3 generates proxies (at startup) for all persistent "
+"classes and uses them to enable lazy fetching of <literal>many-to-one</"
+"literal> and <literal>one-to-one</literal> associations."
+msgstr ""
+"Par défaut, Hibernate génère des proxys (au démarrage) pour toutes les "
+"classes persistantes et les utilise pour activer le chargement tardif des "
+"associations <literal>many-to-one</literal> et <literal>one-to-one</literal>."
 
-#: index.docbook:259
-msgid "The mapping file may declare an interface to use as the proxy interface for that class, with the <literal>proxy</literal> attribute. By default, Hibernate uses a subclass of the class. <emphasis>Note that the proxied class must implement a default constructor with at least package visibility. We recommend this constructor for all persistent classes!</emphasis>"
-msgstr "Le fichier de mapping peut déclarer une interface qui sera utilisée par le proxy d'interfaçage pour cette classe à l'aide de l'attribut <literal>proxy</literal>. Par défaut Hibernate utilises une sous classe de la classe persistante. <emphasis>Il faut que les classes pour lesquelles on ajoute un proxy implémentent un constructeur par défaut de visibilité au moins package. Ce constructeur est recommandé pour toutes les classes persistantes !</emphasis>"
+#. Tag: para
+#: performance.xml:259
+#, 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, "
+"Hibernate uses a subclass of the class. <emphasis>Note that the proxied "
+"class must implement a default constructor with at least package visibility. "
+"We recommend this constructor for all persistent classes!</emphasis>"
+msgstr ""
+"Le fichier de mapping peut déclarer une interface qui sera utilisée par le "
+"proxy d'interfaçage pour cette classe à l'aide de l'attribut <literal>proxy</"
+"literal>. Par défaut Hibernate utilises une sous classe de la classe "
+"persistante. <emphasis>Il faut que les classes pour lesquelles on ajoute un "
+"proxy implémentent un constructeur par défaut de visibilité au moins "
+"package. Ce constructeur est recommandé pour toutes les classes "
+"persistantes !</emphasis>"
 
-#: index.docbook:266
-msgid "There are some gotchas to be aware of when extending this approach to polymorphic classes, eg."
-msgstr "Il y a quelques précautions à prendre lorsque l'on étend cette approche à des classes polymorphiques, exemple :"
+#. Tag: para
+#: performance.xml:266
+#, no-c-format
+msgid ""
+"There are some gotchas to be aware of when extending this approach to "
+"polymorphic classes, eg."
+msgstr ""
+"Il y a quelques précautions à prendre lorsque l'on étend cette approche à "
+"des classes polymorphiques, exemple :"
 
-#: index.docbook:271
+#. Tag: programlisting
+#: performance.xml:271
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Cat\" proxy=\"Cat\">\n"
-      "    ......\n"
-      "    <subclass name=\"DomesticCat\">\n"
-      "        .....\n"
-      "    </subclass>\n"
-      "</class>]]>"
+"<![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\" proxy=\"DomesticCat\">\n"
-      "            .....\n"
-      "        </subclass>\n"
-      "    </class>]]>"
 
-#: index.docbook:273
-msgid "Firstly, instances of <literal>Cat</literal> will never be castable to <literal>DomesticCat</literal>, even if the underlying instance is an instance of <literal>DomesticCat</literal>:"
-msgstr "Tout d'abord, les instances de <literal>Cat</literal> ne pourront jamais être \"castées\" en <literal>DomesticCat</literal>, même si l'instance sous jacente est une instance de <literal>DomesticCat</literal> :"
+#. Tag: para
+#: performance.xml:273
+#, 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 ""
+"Tout d'abord, les instances de <literal>Cat</literal> ne pourront jamais "
+"être \"castées\" en <literal>DomesticCat</literal>, même si l'instance sous "
+"jacente est une instance de <literal>DomesticCat</literal> :"
 
-#: index.docbook:279
+#. Tag: programlisting
+#: performance.xml:279
+#, 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"
-      "}]]>"
+"<![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);  // instancie un proxy (n'interroge pas la base de données)\n"
-      "if ( cat.isDomesticCat() ) {                  // interroge la base de données pour initialiser le proxy\n"
-      "    DomesticCat dc = (DomesticCat) cat;       // Erreur !\n"
-      "    ....\n"
-      "}]]>"
 
-#: index.docbook:281
+#. Tag: para
+#: performance.xml:281
+#, no-c-format
 msgid "Secondly, it is possible to break proxy <literal>==</literal>."
-msgstr "Deuxièmement, il est possible de casser la notion d'<literal>==</literal> des proxy."
+msgstr ""
+"Deuxièmement, il est possible de casser la notion d'<literal>==</literal> "
+"des proxy."
 
-#: index.docbook:285
+#. Tag: programlisting
+#: performance.xml:285
+#, 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]]>"
+"<![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);            // instancie un proxy Cat\n"
-      "DomesticCat dc = \n"
-      "    (DomesticCat) session.load(DomesticCat.class, id);  // acquiert un nouveau proxy DomesticCat\n"
-      "System.out.println(cat==dc);                            // faux]]>"
 
-#: index.docbook:287
-msgid "However, the situation is not quite as bad as it looks. Even though we now have two references to different proxy objects, the underlying instance will still be the same object:"
-msgstr "Cette situation n'est pas si mauvaise qu'il n'y parait. Même si nous avons deux références à deux objets proxys différents, l'instance de base sera quand même le même objet :"
+#. Tag: para
+#: performance.xml:287
+#, 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 ""
+"Cette situation n'est pas si mauvaise qu'il n'y parait. Même si nous avons "
+"deux références à deux objets proxys différents, l'instance de base sera "
+"quand même le même objet :"
 
-#: index.docbook:292
+#. Tag: programlisting
+#: performance.xml:292
+#, no-c-format
 msgid ""
-      "<![CDATA[cat.setWeight(11.0);  // hit the db to initialize the proxy\n"
-      "System.out.println( dc.getWeight() );  // 11.0]]>"
+"<![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);  // interroge la base de données pour initialiser le proxy\n"
-      "System.out.println( dc.getWeight() );  // 11.0]]>"
 
-#: index.docbook:294
-msgid "Third, you may not use a CGLIB proxy for a <literal>final</literal> class or a class with any <literal>final</literal> methods."
-msgstr "Troisièmement, vous ne pourrez pas utiliser un proxy CGLIB pour une classe <literal>final</literal> ou pour une classe contenant la moindre méthode <literal>final</literal>."
+#. Tag: para
+#: performance.xml:294
+#, no-c-format
+msgid ""
+"Third, you may not use a CGLIB proxy for a <literal>final</literal> class or "
+"a class with any <literal>final</literal> methods."
+msgstr ""
+"Troisièmement, vous ne pourrez pas utiliser un proxy CGLIB pour une classe "
+"<literal>final</literal> ou pour une classe contenant la moindre méthode "
+"<literal>final</literal>."
 
-#: index.docbook:299
-msgid "Finally, if your persistent object acquires any resources upon instantiation (eg. in initializers or default constructor), then those resources will also be acquired by the proxy. The proxy class is an actual subclass of the persistent class."
-msgstr "Enfin, si votre objet persistant obtient une ressource à l'instanciation (par example dans les initialiseurs ou dans le contructeur par défaut), alors ces ressources seront aussi obtenues par le proxy. La classe proxy est vraiment une sous classe de la classe persistante."
+#. Tag: para
+#: performance.xml:299
+#, no-c-format
+msgid ""
+"Finally, if your persistent object acquires any resources upon instantiation "
+"(eg. 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 ""
+"Enfin, si votre objet persistant obtient une ressource à l'instanciation "
+"(par example dans les initialiseurs ou dans le contructeur par défaut), "
+"alors ces ressources seront aussi obtenues par le proxy. La classe proxy est "
+"vraiment une sous classe de la classe persistante."
 
-#: index.docbook:305
-msgid "These problems are all due to fundamental limitations in Java's single inheritance model. If you wish to avoid these problems your persistent classes must each implement an interface that declares its business methods. You should specify these interfaces in the mapping file. eg."
-msgstr "Ces problèmes sont tous dus aux limitations fondamentales du modèle d'héritage unique de Java. Si vous souhaitez éviter ces problèmes, vos classes persistantes doivent chacune implémenter une interface qui déclare ses méthodes métier. Vous devriez alors spécifier ces interfaces dans le fichier de mapping :"
+#. Tag: para
+#: performance.xml:305
+#, no-c-format
+msgid ""
+"These problems are all due to fundamental limitations in Java's single "
+"inheritance model. If you wish to avoid these problems your persistent "
+"classes must each implement an interface that declares its business methods. "
+"You should specify these interfaces in the mapping file. eg."
+msgstr ""
+"Ces problèmes sont tous dus aux limitations fondamentales du modèle "
+"d'héritage unique de Java. Si vous souhaitez éviter ces problèmes, vos "
+"classes persistantes doivent chacune implémenter une interface qui déclare "
+"ses méthodes métier. Vous devriez alors spécifier ces interfaces dans le "
+"fichier de mapping :"
 
-#: index.docbook:311
+#. Tag: programlisting
+#: performance.xml:311
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"CatImpl\" proxy=\"Cat\">\n"
-      "    ......\n"
-      "    <subclass name=\"DomesticCatImpl\" proxy=\"DomesticCat\">\n"
-      "        .....\n"
-      "    </subclass>\n"
-      "</class>]]>"
+"<![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>]]>"
 
-#: index.docbook:313
-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 "où <literal>CatImpl</literal> implémente l'interface <literal>Cat</literal> et <literal>DomesticCatImpl</literal> implémente l'interface <literal>DomesticCat</literal>. Ainsi, des proxys pour les instances de <literal>Cat</literal> et <literal>DomesticCat</literal> pourraient être retournées par <literal>load()</literal> ou <literal>iterate()</literal> (Notez que <literal>list()</literal> ne retourne généralement pas de proxy)."
+#. Tag: para
+#: performance.xml:313
+#, no-c-format
+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 ""
+"où <literal>CatImpl</literal> implémente l'interface <literal>Cat</literal> "
+"et <literal>DomesticCatImpl</literal> implémente l'interface "
+"<literal>DomesticCat</literal>. Ainsi, des proxys pour les instances de "
+"<literal>Cat</literal> et <literal>DomesticCat</literal> pourraient être "
+"retournées par <literal>load()</literal> ou <literal>iterate()</literal> "
+"(Notez que <literal>list()</literal> ne retourne généralement pas de proxy)."
 
-#: index.docbook:321
+#. Tag: programlisting
+#: performance.xml:321
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:323
-msgid "Relationships are also lazily initialized. This means you must declare any properties to be of type <literal>Cat</literal>, not <literal>CatImpl</literal>."
-msgstr "Les relations sont aussi initialisées tardivement. Ceci signifie que vous devez déclarer chaque propriété comme étant de type <literal>Cat</literal>, et non <literal>CatImpl</literal>."
+#. Tag: para
+#: performance.xml:323
+#, 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 ""
+"Les relations sont aussi initialisées tardivement. Ceci signifie que vous "
+"devez déclarer chaque propriété comme étant de type <literal>Cat</literal>, "
+"et non <literal>CatImpl</literal>."
 
-#: index.docbook:328
-msgid "Certain operations do <emphasis>not</emphasis> require proxy initialization"
+#. Tag: para
+#: performance.xml:328
+#, no-c-format
+msgid ""
+"Certain operations do <emphasis>not</emphasis> require proxy initialization"
 msgstr "Certaines opérations ne nécessitent pas l'initialisation du proxy"
 
-#: index.docbook:334
-msgid "<literal>equals()</literal>, if the persistent class does not override <literal>equals()</literal>"
-msgstr "<literal>equals()</literal>, si la classe persistante ne surcharge pas <literal>equals()</literal>"
+#. Tag: para
+#: performance.xml:334
+#, no-c-format
+msgid ""
+"<literal>equals()</literal>, if the persistent class does not override "
+"<literal>equals()</literal>"
+msgstr ""
+"<literal>equals()</literal>, si la classe persistante ne surcharge pas "
+"<literal>equals()</literal>"
 
-#: index.docbook:340
-msgid "<literal>hashCode()</literal>, if the persistent class does not override <literal>hashCode()</literal>"
-msgstr "<literal>hashCode()</literal>, si la classe persistante ne surcharge pas <literal>hashCode()</literal>"
+#. Tag: para
+#: performance.xml:340
+#, no-c-format
+msgid ""
+"<literal>hashCode()</literal>, if the persistent class does not override "
+"<literal>hashCode()</literal>"
+msgstr ""
+"<literal>hashCode()</literal>, si la classe persistante ne surcharge pas "
+"<literal>hashCode()</literal>"
 
-#: index.docbook:346
+#. Tag: para
+#: performance.xml:346
+#, no-c-format
 msgid "The identifier getter method"
 msgstr "Le getter de l'identifiant"
 
-#: index.docbook:352
-msgid "Hibernate will detect persistent classes that override <literal>equals()</literal> or <literal>hashCode()</literal>."
-msgstr "Hibernate détectera les classes qui surchargent <literal>equals()</literal> ou <literal>hashCode()</literal>."
+#. Tag: para
+#: performance.xml:352
+#, no-c-format
+msgid ""
+"Hibernate will detect persistent classes that override <literal>equals()</"
+"literal> or <literal>hashCode()</literal>."
+msgstr ""
+"Hibernate détectera les classes qui surchargent <literal>equals()</literal> "
+"ou <literal>hashCode()</literal>."
 
-#: index.docbook:357
-msgid "By choosing <literal>lazy=\"no-proxy\"</literal> instead of the default <literal>lazy=\"proxy\"</literal>, we can avoid the problems associated with typecasting. However, we will require buildtime bytecode instrumentation, and all operations will result in immediate proxy initialization."
-msgstr "Eh choisissant <literal>lazy=\"no-proxy\"</literal> au lieu de <literal>lazy=\"proxy\"</literal> qui est la valeur par défaut, il est possible d'éviter les problèmes liés au transtypage. Il faudra alors une instrumentation du bytecode à la compilation et toutes les opérations résulterons immédiatement en une initialisation du proxy."
+#. Tag: para
+#: performance.xml:357
+#, no-c-format
+msgid ""
+"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."
+msgstr ""
+"Eh choisissant <literal>lazy=\"no-proxy\"</literal> au lieu de <literal>lazy="
+"\"proxy\"</literal> qui est la valeur par défaut, il est possible d'éviter "
+"les problèmes liés au transtypage. Il faudra alors une instrumentation du "
+"bytecode à la compilation et toutes les opérations résulterons immédiatement "
+"en une initialisation du proxy."
 
-#: index.docbook:367
+#. Tag: title
+#: performance.xml:367
+#, no-c-format
 msgid "Initializing collections and proxies"
 msgstr "Initialisation des collections et des proxys"
 
-#: index.docbook:369
-msgid "A <literal>LazyInitializationException</literal> will be thrown by Hibernate if an uninitialized collection or proxy is accessed outside of the scope of the <literal>Session</literal>, ie. when the entity owning the collection or having the reference to the proxy is in the detached state."
-msgstr "Une exception de type <literal>LazyInitializationException</literal> sera renvoyée par hibernate si une collection ou un proxy non initialisé est accédé en dehors de la portée de la <literal>Session</literal>, e.g. lorsque l'entité à laquelle appartient la collection ou qui a une référence vers le proxy est dans l'état \"détachée\"."
+#. Tag: para
+#: performance.xml:369
+#, 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>, ie. when the entity owning the collection or "
+"having the reference to the proxy is in the detached state."
+msgstr ""
+"Une exception de type <literal>LazyInitializationException</literal> sera "
+"renvoyée par hibernate si une collection ou un proxy non initialisé est "
+"accédé en dehors de la portée de la <literal>Session</literal>, e.g. lorsque "
+"l'entité à laquelle appartient la collection ou qui a une référence vers le "
+"proxy est dans l'état \"détachée\"."
 
-#: index.docbook:375
-msgid "Sometimes we need to ensure that a proxy or collection is initialized before closing the <literal>Session</literal>. Of course, we can alway force initialization by calling <literal>cat.getSex()</literal> or <literal>cat.getKittens().size()</literal>, for example. But that is confusing to readers of the code and is not convenient for generic code."
-msgstr "Parfois, nous devons nous assurer qu'un proxy ou une collection est initialisée avant de fermer la <literal>Session</literal>. Bien sûr, nous pouvons toujours forcer l'initialisation en appelant par exemple <literal>cat.getSex()</literal> ou <literal>cat.getKittens().size()</literal>. Mais ceci n'est pas très lisible pour les personnes parcourant le code et n'est pas très générique."
+#. Tag: para
+#: performance.xml:375
+#, no-c-format
+msgid ""
+"Sometimes we need to ensure that a proxy or collection is initialized before "
+"closing the <literal>Session</literal>. Of course, we can alway force "
+"initialization by calling <literal>cat.getSex()</literal> or <literal>cat."
+"getKittens().size()</literal>, for example. But that is confusing to readers "
+"of the code and is not convenient for generic code."
+msgstr ""
+"Parfois, nous devons nous assurer qu'un proxy ou une collection est "
+"initialisée avant de fermer la <literal>Session</literal>. Bien sûr, nous "
+"pouvons toujours forcer l'initialisation en appelant par exemple "
+"<literal>cat.getSex()</literal> ou <literal>cat.getKittens().size()</"
+"literal>. Mais ceci n'est pas très lisible pour les personnes parcourant le "
+"code et n'est pas très générique."
 
-#: index.docbook:382
-msgid "The static methods <literal>Hibernate.initialize()</literal> and <literal>Hibernate.isInitialized()</literal> provide the application with a convenient way of working with lazily initialized collections or proxies. <literal>Hibernate.initialize(cat)</literal> will force the initialization of a proxy, <literal>cat</literal>, as long as its <literal>Session</literal> is still open. <literal>Hibernate.initialize( cat.getKittens() )</literal> has a similar effect for the collection of kittens."
-msgstr "Les méthodes statiques <literal>Hibernate.initialize()</literal> et <literal>Hibernate.isInitialized()</literal> fournissent à l'application un moyen de travailler avec des proxys ou des collections initialisés. <literal>Hibernate.initialize(cat)</literal> forcera l'initialisation d'un proxy de <literal>cat</literal>, si tant est que sa <literal>Session</literal> est ouverte. <literal>Hibernate.initialize( cat.getKittens() )</literal> a le même effet sur la collection kittens."
+#. Tag: para
+#: performance.xml:382
+#, no-c-format
+msgid ""
+"The static methods <literal>Hibernate.initialize()</literal> and "
+"<literal>Hibernate.isInitialized()</literal> provide the application with a "
+"convenient way of working with lazily initialized collections or proxies. "
+"<literal>Hibernate.initialize(cat)</literal> will force the initialization "
+"of a proxy, <literal>cat</literal>, as long as its <literal>Session</"
+"literal> is still open. <literal>Hibernate.initialize( cat.getKittens() )</"
+"literal> has a similar effect for the collection of kittens."
+msgstr ""
+"Les méthodes statiques <literal>Hibernate.initialize()</literal> et "
+"<literal>Hibernate.isInitialized()</literal> fournissent à l'application un "
+"moyen de travailler avec des proxys ou des collections initialisés. "
+"<literal>Hibernate.initialize(cat)</literal> forcera l'initialisation d'un "
+"proxy de <literal>cat</literal>, si tant est que sa <literal>Session</"
+"literal> est ouverte. <literal>Hibernate.initialize( cat.getKittens() )</"
+"literal> a le même effet sur la collection kittens."
 
-#: index.docbook:391
-msgid "Another option is to keep the <literal>Session</literal> open until all needed collections and proxies have been loaded. In some application architectures, particularly where the code that accesses data using Hibernate, and the code that uses it are in different application layers or different physical processes, it can be a problem to ensure that the <literal>Session</literal> is open when a collection is initialized. There are two basic ways to deal with this issue:"
-msgstr "Une autre option est de conserver la <literal>Session</literal> ouverte jusqu'à ce que toutes les collections et tous les proxys aient été chargés. Dans certaines architectures applicatives, particulièrement celles ou le code d'accès aux données via hiberante et le code qui utilise ces données sont dans des couches applicatives différentes ou des processus physiques différents, il peut devenir problématique de garantir que la <literal>Session</literal> est ouverte lorsqu'une collection est initialisée. Il y a deux moyens de traiter ce problème :"
+#. Tag: para
+#: performance.xml:391
+#, no-c-format
+msgid ""
+"Another option is to keep the <literal>Session</literal> open until all "
+"needed collections and proxies have been loaded. In some application "
+"architectures, particularly where the code that accesses data using "
+"Hibernate, and the code that uses it are in different application layers or "
+"different physical processes, it can be a problem to ensure that the "
+"<literal>Session</literal> is open when a collection is initialized. There "
+"are two basic ways to deal with this issue:"
+msgstr ""
+"Une autre option est de conserver la <literal>Session</literal> ouverte "
+"jusqu'à ce que toutes les collections et tous les proxys aient été chargés. "
+"Dans certaines architectures applicatives, particulièrement celles ou le "
+"code d'accès aux données via hiberante et le code qui utilise ces données "
+"sont dans des couches applicatives différentes ou des processus physiques "
+"différents, il peut devenir problématique de garantir que la "
+"<literal>Session</literal> est ouverte lorsqu'une collection est "
+"initialisée. Il y a deux moyens de traiter ce problème :"
 
-#: index.docbook:402
-msgid "In a web-based application, a servlet filter can be used to close the <literal>Session</literal> only at the very end of a user request, once the rendering of the view is complete (the <emphasis>Open Session in View</emphasis> pattern). Of course, this places heavy demands on the correctness of the exception handling of your application infrastructure. It is vitally important that the <literal>Session</literal> is closed and the transaction ended before returning to the user, even when an exception occurs during rendering of the view. See the Hibernate Wiki for examples of this \"Open Session in View\" pattern."
-msgstr "Dans une application web, un filtre de servlet peut être utilisé pour fermer la <literal>Session</literal> uniquement lorsque la requête a été entièrement traitée, lorsque le rendu de la vue est fini (il s'agit du pattern <emphasis>Open Session in View</emphasis>). Bien sûr, cela demande plus d'attention à la bonne gestion des exceptions de l'application. Il est d'une importance vitale que la <literal>Session</literal> soit fermée et la transaction terminée avant que l'on rende la main à l'utilisateur même si une exception survient durant le traitement de la vue. Voir le wiki Hibernate pour des exemples sur le pattern \"Open Session in View\"."
+#. Tag: para
+#: performance.xml:402
+#, no-c-format
+msgid ""
+"In a web-based application, a servlet filter can be used to close the "
+"<literal>Session</literal> only at the very end of a user request, once the "
+"rendering of the view is complete (the <emphasis>Open Session in View</"
+"emphasis> pattern). Of course, this places heavy demands on the correctness "
+"of the exception handling of your application infrastructure. It is vitally "
+"important that the <literal>Session</literal> is closed and the transaction "
+"ended before returning to the user, even when an exception occurs during "
+"rendering of the view. See the Hibernate Wiki for examples of this \"Open "
+"Session in View\" pattern."
+msgstr ""
+"Dans une application web, un filtre de servlet peut être utilisé pour fermer "
+"la <literal>Session</literal> uniquement lorsque la requête a été "
+"entièrement traitée, lorsque le rendu de la vue est fini (il s'agit du "
+"pattern <emphasis>Open Session in View</emphasis>). Bien sûr, cela demande "
+"plus d'attention à la bonne gestion des exceptions de l'application. Il est "
+"d'une importance vitale que la <literal>Session</literal> soit fermée et la "
+"transaction terminée avant que l'on rende la main à l'utilisateur même si "
+"une exception survient durant le traitement de la vue. Voir le wiki "
+"Hibernate pour des exemples sur le pattern \"Open Session in View\"."
 
-#: index.docbook:415
-msgid "In an application with a separate business tier, the business logic must \"prepare\" all collections that will be needed by the web tier before returning. This means that the business tier should load all the data and return all the data already initialized to the presentation/web tier that is required for a particular use case. Usually, the application calls <literal>Hibernate.initialize()</literal> for each collection that will be needed in the web tier (this call must occur before the session is closed) or retrieves the collection eagerly using a Hibernate query with a <literal>FETCH</literal> clause or a <literal>FetchMode.JOIN</literal> in <literal>Criteria</literal>. This is usually easier if you adopt the <emphasis>Command</emphasis> pattern instead of a <emphasis>Session Facade</emphasis>."
-msgstr "Dans une application avec une couche métier séparée, la couche contenant la logique métier doit \"préparer\" toutes les collections qui seront nécessaires à la couche web avant de retourner les données. Cela signifie que la couche métier doit charger toutes les données et retourner toutes les données déjà initialisées à la couche de présentation/web pour un cas d'utilisation donné. En général l'application appelle la méthode <literal>Hibernate.initialize()</literal> pour chaque collection nécessaire dans la couche web (cet appel doit être fait avant la fermeture de la session) ou bien récupère les collections de manière agressive à l'aide d'une requête HQL avec une clause <literal>FETCH</literal> ou à l'aide du mode <literal>FetchMode.JOIN</literal> pour une requête de type <literal>Criteria</literal>. Cela est en général plus facile si vous utilisez le pattern <emphasis>Command</emphasis> plutôt que <emphasis>Session Facade</emphasis!
 >."
+#. Tag: para
+#: performance.xml:415
+#, no-c-format
+msgid ""
+"In an application with a separate business tier, the business logic must "
+"\"prepare\" all collections that will be needed by the web tier before "
+"returning. This means that the business tier should load all the data and "
+"return all the data already initialized to the presentation/web tier that is "
+"required for a particular use case. Usually, the application calls "
+"<literal>Hibernate.initialize()</literal> for each collection that will be "
+"needed in the web tier (this call must occur before the session is closed) "
+"or retrieves the collection eagerly using a Hibernate query with a "
+"<literal>FETCH</literal> clause or a <literal>FetchMode.JOIN</literal> in "
+"<literal>Criteria</literal>. This is usually easier if you adopt the "
+"<emphasis>Command</emphasis> pattern instead of a <emphasis>Session Facade</"
+"emphasis>."
+msgstr ""
+"Dans une application avec une couche métier séparée, la couche contenant la "
+"logique métier doit \"préparer\" toutes les collections qui seront "
+"nécessaires à la couche web avant de retourner les données. Cela signifie "
+"que la couche métier doit charger toutes les données et retourner toutes les "
+"données déjà initialisées à la couche de présentation/web pour un cas "
+"d'utilisation donné. En général l'application appelle la méthode "
+"<literal>Hibernate.initialize()</literal> pour chaque collection nécessaire "
+"dans la couche web (cet appel doit être fait avant la fermeture de la "
+"session) ou bien récupère les collections de manière agressive à l'aide "
+"d'une requête HQL avec une clause <literal>FETCH</literal> ou à l'aide du "
+"mode <literal>FetchMode.JOIN</literal> pour une requête de type "
+"<literal>Criteria</literal>. Cela est en général plus facile si vous "
+"utilisez le pattern <emphasis>Command</emphasis> plutôt que "
+"<emphasis>Session Facade</emphasis>."
 
-#: index.docbook:430
-msgid "You may also attach a previously loaded object to a new <literal>Session</literal> with <literal>merge()</literal> or <literal>lock()</literal> before accessing uninitialized collections (or other proxies). No, Hibernate does not, and certainly <emphasis>should</emphasis> not do this automatically, since it would introduce ad hoc transaction semantics!"
-msgstr "Vous pouvez également attacher à une <literal>Session</literal> un objet chargé au préalable à l'aide des méthodes <literal>merge()</literal> ou <literal>lock()</literal> avant d'accéder aux collections (ou aux proxys) non initialisés. Non, Hibernate ne fait pas, et ne doit pas faire, cela automatiquement car cela pourrait introduire une sémantique transactionnelle ad hoc."
+#. Tag: para
+#: performance.xml:430
+#, no-c-format
+msgid ""
+"You may also attach a previously loaded object to a new <literal>Session</"
+"literal> with <literal>merge()</literal> or <literal>lock()</literal> before "
+"accessing uninitialized collections (or other proxies). No, Hibernate does "
+"not, and certainly <emphasis>should</emphasis> not do this automatically, "
+"since it would introduce ad hoc transaction semantics!"
+msgstr ""
+"Vous pouvez également attacher à une <literal>Session</literal> un objet "
+"chargé au préalable à l'aide des méthodes <literal>merge()</literal> ou "
+"<literal>lock()</literal> avant d'accéder aux collections (ou aux proxys) "
+"non initialisés. Non, Hibernate ne fait pas, et ne doit pas faire, cela "
+"automatiquement car cela pourrait introduire une sémantique transactionnelle "
+"ad hoc."
 
-#: index.docbook:440
-msgid "Sometimes you don't want to initialize a large collection, but still need some information about it (like its size) or a subset of the data."
-msgstr "Parfois, vous ne voulez pas initialiser une grande collection mais vous avez quand même besoin d'informations sur elle (comme sa taille) ou un sous ensemble de ses données"
+#. Tag: para
+#: performance.xml:440
+#, no-c-format
+msgid ""
+"Sometimes you don't want to initialize a large collection, but still need "
+"some information about it (like its size) or a subset of the data."
+msgstr ""
+"Parfois, vous ne voulez pas initialiser une grande collection mais vous avez "
+"quand même besoin d'informations sur elle (comme sa taille) ou un sous "
+"ensemble de ses données"
 
-#: index.docbook:445
-msgid "You can use a collection filter to get the size of a collection without initializing it:"
-msgstr "Vous pouvez utiliser un filtre de collection pour récupérer sa taille sans l'initialiser :"
+#. Tag: para
+#: performance.xml:445
+#, no-c-format
+msgid ""
+"You can use a collection filter to get the size of a collection without "
+"initializing it:"
+msgstr ""
+"Vous pouvez utiliser un filtre de collection pour récupérer sa taille sans "
+"l'initialiser :"
 
-#: index.docbook:449
-msgid "<![CDATA[( (Integer) s.createFilter( collection, \"select count(*)\" ).list().get(0) ).intValue()]]>"
-msgstr "<![CDATA[( (Integer) s.createFilter( collection, \"select count(*)\" ).list().get(0) ).intValue()]]>"
+#. Tag: programlisting
+#: performance.xml:449
+#, no-c-format
+msgid ""
+"<![CDATA[( (Integer) s.createFilter( collection, \"select count(*)\" ).list"
+"().get(0) ).intValue()]]>"
+msgstr ""
 
-#: index.docbook:451
-msgid "The <literal>createFilter()</literal> method is also used to efficiently retrieve subsets of a collection without needing to initialize the whole collection:"
-msgstr "La méthode <literal>createFilter()</literal> est également utilisée pour récupérer de manière efficace des sous ensembles d'une collection sans avoir besoin de l'initialiser dans son ensemble."
+#. Tag: para
+#: performance.xml:451
+#, 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 ""
+"La méthode <literal>createFilter()</literal> est également utilisée pour "
+"récupérer de manière efficace des sous ensembles d'une collection sans avoir "
+"besoin de l'initialiser dans son ensemble."
 
-#: index.docbook:456
-msgid "<![CDATA[s.createFilter( lazyCollection, \"\").setFirstResult(0).setMaxResults(10).list();]]>"
-msgstr "<![CDATA[s.createFilter( lazyCollection, \"\").setFirstResult(0).setMaxResults(10).list();]]>"
+#. Tag: programlisting
+#: performance.xml:456
+#, no-c-format
+msgid ""
+"<![CDATA[s.createFilter( lazyCollection, \"\").setFirstResult(0)."
+"setMaxResults(10).list();]]>"
+msgstr ""
 
-#: index.docbook:461
+#. Tag: title
+#: performance.xml:461
+#, no-c-format
 msgid "Using batch fetching"
 msgstr "Utiliser le chargement par lot"
 
-#: index.docbook:463
-msgid "Hibernate can make efficient use of batch fetching, that is, Hibernate can load several uninitialized proxies if one proxy is accessed (or collections. Batch fetching is an optimization of the lazy select fetching strategy. There are two ways you can tune batch fetching: on the class and the collection level."
-msgstr "Pour améliorer les performances, Hibernate peut utiliser le chargement par lot ce qui veut dire qu'Hibernate peut charger plusieurs proxys (ou collections) non initialisés en une seule requête lorsque l'on accède à l'un de ces proxys. Le chargement par lot est une optimisation intimement liée à la stratégie de chargement tardif par select. Il y a deux moyens d'activer le chargement par lot : au niveau de la classe et au niveau de la collection."
+#. Tag: para
+#: performance.xml:463
+#, no-c-format
+msgid ""
+"Hibernate can make efficient use of batch fetching, that is, Hibernate can "
+"load several uninitialized proxies if one proxy is accessed (or collections. "
+"Batch fetching is an optimization of the lazy select fetching strategy. "
+"There are two ways you can tune batch fetching: on the class and the "
+"collection level."
+msgstr ""
+"Pour améliorer les performances, Hibernate peut utiliser le chargement par "
+"lot ce qui veut dire qu'Hibernate peut charger plusieurs proxys (ou "
+"collections) non initialisés en une seule requête lorsque l'on accède à l'un "
+"de ces proxys. Le chargement par lot est une optimisation intimement liée à "
+"la stratégie de chargement tardif par select. Il y a deux moyens d'activer "
+"le chargement par lot : au niveau de la classe et au niveau de la collection."
 
-#: index.docbook:469
-msgid "Batch fetching for classes/entities is easier to understand. Imagine you have the following situation at runtime: You have 25 <literal>Cat</literal> instances loaded in a <literal>Session</literal>, each <literal>Cat</literal> has a reference to its <literal>owner</literal>, a <literal>Person</literal>. The <literal>Person</literal> class is mapped with a proxy, <literal>lazy=\"true\"</literal>. If you now iterate through all cats and call <literal>getOwner()</literal> on each, Hibernate will by default execute 25 <literal>SELECT</literal> statements, to retrieve the proxied owners. You can tune this behavior by specifying a <literal>batch-size</literal> in the mapping of <literal>Person</literal>:"
-msgstr "Le chargement par lot pour les classes/entités est plus simple à comprendre. Imaginez que vous ayez la situation suivante à l'exécution : vous avez 25 instances de <literal>Cat</literal> chargées dans une <literal>Session</literal>, chaque <literal>Cat</literal> a une référence à son <literal>owner</literal>, une <literal>Person</literal>. La classe <literal>Person</literal> est mappée avec un proxy, <literal>lazy=\"true\"</literal>. Si vous itérez sur tous les cats et appelez <literal>getOwner()</literal> sur chacun d'eux, Hibernate exécutera par défaut 25 <literal>SELECT</literal>, pour charger les owners (initialiser le proxy). Vous pouvez paramétrer ce comportement en spécifiant une <literal>batch-size</literal> (taille du lot) dans le mapping de <literal>Person</literal> :"
+#. Tag: para
+#: performance.xml:469
+#, no-c-format
+msgid ""
+"Batch fetching for classes/entities is easier to understand. Imagine you "
+"have the following situation at runtime: You have 25 <literal>Cat</literal> "
+"instances loaded in a <literal>Session</literal>, each <literal>Cat</"
+"literal> has a reference to its <literal>owner</literal>, a <literal>Person</"
+"literal>. The <literal>Person</literal> class is mapped with a proxy, "
+"<literal>lazy=\"true\"</literal>. If you now iterate through all cats and "
+"call <literal>getOwner()</literal> on each, Hibernate will by default "
+"execute 25 <literal>SELECT</literal> statements, to retrieve the proxied "
+"owners. You can tune this behavior by specifying a <literal>batch-size</"
+"literal> in the mapping of <literal>Person</literal>:"
+msgstr ""
+"Le chargement par lot pour les classes/entités est plus simple à comprendre. "
+"Imaginez que vous ayez la situation suivante à l'exécution : vous avez 25 "
+"instances de <literal>Cat</literal> chargées dans une <literal>Session</"
+"literal>, chaque <literal>Cat</literal> a une référence à son "
+"<literal>owner</literal>, une <literal>Person</literal>. La classe "
+"<literal>Person</literal> est mappée avec un proxy, <literal>lazy=\"true\"</"
+"literal>. Si vous itérez sur tous les cats et appelez <literal>getOwner()</"
+"literal> sur chacun d'eux, Hibernate exécutera par défaut 25 "
+"<literal>SELECT</literal>, pour charger les owners (initialiser le proxy). "
+"Vous pouvez paramétrer ce comportement en spécifiant une <literal>batch-"
+"size</literal> (taille du lot) dans le mapping de <literal>Person</literal> :"
 
-#: index.docbook:479
+#. Tag: programlisting
+#: performance.xml:479
+#, no-c-format
 msgid "<![CDATA[<class name=\"Person\" batch-size=\"10\">...</class>]]>"
-msgstr "<![CDATA[<class name=\"Person\" batch-size=\"10\">...</class>]]>"
+msgstr ""
 
-#: index.docbook:481
-msgid "Hibernate will now execute only three queries, the pattern is 10, 10, 5."
-msgstr "Hibernate exécutera désormais trois requêtes, en chargeant respectivement 10, 10, et 5 entités."
+#. Tag: para
+#: performance.xml:481
+#, no-c-format
+msgid ""
+"Hibernate will now execute only three queries, the pattern is 10, 10, 5."
+msgstr ""
+"Hibernate exécutera désormais trois requêtes, en chargeant respectivement "
+"10, 10, et 5 entités."
 
-#: index.docbook:485
-msgid "You may also enable batch fetching of collections. For example, if each <literal>Person</literal> has a lazy collection of <literal>Cat</literal>s, and 10 persons are currently loaded in the <literal>Sesssion</literal>, iterating through all persons will generate 10 <literal>SELECT</literal>s, one for every call to <literal>getCats()</literal>. If you enable batch fetching for the <literal>cats</literal> collection in the mapping of <literal>Person</literal>, Hibernate can pre-fetch collections:"
-msgstr "Vous pouvez aussi activer le chargement par lot pour les collections. Par exemple, si chaque <literal>Person</literal> a une collection chargée tardivement de <literal>Cat</literal>s, et que 10 personnes sont actuellement chargées dans la <literal>Session</literal>, itérer sur toutes les persons générera 10 <literal>SELECT</literal>s, un pour chaque appel de <literal>getCats()</literal>. Si vous activez le chargement par lot pour la collection <literal>cats</literal> dans le mapping de <literal>Person</literal>, Hibernate pourra précharger les collections :"
+#. Tag: para
+#: performance.xml:485
+#, no-c-format
+msgid ""
+"You may also enable batch fetching of collections. For example, if each "
+"<literal>Person</literal> has a lazy collection of <literal>Cat</literal>s, "
+"and 10 persons are currently loaded in the <literal>Sesssion</literal>, "
+"iterating through all persons will generate 10 <literal>SELECT</literal>s, "
+"one for every call to <literal>getCats()</literal>. If you enable batch "
+"fetching for the <literal>cats</literal> collection in the mapping of "
+"<literal>Person</literal>, Hibernate can pre-fetch collections:"
+msgstr ""
+"Vous pouvez aussi activer le chargement par lot pour les collections. Par "
+"exemple, si chaque <literal>Person</literal> a une collection chargée "
+"tardivement de <literal>Cat</literal>s, et que 10 personnes sont "
+"actuellement chargées dans la <literal>Session</literal>, itérer sur toutes "
+"les persons générera 10 <literal>SELECT</literal>s, un pour chaque appel de "
+"<literal>getCats()</literal>. Si vous activez le chargement par lot pour la "
+"collection <literal>cats</literal> dans le mapping de <literal>Person</"
+"literal>, Hibernate pourra précharger les collections :"
 
-#: index.docbook:494
+#. Tag: programlisting
+#: performance.xml:494
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Person\">\n"
-      "    <set name=\"cats\" batch-size=\"3\">\n"
-      "        ...\n"
-      "    </set>\n"
-      "</class>]]>"
+"<![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>]]>"
 
-#: index.docbook:496
-msgid "With a <literal>batch-size</literal> of 3, Hibernate will load 3, 3, 3, 1 collections in four <literal>SELECT</literal>s. Again, the value of the attribute depends on the expected number of uninitialized collections in a particular <literal>Session</literal>."
-msgstr "Avec une taille de lot (<literal>batch-size</literal>) de 3, Hibernate chargera respectivement 3, 3, 3, et 1 collections en quatre <literal>SELECT</literal>s. Encore une fois, la valeur de l'attribut dépend du nombre de collections non initialisées dans une <literal>Session</literal> particulière."
+#. Tag: para
+#: performance.xml:496
+#, no-c-format
+msgid ""
+"With a <literal>batch-size</literal> of 3, Hibernate will load 3, 3, 3, 1 "
+"collections in four <literal>SELECT</literal>s. Again, the value of the "
+"attribute depends on the expected number of uninitialized collections in a "
+"particular <literal>Session</literal>."
+msgstr ""
+"Avec une taille de lot (<literal>batch-size</literal>) de 3, Hibernate "
+"chargera respectivement 3, 3, 3, et 1 collections en quatre <literal>SELECT</"
+"literal>s. Encore une fois, la valeur de l'attribut dépend du nombre de "
+"collections non initialisées dans une <literal>Session</literal> "
+"particulière."
 
-#: index.docbook:502
-msgid "Batch fetching of collections is particularly useful if you have a nested tree of items, ie. the typical bill-of-materials pattern. (Although a <emphasis>nested set</emphasis> or a <emphasis>materialized path</emphasis> might be a better option for read-mostly trees.)"
-msgstr "Le chargement par lot de collections est particulièrement utile si vous avez des arborescenses récursives d'éléments (typiquement, le schéma facture de matériels). (Bien qu'un <emphasis>sous ensemble</emphasis> ou un <emphasis>chemin matérialisé</emphasis> est sans doute une meilleure option pour des arbres principalement en lecture.)"
+#. Tag: para
+#: performance.xml:502
+#, no-c-format
+msgid ""
+"Batch fetching of collections is particularly useful if you have a nested "
+"tree of items, ie. the typical bill-of-materials pattern. (Although a "
+"<emphasis>nested set</emphasis> or a <emphasis>materialized path</emphasis> "
+"might be a better option for read-mostly trees.)"
+msgstr ""
+"Le chargement par lot de collections est particulièrement utile si vous avez "
+"des arborescenses récursives d'éléments (typiquement, le schéma facture de "
+"matériels). (Bien qu'un <emphasis>sous ensemble</emphasis> ou un "
+"<emphasis>chemin matérialisé</emphasis> est sans doute une meilleure option "
+"pour des arbres principalement en lecture.)"
 
-#: index.docbook:511
+#. Tag: title
+#: performance.xml:511
+#, no-c-format
 msgid "Using subselect fetching"
 msgstr "Utilisation du chargement par sous select"
 
-#: index.docbook:513
-msgid "If one lazy collection or single-valued proxy has to be fetched, Hibernate loads all of them, re-running the original query in a subselect. This works in the same way as batch-fetching, without the piecemeal loading."
-msgstr "Si une collection ou un proxy vers un objet doit être chargé, Hibernate va tous les charger en ré-exécutant la requête orignial dans un sous select. Cela fonctionne de la même manière que le chargement par lot sans la possibilité de fragmenter le chargement."
+#. Tag: para
+#: performance.xml:513
+#, no-c-format
+msgid ""
+"If one lazy collection or single-valued proxy has to be fetched, Hibernate "
+"loads all of them, re-running the original query in a subselect. This works "
+"in the same way as batch-fetching, without the piecemeal loading."
+msgstr ""
+"Si une collection ou un proxy vers un objet doit être chargé, Hibernate va "
+"tous les charger en ré-exécutant la requête orignial dans un sous select. "
+"Cela fonctionne de la même manière que le chargement par lot sans la "
+"possibilité de fragmenter le chargement."
 
-#: index.docbook:524
+#. Tag: title
+#: performance.xml:524
+#, no-c-format
 msgid "Using lazy property fetching"
 msgstr "Utiliser le chargement tardif des propriétés"
 
-#: index.docbook:526
-msgid "Hibernate3 supports the lazy fetching of individual properties. This optimization technique is also known as <emphasis>fetch groups</emphasis>. Please note that this is mostly a marketing feature, as in practice, optimizing row reads is much more important than optimization of column reads. However, only loading some properties of a class might be useful in extreme cases, when legacy tables have hundreds of columns and the data model can not be improved."
-msgstr "Hibernate3 supporte le chargement tardif de propriétés individuelles. La technique d'optimisation est également connue sous le nom de <emphasis>fetch groups</emphasis> (groupes de chargement). Il faut noter qu'il s'agit principalement d'une fonctionnalité marketing car en pratique l'optimisation de la lecture d'un enregistrement est beaucoup plus importante que l'optimisation de la lecture d'une colonne. Cependant, la restriction du chargement à certaines colonnes peut être pratique dans des cas extrèmes, lorsque des tables \"legacy\" possèdent des centaines de colonnes et que le modèle de données ne peut pas être amélioré."
+#. Tag: para
+#: performance.xml:526
+#, no-c-format
+msgid ""
+"Hibernate3 supports the lazy fetching of individual properties. This "
+"optimization technique is also known as <emphasis>fetch groups</emphasis>. "
+"Please note that this is mostly a marketing feature, as in practice, "
+"optimizing row reads is much more important than optimization of column "
+"reads. However, only loading some properties of a class might be useful in "
+"extreme cases, when legacy tables have hundreds of columns and the data "
+"model can not be improved."
+msgstr ""
+"Hibernate3 supporte le chargement tardif de propriétés individuelles. La "
+"technique d'optimisation est également connue sous le nom de <emphasis>fetch "
+"groups</emphasis> (groupes de chargement). Il faut noter qu'il s'agit "
+"principalement d'une fonctionnalité marketing car en pratique l'optimisation "
+"de la lecture d'un enregistrement est beaucoup plus importante que "
+"l'optimisation de la lecture d'une colonne. Cependant, la restriction du "
+"chargement à certaines colonnes peut être pratique dans des cas extrèmes, "
+"lorsque des tables \"legacy\" possèdent des centaines de colonnes et que le "
+"modèle de données ne peut pas être amélioré."
 
-#: index.docbook:535
-msgid "To enable lazy property loading, set the <literal>lazy</literal> attribute on your particular property mappings:"
-msgstr "Pour activer le chargement tardif d'une propriété, il faut mettre l'attribut <literal>lazy</literal> sur une propriété particulière du mapping :"
+#. Tag: para
+#: performance.xml:535
+#, no-c-format
+msgid ""
+"To enable lazy property loading, set the <literal>lazy</literal> attribute "
+"on your particular property mappings:"
+msgstr ""
+"Pour activer le chargement tardif d'une propriété, il faut mettre l'attribut "
+"<literal>lazy</literal> sur une propriété particulière du mapping :"
 
-#: index.docbook:540
+#. Tag: programlisting
+#: performance.xml:540
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:542
-msgid "Lazy property loading requires buildtime bytecode instrumentation! If your persistent classes are not enhanced, Hibernate will silently ignore lazy property settings and fall back to immediate fetching."
-msgstr "Le chargement tardif des propriétés requiert une instrumentation du bytecode lors de la compilation ! Si les classes persistantes ne sont pas instrumentées, Hibernate ignorera de manière silencieuse le mode tardif et retombera dans le mode de chargement immédiat."
+#. Tag: para
+#: performance.xml:542
+#, no-c-format
+msgid ""
+"Lazy property loading requires buildtime bytecode instrumentation! If your "
+"persistent classes are not enhanced, Hibernate will silently ignore lazy "
+"property settings and fall back to immediate fetching."
+msgstr ""
+"Le chargement tardif des propriétés requiert une instrumentation du bytecode "
+"lors de la compilation ! Si les classes persistantes ne sont pas "
+"instrumentées, Hibernate ignorera de manière silencieuse le mode tardif et "
+"retombera dans le mode de chargement immédiat."
 
-#: index.docbook:548
+#. Tag: para
+#: performance.xml:548
+#, no-c-format
 msgid "For bytecode instrumentation, use the following Ant task:"
-msgstr "Pour l'instrumentation du bytecode vous pouvez utiliser la tâche Ant suivante :"
+msgstr ""
+"Pour l'instrumentation du bytecode vous pouvez utiliser la tâche Ant "
+"suivante :"
 
-#: index.docbook:552
+#. Tag: programlisting
+#: performance.xml:552
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:554
-msgid "A different (better?) way to avoid unnecessary column reads, at least for read-only transactions is to use the projection features of HQL or Criteria queries. This avoids the need for buildtime bytecode processing and is certainly a prefered solution."
-msgstr "Une autre façon (meilleure ?) pour éviter de lire plus de colonnes que nécessaire au moins pour des transactions en lecture seule est d'utiliser les fonctionnalités de projection des requêtes HQL ou Criteria. Cela évite de devoir instrumenter le bytecode à la compilation et est certainement une solution préférable."
+#. Tag: para
+#: performance.xml:554
+#, no-c-format
+msgid ""
+"A different (better?) way to avoid unnecessary column reads, at least for "
+"read-only transactions is to use the projection features of HQL or Criteria "
+"queries. This avoids the need for buildtime bytecode processing and is "
+"certainly a prefered solution."
+msgstr ""
+"Une autre façon (meilleure ?) pour éviter de lire plus de colonnes que "
+"nécessaire au moins pour des transactions en lecture seule est d'utiliser "
+"les fonctionnalités de projection des requêtes HQL ou Criteria. Cela évite "
+"de devoir instrumenter le bytecode à la compilation et est certainement une "
+"solution préférable."
 
-#: index.docbook:561
-msgid "You may force the usual eager fetching of properties using <literal>fetch all properties</literal> in HQL."
-msgstr "Vous pouvez forcer le mode de chargement agressif des propriétés en utilisant <literal>fetch all properties</literal> dans les requêts HQL."
+#. Tag: para
+#: performance.xml:561
+#, no-c-format
+msgid ""
+"You may force the usual eager fetching of properties using <literal>fetch "
+"all properties</literal> in HQL."
+msgstr ""
+"Vous pouvez forcer le mode de chargement agressif des propriétés en "
+"utilisant <literal>fetch all properties</literal> dans les requêts HQL."
 
-#: index.docbook:571
+#. Tag: title
+#: performance.xml:571
+#, no-c-format
 msgid "The Second Level Cache"
 msgstr "Le cache de second niveau"
 
-#: index.docbook:573
-msgid "A Hibernate <literal>Session</literal> is a transaction-level cache of persistent data. It is possible to configure a cluster or JVM-level (<literal>SessionFactory</literal>-level) cache on a class-by-class and collection-by-collection basis. You may even plug in a clustered cache. Be careful. Caches are never aware of changes made to the persistent store by another application (though they may be configured to regularly expire cached data)."
-msgstr "Une <literal>Session</literal> Hibernate est un cache de niveau transactionnel des données persistantes. Il est possible de configurer un cache de cluster ou de JVM (de niveau <literal>SessionFactory</literal> pour être exact) défini classe par classe et collection par collection. Vous pouvez même utiliser votr choix de cache en implémentant le pourvoyeur (provider) associé. Faites attention, les caches ne sont jamais avertis des modifications faites dans la base de données par d'autres applications (ils peuvent cependant être configurés pour régulièrement expirer les données en cache)."
+#. Tag: para
+#: performance.xml:573
+#, 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 "
+"(<literal>SessionFactory</literal>-level) cache on a class-by-class and "
+"collection-by-collection basis. You may even plug in a clustered cache. Be "
+"careful. Caches are never aware of changes made to the persistent store by "
+"another application (though they may be configured to regularly expire "
+"cached data)."
+msgstr ""
+"Une <literal>Session</literal> Hibernate est un cache de niveau "
+"transactionnel des données persistantes. Il est possible de configurer un "
+"cache de cluster ou de JVM (de niveau <literal>SessionFactory</literal> pour "
+"être exact) défini classe par classe et collection par collection. Vous "
+"pouvez même utiliser votr choix de cache en implémentant le pourvoyeur "
+"(provider) associé. Faites attention, les caches ne sont jamais avertis des "
+"modifications faites dans la base de données par d'autres applications (ils "
+"peuvent cependant être configurés pour régulièrement expirer les données en "
+"cache)."
 
-#: index.docbook:581
-msgid "You have the option to tell Hibernate which caching implementation to use by specifying the name of a class that implements <literal>org.hibernate.cache.CacheProvider</literal> using the property <literal>hibernate.cache.provider_class</literal>. Hibernate comes bundled with a number of built-in integrations with open-source cache providers (listed below); additionally, you could implement your own and plug it in as outlined above. Note that versions prior to 3.2 defaulted to use EhCache as the default cache provider; that is no longer the case as of 3.2."
-msgstr "Par défaut, Hibernate utilise EHCache comme cache de niveau JVM (le support de JCS est désormais déprécié et sera enlevé des futures versions d'Hibernate). Vous pouvez choisir une autre implémentation en spécifiant le nom de la classe qui implémente <literal>org.hibernate.cache.CacheProvider</literal> en utilisant la propriété <literal>hibernate.cache.provider_class</literal>."
+#. Tag: para
+#: performance.xml:581
+#, 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."
+"CacheProvider</literal> using the property <literal>hibernate.cache."
+"provider_class</literal>. Hibernate comes bundled with a number of built-in "
+"integrations with open-source cache providers (listed below); additionally, "
+"you could implement your own and plug it in as outlined above. Note that "
+"versions prior to 3.2 defaulted to use EhCache as the default cache "
+"provider; that is no longer the case as of 3.2."
+msgstr ""
+"Par défaut, Hibernate utilise EHCache comme cache de niveau JVM (le support "
+"de JCS est désormais déprécié et sera enlevé des futures versions "
+"d'Hibernate). Vous pouvez choisir une autre implémentation en spécifiant le "
+"nom de la classe qui implémente <literal>org.hibernate.cache.CacheProvider</"
+"literal> en utilisant la propriété <literal>hibernate.cache.provider_class</"
+"literal>."
 
-#: index.docbook:592
+#. Tag: title
+#: performance.xml:592
+#, no-c-format
 msgid "Cache Providers"
 msgstr "Fournisseur de cache"
 
-#: index.docbook:601, index.docbook:774
+#. Tag: entry
+#: performance.xml:601 performance.xml:774
+#, no-c-format
 msgid "Cache"
 msgstr "Cache"
 
-#: index.docbook:602
+#. Tag: entry
+#: performance.xml:602
+#, no-c-format
 msgid "Provider class"
 msgstr "Classe pourvoyeuse"
 
-#: index.docbook:603
+#. Tag: entry
+#: performance.xml:603
+#, no-c-format
 msgid "Type"
 msgstr "Type"
 
-#: index.docbook:604
+#. Tag: entry
+#: performance.xml:604
+#, no-c-format
 msgid "Cluster Safe"
 msgstr "Support en Cluster"
 
-#: index.docbook:605
+#. Tag: entry
+#: performance.xml:605
+#, no-c-format
 msgid "Query Cache Supported"
 msgstr "Cache de requêtes supporté"
 
-#: index.docbook:610, index.docbook:783
+#. Tag: entry
+#: performance.xml:610 performance.xml:783
+#, fuzzy, no-c-format
 msgid "Hashtable (not intended for production use)"
-msgstr "Hashtable (ne pas utiliser en production)"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Hashtable (ne pas utiliser en production)\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"Hashtable (ne pas utilser en production)"
 
-#: index.docbook:611
+#. Tag: literal
+#: performance.xml:611
+#, no-c-format
 msgid "org.hibernate.cache.HashtableCacheProvider"
 msgstr "org.hibernate.cache.HashtableCacheProvider"
 
-#: index.docbook:612
+#. Tag: entry
+#: performance.xml:612
+#, no-c-format
 msgid "memory"
 msgstr "mémoire"
 
-#: index.docbook:614, index.docbook:621, index.docbook:628, index.docbook:784, index.docbook:785, index.docbook:786, index.docbook:791, index.docbook:792, index.docbook:793, index.docbook:798, index.docbook:799, index.docbook:800, index.docbook:805, index.docbook:806, index.docbook:812, index.docbook:815
+#. Tag: entry
+#: performance.xml:614 performance.xml:621 performance.xml:628
+#: performance.xml:784 performance.xml:785 performance.xml:786
+#: performance.xml:791 performance.xml:792 performance.xml:793
+#: performance.xml:798 performance.xml:799 performance.xml:800
+#: performance.xml:805 performance.xml:806 performance.xml:812
+#: performance.xml:815
+#, no-c-format
 msgid "<entry>yes</entry>"
-msgstr "<entry>oui</entry>"
+msgstr ""
 
-#: index.docbook:617, index.docbook:790
+#. Tag: entry
+#: performance.xml:617 performance.xml:790
+#, no-c-format
 msgid "EHCache"
 msgstr "EHCache"
 
-#: index.docbook:618
+#. Tag: literal
+#: performance.xml:618
+#, no-c-format
 msgid "org.hibernate.cache.EhCacheProvider"
 msgstr "org.hibernate.cache.EhCacheProvider"
 
-#: index.docbook:619, index.docbook:626
+#. Tag: entry
+#: performance.xml:619 performance.xml:626
+#, no-c-format
 msgid "memory, disk"
 msgstr "mémoire, disque"
 
-#: index.docbook:624, index.docbook:797
+#. Tag: entry
+#: performance.xml:624 performance.xml:797
+#, no-c-format
 msgid "OSCache"
 msgstr "OSCache"
 
-#: index.docbook:625
+#. Tag: literal
+#: performance.xml:625
+#, no-c-format
 msgid "org.hibernate.cache.OSCacheProvider"
 msgstr "org.hibernate.cache.OSCacheProvider"
 
-#: index.docbook:631, index.docbook:804
+#. Tag: entry
+#: performance.xml:631 performance.xml:804
+#, no-c-format
 msgid "SwarmCache"
-msgstr "<entry>oui</entry>"
+msgstr "SwarmCache"
 
-#: index.docbook:632
+#. Tag: literal
+#: performance.xml:632
+#, no-c-format
 msgid "org.hibernate.cache.SwarmCacheProvider"
-msgstr "SwarmCache"
+msgstr "org.hibernate.cache.SwarmCacheProvider"
 
-#: index.docbook:633
+#. Tag: entry
+#: performance.xml:633
+#, no-c-format
 msgid "clustered (ip multicast)"
-msgstr "org.hibernate.cache.SwarmCacheProvider"
+msgstr "en cluster (multicast ip)"
 
-#: index.docbook:634
+#. Tag: entry
+#: performance.xml:634
+#, no-c-format
 msgid "yes (clustered invalidation)"
-msgstr "en cluster (multicast ip)"
+msgstr "oui (invalidation de cluster)"
 
-#: index.docbook:638, index.docbook:811
+#. Tag: entry
+#: performance.xml:638 performance.xml:811
+#, no-c-format
 msgid "JBoss TreeCache"
-msgstr "oui (invalidation de cluster)"
+msgstr "JBoss TreeCache"
 
-#: index.docbook:639
+#. Tag: literal
+#: performance.xml:639
+#, no-c-format
 msgid "org.hibernate.cache.TreeCacheProvider"
-msgstr "JBoss TreeCache"
+msgstr "org.hibernate.cache.TreeCacheProvider"
 
-#: index.docbook:640
+#. Tag: entry
+#: performance.xml:640
+#, no-c-format
 msgid "clustered (ip multicast), transactional"
-msgstr "org.hibernate.cache.TreeCacheProvider"
+msgstr "en cluster (multicast ip), transactionnel"
 
-#: index.docbook:641
+#. Tag: entry
+#: performance.xml:641
+#, no-c-format
 msgid "yes (replication)"
-msgstr "en cluster (multicast ip), transactionnel"
+msgstr "oui (replication)"
 
-#: index.docbook:642
+#. Tag: entry
+#: performance.xml:642
+#, no-c-format
 msgid "yes (clock sync req.)"
-msgstr "oui (replication)"
+msgstr "oui (horloge sync. nécessaire)"
 
-#: index.docbook:649
+#. Tag: title
+#: performance.xml:649
+#, no-c-format
 msgid "Cache mappings"
-msgstr "oui (horloge sync. nécessaire)"
-
-#: index.docbook:651
-msgid "The <literal>&lt;cache&gt;</literal> element of a class or collection mapping has the following form:"
 msgstr "Mapping de Cache"
 
-#: index.docbook:662
+#. Tag: para
+#: performance.xml:651
+#, 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 "L'élément <literal>&lt;cache&gt;</literal> d'une classe ou d'une collection à la forme suivante :"
+"The <literal>&lt;cache&gt;</literal> element of a class or collection "
+"mapping has the following form:"
+msgstr ""
+"L'élément <literal>&lt;cache&gt;</literal> d'une classe ou d'une collection "
+"à la forme suivante :"
 
-#: index.docbook:665
-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>"
+#. Tag: programlisting
+#: performance.xml:662
+#, 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"
-      "    region=\"RegionName\"\n"
-      "    include=\"all|non-lazy\"\n"
-      "/>]]>"
 
-#: index.docbook:674
-msgid "<literal>region</literal> (optional, defaults to the class or collection role name) specifies the name of the second level cache region"
-msgstr "<literal>usage</literal> (requis) spécifie la stratégie de cache : <literal>transactionel</literal>, <literal>lecture-écriture</literal>, <literal>lecture-écriture non stricte</literal> ou <literal>lecture seule</literal>"
+#. Tag: para
+#: performance.xml:665
+#, 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> (requis) spécifie la stratégie de cache : "
+"<literal>transactionel</literal>, <literal>lecture-écriture</literal>, "
+"<literal>lecture-écriture non stricte</literal> ou <literal>lecture seule</"
+"literal>"
 
-#: index.docbook:681
-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> may not be cached when attribute-level lazy fetching is enabled"
-msgstr "<literal>region</literal> (optionnel, par défaut il s'agit du nom de la classe ou du nom de role de la collection) spécifie le nom de la région du cache de second niveau"
+#. Tag: para
+#: performance.xml:674
+#, 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> (optionnel, par défaut il s'agit du nom de la "
+"classe ou du nom de role de la collection) spécifie le nom de la région du "
+"cache de second niveau"
 
-#: index.docbook:691
-msgid "Alternatively (preferrably?), you may specify <literal>&lt;class-cache&gt;</literal> and <literal>&lt;collection-cache&gt;</literal> elements in <literal>hibernate.cfg.xml</literal>."
-msgstr "<literal>include</literal> (optionnel, par défaut <literal>all</literal>) <literal>non-lazy</literal> spécifie que les propriétés des entités mappées avec <literal>lazy=\"true\"</literal> ne doivent pas être mises en cache lorsque le chargement tardif des attributs est activé."
+#. Tag: para
+#: performance.xml:681
+#, 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> may not be cached when attribute-level "
+"lazy fetching is enabled"
+msgstr ""
+"<literal>include</literal> (optionnel, par défaut <literal>all</literal>) "
+"<literal>non-lazy</literal> spécifie que les propriétés des entités mappées "
+"avec <literal>lazy=\"true\"</literal> ne doivent pas être mises en cache "
+"lorsque le chargement tardif des attributs est activé."
 
-#: index.docbook:696
-msgid "The <literal>usage</literal> attribute specifies a <emphasis>cache concurrency strategy</emphasis>."
-msgstr "Alternativement (voir préférentiellement), vous pouvez spécifier les éléments <literal>&lt;class-cache&gt;</literal> et <literal>&lt;collection-cache&gt;</literal> dans <literal>hibernate.cfg.xml</literal>."
+#. Tag: para
+#: performance.xml:691
+#, no-c-format
+msgid ""
+"Alternatively (preferrably?), you may specify <literal>&lt;class-cache&gt;</"
+"literal> and <literal>&lt;collection-cache&gt;</literal> elements in "
+"<literal>hibernate.cfg.xml</literal>."
+msgstr ""
+"Alternativement (voir préférentiellement), vous pouvez spécifier les "
+"éléments <literal>&lt;class-cache&gt;</literal> et <literal>&lt;collection-"
+"cache&gt;</literal> dans <literal>hibernate.cfg.xml</literal>."
 
-#: index.docbook:703
+#. Tag: para
+#: performance.xml:696
+#, no-c-format
+msgid ""
+"The <literal>usage</literal> attribute specifies a <emphasis>cache "
+"concurrency strategy</emphasis>."
+msgstr ""
+"L'attribut <literal>usage</literal> spécifie une <emphasis>stratégie de "
+"concurrence d'accès au cache</emphasis>."
+
+#. Tag: title
+#: performance.xml:703
+#, no-c-format
 msgid "Strategy: read only"
-msgstr "L'attribut <literal>usage</literal> spécifie une <emphasis>stratégie de concurrence d'accès au cache</emphasis>."
-
-#: index.docbook:705
-msgid "If your application needs to read but never modify instances of a persistent class, a <literal>read-only</literal> cache may be used. This is the simplest and best performing strategy. It's even perfectly safe for use in a cluster."
 msgstr "Strategie : lecture seule"
 
-#: index.docbook:711
+#. Tag: para
+#: performance.xml:705
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"eg.Immutable\" mutable=\"false\">\n"
-      "    <cache usage=\"read-only\"/>\n"
-      "    ....\n"
-      "</class>]]>"
-msgstr "Si votre application a besoin de lire mais ne modifie jamais les instances d'une classe, un cache <literal>read-only</literal> peut être utilisé. C'est la stratégie la plus simple et la plus performante. Elle est même parfaitement sûre dans un cluster."
+"If your application needs to read but never modify instances of a persistent "
+"class, a <literal>read-only</literal> cache may be used. This is the "
+"simplest and best performing strategy. It's even perfectly safe for use in a "
+"cluster."
+msgstr ""
+"Si votre application a besoin de lire mais ne modifie jamais les instances "
+"d'une classe, un cache <literal>read-only</literal> peut être utilisé. C'est "
+"la stratégie la plus simple et la plus performante. Elle est même "
+"parfaitement sûre dans un cluster."
 
-#: index.docbook:717
-msgid "Strategy: read/write"
+#. Tag: programlisting
+#: performance.xml:711
+#, 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>]]>"
 
-#: index.docbook:719
-msgid "If the application needs to update data, a <literal>read-write</literal> cache might be appropriate. This cache strategy should never be used if serializable transaction isolation level is required. If the cache is used in a JTA environment, you must specify the property <literal>hibernate.transaction.manager_lookup_class</literal>, naming a strategy for obtaining the JTA <literal>TransactionManager</literal>. In other environments, you should ensure that the transaction is completed when <literal>Session.close()</literal> or <literal>Session.disconnect()</literal> is called. If you wish to use this strategy in a cluster, you should ensure that the underlying cache implementation supports locking. The built-in cache providers do <emphasis>not</emphasis>."
+#. Tag: title
+#: performance.xml:717
+#, no-c-format
+msgid "Strategy: read/write"
 msgstr "Stratégie : lecture/écriture"
 
-#: index.docbook:730
+#. Tag: para
+#: performance.xml:719
+#, 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 "Si l'application a besoin de mettre à jour des données, un cache <literal>read-write</literal> peut être approprié. Cette stratégie ne devrait jamais être utilisée si votre application nécessite un niveau d'isolation transactionnelle sérialisable. Si le cache est utilisé dans un environnement JTA, vous devez spécifier <literal>hibernate.transaction.manager_lookup_class</literal>, fournissant une stratégie pour obtenir le <literal>TransactionManager</literal> JTA. Dans d'autres environnements, vous devriez vous assurer que la transation est terminée à l'appel de <literal>Session.close()</literal> ou <literal>Session.disconnect()</literal>. Si vous souhaitez utiliser cette stratégie dans un cluster, vous devriez vous assurer que l'implémentation de cache utilisée supporte le vérrouillage. Ce que ne font <emphasis>pas</emphasis> les pourvoyeurs caches fournis."
+"If the application needs to update data, a <literal>read-write</literal> "
+"cache might be appropriate. This cache strategy should never be used if "
+"serializable transaction isolation level is required. If the cache is used "
+"in a JTA environment, you must specify the property <literal>hibernate."
+"transaction.manager_lookup_class</literal>, naming a strategy for obtaining "
+"the JTA <literal>TransactionManager</literal>. In other environments, you "
+"should ensure that the transaction is completed when <literal>Session.close()"
+"</literal> or <literal>Session.disconnect()</literal> is called. If you wish "
+"to use this strategy in a cluster, you should ensure that the underlying "
+"cache implementation supports locking. The built-in cache providers do "
+"<emphasis>not</emphasis>."
+msgstr ""
+"Si l'application a besoin de mettre à jour des données, un cache "
+"<literal>read-write</literal> peut être approprié. Cette stratégie ne "
+"devrait jamais être utilisée si votre application nécessite un niveau "
+"d'isolation transactionnelle sérialisable. Si le cache est utilisé dans un "
+"environnement JTA, vous devez spécifier <literal>hibernate.transaction."
+"manager_lookup_class</literal>, fournissant une stratégie pour obtenir le "
+"<literal>TransactionManager</literal> JTA. Dans d'autres environnements, "
+"vous devriez vous assurer que la transation est terminée à l'appel de "
+"<literal>Session.close()</literal> ou <literal>Session.disconnect()</"
+"literal>. Si vous souhaitez utiliser cette stratégie dans un cluster, vous "
+"devriez vous assurer que l'implémentation de cache utilisée supporte le "
+"vérrouillage. Ce que ne font <emphasis>pas</emphasis> les pourvoyeurs caches "
+"fournis."
 
-#: index.docbook:735
-msgid "Strategy: nonstrict read/write"
+#. Tag: programlisting
+#: performance.xml:730
+#, 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>]]>"
 
-#: index.docbook:737
-msgid "If the application only occasionally needs to update data (ie. if it is extremely unlikely that two transactions would try to update the same item simultaneously) and strict transaction isolation is not required, a <literal>nonstrict-read-write</literal> cache might be appropriate. If the cache is used in a JTA environment, you must specify <literal>hibernate.transaction.manager_lookup_class</literal>. In other environments, you should ensure that the transaction is completed when <literal>Session.close()</literal> or <literal>Session.disconnect()</literal> is called."
+#. Tag: title
+#: performance.xml:735
+#, no-c-format
+msgid "Strategy: nonstrict read/write"
 msgstr "Stratégie : lecture/écriture non stricte"
 
-#: index.docbook:749
+#. Tag: para
+#: performance.xml:737
+#, no-c-format
+msgid ""
+"If the application only occasionally needs to update data (ie. if it is "
+"extremely unlikely that two transactions would try to update the same item "
+"simultaneously) and strict transaction isolation is not required, a "
+"<literal>nonstrict-read-write</literal> cache might be appropriate. If the "
+"cache is used in a JTA environment, you must specify <literal>hibernate."
+"transaction.manager_lookup_class</literal>. In other environments, you "
+"should ensure that the transaction is completed when <literal>Session.close()"
+"</literal> or <literal>Session.disconnect()</literal> is called."
+msgstr ""
+"Si l'application besoin de mettre à jour les données de manière "
+"occasionnelle (qu'il est très peu probable que deux transactions essaient de "
+"mettre à jour le même élément simultanément) et qu'une isolation "
+"transactionnelle stricte n'est pas nécessaire, un cache <literal>nonstrict-"
+"read-write</literal> peut être approprié. Si le cache est utilisé dans un "
+"environnement JTA, vous devez spécifier <literal>hibernate.transaction."
+"manager_lookup_class</literal>. Dans d'autres environnements, vous devriez "
+"vous assurer que la transation est terminée à l'appel de <literal>Session."
+"close()</literal> ou <literal>Session.disconnect()</literal>"
+
+#. Tag: title
+#: performance.xml:749
+#, no-c-format
 msgid "Strategy: transactional"
-msgstr "Si l'application besoin de mettre à jour les données de manière occasionnelle (qu'il est très peu probable que deux transactions essaient de mettre à jour le même élément simultanément) et qu'une isolation transactionnelle stricte n'est pas nécessaire, un cache <literal>nonstrict-read-write</literal> peut être approprié. Si le cache est utilisé dans un environnement JTA, vous devez spécifier <literal>hibernate.transaction.manager_lookup_class</literal>. Dans d'autres environnements, vous devriez vous assurer que la transation est terminée à l'appel de <literal>Session.close()</literal> ou <literal>Session.disconnect()</literal>"
-
-#: index.docbook:751
-msgid "The <literal>transactional</literal> cache strategy provides support for fully transactional cache providers such as JBoss TreeCache. Such a cache may only be used in a JTA environment and you must specify <literal>hibernate.transaction.manager_lookup_class</literal>."
 msgstr "Stratégie : transactionelle"
 
-#: index.docbook:759
-msgid "None of the cache providers support all of the cache concurrency strategies. The following table shows which providers are compatible with which concurrency strategies."
-msgstr "La stratégie de cache <literal>transactional</literal> supporte un cache complètement transactionnel comme, par exemple, JBoss TreeCache. Un tel cache ne peut être utilisé que dans un environnement JTA et vous devez spécifier <literal>hibernate.transaction.manager_lookup_class</literal>."
+#. Tag: para
+#: performance.xml:751
+#, no-c-format
+msgid ""
+"The <literal>transactional</literal> cache strategy provides support for "
+"fully transactional cache providers such as JBoss TreeCache. Such a cache "
+"may only be used in a JTA environment and you must specify "
+"<literal>hibernate.transaction.manager_lookup_class</literal>."
+msgstr ""
+"La stratégie de cache <literal>transactional</literal> supporte un cache "
+"complètement transactionnel comme, par exemple, JBoss TreeCache. Un tel "
+"cache ne peut être utilisé que dans un environnement JTA et vous devez "
+"spécifier <literal>hibernate.transaction.manager_lookup_class</literal>."
 
-#: index.docbook:765
+#. Tag: para
+#: performance.xml:759
+#, no-c-format
+msgid ""
+"None of the cache providers support all of the cache concurrency strategies. "
+"The following table shows which providers are compatible with which "
+"concurrency strategies."
+msgstr ""
+"Aucun des caches livrés ne supporte toutes les stratégies de concurrence. Le "
+"tableau suivant montre quels caches sont compatibles avec quelles stratégies "
+"de concurrence."
+
+#. Tag: title
+#: performance.xml:765
+#, no-c-format
 msgid "Cache Concurrency Strategy Support"
-msgstr "Aucun des caches livrés ne supporte toutes les stratégies de concurrence. Le tableau suivant montre quels caches sont compatibles avec quelles stratégies de concurrence."
+msgstr "Stratégie de concurrence du cache"
 
-#: index.docbook:775
+#. Tag: entry
+#: performance.xml:775
+#, no-c-format
 msgid "read-only"
-msgstr "Cache"
+msgstr "read-only (lecture seule)"
 
-#: index.docbook:776
+#. Tag: entry
+#: performance.xml:776
+#, no-c-format
 msgid "nonstrict-read-write"
-msgstr "read-only (lecture seule)"
+msgstr "nonstrict-read-write (lecture-écriture non stricte)"
 
-#: index.docbook:777
+#. Tag: entry
+#: performance.xml:777
+#, no-c-format
 msgid "read-write"
-msgstr "nonstrict-read-write (lecture-écriture non stricte)"
+msgstr "read-write (lecture-ériture)"
 
-#: index.docbook:778
+#. Tag: entry
+#: performance.xml:778
+#, no-c-format
 msgid "transactional"
-msgstr "read-write (lecture-ériture)"
+msgstr "transactional (transactionnel)"
 
-#: index.docbook:824
+#. Tag: title
+#: performance.xml:824
+#, no-c-format
 msgid "Managing the caches"
-msgstr "<entry>oui</entry>"
-
-#: index.docbook:826
-msgid "Whenever you pass an object to <literal>save()</literal>, <literal>update()</literal> or <literal>saveOrUpdate()</literal> and whenever you retrieve an object using <literal>load()</literal>, <literal>get()</literal>, <literal>list()</literal>, <literal>iterate()</literal> or <literal>scroll()</literal>, that object is added to the internal cache of the <literal>Session</literal>."
 msgstr "Gérer les caches"
 
-#: index.docbook:833
-msgid "When <literal>flush()</literal> is subsequently called, the state of that object will be synchronized with the database. If you do not want this synchronization to occur or if you are processing a huge number of objects and need to manage memory efficiently, the <literal>evict()</literal> method may be used to remove the object and its collections from the first-level cache."
-msgstr "A chaque fois que vous passez un objet à la méthode <literal>save()</literal>, <literal>update()</literal> ou <literal>saveOrUpdate()</literal> et à chaque fois que vous récupérez un objet avec <literal>load()</literal>, <literal>get()</literal>, <literal>list()</literal>, <literal>iterate()</literal> or <literal>scroll()</literal>, cet objet est ajouté au cache interne de la <literal>Session</literal>."
+#. Tag: para
+#: performance.xml:826
+#, 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 "
+"object using <literal>load()</literal>, <literal>get()</literal>, "
+"<literal>list()</literal>, <literal>iterate()</literal> or <literal>scroll()"
+"</literal>, that object is added to the internal cache of the "
+"<literal>Session</literal>."
+msgstr ""
+"A chaque fois que vous passez un objet à la méthode <literal>save()</"
+"literal>, <literal>update()</literal> ou <literal>saveOrUpdate()</literal> "
+"et à chaque fois que vous récupérez un objet avec <literal>load()</literal>, "
+"<literal>get()</literal>, <literal>list()</literal>, <literal>iterate()</"
+"literal> or <literal>scroll()</literal>, cet objet est ajouté au cache "
+"interne de la <literal>Session</literal>."
 
-#: index.docbook:841
+#. Tag: para
+#: performance.xml:833
+#, 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 "Lorsqu'il y a un appel à la méthode <literal>flush()</literal>, l'état de cet objet va être synchronisé avec la base de données. Si vous ne voulez pas que cette synchronisation ait lieu ou si vous traitez un grand nombre d'objets et que vous avez besoin de gérer la mémoire de manière efficace, vous pouvez utiliser la méthode <literal>evict()</literal> pour supprimer l'objet et ses collections dépendantes du cache de la session"
+"When <literal>flush()</literal> is subsequently called, the state of that "
+"object will be synchronized with the database. If you do not want this "
+"synchronization to occur or if you are processing a huge number of objects "
+"and need to manage memory efficiently, the <literal>evict()</literal> method "
+"may be used to remove the object and its collections from the first-level "
+"cache."
+msgstr ""
+"Lorsqu'il y a un appel à la méthode <literal>flush()</literal>, l'état de "
+"cet objet va être synchronisé avec la base de données. Si vous ne voulez pas "
+"que cette synchronisation ait lieu ou si vous traitez un grand nombre "
+"d'objets et que vous avez besoin de gérer la mémoire de manière efficace, "
+"vous pouvez utiliser la méthode <literal>evict()</literal> pour supprimer "
+"l'objet et ses collections dépendantes du cache de la session"
 
-#: index.docbook:843
-msgid "The <literal>Session</literal> also provides a <literal>contains()</literal> method to determine if an instance belongs to the session cache."
+#. Tag: programlisting
+#: performance.xml:841
+#, 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"
-      "}]]>"
 
-#: index.docbook:848
-msgid "To completely evict all objects from the session cache, call <literal>Session.clear()</literal>"
-msgstr "La <literal>Session</literal> dispose aussi de la méthode <literal>contains()</literal> pour déterminer si une instance appartient au cache de la session."
+#. Tag: para
+#: performance.xml:843
+#, 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> dispose aussi de la méthode <literal>contains()"
+"</literal> pour déterminer si une instance appartient au cache de la session."
 
-#: index.docbook:852
-msgid "For the second-level cache, there are methods defined on <literal>SessionFactory</literal> for evicting the cached state of an instance, entire class, collection instance or entire collection role."
-msgstr "Pour retirer tous les objets du cache session, appelez <literal>Session.clear()</literal>"
+#. Tag: para
+#: performance.xml:848
+#, no-c-format
+msgid ""
+"To completely evict all objects from the session cache, call "
+"<literal>Session.clear()</literal>"
+msgstr ""
+"Pour retirer tous les objets du cache session, appelez <literal>Session.clear"
+"()</literal>"
 
-#: index.docbook:858
+#. Tag: para
+#: performance.xml:852
+#, 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 "Pour le cache de second niveau, il existe des méthodes définies dans <literal>SessionFactory</literal> pour retirer des instances du cache, la classe entière, une instance de collection ou le rôle entier d'une collection."
+"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 ""
+"Pour le cache de second niveau, il existe des méthodes définies dans "
+"<literal>SessionFactory</literal> pour retirer des instances du cache, la "
+"classe entière, une instance de collection ou le rôle entier d'une "
+"collection."
 
-#: index.docbook:860
-msgid "The <literal>CacheMode</literal> controls how a particular session interacts with the second-level cache."
+#. Tag: programlisting
+#: performance.xml:858
+#, 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]]>"
 
-#: index.docbook:867
-msgid "<literal>CacheMode.NORMAL</literal> - read items from and write items to the second-level cache"
-msgstr "Le <literal>CacheMode</literal> contrôle comme une session particulière interragit avec le cache de second niveau"
+#. Tag: para
+#: performance.xml:860
+#, no-c-format
+msgid ""
+"The <literal>CacheMode</literal> controls how a particular session interacts "
+"with the second-level cache."
+msgstr ""
+"Le <literal>CacheMode</literal> contrôle comme une session particulière "
+"interragit avec le cache de second niveau"
 
-#: index.docbook:872
-msgid "<literal>CacheMode.GET</literal> - read items from the second-level cache, but don't write to the second-level cache except when updating data"
-msgstr "<literal>CacheMode.NORMAL</literal> - lit et écrit les items dans le cache de second niveau"
+#. Tag: para
+#: performance.xml:867
+#, no-c-format
+msgid ""
+"<literal>CacheMode.NORMAL</literal> - read items from and write items to the "
+"second-level cache"
+msgstr ""
+"<literal>CacheMode.NORMAL</literal> - lit et écrit les items dans le cache "
+"de second niveau"
 
-#: index.docbook:878
-msgid "<literal>CacheMode.PUT</literal> - write items to the second-level cache, but don't read from the second-level cache"
-msgstr "<literal>CacheMode.GET</literal> - lit les items dans le cache de second niveau mais ne les écrit pas sauf dans le cache d'une mise à jour d'une donnée"
+#. Tag: para
+#: performance.xml:872
+#, no-c-format
+msgid ""
+"<literal>CacheMode.GET</literal> - read items from the second-level cache, "
+"but don't write to the second-level cache except when updating data"
+msgstr ""
+"<literal>CacheMode.GET</literal> - lit les items dans le cache de second "
+"niveau mais ne les écrit pas sauf dans le cache d'une mise à jour d'une "
+"donnée"
 
-#: index.docbook:884
-msgid "<literal>CacheMode.REFRESH</literal> - write items to the second-level cache, but don't read from the second-level cache, bypass the effect of <literal>hibernate.cache.use_minimal_puts</literal>, forcing a refresh of the second-level cache for all items read from the database"
-msgstr "<literal>CacheMode.PUT</literal> - écrit les items dans le cache de second niveau mais ne les lit pas dans le cache de second niveau"
+#. Tag: para
+#: performance.xml:878
+#, no-c-format
+msgid ""
+"<literal>CacheMode.PUT</literal> - write items to the second-level cache, "
+"but don't read from the second-level cache"
+msgstr ""
+"<literal>CacheMode.PUT</literal> - écrit les items dans le cache de second "
+"niveau mais ne les lit pas dans le cache de second niveau"
 
-#: index.docbook:892
-msgid "To browse the contents of a second-level or query cache region, use the <literal>Statistics</literal> API:"
-msgstr "<literal>CacheMode.REFRESH</literal> - écrit les items dans le cache de second niveau mais ne les lit pas dans le cache de second niveau, outrepasse l'effet de<literal>hibernate.cache.use_minimal_puts</literal>, en forçant un rafraîchissement du cache de second niveau pour chaque item lu dans la base"
+#. Tag: para
+#: performance.xml:884
+#, no-c-format
+msgid ""
+"<literal>CacheMode.REFRESH</literal> - write items to the second-level "
+"cache, but don't read from the second-level cache, bypass the effect of "
+"<literal>hibernate.cache.use_minimal_puts</literal>, forcing a refresh of "
+"the second-level cache for all items read from the database"
+msgstr ""
+"<literal>CacheMode.REFRESH</literal> - écrit les items dans le cache de "
+"second niveau mais ne les lit pas dans le cache de second niveau, outrepasse "
+"l'effet de<literal>hibernate.cache.use_minimal_puts</literal>, en forçant un "
+"rafraîchissement du cache de second niveau pour chaque item lu dans la base"
 
-#: index.docbook:897
+#. Tag: para
+#: performance.xml:892
+#, no-c-format
 msgid ""
-      "<![CDATA[Map cacheEntries = sessionFactory.getStatistics()\n"
-      "        .getSecondLevelCacheStatistics(regionName)\n"
-      "        .getEntries();]]>"
-msgstr "Pour parcourir le contenu du cache de second niveau ou la région du cache dédiée au requêtes, vous pouvez utiliser l'API <literal>Statistics</literal> API:"
+"To browse the contents of a second-level or query cache region, use the "
+"<literal>Statistics</literal> API:"
+msgstr ""
+"Pour parcourir le contenu du cache de second niveau ou la région du cache "
+"dédiée au requêtes, vous pouvez utiliser l'API <literal>Statistics</literal> "
+"API:"
 
-#: index.docbook:899
-msgid "You'll need to enable statistics, and, optionally, force Hibernate to keep the cache entries in a more human-understandable format:"
+#. Tag: programlisting
+#: performance.xml:897
+#, 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();]]>"
 
-#: index.docbook:904
+#. Tag: para
+#: performance.xml:899
+#, no-c-format
 msgid ""
-      "<![CDATA[hibernate.generate_statistics true\n"
-      "hibernate.cache.use_structured_entries true]]>"
-msgstr "Vous devez pour cela activer les statistiques et optionnellement forcer Hibernate à conserver les entrées dans le cache sous un format plus compréhensible pour l'utilisateur :"
+"You'll need to enable statistics, and, optionally, force Hibernate to keep "
+"the cache entries in a more human-understandable format:"
+msgstr ""
+"Vous devez pour cela activer les statistiques et optionnellement forcer "
+"Hibernate à conserver les entrées dans le cache sous un format plus "
+"compréhensible pour l'utilisateur :"
 
-#: index.docbook:909
-msgid "The Query Cache"
+#. Tag: programlisting
+#: performance.xml:904
+#, 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]]>"
 
-#: index.docbook:911
-msgid "Query result sets may also be cached. This is only useful for queries that are run frequently with the same parameters. To use the query cache you must first enable it:"
+#. Tag: title
+#: performance.xml:909
+#, no-c-format
+msgid "The Query Cache"
 msgstr "Le cache de requêtes"
 
-#: index.docbook:916
+#. Tag: para
+#: performance.xml:911
+#, no-c-format
+msgid ""
+"Query result sets may also be cached. This is only useful for queries that "
+"are run frequently with the same parameters. To use the query cache you must "
+"first enable it:"
+msgstr ""
+"Les résultats d'une requête peuvent aussi être placés en cache. Ceci n'est "
+"utile que pour les requêtes qui sont exécutées avec les mêmes paramètres. "
+"Pour utiliser le cache de requêtes, vous devez d'abord l'activer :"
+
+#. Tag: programlisting
+#: performance.xml:916
+#, no-c-format
 msgid "<![CDATA[hibernate.cache.use_query_cache true]]>"
-msgstr "Les résultats d'une requête peuvent aussi être placés en cache. Ceci n'est utile que pour les requêtes qui sont exécutées avec les mêmes paramètres. Pour utiliser le cache de requêtes, vous devez d'abord l'activer :"
+msgstr ""
 
-#: index.docbook:918
-msgid "This setting causes the creation of two new cache regions - one holding cached query result sets (<literal>org.hibernate.cache.StandardQueryCache</literal>), the other holding timestamps of the most recent updates to queryable tables (<literal>org.hibernate.cache.UpdateTimestampsCache</literal>). Note that the query cache does not cache the state of the actual entities in the result set; it caches only identifier values and results of value type. So the query cache should always be used in conjunction with the second-level cache."
-msgstr "<![CDATA[hibernate.cache.use_query_cache true]]>"
+#. Tag: para
+#: performance.xml:918
+#, no-c-format
+msgid ""
+"This setting causes the creation of two new cache regions - one holding "
+"cached query result sets (<literal>org.hibernate.cache.StandardQueryCache</"
+"literal>), the other holding timestamps of the most recent updates to "
+"queryable tables (<literal>org.hibernate.cache.UpdateTimestampsCache</"
+"literal>). Note that the query cache does not cache the state of the actual "
+"entities in the result set; it caches only identifier values and results of "
+"value type. So the query cache should always be used in conjunction with the "
+"second-level cache."
+msgstr ""
+"Ce paramètre amène la création de deux nouvelles régions dans le cache, une "
+"qui va conserver le résultat des requêtes mises en cache (<literal>org."
+"hibernate.cache.StandardQueryCache</literal>) et l'autre qui va conserver "
+"l'horodatage des mises à jour les plus récentes effectuées sur les tables "
+"requêtables (<literal>org.hibernate.cache.UpdateTimestampsCache</literal>). "
+"Il faut noter que le cache de requête ne conserve pas l'état des entités, il "
+"met en cache uniquement les valeurs de l'identifiant et les valeurs de types "
+"de base (?). Le cache de requête doit toujours être utilisé avec le cache de "
+"second niveau pour être efficace."
 
-#: index.docbook:928
-msgid "Most queries do not benefit from caching, so by default queries are not cached. To enable caching, call <literal>Query.setCacheable(true)</literal>. This call allows the query to look for existing cache results or add its results to the cache when it is executed."
-msgstr "Ce paramètre amène la création de deux nouvelles régions dans le cache, une qui va conserver le résultat des requêtes mises en cache (<literal>org.hibernate.cache.StandardQueryCache</literal>) et l'autre qui va conserver l'horodatage des mises à jour les plus récentes effectuées sur les tables requêtables (<literal>org.hibernate.cache.UpdateTimestampsCache</literal>). Il faut noter que le cache de requête ne conserve pas l'état des entités, il met en cache uniquement les valeurs de l'identifiant et les valeurs de types de base (?). Le cache de requête doit toujours être utilisé avec le cache de second niveau pour être efficace."
+#. Tag: para
+#: performance.xml:928
+#, 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 plupart des requêtes ne retirent pas de bénéfice pas du cache, donc par "
+"défaut les requêtes ne sont pas mises en cache. Pour activer le cache, "
+"appelez <literal>Query.setCacheable(true)</literal>. Cet appel permet de "
+"vérifier si les résultats sont en cache ou non, voire d'ajouter ces "
+"résultats si la requête est exécutée."
 
-#: index.docbook:935
-msgid "If you require fine-grained control over query cache expiration policies, you may specify a named cache region for a particular query by calling <literal>Query.setCacheRegion()</literal>."
-msgstr "La plupart des requêtes ne retirent pas de bénéfice pas du cache, donc par défaut les requêtes ne sont pas mises en cache. Pour activer le cache, appelez <literal>Query.setCacheable(true)</literal>. Cet appel permet de vérifier si les résultats sont en cache ou non, voire d'ajouter ces résultats si la requête est exécutée."
+#. Tag: para
+#: performance.xml:935
+#, no-c-format
+msgid ""
+"If you require fine-grained control over query cache expiration policies, "
+"you may specify a named cache region for a particular query by calling "
+"<literal>Query.setCacheRegion()</literal>."
+msgstr ""
+"Si vous avez besoin de contrôler finement les délais d'expiration du cache, "
+"vous pouvez spécifier une région de cache nommée pour une requête "
+"particulière en appelant <literal>Query.setCacheRegion()</literal>."
 
-#: index.docbook:941
+#. Tag: programlisting
+#: performance.xml:941
+#, 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 "Si vous avez besoin de contrôler finement les délais d'expiration du cache, vous pouvez spécifier une région de cache nommée pour une requête particulière en appelant <literal>Query.setCacheRegion()</literal>."
+"<![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 ""
 
-#: index.docbook:943
-msgid "If the query should force a refresh of its query cache region, you should call <literal>Query.setCacheMode(CacheMode.REFRESH)</literal>. This is particularly useful in cases where underlying data may have been updated via a separate process (i.e., not modified through Hibernate) and allows the application to selectively refresh particular query result sets. This is a more efficient alternative to eviction of a query cache region via <literal>SessionFactory.evictQueries()</literal>."
+#. Tag: para
+#: performance.xml:943
+#, no-c-format
+msgid ""
+"If the query should force a refresh of its query cache region, you should "
+"call <literal>Query.setCacheMode(CacheMode.REFRESH)</literal>. This is "
+"particularly useful in cases where underlying data may have been updated via "
+"a separate process (i.e., not modified through Hibernate) and allows the "
+"application to selectively refresh particular query result sets. This is a "
+"more efficient alternative to eviction of a query cache region via "
+"<literal>SessionFactory.evictQueries()</literal>."
 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();]]>"
+"Si une requête doit forcer le rafraîchissement de sa région de cache, vous "
+"devez appeler <literal>Query.setCacheMode(CacheMode.REFRESH)</literal>. "
+"C'est particulièrement utile lorsque les données peuvent avoir été mises à "
+"jour par un processus séparé (e.g. elles n'ont pas été modifiées par "
+"Hibernate). Cela permet à l'application de rafraîchir de manière sélective "
+"les résultats d'une requête particulière. Il s'agit d'une alternative plus "
+"efficace à l'éviction d'une région du cache à l'aide de la méthode "
+"<literal>SessionFactory.evictQueries()</literal>."
 
-#: index.docbook:955
+#. Tag: title
+#: performance.xml:955
+#, no-c-format
 msgid "Understanding Collection performance"
-msgstr "Si une requête doit forcer le rafraîchissement de sa région de cache, vous devez appeler <literal>Query.setCacheMode(CacheMode.REFRESH)</literal>. C'est particulièrement utile lorsque les données peuvent avoir été mises à jour par un processus séparé (e.g. elles n'ont pas été modifiées par Hibernate). Cela permet à l'application de rafraîchir de manière sélective les résultats d'une requête particulière. Il s'agit d'une alternative plus efficace à l'éviction d'une région du cache à l'aide de la méthode <literal>SessionFactory.evictQueries()</literal>."
-
-#: index.docbook:957
-msgid "We've already spent quite some time talking about collections. In this section we will highlight a couple more issues about how collections behave at runtime."
 msgstr "Comprendre les performances des Collections"
 
-#: index.docbook:964
+#. Tag: para
+#: performance.xml:957
+#, no-c-format
+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 ""
+"Nous avons déjà passé du temps à discuter des collections. Dans cette "
+"section, nous allons traiter du comportement des collections à l'exécution."
+
+#. Tag: title
+#: performance.xml:964
+#, no-c-format
 msgid "Taxonomy"
-msgstr "Nous avons déjà passé du temps à discuter des collections. Dans cette section, nous allons traiter du comportement des collections à l'exécution."
+msgstr "Classification"
 
-#: index.docbook:966
+#. Tag: para
+#: performance.xml:966
+#, no-c-format
 msgid "Hibernate defines three basic kinds of collections:"
-msgstr "Classification"
+msgstr "Hibernate définit trois types de collections :"
 
-#: index.docbook:970
+#. Tag: para
+#: performance.xml:970
+#, no-c-format
 msgid "collections of values"
-msgstr "Hibernate définit trois types de collections :"
+msgstr "les collections de valeurs"
 
-#: index.docbook:973
+#. Tag: para
+#: performance.xml:973
+#, no-c-format
 msgid "one to many associations"
-msgstr "les collections de valeurs"
+msgstr "les associations un-vers-plusieurs"
 
-#: index.docbook:976
+#. Tag: para
+#: performance.xml:976
+#, no-c-format
 msgid "many to many associations"
-msgstr "les associations un-vers-plusieurs"
-
-#: index.docbook:980
-msgid "This classification distinguishes the various table and foreign key relationships but does not tell us quite everything we need to know about the relational model. To fully understand the relational structure and performance characteristics, we must also consider the structure of the primary key that is used by Hibernate to update or delete collection rows. This suggests the following classification:"
 msgstr "les associations plusieurs-vers-plusieurs"
 
-#: index.docbook:991
+#. Tag: para
+#: performance.xml:980
+#, no-c-format
+msgid ""
+"This classification distinguishes the various table and foreign key "
+"relationships but does not tell us quite everything we need to know about "
+"the relational model. To fully understand the relational structure and "
+"performance characteristics, we must also consider the structure of the "
+"primary key that is used by Hibernate to update or delete collection rows. "
+"This suggests the following classification:"
+msgstr ""
+"Cette classification distingue les différentes relations entre les tables et "
+"les clés étrangères mais ne nous apprend rien de ce que nous devons savoir "
+"sur le modèle relationnel. Pour comprendre parfaitement la structure "
+"relationnelle et les caractéristiques des performances, nous devons "
+"considérer la structure de la clé primaire qui est utilisée par Hibernate "
+"pour mettre à jour ou supprimer les éléments des collections. Celà nous "
+"amène aux classifications suivantes :"
+
+#. Tag: para
+#: performance.xml:991
+#, no-c-format
 msgid "indexed collections"
-msgstr "Cette classification distingue les différentes relations entre les tables et les clés étrangères mais ne nous apprend rien de ce que nous devons savoir sur le modèle relationnel. Pour comprendre parfaitement la structure relationnelle et les caractéristiques des performances, nous devons considérer la structure de la clé primaire qui est utilisée par Hibernate pour mettre à jour ou supprimer les éléments des collections. Celà nous amène aux classifications suivantes :"
+msgstr "collections indexées"
 
-#: index.docbook:994
+#. Tag: para
+#: performance.xml:994
+#, no-c-format
 msgid "sets"
-msgstr "collections indexées"
+msgstr "sets"
 
-#: index.docbook:997
+#. Tag: para
+#: performance.xml:997
+#, no-c-format
 msgid "bags"
-msgstr "sets"
-
-#: index.docbook:1001
-msgid "All indexed collections (maps, lists, arrays) have a primary key consisting of the <literal>&lt;key&gt;</literal> and <literal>&lt;index&gt;</literal> columns. In this case collection updates are usually extremely efficient - the primary key may be efficiently indexed and a particular row may be efficiently located when Hibernate tries to update or delete it."
 msgstr "bags"
 
-#: index.docbook:1009
-msgid "Sets have a primary key consisting of <literal>&lt;key&gt;</literal> and element columns. This may be less efficient for some types of collection element, particularly composite elements or large text or binary fields; the database may not be able to index a complex primary key as efficently. On the other hand, for one to many or many to many associations, particularly in the case of synthetic identifiers, it is likely to be just as efficient. (Side-note: if you want <literal>SchemaExport</literal> to actually create the primary key of a <literal>&lt;set&gt;</literal> for you, you must declare all columns as <literal>not-null=\"true\"</literal>.)"
-msgstr "Toutes les collections indexées (maps, lists, arrays) ont une clé primaire constituée des colonnes clé (<literal>&lt;key&gt;</literal>) et <literal>&lt;index&gt;</literal>. Avec ce type de clé primaire, la mise à jour de collection est en général très performante - la clé primaire peut être indexées efficacement et un élément particulier peut être localisé efficacement lorsqu'Hibernate essaie de le mettre à jour ou de le supprimer."
+#. Tag: para
+#: performance.xml:1001
+#, no-c-format
+msgid ""
+"All indexed collections (maps, lists, arrays) have a primary key consisting "
+"of the <literal>&lt;key&gt;</literal> and <literal>&lt;index&gt;</literal> "
+"columns. In this case collection updates are usually extremely efficient - "
+"the primary key may be efficiently indexed and a particular row may be "
+"efficiently located when Hibernate tries to update or delete it."
+msgstr ""
+"Toutes les collections indexées (maps, lists, arrays) ont une clé primaire "
+"constituée des colonnes clé (<literal>&lt;key&gt;</literal>) et <literal>&lt;"
+"index&gt;</literal>. Avec ce type de clé primaire, la mise à jour de "
+"collection est en général très performante - la clé primaire peut être "
+"indexées efficacement et un élément particulier peut être localisé "
+"efficacement lorsqu'Hibernate essaie de le mettre à jour ou de le supprimer."
 
-#: index.docbook:1020
-msgid "<literal>&lt;idbag&gt;</literal> mappings define a surrogate key, so they are always very efficient to update. In fact, they are the best case."
-msgstr "Les Sets ont une clé primaire composée de <literal>&lt;key&gt;</literal> et des colonnes représentant l'élément. Elle est donc moins efficace pour certains types de collections d'éléments, en particulier les éléments composites, les textes volumineux ou les champs binaires ; la base de données peut ne pas être capable d'indexer aussi efficacement une clé primaire aussi complexe. Cependant, pour les associations un-vers-plusieurs ou plusieurs-vers-plusieurs, spécialement lorsque l'on utilise des entités ayant des identifiants techniques, il est probable que cela soit aussi efficace (note : si vous voulez que <literal>SchemaExport</literal> créé effectivement la clé primaire d'un <literal>&lt;set&gt;</literal> pour vous, vous devez déclarer toutes les colonnes avec <literal>not-null=\"true\"</literal>)."
+#. Tag: para
+#: performance.xml:1009
+#, no-c-format
+msgid ""
+"Sets have a primary key consisting of <literal>&lt;key&gt;</literal> and "
+"element columns. This may be less efficient for some types of collection "
+"element, particularly composite elements or large text or binary fields; the "
+"database may not be able to index a complex primary key as efficently. On "
+"the other hand, for one to many or many to many associations, particularly "
+"in the case of synthetic identifiers, it is likely to be just as efficient. "
+"(Side-note: if you want <literal>SchemaExport</literal> to actually create "
+"the primary key of a <literal>&lt;set&gt;</literal> for you, you must "
+"declare all columns as <literal>not-null=\"true\"</literal>.)"
+msgstr ""
+"Les Sets ont une clé primaire composée de <literal>&lt;key&gt;</literal> et "
+"des colonnes représentant l'élément. Elle est donc moins efficace pour "
+"certains types de collections d'éléments, en particulier les éléments "
+"composites, les textes volumineux ou les champs binaires ; la base de "
+"données peut ne pas être capable d'indexer aussi efficacement une clé "
+"primaire aussi complexe. Cependant, pour les associations un-vers-plusieurs "
+"ou plusieurs-vers-plusieurs, spécialement lorsque l'on utilise des entités "
+"ayant des identifiants techniques, il est probable que cela soit aussi "
+"efficace (note : si vous voulez que <literal>SchemaExport</literal> créé "
+"effectivement la clé primaire d'un <literal>&lt;set&gt;</literal> pour vous, "
+"vous devez déclarer toutes les colonnes avec <literal>not-null=\"true\"</"
+"literal>)."
 
-#: index.docbook:1025
-msgid "Bags are the worst case. Since a bag permits duplicate element values and has no index column, no primary key may be defined. Hibernate has no way of distinguishing between duplicate rows. Hibernate resolves this problem by completely removing (in a single <literal>DELETE</literal>) and recreating the collection whenever it changes. This might be very inefficient."
-msgstr "Le mapping à l'aide d'<literal>&lt;idbag&gt;</literal> définit une clé de substitution ce qui leur permet d'être très efficaces lors de la mise à jour. En fait il s'agit du meilleur cas de mise à jour d'une collection"
+#. Tag: para
+#: performance.xml:1020
+#, no-c-format
+msgid ""
+"<literal>&lt;idbag&gt;</literal> mappings define a surrogate key, so they "
+"are always very efficient to update. In fact, they are the best case."
+msgstr ""
+"Le mapping à l'aide d'<literal>&lt;idbag&gt;</literal> définit une clé de "
+"substitution ce qui leur permet d'être très efficaces lors de la mise à "
+"jour. En fait il s'agit du meilleur cas de mise à jour d'une collection"
 
-#: index.docbook:1033
-msgid "Note that for a one-to-many association, the \"primary key\" may not be the physical primary key of the database table - but even in this case, the above classification is still useful. (It still reflects how Hibernate \"locates\" individual rows of the collection.)"
-msgstr "Le pire cas intervient pour les Bags. Dans la mesure où un bag permet la duplications des éléments et n'a pas de colonne d'index, aucune clé primaire ne peut être définie. Hibernate n'a aucun moyen de distinguer des enregistrements dupliqués. Hibernate résout ce problème en supprimant complètement les enregistrements (via un simple <literal>DELETE</literal>), puis en recréant la collection chaque fois qu'elle change. Ce qui peut être très inefficace."
+#. Tag: para
+#: performance.xml:1025
+#, no-c-format
+msgid ""
+"Bags are the worst case. Since a bag permits duplicate element values and "
+"has no index column, no primary key may be defined. Hibernate has no way of "
+"distinguishing between duplicate rows. Hibernate resolves this problem by "
+"completely removing (in a single <literal>DELETE</literal>) and recreating "
+"the collection whenever it changes. This might be very inefficient."
+msgstr ""
+"Le pire cas intervient pour les Bags. Dans la mesure où un bag permet la "
+"duplications des éléments et n'a pas de colonne d'index, aucune clé primaire "
+"ne peut être définie. Hibernate n'a aucun moyen de distinguer des "
+"enregistrements dupliqués. Hibernate résout ce problème en supprimant "
+"complètement les enregistrements (via un simple <literal>DELETE</literal>), "
+"puis en recréant la collection chaque fois qu'elle change. Ce qui peut être "
+"très inefficace."
 
-#: index.docbook:1043
-msgid "Lists, maps, idbags and sets are the most efficient collections to update"
-msgstr "Notez que pour une relation un-vers-plusieurs, la \"clé primaire\" peut ne pas être la clé primaire de la table en base de données - mais même dans ce cas, la classification ci-dessus reste utile (Elle explique comment Hibernate \"localise\" chaque enregistrement de la collection)."
+#. Tag: para
+#: performance.xml:1033
+#, no-c-format
+msgid ""
+"Note that for a one-to-many association, the \"primary key\" may not be the "
+"physical primary key of the database table - but even in this case, the "
+"above classification is still useful. (It still reflects how Hibernate "
+"\"locates\" individual rows of the collection.)"
+msgstr ""
+"Notez que pour une relation un-vers-plusieurs, la \"clé primaire\" peut ne "
+"pas être la clé primaire de la table en base de données - mais même dans ce "
+"cas, la classification ci-dessus reste utile (Elle explique comment "
+"Hibernate \"localise\" chaque enregistrement de la collection)."
 
-#: index.docbook:1045
-msgid "From the discussion above, it should be clear that indexed collections and (usually) sets allow the most efficient operation in terms of adding, removing and updating elements."
-msgstr "Les lists, les maps, les idbags et les sets sont les collections les plus efficaces pour la mise à jour"
+#. Tag: title
+#: performance.xml:1043
+#, no-c-format
+msgid ""
+"Lists, maps, idbags and sets are the most efficient collections to update"
+msgstr ""
+"Les lists, les maps, les idbags et les sets sont les collections les plus "
+"efficaces pour la mise à jour"
 
-#: index.docbook:1051
-msgid "There is, arguably, one more advantage that indexed collections have over sets for many to many associations or collections of values. Because of the structure of a <literal>Set</literal>, Hibernate doesn't ever <literal>UPDATE</literal> a row when an element is \"changed\". Changes to a <literal>Set</literal> always work via <literal>INSERT</literal> and <literal>DELETE</literal> (of individual rows). Once again, this consideration does not apply to one to many associations."
-msgstr "La discussion précédente montre clairement que les collections indexées et (la plupart du temps) les sets, permettent de réaliser le plus efficacement les opérations d'ajout, de suppression ou de modification d'éléments."
+#. Tag: para
+#: performance.xml:1045
+#, no-c-format
+msgid ""
+"From the discussion above, it should be clear that indexed collections and "
+"(usually) sets allow the most efficient operation in terms of adding, "
+"removing and updating elements."
+msgstr ""
+"La discussion précédente montre clairement que les collections indexées et "
+"(la plupart du temps) les sets, permettent de réaliser le plus efficacement "
+"les opérations d'ajout, de suppression ou de modification d'éléments."
 
-#: index.docbook:1060
-msgid "After observing that arrays cannot be lazy, we would conclude that lists, maps and idbags are the most performant (non-inverse) collection types, with sets not far behind. Sets are expected to be the most common kind of collection in Hibernate applications. This is because the \"set\" semantics are most natural in the relational model."
-msgstr "Il existe un autre avantage qu'ont les collections indexées sur les Sets dans le cadre d'une association plusieurs vers plusieurs ou d'une collection de valeurs. A cause de la structure inhérente d'un <literal>Set</literal>, Hibernate n'effectue jamais d'<literal>UPDATE</literal> quand un enregistrement est modifié. Les modifications apportées à un <literal>Set</literal> se font via un <literal>INSERT</literal> et <literal>DELETE</literal> (de chaque enregistrement). Une fois de plus, ce cas ne s'applique pas aux associations un vers plusieurs."
+#. Tag: para
+#: performance.xml:1051
+#, 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 "
+"structure of a <literal>Set</literal>, Hibernate doesn't ever "
+"<literal>UPDATE</literal> a row when an element is \"changed\". Changes to a "
+"<literal>Set</literal> always work via <literal>INSERT</literal> and "
+"<literal>DELETE</literal> (of individual rows). Once again, this "
+"consideration does not apply to one to many associations."
+msgstr ""
+"Il existe un autre avantage qu'ont les collections indexées sur les Sets "
+"dans le cadre d'une association plusieurs vers plusieurs ou d'une collection "
+"de valeurs. A cause de la structure inhérente d'un <literal>Set</literal>, "
+"Hibernate n'effectue jamais d'<literal>UPDATE</literal> quand un "
+"enregistrement est modifié. Les modifications apportées à un <literal>Set</"
+"literal> se font via un <literal>INSERT</literal> et <literal>DELETE</"
+"literal> (de chaque enregistrement). Une fois de plus, ce cas ne s'applique "
+"pas aux associations un vers plusieurs."
 
-#: index.docbook:1068
-msgid "However, in well-designed Hibernate domain models, we usually see that most collections are in fact one-to-many associations with <literal>inverse=\"true\"</literal>. For these associations, the update is handled by the many-to-one end of the association, and so considerations of collection update performance simply do not apply."
-msgstr "Après s'être rappelé que les tableaux ne peuvent pas être chargés tardivement, nous pouvons conclure que les lists, les maps et les idbags sont les types de collections (non inversées) les plus performants, avec les sets pas loin derrières. Les sets son le type de collection le plus courant dans les applications Hibernate. Cela est du au fait que la sémantique des \"set\" est la plus naturelle dans le modèle relationnel."
+#. Tag: para
+#: performance.xml:1060
+#, no-c-format
+msgid ""
+"After observing that arrays cannot be lazy, we would conclude that lists, "
+"maps and idbags are the most performant (non-inverse) collection types, with "
+"sets not far behind. Sets are expected to be the most common kind of "
+"collection in Hibernate applications. This is because the \"set\" semantics "
+"are most natural in the relational model."
+msgstr ""
+"Après s'être rappelé que les tableaux ne peuvent pas être chargés "
+"tardivement, nous pouvons conclure que les lists, les maps et les idbags "
+"sont les types de collections (non inversées) les plus performants, avec les "
+"sets pas loin derrières. Les sets son le type de collection le plus courant "
+"dans les applications Hibernate. Cela est du au fait que la sémantique des "
+"\"set\" est la plus naturelle dans le modèle relationnel."
 
-#: index.docbook:1078
+#. Tag: para
+#: performance.xml:1068
+#, no-c-format
+msgid ""
+"However, in well-designed Hibernate domain models, we usually see that most "
+"collections are in fact one-to-many associations with <literal>inverse=\"true"
+"\"</literal>. For these associations, the update is handled by the many-to-"
+"one end of the association, and so considerations of collection update "
+"performance simply do not apply."
+msgstr ""
+"Cependant, dans des modèles objet bien conçus avec Hibernate, on voit "
+"souvent que la plupart des collections sont en fait des associations \"un-"
+"vers-plusieurs\" avec <literal>inverse=\"true\"</literal>. Pour ces "
+"associations, les mises à jour sont gérées au niveau de l'association "
+"\"plusieurs-vers-un\" et les considérations de performance de mise à jour "
+"des collections ne s'appliquent tout simplement pas dans ces cas là."
+
+#. Tag: title
+#: performance.xml:1078
+#, no-c-format
 msgid "Bags and lists are the most efficient inverse collections"
-msgstr "Cependant, dans des modèles objet bien conçus avec Hibernate, on voit souvent que la plupart des collections sont en fait des associations \"un-vers-plusieurs\" avec <literal>inverse=\"true\"</literal>. Pour ces associations, les mises à jour sont gérées au niveau de l'association \"plusieurs-vers-un\" et les considérations de performance de mise à jour des collections ne s'appliquent tout simplement pas dans ces cas là."
+msgstr ""
+"Les Bags et les lists sont les plus efficaces pour les collections inverse"
 
-#: index.docbook:1080
-msgid "Just before you ditch bags forever, there is a particular case in which bags (and also lists) are much more performant than sets. For a collection with <literal>inverse=\"true\"</literal> (the standard bidirectional one-to-many relationship idiom, for example) we can add elements to a bag or list without needing to initialize (fetch) the bag elements! This is because <literal>Collection.add()</literal> or <literal>Collection.addAll()</literal> must always return true for a bag or <literal>List</literal> (unlike a <literal>Set</literal>). This can make the following common code much faster."
-msgstr "Les Bags et les lists sont les plus efficaces pour les collections inverse"
+#. Tag: para
+#: performance.xml:1080
+#, no-c-format
+msgid ""
+"Just before you ditch bags forever, there is a particular case in which bags "
+"(and also lists) are much more performant than sets. For a collection with "
+"<literal>inverse=\"true\"</literal> (the standard bidirectional one-to-many "
+"relationship idiom, for example) we can add elements to a bag or list "
+"without needing to initialize (fetch) the bag elements! This is because "
+"<literal>Collection.add()</literal> or <literal>Collection.addAll()</"
+"literal> must always return true for a bag or <literal>List</literal> "
+"(unlike a <literal>Set</literal>). This can make the following common code "
+"much faster."
+msgstr ""
+"Avant que vous n'oubliez les bags pour toujours, il y a un cas précis où les "
+"bags (et les lists) sont bien plus performants que les sets. Pour une "
+"collection marquée comme <literal>inverse=\"true\"</literal> (le choix le "
+"plus courant pour un relation un vers plusieurs bidirectionnelle), nous "
+"pouvons ajouter des éléments à un bag ou une list sans avoir besoin de "
+"l'initialiser (fetch) les éléments du sac! Ceci parce que "
+"<literal>Collection.add()</literal> ou <literal>Collection.addAll()</"
+"literal> doit toujours retourner vrai pour un bag ou une <literal>List</"
+"literal> (contrairement au <literal>Set</literal>). Cela peut rendre le code "
+"suivant beaucoup plus rapide."
 
-#: index.docbook:1090
+#. Tag: programlisting
+#: performance.xml:1090
+#, 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 "Avant que vous n'oubliez les bags pour toujours, il y a un cas précis où les bags (et les lists) sont bien plus performants que les sets. Pour une collection marquée comme <literal>inverse=\"true\"</literal> (le choix le plus courant pour un relation un vers plusieurs bidirectionnelle), nous pouvons ajouter des éléments à un bag ou une list sans avoir besoin de l'initialiser (fetch) les éléments du sac! Ceci parce que <literal>Collection.add()</literal> ou <literal>Collection.addAll()</literal> doit toujours retourner vrai pour un bag ou une <literal>List</literal> (contrairement au <literal>Set</literal>). Cela peut rendre le code suivant beaucoup plus rapide."
+"<![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 ""
 
-#: index.docbook:1095
+#. Tag: title
+#: performance.xml:1095
+#, no-c-format
 msgid "One shot delete"
+msgstr "Suppression en un coup"
+
+#. Tag: para
+#: performance.xml:1097
+#, no-c-format
+msgid ""
+"Occasionally, deleting collection elements one by one can be extremely "
+"inefficient. Hibernate isn't completely stupid, so it 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> and we are done!"
 msgstr ""
-      "<![CDATA[Parent p = (Parent) sess.load(Parent.class, id);\n"
-      "    Child c = new Child();\n"
-      "    c.setParent(p);\n"
-      "    p.getChildren().add(c);  //pas besoin de charger la collection !\n"
-      "    sess.flush();]]>"
+"Parfois, effacer les éléments d'une collection un par un peut être "
+"extrêmement inefficace. Hibernate n'est pas totalement stupide, il sait "
+"qu'il ne faut pas le faire dans le cas d'une collection complètement vidée "
+"(lorsque vous appellez <literal>list.clear()</literal>, par exemple). Dans "
+"ce cas, Hibernate fera un simple <literal>DELETE</literal> et le travail est "
+"fait !"
 
-#: index.docbook:1097
-msgid "Occasionally, deleting collection elements one by one can be extremely inefficient. Hibernate isn't completely stupid, so it knows not to do that 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> and we are done!"
-msgstr "Suppression en un coup"
+#. Tag: para
+#: performance.xml:1104
+#, no-c-format
+msgid ""
+"Suppose we add a single element to a collection of size twenty and then "
+"remove two elements. Hibernate will issue one <literal>INSERT</literal> "
+"statement and two <literal>DELETE</literal> statements (unless the "
+"collection is a bag). This is certainly desirable."
+msgstr ""
+"Supposons que nous ajoutions un élément dans une collection de taille vingt "
+"et que nous enlevions ensuite deux éléments. Hibernate effectuera un "
+"<literal>INSERT</literal> puis deux <literal>DELETE</literal> (à moins que "
+"la collection ne soit un bag). Ce qui est souhaitable."
 
-#: index.docbook:1104
-msgid "Suppose we add a single element to a collection of size twenty and then remove two elements. Hibernate will issue one <literal>INSERT</literal> statement and two <literal>DELETE</literal> statements (unless the collection is a bag). This is certainly desirable."
-msgstr "Parfois, effacer les éléments d'une collection un par un peut être extrêmement inefficace. Hibernate n'est pas totalement stupide, il sait qu'il ne faut pas le faire dans le cas d'une collection complètement vidée (lorsque vous appellez <literal>list.clear()</literal>, par exemple). Dans ce cas, Hibernate fera un simple <literal>DELETE</literal> et le travail est fait !"
+#. Tag: para
+#: performance.xml:1110
+#, 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 ""
+"Cependant, supposons que nous enlevions dix huit éléments, laissant ainsi "
+"deux éléments, puis que nous ajoutions trois nouveaux éléments. Il y a deux "
+"moyens de procéder."
 
-#: index.docbook:1110
-msgid "However, suppose that we remove eighteen elements, leaving two and then add thee new elements. There are two possible ways to proceed"
-msgstr "Supposons que nous ajoutions un élément dans une collection de taille vingt et que nous enlevions ensuite deux éléments. Hibernate effectuera un <literal>INSERT</literal> puis deux <literal>DELETE</literal> (à moins que la collection ne soit un bag). Ce qui est souhaitable."
-
-#: index.docbook:1117
+#. Tag: para
+#: performance.xml:1117
+#, no-c-format
 msgid "delete eighteen rows one by one and then insert three rows"
-msgstr "Cependant, supposons que nous enlevions dix huit éléments, laissant ainsi deux éléments, puis que nous ajoutions trois nouveaux éléments. Il y a deux moyens de procéder."
-
-#: index.docbook:1120
-msgid "remove the whole collection (in one SQL <literal>DELETE</literal>) and insert all five current elements (one by one)"
 msgstr "effacer dix huit enregistrements un à un puis en insérer trois"
 
-#: index.docbook:1125
-msgid "Hibernate isn't smart enough to know that the second option is probably quicker in this case. (And it would probably be undesirable for Hibernate to be that smart; such behaviour might confuse database triggers, etc.)"
-msgstr "effacer la totalité de la collection (en un <literal>DELETE</literal> SQL) puis insérer les cinq éléments restant un à un"
+#. Tag: para
+#: performance.xml:1120
+#, no-c-format
+msgid ""
+"remove the whole collection (in one SQL <literal>DELETE</literal>) and "
+"insert all five current elements (one by one)"
+msgstr ""
+"effacer la totalité de la collection (en un <literal>DELETE</literal> SQL) "
+"puis insérer les cinq éléments restant un à un"
 
-#: index.docbook:1131
-msgid "Fortunately, you can force this behaviour (ie. the second strategy) at any time by discarding (ie. dereferencing) the original collection and returning a newly instantiated collection with all the current elements. This can be very useful and powerful from time to time."
-msgstr "Hibernate n'est pas assez intelligent pour savoir que, dans ce cas, la seconde méthode est plus rapide (Il plutôt heureux qu'Hibernate ne soit pas trop intelligent ; un tel comportement pourrait rendre l'utilisation de triggers de bases de données plutôt aléatoire, etc...)."
+#. Tag: para
+#: performance.xml:1125
+#, no-c-format
+msgid ""
+"Hibernate isn't smart enough to know that the second option is probably "
+"quicker in this case. (And it would probably be undesirable for Hibernate to "
+"be that smart; such behaviour might confuse database triggers, etc.)"
+msgstr ""
+"Hibernate n'est pas assez intelligent pour savoir que, dans ce cas, la "
+"seconde méthode est plus rapide (Il plutôt heureux qu'Hibernate ne soit pas "
+"trop intelligent ; un tel comportement pourrait rendre l'utilisation de "
+"triggers de bases de données plutôt aléatoire, etc...)."
 
-#: index.docbook:1137
-msgid "Of course, one-shot-delete does not apply to collections mapped <literal>inverse=\"true\"</literal>."
-msgstr "Heureusement, vous pouvez forcer ce comportement lorsque vous le souhaitez, en liberant (c'est-à-dire en déréférençant) la collection initiale et en retournant une collection nouvellement instanciée avec les éléments restants. Ceci peut être très pratique et très puissant de temps en temps."
+#. Tag: para
+#: performance.xml:1131
+#, no-c-format
+msgid ""
+"Fortunately, you can force this behaviour (ie. the second strategy) at any "
+"time by discarding (ie. dereferencing) the original collection and returning "
+"a newly instantiated collection with all the current elements. This can be "
+"very useful and powerful from time to time."
+msgstr ""
+"Heureusement, vous pouvez forcer ce comportement lorsque vous le souhaitez, "
+"en liberant (c'est-à-dire en déréférençant) la collection initiale et en "
+"retournant une collection nouvellement instanciée avec les éléments "
+"restants. Ceci peut être très pratique et très puissant de temps en temps."
 
-#: index.docbook:1146
+#. Tag: para
+#: performance.xml:1137
+#, no-c-format
+msgid ""
+"Of course, one-shot-delete does not apply to collections mapped "
+"<literal>inverse=\"true\"</literal>."
+msgstr ""
+"Bien sûr, la suppression en un coup ne s'applique pas pour les collections "
+"qui sont mappées avec <literal>inverse=\"true\"</literal>."
+
+#. Tag: title
+#: performance.xml:1146
+#, no-c-format
 msgid "Monitoring performance"
-msgstr "Bien sûr, la suppression en un coup ne s'applique pas pour les collections qui sont mappées avec <literal>inverse=\"true\"</literal>."
-
-#: index.docbook:1148
-msgid "Optimization is not much use without monitoring and access to performance numbers. Hibernate provides a full range of figures about its internal operations. Statistics in Hibernate are available per <literal>SessionFactory</literal>."
 msgstr "Moniteur de performance"
 
-#: index.docbook:1155
+#. Tag: para
+#: performance.xml:1148
+#, no-c-format
+msgid ""
+"Optimization is not much use without monitoring and access to performance "
+"numbers. Hibernate provides a full range of figures about its internal "
+"operations. Statistics in Hibernate are available per "
+"<literal>SessionFactory</literal>."
+msgstr ""
+"L'optimisation n'est pas d'un grand intérêt sans le suivi et l'accès aux "
+"données de performance. Hibernate fournit toute une panoplie de rapport sur "
+"ses opérations internes. Les statistiques dans Hibernate sont fournies par "
+"<literal>SessionFactory</literal>."
+
+#. Tag: title
+#: performance.xml:1155
+#, no-c-format
 msgid "Monitoring a SessionFactory"
-msgstr "L'optimisation n'est pas d'un grand intérêt sans le suivi et l'accès aux données de performance. Hibernate fournit toute une panoplie de rapport sur ses opérations internes. Les statistiques dans Hibernate sont fournies par <literal>SessionFactory</literal>."
-
-#: index.docbook:1157
-msgid "You can access <literal>SessionFactory</literal> metrics in two ways. Your first option is to call <literal>sessionFactory.getStatistics()</literal> and read or display the <literal>Statistics</literal> yourself."
 msgstr "Suivi d'une SessionFactory"
 
-#: index.docbook:1163
-msgid "Hibernate can also use JMX to publish metrics if you enable the <literal>StatisticsService</literal> MBean. You may enable a single MBean for all your <literal>SessionFactory</literal> or one per factory. See the following code for minimalistic configuration examples:"
-msgstr "Vous pouvez accéder au métriques d'une <literal>SessionFactory</literal> de deux manières. La première option est d'appeler <literal>sessionFactory.getStatistics()</literal> et de lire ou d'afficher les <literal>Statistics</literal> vous même."
+#. Tag: para
+#: performance.xml:1157
+#, 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 ""
+"Vous pouvez accéder au métriques d'une <literal>SessionFactory</literal> de "
+"deux manières. La première option est d'appeler <literal>sessionFactory."
+"getStatistics()</literal> et de lire ou d'afficher les <literal>Statistics</"
+"literal> vous même."
 
-#: index.docbook:1170
+#. Tag: para
+#: performance.xml:1163
+#, 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 "Hibernate peut également utiliser JMX pour publier les métriques si vous activez le MBean <literal>StatisticsService</literal>. Vous pouvez activer un seul MBean pour toutes vos <literal>SessionFactory</literal> ou un par factory. Voici un code qui montre un exemple de configuration minimaliste :"
+"Hibernate can also use JMX to publish metrics if you enable the "
+"<literal>StatisticsService</literal> MBean. You may enable a single MBean "
+"for all your <literal>SessionFactory</literal> or one per factory. See the "
+"following code for minimalistic configuration examples:"
+msgstr ""
+"Hibernate peut également utiliser JMX pour publier les métriques si vous "
+"activez le MBean <literal>StatisticsService</literal>. Vous pouvez activer "
+"un seul MBean pour toutes vos <literal>SessionFactory</literal> ou un par "
+"factory. Voici un code qui montre un exemple de configuration minimaliste :"
 
-#: index.docbook:1173
+#. Tag: programlisting
+#: performance.xml:1170
+#, 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]]>"
+"<![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]]>"
 
-#: index.docbook:1175
-msgid "TODO: This doesn't make sense: In the first case, we retrieve and use the MBean directly. In the second one, we must give the JNDI name in which the session factory is held before using it. Use <literal>hibernateStatsBean.setSessionFactoryJNDIName(\"my/JNDI/Name\")</literal>"
+#. Tag: programlisting
+#: performance.xml:1173
+#, 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]]>"
 
-#: index.docbook:1180
-msgid "You can (de)activate the monitoring for a <literal>SessionFactory</literal>"
-msgstr "TODO: Cela n'a pas de sens : dans le premier cs on récupère et on utilise le MBean directement. Dans le second, on doit fournir le nom JNDI sous lequel est retenu la fabrique de session avant de l'utiliser. Pour cela il faut utiliser <literal>hibernateStatsBean.setSessionFactoryJNDIName(\"my/JNDI/Name\")</literal>"
+#. Tag: para
+#: performance.xml:1175
+#, no-c-format
+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 ""
+"TODO: Cela n'a pas de sens : dans le premier cs on récupère et on utilise le "
+"MBean directement. Dans le second, on doit fournir le nom JNDI sous lequel "
+"est retenu la fabrique de session avant de l'utiliser. Pour cela il faut "
+"utiliser <literal>hibernateStatsBean.setSessionFactoryJNDIName(\"my/JNDI/Name"
+"\")</literal>"
 
-#: index.docbook:1185
-msgid "at configuration time, set <literal>hibernate.generate_statistics</literal> to <literal>false</literal>"
-msgstr "Vous pouvez (dés)activer le suivi pour une <literal>SessionFactory</literal>"
+#. Tag: para
+#: performance.xml:1180
+#, no-c-format
+msgid ""
+"You can (de)activate the monitoring for a <literal>SessionFactory</literal>"
+msgstr ""
+"Vous pouvez (dés)activer le suivi pour une <literal>SessionFactory</literal>"
 
-#: index.docbook:1192
-msgid "at runtime: <literal>sf.getStatistics().setStatisticsEnabled(true)</literal> or <literal>hibernateStatsBean.setStatisticsEnabled(true)</literal>"
-msgstr "au moment de la configuration en mettant <literal>hibernate.generate_statistics</literal> à <literal>false</literal>"
+#. Tag: para
+#: performance.xml:1185
+#, no-c-format
+msgid ""
+"at configuration time, set <literal>hibernate.generate_statistics</literal> "
+"to <literal>false</literal>"
+msgstr ""
+"au moment de la configuration en mettant <literal>hibernate."
+"generate_statistics</literal> à <literal>false</literal>"
 
-#: index.docbook:1199
-msgid "Statistics can be reset programatically using the <literal>clear()</literal> method. A summary can be sent to a logger (info level) using the <literal>logSummary()</literal> method."
-msgstr "à chaud avec <literal>sf.getStatistics().setStatisticsEnabled(true)</literal> ou <literal>hibernateStatsBean.setStatisticsEnabled(true)</literal>"
+#. Tag: para
+#: performance.xml:1192
+#, no-c-format
+msgid ""
+"at runtime: <literal>sf.getStatistics().setStatisticsEnabled(true)</literal> "
+"or <literal>hibernateStatsBean.setStatisticsEnabled(true)</literal>"
+msgstr ""
+"à chaud avec <literal>sf.getStatistics().setStatisticsEnabled(true)</"
+"literal> ou <literal>hibernateStatsBean.setStatisticsEnabled(true)</literal>"
 
-#: index.docbook:1208
+#. Tag: para
+#: performance.xml:1199
+#, no-c-format
+msgid ""
+"Statistics can be reset programatically using the <literal>clear()</literal> "
+"method. A summary can be sent to a logger (info level) using the "
+"<literal>logSummary()</literal> method."
+msgstr ""
+"Les statistiques peuvent être remises à zéro de manière programmatique à "
+"l'aide de la méthode <literal>clear()</literal> Un résumé peut être envoyé à "
+"un logger (niveau info) à l'aide de la méthode <literal>logSummary()</"
+"literal>"
+
+#. Tag: title
+#: performance.xml:1208
+#, no-c-format
 msgid "Metrics"
-msgstr "Les statistiques peuvent être remises à zéro de manière programmatique à l'aide de la méthode <literal>clear()</literal> Un résumé peut être envoyé à un logger (niveau info) à l'aide de la méthode <literal>logSummary()</literal>"
-
-#: index.docbook:1210
-msgid "Hibernate provides a number of metrics, from very basic to the specialized information only relevant in certain scenarios. All available counters are described in the <literal>Statistics</literal> interface API, in three categories:"
 msgstr "Métriques"
 
-#: index.docbook:1217
-msgid "Metrics related to the general <literal>Session</literal> usage, such as number of open sessions, retrieved JDBC connections, etc."
-msgstr "Hibernate fournit un certain nombre de métriques, qui vont des informations très basiques aux informations très spécialisées qui ne sont appropriées que dans certains scenarii. Tous les compteurs accessibles sont décrits dans l'API de l'interface <literal>Statistics</literal> dans trois catégories :"
+#. Tag: para
+#: performance.xml:1210
+#, no-c-format
+msgid ""
+"Hibernate provides a number of metrics, from very basic to the specialized "
+"information only relevant in certain scenarios. All available counters are "
+"described in the <literal>Statistics</literal> interface API, in three "
+"categories:"
+msgstr ""
+"Hibernate fournit un certain nombre de métriques, qui vont des informations "
+"très basiques aux informations très spécialisées qui ne sont appropriées que "
+"dans certains scenarii. Tous les compteurs accessibles sont décrits dans "
+"l'API de l'interface <literal>Statistics</literal> dans trois catégories :"
 
-#: index.docbook:1223
-msgid "Metrics related to he entities, collections, queries, and caches as a whole (aka global metrics),"
-msgstr "Les métriques relatives à l'usage général de la <literal>Session</literal> comme le nombre de sessions ouvertes, le nombre de connexions JDBC récupérées, etc..."
+#. Tag: para
+#: performance.xml:1217
+#, no-c-format
+msgid ""
+"Metrics related to the general <literal>Session</literal> usage, such as "
+"number of open sessions, retrieved JDBC connections, etc."
+msgstr ""
+"Les métriques relatives à l'usage général de la <literal>Session</literal> "
+"comme le nombre de sessions ouvertes, le nombre de connexions JDBC "
+"récupérées, etc..."
 
-#: index.docbook:1229
-msgid "Detailed metrics related to a particular entity, collection, query or cache region."
-msgstr "Les métriques relatives aux entités, collections, requêtes et caches dans leur ensemble (métriques globales),"
+#. Tag: para
+#: performance.xml:1223
+#, no-c-format
+msgid ""
+"Metrics related to he entities, collections, queries, and caches as a whole "
+"(aka global metrics),"
+msgstr ""
+"Les métriques relatives aux entités, collections, requêtes et caches dans "
+"leur ensemble (métriques globales),"
 
-#: index.docbook:1236
-msgid "For exampl,e you can check the cache hit, miss, and put ratio of entities, collections and queries, and the average time a query needs. Beware that the number of milliseconds is subject to approximation in Java. Hibernate is tied to the JVM precision, on some platforms this might even only be accurate to 10 seconds."
-msgstr "Les métriques détaillées relatives à une entité, une collection, une requête ou une région de cache particulière."
+#. Tag: para
+#: performance.xml:1229
+#, no-c-format
+msgid ""
+"Detailed metrics related to a particular entity, collection, query or cache "
+"region."
+msgstr ""
+"Les métriques détaillées relatives à une entité, une collection, une requête "
+"ou une région de cache particulière."
 
-#: index.docbook:1243
-msgid "Simple getters are used to access the global metrics (i.e. not tied to a particular entity, collection, cache region, etc.). You can access the metrics of a particular entity, collection or cache region through its name, and through its HQL or SQL representation for queries. Please refer to the <literal>Statistics</literal>, <literal>EntityStatistics</literal>, <literal>CollectionStatistics</literal>, <literal>SecondLevelCacheStatistics</literal>, and <literal>QueryStatistics</literal> API Javadoc for more information. The following code shows a simple example:"
-msgstr "Par exemple, vous pouvez vérifier l'accès au cache ainsi que le taux d'éléments manquants et de mise à jour des entités, collections et requêtes et le temps moyen que met une requête. Il faut faire attention au fait que le nombre de millisecondes est sujet à approximation en Java. Hibernate est lié à la précision de la machine virtuelle, sur certaines plateformes, cela n'offre qu'une précision de l'ordre de 10 secondes."
+#. Tag: para
+#: performance.xml:1236
+#, no-c-format
+msgid ""
+"For exampl,e you can check the cache hit, miss, and put ratio of entities, "
+"collections and queries, and the average time a query needs. Beware that the "
+"number of milliseconds is subject to approximation in Java. Hibernate is "
+"tied to the JVM precision, on some platforms this might even only be "
+"accurate to 10 seconds."
+msgstr ""
+"Par exemple, vous pouvez vérifier l'accès au cache ainsi que le taux "
+"d'éléments manquants et de mise à jour des entités, collections et requêtes "
+"et le temps moyen que met une requête. Il faut faire attention au fait que "
+"le nombre de millisecondes est sujet à approximation en Java. Hibernate est "
+"lié à la précision de la machine virtuelle, sur certaines plateformes, cela "
+"n'offre qu'une précision de l'ordre de 10 secondes."
 
-#: index.docbook:1253
+#. Tag: para
+#: performance.xml:1243
+#, 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 "Des accesseurs simples sont utilisés pour accéder aux métriques globales (e.g. celles qui ne sont pas liées à une entité, collection ou région de cache particulière). Vous pouvez accéder aux métriques d'une entité, collection, région de cache particulière à l'aide de son nom et à l'aide de sa représentation HQL ou SQL pour une requête. Référez vous à la javadoc des APIS <literal>Statistics</literal>, <literal>EntityStatistics</literal>, <literal>CollectionStatistics</literal>, <literal>SecondLevelCacheStatistics</literal>, and <literal>QueryStatistics</literal> pour plus d'informations. Le code ci-dessous montre un exemple simple :"
+"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 "
+"metrics of a particular entity, collection or cache region through its name, "
+"and through its HQL or SQL representation for queries. Please refer to the "
+"<literal>Statistics</literal>, <literal>EntityStatistics</literal>, "
+"<literal>CollectionStatistics</literal>, "
+"<literal>SecondLevelCacheStatistics</literal>, and <literal>QueryStatistics</"
+"literal> API Javadoc for more information. The following code shows a simple "
+"example:"
+msgstr ""
+"Des accesseurs simples sont utilisés pour accéder aux métriques globales (e."
+"g. celles qui ne sont pas liées à une entité, collection ou région de cache "
+"particulière). Vous pouvez accéder aux métriques d'une entité, collection, "
+"région de cache particulière à l'aide de son nom et à l'aide de sa "
+"représentation HQL ou SQL pour une requête. Référez vous à la javadoc des "
+"APIS <literal>Statistics</literal>, <literal>EntityStatistics</literal>, "
+"<literal>CollectionStatistics</literal>, "
+"<literal>SecondLevelCacheStatistics</literal>, and <literal>QueryStatistics</"
+"literal> pour plus d'informations. Le code ci-dessous montre un exemple "
+"simple :"
 
-#: index.docbook:1255
-msgid "To work on all entities, collections, queries and region caches, you can retrieve the list of names of entities, collections, queries and region caches with the following methods: <literal>getQueries()</literal>, <literal>getEntityNames()</literal>, <literal>getCollectionRoleNames()</literal>, and <literal>getSecondLevelCacheRegionNames()</literal>."
+#. Tag: programlisting
+#: performance.xml:1253
+#, 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\"  );]]>"
 
-#: index.docbook:1317
-msgid "appended paragraph 1"
-msgstr "Pour travailler sur toutes les entités, collections, requêtes et régions de cache, vous pouvez récupérer la liste des noms des entités, collections, requêtes et régions de cache avec les méthodes : <literal>getQueries()</literal>, <literal>getEntityNames()</literal>, <literal>getCollectionRoleNames()</literal>, et <literal>getSecondLevelCacheRegionNames()</literal>."
+#. Tag: para
+#: performance.xml:1255
+#, no-c-format
+msgid ""
+"To work on all entities, collections, queries and region caches, you can "
+"retrieve the list of names of entities, collections, queries and region "
+"caches with the following methods: <literal>getQueries()</literal>, "
+"<literal>getEntityNames()</literal>, <literal>getCollectionRoleNames()</"
+"literal>, and <literal>getSecondLevelCacheRegionNames()</literal>."
+msgstr ""
+"Pour travailler sur toutes les entités, collections, requêtes et régions de "
+"cache, vous pouvez récupérer la liste des noms des entités, collections, "
+"requêtes et régions de cache avec les méthodes : <literal>getQueries()</"
+"literal>, <literal>getEntityNames()</literal>, "
+"<literal>getCollectionRoleNames()</literal>, et "
+"<literal>getSecondLevelCacheRegionNames()</literal>."
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#~ msgid "yes"
+#~ msgstr "oui"

Modified: core/trunk/documentation/manual/translations/fr-FR/content/persistent_classes.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/persistent_classes.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/persistent_classes.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,660 +1,883 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: persistent_classes.xml:5
+#, no-c-format
 msgid "Persistent Classes"
 msgstr "Classes persistantes"
 
-#: index.docbook:7
-msgid "Persistent classes are classes in an application that implement the entities of the business problem (e.g. Customer and Order in an E-commerce application). Not all instances of a persistent class are considered to be in the persistent state - an instance may instead be transient or detached."
-msgstr "Les classes persistantes sont les classes d'une application qui implémentent les entités d'un problème métier (ex. Client et Commande dans une application de commerce électronique). Toutes les instances d'une classe persistante ne sont pas forcément dans l'état persistant - au lieu de cela, une instance peut être éphémère (NdT : transient) ou détachée."
+#. Tag: para
+#: persistent_classes.xml:7
+#, 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 "
+"application). Not all instances of a persistent class are considered to be "
+"in the persistent state - an instance may instead be transient or detached."
+msgstr ""
+"Les classes persistantes sont les classes d'une application qui implémentent "
+"les entités d'un problème métier (ex. Client et Commande dans une "
+"application de commerce électronique). Toutes les instances d'une classe "
+"persistante ne sont pas forcément dans l'état persistant - au lieu de cela, "
+"une instance peut être éphémère (NdT : transient) ou détachée."
 
-#: index.docbook:14
-msgid "Hibernate works best if these classes follow some simple rules, also known as the Plain Old Java Object (POJO) programming model. However, none of these rules are hard requirements. Indeed, Hibernate3 assumes very little about the nature of your persistent objects. You may express a domain model in other ways: using trees of <literal>Map</literal> instances, for example."
-msgstr "Hibernate fonctionne de manière optimale lorsque ces classes suivent quelques règles simples, aussi connues comme le modèle de programmation Plain Old Java Object (POJO). Cependant, aucune de ces règles ne sont des besoins absolus. En effet, Hibernate3 suppose très peu de choses à propos de la nature de vos objets persistants. Vous pouvez exprimer un modèle de domaine par d'autres moyens : utiliser des arbres d'instances de <literal>Map</literal>, par exemple."
+#. Tag: para
+#: persistent_classes.xml:14
+#, 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 "
+"these rules are hard requirements. Indeed, Hibernate3 assumes very little "
+"about the nature of your persistent objects. You may express a domain model "
+"in other ways: using trees of <literal>Map</literal> instances, for example."
+msgstr ""
+"Hibernate fonctionne de manière optimale lorsque ces classes suivent "
+"quelques règles simples, aussi connues comme le modèle de programmation "
+"Plain Old Java Object (POJO). Cependant, aucune de ces règles ne sont des "
+"besoins absolus. En effet, Hibernate3 suppose très peu de choses à propos de "
+"la nature de vos objets persistants. Vous pouvez exprimer un modèle de "
+"domaine par d'autres moyens : utiliser des arbres d'instances de "
+"<literal>Map</literal>, par exemple."
 
-#: index.docbook:23
+#. Tag: title
+#: persistent_classes.xml:23
+#, no-c-format
 msgid "A simple POJO example"
 msgstr "Un exemple simple de POJO"
 
-#: index.docbook:25
+#. Tag: para
+#: persistent_classes.xml:25
+#, no-c-format
 msgid "Most Java applications require a persistent class representing felines."
-msgstr "Toute bonne application Java nécessite une classe persistante représentant les félins."
+msgstr ""
+"Toute bonne application Java nécessite une classe persistante représentant "
+"les félins."
 
-#: index.docbook:29
+#. Tag: programlisting
+#: persistent_classes.xml:29
+#, 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"
-      "}]]>"
+"<![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"
-      "}]]>"
 
-#: index.docbook:31
+#. Tag: para
+#: persistent_classes.xml:31
+#, no-c-format
 msgid "There are four main rules to follow here:"
 msgstr "Il y a quatre règles à suivre ici :"
 
-#: index.docbook:37
+#. Tag: title
+#: persistent_classes.xml:37
+#, no-c-format
 msgid "Implement a no-argument constructor"
 msgstr "Implémenter un constructeur sans argument"
 
-#: index.docbook:39
-msgid "<literal>Cat</literal> has a no-argument constructor. All persistent classes must have a default constructor (which may be non-public) so that Hibernate can instantiate them using <literal>Constructor.newInstance()</literal>. We strongly recommend having a default constructor with at least <emphasis>package</emphasis> visibility for runtime proxy generation in Hibernate."
-msgstr "<literal>Cat</literal> a un constructeur sans argument. Toutes les classes persistantes doivent avoir un constructeur par défaut (lequel peut ne pas être public) pour qu'Hibernate puissent les instancier en utilisant <literal>Constructor.newInstance()</literal>. Nous recommandons fortement d'avoir un constructeur par défaut avec au moins une visibilité <emphasis>paquet</emphasis> pour la génération du proxy à l'exécution dans Hibernate."
+#. Tag: para
+#: persistent_classes.xml:39
+#, no-c-format
+msgid ""
+"<literal>Cat</literal> has a no-argument constructor. All persistent classes "
+"must have a default constructor (which may be non-public) so that Hibernate "
+"can instantiate them using <literal>Constructor.newInstance()</literal>. We "
+"strongly recommend having a default constructor with at least "
+"<emphasis>package</emphasis> visibility for runtime proxy generation in "
+"Hibernate."
+msgstr ""
+"<literal>Cat</literal> a un constructeur sans argument. Toutes les classes "
+"persistantes doivent avoir un constructeur par défaut (lequel peut ne pas "
+"être public) pour qu'Hibernate puissent les instancier en utilisant "
+"<literal>Constructor.newInstance()</literal>. Nous recommandons fortement "
+"d'avoir un constructeur par défaut avec au moins une visibilité "
+"<emphasis>paquet</emphasis> pour la génération du proxy à l'exécution dans "
+"Hibernate."
 
-#: index.docbook:49
+#. Tag: title
+#: persistent_classes.xml:49
+#, no-c-format
 msgid "Provide an identifier property (optional)"
 msgstr "Fournir une propriété d'indentifiant (optionnel)"
 
-#: index.docbook:51
-msgid "<literal>Cat</literal> has a property called <literal>id</literal>. This property maps to the primary key column of a database table. The property might have been called anything, and its type might have been any primitive type, any primitive \"wrapper\" type, <literal>java.lang.String</literal> or <literal>java.util.Date</literal>. (If your legacy database table has composite keys, you can even use a user-defined class with properties of these types - see the section on composite identifiers later.)"
-msgstr "<literal>Cat</literal> possède une propriété appelée <literal>id</literal>. Cette propriété mappe la valeur de la colonne de clé primaire de la table d'une base de données.La propriété aurait pu s'appeler complètement autrement, et son type aurait pu être n'importe quel type primitif, n'importe quel \"encapsuleur\" de type primitif, <literal>java.lang.String</literal> ou <literal>java.util.Date</literal>. (Si votre base de données héritée possède des clés composites, elles peuvent être mappées en utilisant une classe définie par l'utilisateur et possédant les propriétés associées aux types de la clé composite - voir la section concernant les identifiants composites plus tard)."
+#. Tag: para
+#: persistent_classes.xml:51
+#, 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 "
+"might have been called anything, and its type might have been any primitive "
+"type, any primitive \"wrapper\" type, <literal>java.lang.String</literal> or "
+"<literal>java.util.Date</literal>. (If your legacy database table has "
+"composite keys, you can even use a user-defined class with properties of "
+"these types - see the section on composite identifiers later.)"
+msgstr ""
+"<literal>Cat</literal> possède une propriété appelée <literal>id</literal>. "
+"Cette propriété mappe la valeur de la colonne de clé primaire de la table "
+"d'une base de données.La propriété aurait pu s'appeler complètement "
+"autrement, et son type aurait pu être n'importe quel type primitif, "
+"n'importe quel \"encapsuleur\" de type primitif, <literal>java.lang.String</"
+"literal> ou <literal>java.util.Date</literal>. (Si votre base de données "
+"héritée possède des clés composites, elles peuvent être mappées en utilisant "
+"une classe définie par l'utilisateur et possédant les propriétés associées "
+"aux types de la clé composite - voir la section concernant les identifiants "
+"composites plus tard)."
 
-#: index.docbook:60
-msgid "The identifier property is strictly optional. You can leave them off and let Hibernate keep track of object identifiers internally. We do not recommend this, however."
-msgstr "La propriété d'identifiant est strictement optionnelle. Vous pouver l'oublier et laisser Hibernate s'occuper des identifiants de l'objet en interne. Toutefois, nous ne le recommandons pas."
+#. Tag: para
+#: persistent_classes.xml:60
+#, 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 propriété d'identifiant est strictement optionnelle. Vous pouver "
+"l'oublier et laisser Hibernate s'occuper des identifiants de l'objet en "
+"interne. Toutefois, nous ne le recommandons pas."
 
-#: index.docbook:65
-msgid "In fact, some functionality is available only to classes which declare an identifier property:"
-msgstr "En fait, quelques fonctionnalités ne sont disponibles que pour les classes déclarant un identifiant de propriété :"
+#. Tag: para
+#: persistent_classes.xml:65
+#, no-c-format
+msgid ""
+"In fact, some functionality is available only to classes which declare an "
+"identifier property:"
+msgstr ""
+"En fait, quelques fonctionnalités ne sont disponibles que pour les classes "
+"déclarant un identifiant de propriété :"
 
-#: index.docbook:72
-msgid "Transitive reattachment for detached objects (cascade update or cascade merge) - see"
-msgstr "Les réattachements transitifs pour les objets détachés (mise à jour en cascade ou fusion en cascade) - voir"
+#. Tag: para
+#: persistent_classes.xml:72
+#, fuzzy, no-c-format
+msgid ""
+"Transitive reattachment for detached objects (cascade update or cascade "
+"merge) - see"
+msgstr ""
+"Les réattachements transitifs pour les objets détachés (mise à jour en "
+"cascade ou fusion en cascade) - voir <xref linkend=\"objectstate-transitive"
+"\"/>"
 
-#: index.docbook:79
+#. Tag: literal
+#: persistent_classes.xml:79
+#, no-c-format
 msgid "Session.saveOrUpdate()"
 msgstr "Session.saveOrUpdate()"
 
-#: index.docbook:84
+#. Tag: literal
+#: persistent_classes.xml:84
+#, no-c-format
 msgid "Session.merge()"
 msgstr "Session.merge()"
 
-#: index.docbook:89
-msgid "We recommend you declare consistently-named identifier properties on persistent classes. We further recommend that you use a nullable (ie. non-primitive) type."
-msgstr "Nous recommandons que vous déclariez les propriétés d'identifiant de manière uniforme. Nous recommandons également que vous utilisiez un type nullable (ie. non primitif)."
+#. Tag: para
+#: persistent_classes.xml:89
+#, no-c-format
+msgid ""
+"We recommend you declare consistently-named identifier properties on "
+"persistent classes. We further recommend that you use a nullable (ie. non-"
+"primitive) type."
+msgstr ""
+"Nous recommandons que vous déclariez les propriétés d'identifiant de manière "
+"uniforme. Nous recommandons également que vous utilisiez un type nullable "
+"(ie. non primitif)."
 
-#: index.docbook:96
+#. Tag: title
+#: persistent_classes.xml:96
+#, no-c-format
 msgid "Prefer non-final classes (optional)"
 msgstr "Favoriser les classes non finales (optionnel)"
 
-#: index.docbook:97
-msgid "A central feature of Hibernate, <emphasis>proxies</emphasis>, depends upon the persistent class being either non-final, or the implementation of an interface that declares all public methods."
-msgstr "Une fonctionnalité clef d'Hibernate, les <emphasis>proxies</emphasis>, nécessitent que la classe persistente soit non finale ou qu'elle soit l'implémentation d'une interface qui déclare toutes les méthodes publiques."
+#. Tag: para
+#: persistent_classes.xml:97
+#, 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 ""
+"Une fonctionnalité clef d'Hibernate, les <emphasis>proxies</emphasis>, "
+"nécessitent que la classe persistente soit non finale ou qu'elle soit "
+"l'implémentation d'une interface qui déclare toutes les méthodes publiques."
 
-#: index.docbook:102
-msgid "You can persist <literal>final</literal> classes that do not implement an interface with Hibernate, but you won't be able to use proxies for lazy association fetching - which will limit your options for performance tuning."
-msgstr "Vous pouvez persister, grâce à Hibernate, les classes <literal>final</literal> qui n'implémentent pas d'interface, mais vous ne pourrez pas utiliser les proxies pour les chargements d'associations paresseuses - ce qui limitera vos possibilités d'ajustement des performances."
+#. Tag: para
+#: persistent_classes.xml:102
+#, no-c-format
+msgid ""
+"You can persist <literal>final</literal> classes that do not implement an "
+"interface with Hibernate, but you won't be able to use proxies for lazy "
+"association fetching - which will limit your options for performance tuning."
+msgstr ""
+"Vous pouvez persister, grâce à Hibernate, les classes <literal>final</"
+"literal> qui n'implémentent pas d'interface, mais vous ne pourrez pas "
+"utiliser les proxies pour les chargements d'associations paresseuses - ce "
+"qui limitera vos possibilités d'ajustement des performances."
 
-#: index.docbook:107
-msgid "You should also avoid declaring <literal>public final</literal> methods on the non-final classes. If you want to use a class with a <literal>public final</literal> method, you must explicitly disable proxying by setting <literal>lazy=\"false\"</literal>."
-msgstr "Vous devriez aussi éviter de déclarer des méthodes <literal>public final</literal> sur des classes non-finales. Si vous voulez utiliser une classe avec une méthode <literal>public final</literal>, vous devez explicitement désactiver les proxies en paramétrant <literal>lazy=\"false\"</literal>."
+#. Tag: para
+#: persistent_classes.xml:107
+#, no-c-format
+msgid ""
+"You should also avoid declaring <literal>public final</literal> methods on "
+"the non-final classes. If you want to use a class with a <literal>public "
+"final</literal> method, you must explicitly disable proxying by setting "
+"<literal>lazy=\"false\"</literal>."
+msgstr ""
+"Vous devriez aussi éviter de déclarer des méthodes <literal>public final</"
+"literal> sur des classes non-finales. Si vous voulez utiliser une classe "
+"avec une méthode <literal>public final</literal>, vous devez explicitement "
+"désactiver les proxies en paramétrant <literal>lazy=\"false\"</literal>."
 
-#: index.docbook:115
+#. Tag: title
+#: persistent_classes.xml:115
+#, no-c-format
 msgid "Declare accessors and mutators for persistent fields (optional)"
-msgstr "Déclarer les accesseurs et mutateurs des attributs persistants (optionnel)"
+msgstr ""
+"Déclarer les accesseurs et mutateurs des attributs persistants (optionnel)"
 
-#: index.docbook:117
-msgid "<literal>Cat</literal> declares accessor methods for all its persistent fields. Many other ORM tools directly persist instance variables. We believe it is better to provide an indirection between the relational schema and internal data structures of the class. By default, Hibernate persists JavaBeans style properties, and recognizes method names of the form <literal>getFoo</literal>, <literal>isFoo</literal> and <literal>setFoo</literal>. You may switch to direct field access for particular properties, if needed."
-msgstr "<literal>Cat</literal> déclare des mutateurs pour toutes ses champs persistants. Beaucoup d'autres solutions de mapping Objet/relationnel persistent directement les variables d'instance. Nous pensons qu'il est bien mieux de fournir une indirection entre le schéma relationnel et les structures de données internes de la classe. Par défaut, Hibernate persiste les propriétés suivant le style JavaBean, et reconnaît les noms de méthodes de la forme <literal> getFoo</literal>, <literal>isFoo</literal> et <literal>setFoo</literal>. Nous pouvons changer pour un accès direct aux champs pour des propriétés particulières, si besoin est."
+#. Tag: para
+#: persistent_classes.xml:117
+#, no-c-format
+msgid ""
+"<literal>Cat</literal> declares accessor methods for all its persistent "
+"fields. Many other ORM tools directly persist instance variables. We believe "
+"it is better to provide an indirection between the relational schema and "
+"internal data structures of the class. By default, Hibernate persists "
+"JavaBeans style properties, and recognizes method names of the form "
+"<literal>getFoo</literal>, <literal>isFoo</literal> and <literal>setFoo</"
+"literal>. You may switch to direct field access for particular properties, "
+"if needed."
+msgstr ""
+"<literal>Cat</literal> déclare des mutateurs pour toutes ses champs "
+"persistants. Beaucoup d'autres solutions de mapping Objet/relationnel "
+"persistent directement les variables d'instance. Nous pensons qu'il est bien "
+"mieux de fournir une indirection entre le schéma relationnel et les "
+"structures de données internes de la classe. Par défaut, Hibernate persiste "
+"les propriétés suivant le style JavaBean, et reconnaît les noms de méthodes "
+"de la forme <literal> getFoo</literal>, <literal>isFoo</literal> et "
+"<literal>setFoo</literal>. Nous pouvons changer pour un accès direct aux "
+"champs pour des propriétés particulières, si besoin est."
 
-#: index.docbook:127
-msgid "Properties need <emphasis>not</emphasis> be declared public - Hibernate can persist a property with a default, <literal>protected</literal> or <literal>private</literal> get / set pair."
-msgstr "Les propriétés <emphasis>n'ont pas</emphasis> à être déclarées publiques - Hibernate peut persister une propriété avec un paire de getter/setter de visibilité par défault, <literal>protected</literal> ou <literal> private</literal>."
+#. Tag: para
+#: persistent_classes.xml:127
+#, 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 ""
+"Les propriétés <emphasis>n'ont pas</emphasis> à être déclarées publiques - "
+"Hibernate peut persister une propriété avec un paire de getter/setter de "
+"visibilité par défault, <literal>protected</literal> ou <literal> private</"
+"literal>."
 
-#: index.docbook:138
+#. Tag: title
+#: persistent_classes.xml:138
+#, no-c-format
 msgid "Implementing inheritance"
 msgstr "Implémenter l'héritage"
 
-#: index.docbook:140
-msgid "A subclass must also observe the first and second rules. It inherits its identifier property from the superclass, <literal>Cat</literal>."
-msgstr "Une sous-classe doit également suivre la première et la seconde règle. Elle hérite sa propriété d'identifiant de <literal>Cat</literal>."
+#. Tag: para
+#: persistent_classes.xml:140
+#, 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>."
+msgstr ""
+"Une sous-classe doit également suivre la première et la seconde règle. Elle "
+"hérite sa propriété d'identifiant de <literal>Cat</literal>."
 
-#: index.docbook:145
+#. Tag: programlisting
+#: persistent_classes.xml:145
+#, 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"
-      "}]]>"
+"<![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"
-      "}]]>"
 
-#: index.docbook:149
-msgid "Implementing <literal>equals()</literal> and <literal>hashCode()</literal>"
-msgstr "Implémenter <literal>equals()</literal> et <literal>hashCode()</literal>"
+#. Tag: title
+#: persistent_classes.xml:149
+#, no-c-format
+msgid ""
+"Implementing <literal>equals()</literal> and <literal>hashCode()</literal>"
+msgstr ""
+"Implémenter <literal>equals()</literal> et <literal>hashCode()</literal>"
 
-#: index.docbook:151
-msgid "You have to override the <literal>equals()</literal> and <literal>hashCode()</literal> methods if you"
-msgstr "Vous devez surcharger les méthodes <literal>equals()</literal> et <literal>hashCode()</literal> si vous"
+#. Tag: para
+#: persistent_classes.xml:151
+#, no-c-format
+msgid ""
+"You have to override the <literal>equals()</literal> and <literal>hashCode()"
+"</literal> methods if you"
+msgstr ""
+"Vous devez surcharger les méthodes <literal>equals()</literal> et "
+"<literal>hashCode()</literal> si vous"
 
-#: index.docbook:157
-msgid "intend to put instances of persistent classes in a <literal>Set</literal> (the recommended way to represent many-valued associations) <emphasis>and</emphasis>"
-msgstr "avez l'intention de mettre des instances de classes persistantes dans un <literal>Set</literal> (la manière recommandée pour représenter des associations pluri-valuées) <emphasis>et</emphasis>"
+#. Tag: para
+#: persistent_classes.xml:157
+#, 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 ""
+"avez l'intention de mettre des instances de classes persistantes dans un "
+"<literal>Set</literal> (la manière recommandée pour représenter des "
+"associations pluri-valuées) <emphasis>et</emphasis>"
 
-#: index.docbook:164
+#. Tag: para
+#: persistent_classes.xml:164
+#, no-c-format
 msgid "intend to use reattachment of detached instances"
 msgstr "avez l'intention d'utiliser le réattachement d'instances détachées"
 
-#: index.docbook:170
-msgid "Hibernate guarantees equivalence of persistent identity (database row) and Java identity only inside a particular session scope. So as soon as we mix instances retrieved in different sessions, we must implement <literal>equals()</literal> and <literal>hashCode()</literal> if we wish to have meaningful semantics for <literal>Set</literal>s."
-msgstr "Hibernate garantit l'équivalence de l'identité persistante (ligne de base de données) et l'identité Java seulement à l'intérieur de la portée d'une session particulière. Donc dès que nous mélangeons des instances venant de différentes sessions, nous devons implémenter <literal>equals()</literal> et <literal>hashCode()</literal> si nous souhaitons avoir une sémantique correcte pour les <literal>Set</literal>s."
+#. Tag: para
+#: persistent_classes.xml:170
+#, no-c-format
+msgid ""
+"Hibernate guarantees equivalence of persistent identity (database row) and "
+"Java identity only inside a particular session scope. So as soon as we mix "
+"instances retrieved in different sessions, we must implement <literal>equals"
+"()</literal> and <literal>hashCode()</literal> if we wish to have meaningful "
+"semantics for <literal>Set</literal>s."
+msgstr ""
+"Hibernate garantit l'équivalence de l'identité persistante (ligne de base de "
+"données) et l'identité Java seulement à l'intérieur de la portée d'une "
+"session particulière. Donc dès que nous mélangeons des instances venant de "
+"différentes sessions, nous devons implémenter <literal>equals()</literal> et "
+"<literal>hashCode()</literal> si nous souhaitons avoir une sémantique "
+"correcte pour les <literal>Set</literal>s."
 
-#: index.docbook:178
-msgid "The most obvious way is to implement <literal>equals()</literal>/<literal>hashCode()</literal> by comparing the identifier value of both objects. If the value is the same, both must be the same database row, they are therefore equal (if both are added to a <literal>Set</literal>, we will only have one element in the <literal>Set</literal>). Unfortunately, we can't use that approach with generated identifiers! Hibernate will only assign identifier values to objects that are persistent, a newly created instance will not have any identifier value! Furthermore, if an instance is unsaved and currently in a <literal>Set</literal>, saving it will assign an identifier value to the object. If <literal>equals()</literal> and <literal>hashCode()</literal> are based on the identifier value, the hash code would change, breaking the contract of the <literal>Set</literal>. See the Hibernate website for a full discussion of this problem. Note that this is not a Hibernate issue, but !
 normal Java semantics of object identity and equality."
-msgstr "La manière la plus évidente est d'implémenter <literal>equals()</literal>/<literal>hashCode()</literal> en comparant la valeur de l'identifiant des deux objets. Si cette valeur est identique, les deux doivent représenter la même ligne de base de données, ils sont donc égaux (si les deux sont ajoutés à un <literal>Set</literal>, nous n'aurons qu'un seul élément dans le <literal>Set</literal>). Malheureusement, nous ne pouvons pas utiliser cette approche avec des identifiants générés ! Hibernate n'assignera de valeur d'identifiant qu'aux objets qui sont persistants, une instance nouvellement créée n'aura donc pas de valeur d'identifiant ! De plus, si une instance est non sauvegardée et actuellement dans un <literal>Set</literal>, le sauvegarder assignera une valeur d'identifiant à l'objet. Si <literal>equals()</literal> et <literal>hashCode()</literal> sont basées sur la valeur de l'identifiant, le code de hachage devrait changer, rompant le contrat!
  du <literal>Set</literal>. Regardez sur le site web d'Hibernate pour une discussion complète de ce problème. Notez que ceci n'est pas un problème d'Hibernate, mais la sémantique normale de Java pour l'identité d'un objet et l'égalité."
+#. Tag: para
+#: persistent_classes.xml:178
+#, no-c-format
+msgid ""
+"The most obvious way is to implement <literal>equals()</literal>/"
+"<literal>hashCode()</literal> by comparing the identifier value of both "
+"objects. If the value is the same, both must be the same database row, they "
+"are therefore equal (if both are added to a <literal>Set</literal>, we will "
+"only have one element in the <literal>Set</literal>). Unfortunately, we "
+"can't use that approach with generated identifiers! Hibernate will only "
+"assign identifier values to objects that are persistent, a newly created "
+"instance will not have any identifier value! Furthermore, if an instance is "
+"unsaved and currently in a <literal>Set</literal>, saving it will assign an "
+"identifier value to the object. If <literal>equals()</literal> and "
+"<literal>hashCode()</literal> are based on the identifier value, the hash "
+"code would change, breaking the contract of the <literal>Set</literal>. See "
+"the Hibernate website for a full discussion of this problem. Note that this "
+"is not a Hibernate issue, but normal Java semantics of object identity and "
+"equality."
+msgstr ""
+"La manière la plus évidente est d'implémenter <literal>equals()</literal>/"
+"<literal>hashCode()</literal> en comparant la valeur de l'identifiant des "
+"deux objets. Si cette valeur est identique, les deux doivent représenter la "
+"même ligne de base de données, ils sont donc égaux (si les deux sont ajoutés "
+"à un <literal>Set</literal>, nous n'aurons qu'un seul élément dans le "
+"<literal>Set</literal>). Malheureusement, nous ne pouvons pas utiliser cette "
+"approche avec des identifiants générés ! Hibernate n'assignera de valeur "
+"d'identifiant qu'aux objets qui sont persistants, une instance nouvellement "
+"créée n'aura donc pas de valeur d'identifiant ! De plus, si une instance est "
+"non sauvegardée et actuellement dans un <literal>Set</literal>, le "
+"sauvegarder assignera une valeur d'identifiant à l'objet. Si <literal>equals"
+"()</literal> et <literal>hashCode()</literal> sont basées sur la valeur de "
+"l'identifiant, le code de hachage devrait changer, rompant le contrat du "
+"<literal>Set</literal>. Regardez sur le site web d'Hibernate pour une "
+"discussion complète de ce problème. Notez que ceci n'est pas un problème "
+"d'Hibernate, mais la sémantique normale de Java pour l'identité d'un objet "
+"et l'égalité."
 
-#: index.docbook:192
-msgid "We recommend implementing <literal>equals()</literal> and <literal>hashCode()</literal> using <emphasis>Business key equality</emphasis>. Business key equality means that the <literal>equals()</literal> method compares only the properties that form the business key, a key that would identify our instance in the real world (a <emphasis>natural</emphasis> candidate key):"
-msgstr "Nous recommandons donc d'implémenter <literal>equals()</literal> et <literal>hashCode()</literal> en utilisant <emphasis> l'égalité par clé métier</emphasis>.L'égalité par clé métier signifie que la méthode <literal>equals()</literal> compare uniquement les propriétés qui forment une clé métier, une clé qui identifierait notre instance dans le monde réel (une clé candidate <emphasis>naturelle</emphasis>) :"
+#. Tag: para
+#: persistent_classes.xml:192
+#, no-c-format
+msgid ""
+"We recommend implementing <literal>equals()</literal> and <literal>hashCode()"
+"</literal> using <emphasis>Business key equality</emphasis>. Business key "
+"equality means that the <literal>equals()</literal> method compares only the "
+"properties that form the business key, a key that would identify our "
+"instance in the real world (a <emphasis>natural</emphasis> candidate key):"
+msgstr ""
+"Nous recommandons donc d'implémenter <literal>equals()</literal> et "
+"<literal>hashCode()</literal> en utilisant <emphasis> l'égalité par clé "
+"métier</emphasis>.L'égalité par clé métier signifie que la méthode "
+"<literal>equals()</literal> compare uniquement les propriétés qui forment "
+"une clé métier, une clé qui identifierait notre instance dans le monde réel "
+"(une clé candidate <emphasis>naturelle</emphasis>) :"
 
-#: index.docbook:200
+#. Tag: programlisting
+#: persistent_classes.xml:200
+#, 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"
-      "}]]>"
+"<![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"
-      "}]]>"
 
-#: index.docbook:202
-msgid "Note that a business key does not have to be as solid as a database primary key candidate (see <xref linkend=\"transactions-basics-identity\"/>). Immutable or unique properties are usually good candidates for a business key."
-msgstr "Notez qu'une clef métier ne doit pas être solide comme une clef primaire de base de données (voir <xref linkend=\"transactions-basics-identity\"/>). Les propriétés immuables ou uniques sont généralement de bonnes candidates pour une clef métier."
+#. Tag: para
+#: persistent_classes.xml:202
+#, no-c-format
+msgid ""
+"Note that a business key does not have to be as solid as a database primary "
+"key candidate (see <xref linkend=\"transactions-basics-identity\"/>). "
+"Immutable or unique properties are usually good candidates for a business "
+"key."
+msgstr ""
+"Notez qu'une clef métier ne doit pas être solide comme une clef primaire de "
+"base de données (voir <xref linkend=\"transactions-basics-identity\"/>). Les "
+"propriétés immuables ou uniques sont généralement de bonnes candidates pour "
+"une clef métier."
 
-#: index.docbook:212
+#. Tag: title
+#: persistent_classes.xml:212
+#, no-c-format
 msgid "Dynamic models"
 msgstr "Modèles dynamiques"
 
-#: index.docbook:215
-msgid "Note that the following features are currently considered experimental and may change in the near future."
-msgstr "Notez que la fonctionnalités suivantes sont actuellement considérées comme expérimentales et peuvent changer dans un futur proche."
+#. Tag: emphasis
+#: persistent_classes.xml:215
+#, no-c-format
+msgid ""
+"Note that the following features are currently considered experimental and "
+"may change in the near future."
+msgstr ""
+"Notez que la fonctionnalités suivantes sont actuellement considérées comme "
+"expérimentales et peuvent changer dans un futur proche."
 
-#: index.docbook:219
-msgid "Persistent entities don't necessarily have to be represented as POJO classes or as JavaBean objects at runtime. Hibernate also supports dynamic models (using <literal>Map</literal>s of <literal>Map</literal>s at runtime) and the representation of entities as DOM4J trees. With this approach, you don't write persistent classes, only mapping files."
-msgstr "Les entités persistantes ne doivent pas nécessairement être représentées comme des classes POJO ou des objets JavaBean à l'exécution. Hibernate supporte aussi les modèles dynamiques (en utilisant des <literal>Map</literal>s de <literal>Map</literal>s à l'exécution) et la représentation des entités comme des arbres DOM4J. Avec cette approche, vous n'écrivez pas de classes persistantes, seulement des fichiers de mapping."
+#. Tag: para
+#: persistent_classes.xml:219
+#, no-c-format
+msgid ""
+"Persistent entities don't necessarily have to be represented as POJO classes "
+"or as JavaBean objects at runtime. Hibernate also supports dynamic models "
+"(using <literal>Map</literal>s of <literal>Map</literal>s at runtime) and "
+"the representation of entities as DOM4J trees. With this approach, you don't "
+"write persistent classes, only mapping files."
+msgstr ""
+"Les entités persistantes ne doivent pas nécessairement être représentées "
+"comme des classes POJO ou des objets JavaBean à l'exécution. Hibernate "
+"supporte aussi les modèles dynamiques (en utilisant des <literal>Map</"
+"literal>s de <literal>Map</literal>s à l'exécution) et la représentation des "
+"entités comme des arbres DOM4J. Avec cette approche, vous n'écrivez pas de "
+"classes persistantes, seulement des fichiers de mapping."
 
-#: index.docbook:227
-msgid "By default, Hibernate works in normal POJO mode. You may set a default entity representation mode for a particular <literal>SessionFactory</literal> using the <literal>default_entity_mode</literal> configuration option (see <xref linkend=\"configuration-optional-properties\"/>."
-msgstr "Par défaut, Hibernate fonctionne en mode POJO normal. Vous pouvez paramétrer un mode de représentation d'entité par défaut pour une <literal>SessionFactory</literal> particulière en utilisant l'option de configuration <literal>default_entity_mode</literal> (voir <xref linkend=\"configuration-optional-properties\"/>)."
+#. Tag: para
+#: persistent_classes.xml:227
+#, no-c-format
+msgid ""
+"By default, Hibernate works in normal POJO mode. You may 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\"/>."
+msgstr ""
+"Par défaut, Hibernate fonctionne en mode POJO normal. Vous pouvez paramétrer "
+"un mode de représentation d'entité par défaut pour une "
+"<literal>SessionFactory</literal> particulière en utilisant l'option de "
+"configuration <literal>default_entity_mode</literal> (voir <xref linkend="
+"\"configuration-optional-properties\"/>)."
 
-#: index.docbook:234
-msgid "The following examples demonstrates the representation using <literal>Map</literal>s. First, in the mapping file, an <literal>entity-name</literal> has to be declared instead of (or in addition to) a class name:"
-msgstr "Les exemples suivants démontrent la représentation utilisant des <literal>Map</literal>s. D'abord, dans le fichier de mapping, un <literal>entity-name</literal> doit être déclaré au lieu (ou en plus) d'un nom de classe :"
+#. Tag: para
+#: persistent_classes.xml:234
+#, no-c-format
+msgid ""
+"The following examples demonstrates the representation using <literal>Map</"
+"literal>s. First, in the mapping file, an <literal>entity-name</literal> has "
+"to be declared instead of (or in addition to) a class name:"
+msgstr ""
+"Les exemples suivants démontrent la représentation utilisant des "
+"<literal>Map</literal>s. D'abord, dans le fichier de mapping, un "
+"<literal>entity-name</literal> doit être déclaré au lieu (ou en plus) d'un "
+"nom de classe :"
 
-#: index.docbook:240
+#. Tag: programlisting
+#: persistent_classes.xml:240
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:242
-msgid "Note that even though associations are declared using target class names, the target type of an associations may also be a dynamic entity instead of a POJO."
-msgstr "Notez que même si des associations sont déclarées en utilisant des noms de classe cible, le type de cible d'une association peut aussi être une entité dynamique au lieu d'un POJO."
+#. Tag: para
+#: persistent_classes.xml:242
+#, no-c-format
+msgid ""
+"Note that even though associations are declared using target class names, "
+"the target type of an associations may also be a dynamic entity instead of a "
+"POJO."
+msgstr ""
+"Notez que même si des associations sont déclarées en utilisant des noms de "
+"classe cible, le type de cible d'une association peut aussi être une entité "
+"dynamique au lieu d'un POJO."
 
-#: index.docbook:249
-msgid "After setting the default entity mode to <literal>dynamic-map</literal> for the <literal>SessionFactory</literal>, we can at runtime work with <literal>Map</literal>s of <literal>Map</literal>s:"
-msgstr "Après avoir configuré le mode d'entité par défaut à <literal>dynamic-map</literal> pour la <literal>SessionFactory</literal>, nous pouvons lors de l'exécution fonctionner avec des <literal>Map</literal>s de <literal>Map</literal>s :"
+#. Tag: para
+#: persistent_classes.xml:249
+#, no-c-format
+msgid ""
+"After setting the default entity mode to <literal>dynamic-map</literal> for "
+"the <literal>SessionFactory</literal>, we can at runtime work with "
+"<literal>Map</literal>s of <literal>Map</literal>s:"
+msgstr ""
+"Après avoir configuré le mode d'entité par défaut à <literal>dynamic-map</"
+"literal> pour la <literal>SessionFactory</literal>, nous pouvons lors de "
+"l'exécution fonctionner avec des <literal>Map</literal>s de <literal>Map</"
+"literal>s :"
 
-#: index.docbook:255
+#. Tag: programlisting
+#: persistent_classes.xml:255
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:257
-msgid "The advantages of a dynamic mapping are quick turnaround time for prototyping without the need for entity class implementation. However, you lose compile-time type checking and will very likely deal with many exceptions at runtime. Thanks to the Hibernate mapping, the database schema can easily be normalized and sound, allowing to add a proper domain model implementation on top later on."
-msgstr "Les avantages d'un mapping dynamique sont un gain de temps pour le prototypage sans la nécessité d'implémenter les classes d'entité. Pourtant, vous perdez la vérification du typage au moment de la compilation et aurez plus d'exceptions à gérer lors de l'exécution. Grâce au mapping d'Hibernate, le schéma de la base de données peut facilement être normalisé et solidifié, permettant de rajouter une implémentation propre du modèle de domaine plus tard."
+#. Tag: para
+#: persistent_classes.xml:257
+#, no-c-format
+msgid ""
+"The advantages of a dynamic mapping are quick turnaround time for "
+"prototyping without the need for entity class implementation. However, you "
+"lose compile-time type checking and will very likely deal with many "
+"exceptions at runtime. Thanks to the Hibernate mapping, the database schema "
+"can easily be normalized and sound, allowing to add a proper domain model "
+"implementation on top later on."
+msgstr ""
+"Les avantages d'un mapping dynamique sont un gain de temps pour le "
+"prototypage sans la nécessité d'implémenter les classes d'entité. Pourtant, "
+"vous perdez la vérification du typage au moment de la compilation et aurez "
+"plus d'exceptions à gérer lors de l'exécution. Grâce au mapping d'Hibernate, "
+"le schéma de la base de données peut facilement être normalisé et solidifié, "
+"permettant de rajouter une implémentation propre du modèle de domaine plus "
+"tard."
 
-#: index.docbook:265
-msgid "Entity representation modes can also be set on a per <literal>Session</literal> basis:"
-msgstr "Les modes de représentation d'une entité peut aussi être configuré par <literal>Session</literal> :"
+#. Tag: para
+#: persistent_classes.xml:265
+#, no-c-format
+msgid ""
+"Entity representation modes can also be set on a per <literal>Session</"
+"literal> basis:"
+msgstr ""
+"Les modes de représentation d'une entité peut aussi être configuré par "
+"<literal>Session</literal> :"
 
-#: index.docbook:270
+#. Tag: programlisting
+#: persistent_classes.xml:270
+#, 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"
-      "]]>"
+"<![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"
-      "]]>"
 
-#: index.docbook:273
-msgid "Please note that the call to <literal>getSession()</literal> using an <literal>EntityMode</literal> is on the <literal>Session</literal> API, not the <literal>SessionFactory</literal>. That way, the new <literal>Session</literal> shares the underlying JDBC connection, transaction, and other context information. This means you don't have tocall <literal>flush()</literal> and <literal>close()</literal> on the secondary <literal>Session</literal>, and also leave the transaction and connection handling to the primary unit of work."
-msgstr "Veuillez noter que l'appel à <literal>getSession()</literal> en utilisant un <literal>EntityMode</literal> se fait sur l'API <literal>Session</literal>, pas <literal>SessionFactory</literal>. De cette manière, la nouvelle <literal>Session</literal> partage les connexions JDBC, transactions et autres informations de contexte sous-jacentes. Cela signifie que vous n'avez pas à appeler <literal>flush()</literal> et <literal>close()</literal> sur la <literal>Session</literal> secondaire, et laissez aussi la gestion de la transaction et de la connexion à l'unité de travail primaire."
+#. Tag: para
+#: persistent_classes.xml:273
+#, 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</"
+"literal> shares the underlying JDBC connection, transaction, and other "
+"context information. This means you don't have tocall <literal>flush()</"
+"literal> and <literal>close()</literal> on the secondary <literal>Session</"
+"literal>, and also leave the transaction and connection handling to the "
+"primary unit of work."
+msgstr ""
+"Veuillez noter que l'appel à <literal>getSession()</literal> en utilisant un "
+"<literal>EntityMode</literal> se fait sur l'API <literal>Session</literal>, "
+"pas <literal>SessionFactory</literal>. De cette manière, la nouvelle "
+"<literal>Session</literal> partage les connexions JDBC, transactions et "
+"autres informations de contexte sous-jacentes. Cela signifie que vous n'avez "
+"pas à appeler <literal>flush()</literal> et <literal>close()</literal> sur "
+"la <literal>Session</literal> secondaire, et laissez aussi la gestion de la "
+"transaction et de la connexion à l'unité de travail primaire."
 
-#: index.docbook:283
-msgid "More information about the XML representation capabilities can be found in <xref linkend=\"xml\"/>."
-msgstr "Plus d'informations à propos de la représentation XML peuvent être trouvées dans <xref linkend=\"xml\"/>."
+#. Tag: para
+#: persistent_classes.xml:283
+#, no-c-format
+msgid ""
+"More information about the XML representation capabilities can be found in "
+"<xref linkend=\"xml\"/>."
+msgstr ""
+"Plus d'informations à propos de la représentation XML peuvent être trouvées "
+"dans <xref linkend=\"xml\"/>."
 
-#: index.docbook:291
+#. Tag: title
+#: persistent_classes.xml:291
+#, no-c-format
 msgid "Tuplizers"
 msgstr "Tuplizers"
 
-#: index.docbook:293
-msgid "<literal>org.hibernate.tuple.Tuplizer</literal>, and its sub-interfaces, are responsible for managing a particular representation of a piece of data, 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>ComponentTu!
 plizer</literal>s do the same for components."
-msgstr "<literal>org.hibernate.tuple.Tuplizer</literal>, et ses sous-interfaces, sont responsables de la gestion d'une représentation particulière d'un morceau de données, en fonction du <literal>org.hibernate.EntityMode</literal> de réprésentation. Si un morceau donné de données est pensé comme une structure de données, alors un tuplizer est la chose qui sait comment créer une telle structure de données, comment extraire des valeurs et injecter des valeurs dans une telle structure de données. Par exemple, pour le mode d'entité POJO, le tuplizer correspondant sait comment créer le POJO à travers son constructeur et comment accéder aux propriétés du POJO utilisant les accesseurs de la propriété définie. Il y a deux types de Tuplizers haut niveau, représenté par les interfaces <literal>org.hibernate.tuple.EntityTuplizer</literal> et <literal>org.hibernate.tuple.ComponentTuplizer</literal>. Les <literal>EntityTuplizer</literal>s sont responsables de la g!
 estion des contrats mentionnés ci-dessus pour les entités, alors que les <literal>ComponentTuplizer</literal>s s'occupent des composants."
+#. Tag: para
+#: persistent_classes.xml:293
+#, 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, "
+"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."
+msgstr ""
+"<literal>org.hibernate.tuple.Tuplizer</literal>, et ses sous-interfaces, "
+"sont responsables de la gestion d'une représentation particulière d'un "
+"morceau de données, en fonction du <literal>org.hibernate.EntityMode</"
+"literal> de réprésentation. Si un morceau donné de données est pensé comme "
+"une structure de données, alors un tuplizer est la chose qui sait comment "
+"créer une telle structure de données, comment extraire des valeurs et "
+"injecter des valeurs dans une telle structure de données. Par exemple, pour "
+"le mode d'entité POJO, le tuplizer correspondant sait comment créer le POJO "
+"à travers son constructeur et comment accéder aux propriétés du POJO "
+"utilisant les accesseurs de la propriété définie. Il y a deux types de "
+"Tuplizers haut niveau, représenté par les interfaces <literal>org.hibernate."
+"tuple.EntityTuplizer</literal> et <literal>org.hibernate.tuple."
+"ComponentTuplizer</literal>. Les <literal>EntityTuplizer</literal>s sont "
+"responsables de la gestion des contrats mentionnés ci-dessus pour les "
+"entités, alors que les <literal>ComponentTuplizer</literal>s s'occupent des "
+"composants."
 
-#: index.docbook:308
-msgid "Users may also plug in their own tuplizers. Perhaps you require that a <literal>java.util.Map</literal> implementation other than <literal>java.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:"
-msgstr "Les utilisateurs peuvent aussi brancher leurs propres tuplizers. Peut-être vous est-il nécessaire qu'une implémentation de <literal>java.util.Map</literal> autre que <literal>java.util.HashMap</literal> soit utilisée dans le mode d'entité dynamic-map ; ou peut-être avez-vous besoin de définir une statégie de génération de proxy différente de celle utilisée par défaut. Les deux devraient être effectuées en définissant une implémentation de tuplizer utilisateur. Les définitions de tuplizers sont attachées au mapping de l'entité ou du composant qu'ils sont censés gérer. Retour à l'exemple de notre entité utilisateur :"
+#. Tag: para
+#: persistent_classes.xml:308
+#, no-c-format
+msgid ""
+"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:"
+msgstr ""
+"Les utilisateurs peuvent aussi brancher leurs propres tuplizers. Peut-être "
+"vous est-il nécessaire qu'une implémentation de <literal>java.util.Map</"
+"literal> autre que <literal>java.util.HashMap</literal> soit utilisée dans "
+"le mode d'entité dynamic-map ; ou peut-être avez-vous besoin de définir une "
+"statégie de génération de proxy différente de celle utilisée par défaut. Les "
+"deux devraient être effectuées en définissant une implémentation de tuplizer "
+"utilisateur. Les définitions de tuplizers sont attachées au mapping de "
+"l'entité ou du composant qu'ils sont censés gérer. Retour à l'exemple de "
+"notre entité utilisateur :"
 
-#: index.docbook:317
+#. Tag: programlisting
+#: persistent_classes.xml:317
+#, 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"
-      "}]]>"
+"<![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.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"
-      "}]]>"
 
-#: index.docbook:322
-msgid "TODO: Document user-extension framework in the property and proxy packages"
-msgstr "TODO: Document user-extension framework in the property and proxy packages"
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: persistent_classes.xml:322
+#, no-c-format
+msgid ""
+"TODO: Document user-extension framework in the property and proxy packages"
+msgstr ""
+"TODO: Document user-extension framework in the property and proxy packages"

Modified: core/trunk/documentation/manual/translations/fr-FR/content/preface.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/preface.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/preface.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,68 +1,206 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:21
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: preface.xml:21
+#, no-c-format
 msgid "Preface"
 msgstr "Préface"
 
-#: index.docbook:23
-msgid "Working with object-oriented software and a relational database can be cumbersome and time consuming in today's enterprise environments. Hibernate 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 "Travailler dans les deux univers que sont l'orienté objet et la base de données relationnelle peut être lourd et consommateur en temps dans le monde de l'entreprise d'aujourd'hui. Hibernate est un outil de mapping objet/relationnel pour le monde Java. Le terme mapping objet/relationnel (ORM) décrit la technique consistant à faire le lien entre la représentation objet des données et sa représentation relationnelle basée sur un schéma SQL."
+#. Tag: para
+#: preface.xml:23
+#, 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 ""
+"Travailler dans les deux univers que sont l'orienté objet et la base de "
+"données relationnelle peut être lourd et consommateur en temps dans le monde "
+"de l'entreprise d'aujourd'hui. Hibernate est un outil de mapping objet/"
+"relationnel pour le monde Java. Le terme mapping objet/relationnel (ORM) "
+"décrit la technique consistant à faire le lien entre la représentation objet "
+"des données et sa représentation relationnelle basée sur un schéma SQL."
 
-#: index.docbook:31
-msgid "Hibernate not only takes care of the mapping from Java classes to database tables (and from Java data types to SQL data types), but also provides data query and retrieval facilities and can significantly reduce development time otherwise spent with manual data handling in SQL and JDBC."
-msgstr "Non seulement, Hibernate s'occupe du transfert des classes Java dans les tables de la base de données (et des types de données Java dans les types de données SQL), mais il permet de requêter les données et propose des moyens de les récupérer. Il peut donc réduire de manière significative le temps de développement qui aurait été autrement perdu dans une manipulation manuelle des données via SQL et JDBC."
+#. Tag: para
+#: preface.xml:31
+#, 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 and can significantly reduce development time "
+"otherwise spent with manual data handling in SQL and JDBC."
+msgstr ""
+"Non seulement, Hibernate s'occupe du transfert des classes Java dans les "
+"tables de la base de données (et des types de données Java dans les types de "
+"données SQL), mais il permet de requêter les données et propose des moyens "
+"de les récupérer. Il peut donc réduire de manière significative le temps de "
+"développement qui aurait été autrement perdu dans une manipulation manuelle "
+"des données via SQL et JDBC."
 
-#: index.docbook:38
-msgid "Hibernates goal is to relieve the developer from 95 percent of common data persistence related programming tasks. Hibernate may not be the best 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 "Le but d'Hibernate est de libérer le développeur de 95 pourcent des tâches de programmation liées à la persistance des données communes. Hibernate n'est probablement pas la meilleure solution pour les applications centrées sur les données qui n'utilisent que les procédures stockées pour implémenter la logique métier dans la base de données, il est le plus utile dans les modèles métier orientés objets dont la logique métier est implémentée dans la couche Java dite intermédiaire. Cependant, Hibernate vous aidera à supprimer ou à encapsuler le code SQL spécifique à votre base de données et vous aidera sur la tâche commune qu'est la transformation des données d'une représentation tabulaire à une représentation sous forme de graphe d'objets."
+#. Tag: para
+#: preface.xml:38
+#, no-c-format
+msgid ""
+"Hibernates 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 ""
+"Le but d'Hibernate est de libérer le développeur de 95 pourcent des tâches "
+"de programmation liées à la persistance des données communes. Hibernate "
+"n'est probablement pas la meilleure solution pour les applications centrées "
+"sur les données qui n'utilisent que les procédures stockées pour implémenter "
+"la logique métier dans la base de données, il est le plus utile dans les "
+"modèles métier orientés objets dont la logique métier est implémentée dans "
+"la couche Java dite intermédiaire. Cependant, Hibernate vous aidera à "
+"supprimer ou à encapsuler le code SQL spécifique à votre base de données et "
+"vous aidera sur la tâche commune qu'est la transformation des données d'une "
+"représentation tabulaire à une représentation sous forme de graphe d'objets."
 
-#: index.docbook:48
-msgid "If you are new to Hibernate and Object/Relational Mapping or even Java, please follow these steps:"
-msgstr "Si vous êtes nouveau dans Hibernate et le mapping Objet/Relationnel voire même en Java, suivez ces quelques étapes :"
+#. Tag: para
+#: preface.xml:48
+#, no-c-format
+msgid ""
+"If you are new to Hibernate and Object/Relational Mapping or even Java, "
+"please follow these steps:"
+msgstr ""
+"Si vous êtes nouveau dans Hibernate et le mapping Objet/Relationnel voire "
+"même en Java, suivez ces quelques étapes :"
 
-#: index.docbook:55
-msgid "Read <xref linkend=\"tutorial\"/> for a tutorial with step-by-step instructions. The source code for the tutorial is included in the distribution in the <literal>doc/reference/tutorial/</literal> directory."
-msgstr "Lisez <xref linkend=\"tutorial\"/> pour un didacticiel plus long avec plus d'instructions étape par étape."
+#. Tag: para
+#: preface.xml:55
+#, 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 ""
+"Lisez <xref linkend=\"tutorial\"/> pour un didacticiel plus long avec plus "
+"d'instructions étape par étape."
 
-#: index.docbook:63
-msgid "Read <xref linkend=\"architecture\"/> to understand the environments where Hibernate can be used."
-msgstr "Lisez <xref linkend=\"architecture\"/> pour comprendre les environnements dans lesquels Hibernate peut être utilisé."
+#. Tag: para
+#: preface.xml:63
+#, no-c-format
+msgid ""
+"Read <xref linkend=\"architecture\"/> to understand the environments where "
+"Hibernate can be used."
+msgstr ""
+"Lisez <xref linkend=\"architecture\"/> pour comprendre les environnements "
+"dans lesquels Hibernate peut être utilisé."
 
-#: index.docbook:69
-msgid "Have a look at the <literal>eg/</literal> directory in the Hibernate distribution, it contains a simple standalone application. Copy your JDBC 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 "Regardez le répertoire <literal>eg</literal> de la distribution Hibernate, il contient une application simple et autonome. Copiez votre pilote JDBC dans le répertoire <literal>lib/</literal> et éditez <literal>src/hibernate.properties</literal>, en positionnant correctement les valeurs pour votre base de données. A partir d'une invite de commande dans le répertoire de la distribution, tapez <literal>ant eg</literal> (cela utilise Ant), ou sous Windows tapez <literal>build eg</literal>."
+#. Tag: para
+#: preface.xml:69
+#, no-c-format
+msgid ""
+"Have a look at 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 ""
+"Regardez le répertoire <literal>eg</literal> de la distribution Hibernate, "
+"il contient une application simple et autonome. Copiez votre pilote JDBC "
+"dans le répertoire <literal>lib/</literal> et éditez <literal>src/hibernate."
+"properties</literal>, en positionnant correctement les valeurs pour votre "
+"base de données. A partir d'une invite de commande dans le répertoire de la "
+"distribution, tapez <literal>ant eg</literal> (cela utilise Ant), ou sous "
+"Windows tapez <literal>build eg</literal>."
 
-#: index.docbook:80
-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 "Faîtes de cette documentation de référence votre principale source d'information. Pensez à lire <emphasis>Java Persistence with Hibernate</emphasis> (http://www.manning.com/bauer2) si vous avez besoin de plus d'aide avec le design d'applications ou si vous préférez un tutoriel pas à pas. Visitez aussi http://caveatemptor.hibernate.org et téléchargez l'application exemple pour Java Persistence with Hibernate."
+#. Tag: para
+#: preface.xml:80
+#, 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 ""
+"Faîtes de cette documentation de référence votre principale source "
+"d'information. Pensez à lire <emphasis>Java Persistence with Hibernate</"
+"emphasis> (http://www.manning.com/bauer2) si vous avez besoin de plus d'aide "
+"avec le design d'applications ou si vous préférez un tutoriel pas à pas. "
+"Visitez aussi http://caveatemptor.hibernate.org et téléchargez l'application "
+"exemple pour Java Persistence with Hibernate."
 
-#: index.docbook:90
+#. Tag: para
+#: preface.xml:90
+#, no-c-format
 msgid "FAQs are answered on the Hibernate website."
-msgstr "Les questions les plus fréquemment posées (FAQs) trouvent leur réponse sur le site web Hibernate."
+msgstr ""
+"Les questions les plus fréquemment posées (FAQs) trouvent leur réponse sur "
+"le site web Hibernate."
 
-#: index.docbook:95
-msgid "Third party demos, examples, and tutorials are linked on the Hibernate website."
-msgstr "Des démos, exemples et tutoriaux de tierces personnes sont référencés sur le site web Hibernate."
+#. Tag: para
+#: preface.xml:95
+#, no-c-format
+msgid ""
+"Third party demos, examples, and tutorials are linked on the Hibernate "
+"website."
+msgstr ""
+"Des démos, exemples et tutoriaux de tierces personnes sont référencés sur le "
+"site web Hibernate."
 
-#: index.docbook:101
-msgid "The Community Area on the Hibernate website is a good resource for design patterns and various integration solutions (Tomcat, JBoss AS, Struts, EJB, etc.)."
-msgstr "La zone communautaire (Community Area) du site web Hibernate est une bonne source d'information sur les design patterns et sur différentes solutions d'intégration d'Hibernate (Tomcat, JBoss, Spring Framework, Struts, EJB, etc)."
+#. Tag: para
+#: preface.xml:101
+#, 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 ""
+"La zone communautaire (Community Area) du site web Hibernate est une bonne "
+"source d'information sur les design patterns et sur différentes solutions "
+"d'intégration d'Hibernate (Tomcat, JBoss, Spring Framework, Struts, EJB, "
+"etc)."
 
-#: index.docbook:109
-msgid "If you have questions, use the user forum linked on the Hibernate website. We also provide a JIRA issue trackings system for bug reports and feature 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 vous avez des questions, utilisez le forum utilisateurs du site web Hibernate. Nous utilisons également l'outil de gestion des incidents JIRA pour tout ce qui est rapports de bogue et demandes d'évolution. Si vous êtes intéressé par le développement d'Hibernate, joignez-vous à la liste de diffusion de développement."
+#. Tag: para
+#: preface.xml:109
+#, no-c-format
+msgid ""
+"If you have questions, use the user forum linked on the Hibernate website. "
+"We also provide a JIRA issue trackings system for bug reports and feature "
+"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 vous avez des questions, utilisez le forum utilisateurs du site web "
+"Hibernate. Nous utilisons également l'outil de gestion des incidents JIRA "
+"pour tout ce qui est rapports de bogue et demandes d'évolution. Si vous êtes "
+"intéressé par le développement d'Hibernate, joignez-vous à la liste de "
+"diffusion de développement."
 
-#: index.docbook:117
-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 "Le développement commercial, le support de production et les formations à Hibernate sont proposés par JBoss Inc (voir http://www.hibernate.org/SupportTraining/). Hibernate est un projet Open Source professionnel et un composant critique de la suite de produits JBoss Enterprise Middleware System (JEMS)."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: preface.xml:117
+#, 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 ""
+"Le développement commercial, le support de production et les formations à "
+"Hibernate sont proposés par JBoss Inc (voir http://www.hibernate.org/"
+"SupportTraining/). Hibernate est un projet Open Source professionnel et un "
+"composant critique de la suite de produits JBoss Enterprise Middleware "
+"System (JEMS)."

Modified: core/trunk/documentation/manual/translations/fr-FR/content/query_criteria.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/query_criteria.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/query_criteria.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,672 +1,785 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: query_criteria.xml:5
+#, no-c-format
 msgid "Criteria Queries"
 msgstr "Requêtes par critères"
 
-#: index.docbook:7
+#. Tag: para
+#: query_criteria.xml:7
+#, no-c-format
 msgid "Hibernate features an intuitive, extensible criteria query API."
-msgstr "Hibernate offre une API d'interrogation par critères intuitive et extensible."
+msgstr ""
+"Hibernate offre une API d'interrogation par critères intuitive et extensible."
 
-#: index.docbook:12
+#. Tag: title
+#: query_criteria.xml:12
+#, no-c-format
 msgid "Creating a <literal>Criteria</literal> instance"
 msgstr "Créer une instance de <literal>Criteria</literal>"
 
-#: index.docbook:14
-msgid "The interface <literal>org.hibernate.Criteria</literal> represents a query against a particular persistent class. The <literal>Session</literal> is a factory for <literal>Criteria</literal> instances."
-msgstr "L'interface <literal>net.sf.hibernate.Criteria</literal> représente une requête sur une classe persistente donnée. La <literal>Session</literal> fournit les instances de <literal>Criteria</literal>."
+#. Tag: para
+#: query_criteria.xml:14
+#, 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 ""
+"L'interface <literal>net.sf.hibernate.Criteria</literal> représente une "
+"requête sur une classe persistente donnée. La <literal>Session</literal> "
+"fournit les instances de <literal>Criteria</literal>."
 
-#: index.docbook:20
+#. Tag: programlisting
+#: query_criteria.xml:20
+#, no-c-format
 msgid ""
-      "<![CDATA[Criteria crit = sess.createCriteria(Cat.class);\n"
-      "crit.setMaxResults(50);\n"
-      "List cats = crit.list();]]>"
+"<![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();]]>"
 
-#: index.docbook:25
+#. Tag: title
+#: query_criteria.xml:25
+#, no-c-format
 msgid "Narrowing the result set"
 msgstr "Restriction du résultat"
 
-#: index.docbook:27
-msgid "An individual query criterion is an instance of the interface <literal>org.hibernate.criterion.Criterion</literal>. The class <literal>org.hibernate.criterion.Restrictions</literal> defines factory methods for obtaining certain built-in <literal>Criterion</literal> types."
-msgstr "Un criterion (critère de recherche) est une instance de l'interface <literal>org.hibernate.criterion.Criterion</literal>. La classe <literal>org.hibernate.criterion.Restrictions</literal> définit des méthodes pour obtenir des types de <literal>Criterion</literal> pré-définis."
+#. Tag: para
+#: query_criteria.xml:27
+#, no-c-format
+msgid ""
+"An individual query criterion is an instance of the interface <literal>org."
+"hibernate.criterion.Criterion</literal>. The class <literal>org.hibernate."
+"criterion.Restrictions</literal> defines factory methods for obtaining "
+"certain built-in <literal>Criterion</literal> types."
+msgstr ""
+"Un criterion (critère de recherche) est une instance de l'interface "
+"<literal>org.hibernate.criterion.Criterion</literal>. La classe <literal>org."
+"hibernate.criterion.Restrictions</literal> définit des méthodes pour obtenir "
+"des types de <literal>Criterion</literal> pré-définis."
 
-#: index.docbook:35
+#. Tag: programlisting
+#: query_criteria.xml:35
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:37
+#. Tag: para
+#: query_criteria.xml:37
+#, no-c-format
 msgid "Restrictions may be grouped logically."
 msgstr "Les restrictions peuvent être goupées de manière logique."
 
-#: index.docbook:41
+#. Tag: programlisting
+#: query_criteria.xml:41
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:43
+#. Tag: programlisting
+#: query_criteria.xml:43
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:45
-msgid "There are quite a range of built-in criterion types (<literal>Restrictions</literal> subclasses), but one that is especially useful lets you specify SQL directly."
-msgstr "Il y a plusieurs types de criterion pré-définis (sous classes de <literal>Restriction</literal>), mais l'une d'entre elle particulièrement utile vous permet de spécifier directement du SQL."
+#. Tag: para
+#: query_criteria.xml:45
+#, no-c-format
+msgid ""
+"There are quite a range of built-in criterion types (<literal>Restrictions</"
+"literal> subclasses), but one that is especially useful lets you specify SQL "
+"directly."
+msgstr ""
+"Il y a plusieurs types de criterion pré-définis (sous classes de "
+"<literal>Restriction</literal>), mais l'une d'entre elle particulièrement "
+"utile vous permet de spécifier directement du SQL."
 
-#: index.docbook:50
+#. Tag: programlisting
+#: query_criteria.xml:50
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:52
-msgid "The <literal>{alias}</literal> placeholder with be replaced by the row alias of the queried entity."
-msgstr "La zone <literal>{alias}</literal> sera remplacée par l'alias de colonne de l'entité que l'on souhaite intérroger."
+#. Tag: para
+#: query_criteria.xml:52
+#, no-c-format
+msgid ""
+"The <literal>{alias}</literal> placeholder with be replaced by the row alias "
+"of the queried entity."
+msgstr ""
+"La zone <literal>{alias}</literal> sera remplacée par l'alias de colonne de "
+"l'entité que l'on souhaite intérroger."
 
-#: index.docbook:57
-msgid "An alternative approach to obtaining a criterion is to get it from a <literal>Property</literal> instance. You can create a <literal>Property</literal> by calling <literal>Property.forName()</literal>."
-msgstr "Une autre approche pour obtenir un criterion est de le récupérer d'une instance de <literal>Property</literal>. Vous pouvez créer une <literal>Property</literal> en appelant <literal>Property.forName()</literal>."
+#. Tag: para
+#: query_criteria.xml:57
+#, no-c-format
+msgid ""
+"An alternative approach to obtaining a criterion is to get it from a "
+"<literal>Property</literal> instance. You can create a <literal>Property</"
+"literal> by calling <literal>Property.forName()</literal>."
+msgstr ""
+"Une autre approche pour obtenir un criterion est de le récupérer d'une "
+"instance de <literal>Property</literal>. Vous pouvez créer une "
+"<literal>Property</literal> en appelant <literal>Property.forName()</"
+"literal>."
 
-#: index.docbook:63
+#. Tag: programlisting
+#: query_criteria.xml:63
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:68
+#. Tag: title
+#: query_criteria.xml:68
+#, no-c-format
 msgid "Ordering the results"
 msgstr "Trier les résultats"
 
-#: index.docbook:70
-msgid "You may order the results using <literal>org.hibernate.criterion.Order</literal>."
-msgstr "Vous pouvez trier les résultats en utilisant <literal>org.hibernate.criterion.Order</literal>."
+#. Tag: para
+#: query_criteria.xml:70
+#, no-c-format
+msgid ""
+"You may order the results using <literal>org.hibernate.criterion.Order</"
+"literal>."
+msgstr ""
+"Vous pouvez trier les résultats en utilisant <literal>org.hibernate."
+"criterion.Order</literal>."
 
-#: index.docbook:74
+#. Tag: programlisting
+#: query_criteria.xml:74
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:76
+#. Tag: programlisting
+#: query_criteria.xml:76
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:81
+#. Tag: title
+#: query_criteria.xml:81
+#, no-c-format
 msgid "Associations"
 msgstr "Associations"
 
-#: index.docbook:83
-msgid "You may easily specify constraints upon related entities by navigating associations using <literal>createCriteria()</literal>."
-msgstr "Vous pouvez facilement spécifier des contraintes sur des entités liées, par des associations en utilisant <literal>createCriteria()</literal>."
+#. Tag: para
+#: query_criteria.xml:83
+#, no-c-format
+msgid ""
+"You may easily specify constraints upon related entities by navigating "
+"associations using <literal>createCriteria()</literal>."
+msgstr ""
+"Vous pouvez facilement spécifier des contraintes sur des entités liées, par "
+"des associations en utilisant <literal>createCriteria()</literal>."
 
-#: index.docbook:88
+#. Tag: programlisting
+#: query_criteria.xml:88
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:90
-msgid "note that the second <literal>createCriteria()</literal> returns a new instance of <literal>Criteria</literal>, which refers to the elements of the <literal>kittens</literal> collection."
-msgstr "Notez que la seconde <literal>createCriteria()</literal> retourne une nouvelle instance de <literal>Criteria</literal>, qui se rapporte aux éléments de la collection <literal>kittens</literal>."
+#. Tag: para
+#: query_criteria.xml:90
+#, no-c-format
+msgid ""
+"note that the second <literal>createCriteria()</literal> returns a new "
+"instance of <literal>Criteria</literal>, which refers to the elements of the "
+"<literal>kittens</literal> collection."
+msgstr ""
+"Notez que la seconde <literal>createCriteria()</literal> retourne une "
+"nouvelle instance de <literal>Criteria</literal>, qui se rapporte aux "
+"éléments de la collection <literal>kittens</literal>."
 
-#: index.docbook:96
+#. Tag: para
+#: query_criteria.xml:96
+#, no-c-format
 msgid "The following, alternate form is useful in certain circumstances."
 msgstr "La forme alternative suivante est utile dans certains cas."
 
-#: index.docbook:100
+#. Tag: programlisting
+#: query_criteria.xml:100
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:102
-msgid "(<literal>createAlias()</literal> does not create a new instance of <literal>Criteria</literal>.)"
-msgstr "(<literal>createAlias()</literal> ne crée pas de nouvelle instance de <literal>Criteria</literal>.)"
+#. Tag: para
+#: query_criteria.xml:102
+#, no-c-format
+msgid ""
+"(<literal>createAlias()</literal> does not create a new instance of "
+"<literal>Criteria</literal>.)"
+msgstr ""
+"(<literal>createAlias()</literal> ne crée pas de nouvelle instance de "
+"<literal>Criteria</literal>.)"
 
-#: index.docbook:107
-msgid "Note that the kittens collections held by the <literal>Cat</literal> instances returned by the previous two queries are <emphasis>not</emphasis> pre-filtered by the criteria! If you wish to retrieve just the kittens that match the criteria, you must use a <literal>ResultTransformer</literal>."
-msgstr "Notez que les collections kittens contenues dans les instances de <literal>Cat</literal> retournées par les deux précédentes requêtes ne sont <emphasis>pas</emphasis> pré-filtrées par les critères ! Si vous souhaitez récupérer uniquement les kittens qui correspondent à la criteria, vous devez utiliser <literal>ResultTransformer</literal>."
+#. Tag: para
+#: query_criteria.xml:107
+#, no-c-format
+msgid ""
+"Note that the kittens collections held by the <literal>Cat</literal> "
+"instances returned by the previous two queries are <emphasis>not</emphasis> "
+"pre-filtered by the criteria! If you wish to retrieve just the kittens that "
+"match the criteria, you must use a <literal>ResultTransformer</literal>."
+msgstr ""
+"Notez que les collections kittens contenues dans les instances de "
+"<literal>Cat</literal> retournées par les deux précédentes requêtes ne sont "
+"<emphasis>pas</emphasis> pré-filtrées par les critères ! Si vous souhaitez "
+"récupérer uniquement les kittens qui correspondent à la criteria, vous devez "
+"utiliser <literal>ResultTransformer</literal>."
 
-#: index.docbook:114
+#. Tag: programlisting
+#: query_criteria.xml:114
+#, 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"
-      "}]]>"
+"<![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"
-      "    .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"
-      "}]]>"
 
-#: index.docbook:119
+#. Tag: title
+#: query_criteria.xml:119
+#, no-c-format
 msgid "Dynamic association fetching"
 msgstr "Peuplement d'associations de manière dynamique"
 
-#: index.docbook:121
-msgid "You may specify association fetching semantics at runtime using <literal>setFetchMode()</literal>."
-msgstr "Vous pouvez spéficier au moment de l'exécution le peuplement d'une association en utilisant <literal>setFetchMode()</literal> (c'est-à-dire le chargement de celle-ci). Cela permet de surcharger les valeurs \"lazy\" et \"outer-join\" du mapping."
+#. Tag: para
+#: query_criteria.xml:121
+#, no-c-format
+msgid ""
+"You may specify association fetching semantics at runtime using "
+"<literal>setFetchMode()</literal>."
+msgstr ""
+"Vous pouvez spéficier au moment de l'exécution le peuplement d'une "
+"association en utilisant <literal>setFetchMode()</literal> (c'est-à-dire le "
+"chargement de celle-ci). Cela permet de surcharger les valeurs \"lazy\" et "
+"\"outer-join\" du mapping."
 
-#: index.docbook:126
+#. Tag: programlisting
+#: query_criteria.xml:126
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:128
-msgid "This query will fetch both <literal>mate</literal> and <literal>kittens</literal> by outer join. See <xref linkend=\"performance-fetching\"/> for more information."
-msgstr "Cette requête recherchera <literal>mate</literal> et <literal>kittens</literal> via les jointures externes. Voir <xref linkend=\"performance-fetching\"/> pour plus d'informations."
+#. Tag: para
+#: query_criteria.xml:128
+#, 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 "
+"more information."
+msgstr ""
+"Cette requête recherchera <literal>mate</literal> et <literal>kittens</"
+"literal> via les jointures externes. Voir <xref linkend=\"performance-"
+"fetching\"/> pour plus d'informations."
 
-#: index.docbook:136
+#. Tag: title
+#: query_criteria.xml:136
+#, no-c-format
 msgid "Example queries"
 msgstr "Requêtes par l'exemple"
 
-#: index.docbook:138
-msgid "The class <literal>org.hibernate.criterion.Example</literal> allows you to construct a query criterion from a given instance."
-msgstr "La classe <literal>org.hibernate.criterion.Example</literal> vous permet de construire un critère suivant une instance d'objet donnée."
+#. Tag: para
+#: query_criteria.xml:138
+#, 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 classe <literal>org.hibernate.criterion.Example</literal> vous permet de "
+"construire un critère suivant une instance d'objet donnée."
 
-#: index.docbook:143
+#. Tag: programlisting
+#: query_criteria.xml:143
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:145
-msgid "Version properties, identifiers and associations are ignored. By default, null valued properties are excluded."
-msgstr "Les propriétés de type version, identifiant et association sont ignorées. Par défaut, les valeurs null sont exclues."
+#. Tag: para
+#: query_criteria.xml:145
+#, no-c-format
+msgid ""
+"Version properties, identifiers and associations are ignored. By default, "
+"null valued properties are excluded."
+msgstr ""
+"Les propriétés de type version, identifiant et association sont ignorées. "
+"Par défaut, les valeurs null sont exclues."
 
-#: index.docbook:150
+#. Tag: para
+#: query_criteria.xml:150
+#, no-c-format
 msgid "You can adjust how the <literal>Example</literal> is applied."
-msgstr "Vous pouvez ajuster la stratégie d'utilisation de valeurs de l'<literal>Exemple</literal>."
+msgstr ""
+"Vous pouvez ajuster la stratégie d'utilisation de valeurs de "
+"l'<literal>Exemple</literal>."
 
-#: index.docbook:154
+#. Tag: programlisting
+#: query_criteria.xml:154
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:156
+#. Tag: para
+#: query_criteria.xml:156
+#, no-c-format
 msgid "You can even use examples to place criteria upon associated objects."
-msgstr "Vous pouvez utiliser les \"exemples\" pour des critères sur les objets associés."
+msgstr ""
+"Vous pouvez utiliser les \"exemples\" pour des critères sur les objets "
+"associés."
 
-#: index.docbook:160
+#. Tag: programlisting
+#: query_criteria.xml:160
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:165
+#. Tag: title
+#: query_criteria.xml:165
+#, no-c-format
 msgid "Projections, aggregation and grouping"
 msgstr "Projections, agrégation et regroupement"
 
-#: index.docbook:166
-msgid "The class <literal>org.hibernate.criterion.Projections</literal> is a factory for <literal>Projection</literal> instances. We apply a projection to a query by calling <literal>setProjection()</literal>."
-msgstr "La classe <literal>org.hibernate.criterion.Projections</literal> est une fabrique d'instances de <literal>Projection</literal>. Nous appliquons une projection sur une requête en appelant <literal>setProjection()</literal>."
+#. Tag: para
+#: query_criteria.xml:166
+#, no-c-format
+msgid ""
+"The class <literal>org.hibernate.criterion.Projections</literal> is a "
+"factory for <literal>Projection</literal> instances. We apply a projection "
+"to a query by calling <literal>setProjection()</literal>."
+msgstr ""
+"La classe <literal>org.hibernate.criterion.Projections</literal> est une "
+"fabrique d'instances de <literal>Projection</literal>. Nous appliquons une "
+"projection sur une requête en appelant <literal>setProjection()</literal>."
 
-#: index.docbook:172
+#. Tag: programlisting
+#: query_criteria.xml:172
+#, no-c-format
 msgid ""
-      "<![CDATA[List results = session.createCriteria(Cat.class)\n"
-      "    .setProjection( Projections.rowCount() )\n"
-      "    .add( Restrictions.eq(\"color\", Color.BLACK) )\n"
-      "    .list();]]>"
+"<![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();]]>"
 
-#: index.docbook:174
+#. Tag: programlisting
+#: query_criteria.xml:174
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:176
-msgid "There is no explicit \"group by\" necessary in a criteria query. Certain projection types are defined to be <emphasis>grouping projections</emphasis>, which also appear in the SQL <literal>group by</literal> clause."
-msgstr "Il n'y a pas besoin de \"group by\" explicite dans une requête par critère. Certains types de projection sont définis pour être des <emphasis>projections de regroupement</emphasis>, lesquels apparaissent aussi dans la clause <literal>group by</literal> SQL."
+#. Tag: para
+#: query_criteria.xml:176
+#, 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 ""
+"Il n'y a pas besoin de \"group by\" explicite dans une requête par critère. "
+"Certains types de projection sont définis pour être des "
+"<emphasis>projections de regroupement</emphasis>, lesquels apparaissent "
+"aussi dans la clause <literal>group by</literal> SQL."
 
-#: index.docbook:182
-msgid "An alias may optionally be assigned to a projection, so that the projected value may be referred to in restrictions or orderings. Here are two different ways to do this:"
-msgstr "Un alias peut optionnellement être assigné à une projection, ainsi la valeur projetée peut être référencée dans des restrictions ou des tris. Voici deux façons différentes de faire ça :"
+#. Tag: para
+#: query_criteria.xml:182
+#, no-c-format
+msgid ""
+"An alias may optionally be assigned to a projection, so that the projected "
+"value may be referred to in restrictions or orderings. Here are two "
+"different ways to do this:"
+msgstr ""
+"Un alias peut optionnellement être assigné à une projection, ainsi la valeur "
+"projetée peut être référencée dans des restrictions ou des tris. Voici deux "
+"façons différentes de faire ça :"
 
-#: index.docbook:188
+#. Tag: programlisting
+#: query_criteria.xml:188
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:190
+#. Tag: programlisting
+#: query_criteria.xml:190
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:192
-msgid "The <literal>alias()</literal> and <literal>as()</literal> methods simply wrap a projection instance in another, aliased, instance of <literal>Projection</literal>. As a shortcut, you can assign an alias when you add the projection to a projection list:"
-msgstr "Les méthodes <literal>alias()</literal> et <literal>as()</literal> enveloppe simplement une instance de projection dans une autre instance (aliasée) de <literal>Projection</literal>. Comme un raccourci, vous pouvez assignez un alias lorsque vous ajoutez la projection à la liste de projections :"
+#. Tag: para
+#: query_criteria.xml:192
+#, no-c-format
+msgid ""
+"The <literal>alias()</literal> and <literal>as()</literal> methods simply "
+"wrap a projection instance in another, aliased, instance of "
+"<literal>Projection</literal>. As a shortcut, you can assign an alias when "
+"you add the projection to a projection list:"
+msgstr ""
+"Les méthodes <literal>alias()</literal> et <literal>as()</literal> enveloppe "
+"simplement une instance de projection dans une autre instance (aliasée) de "
+"<literal>Projection</literal>. Comme un raccourci, vous pouvez assignez un "
+"alias lorsque vous ajoutez la projection à la liste de projections :"
 
-#: index.docbook:199
+#. Tag: programlisting
+#: query_criteria.xml:199
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:201
+#. Tag: programlisting
+#: query_criteria.xml:201
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:203
-msgid "You can also use <literal>Property.forName()</literal> to express projections:"
-msgstr "Vous pouvez aussi utiliser <literal>Property.forName()</literal> pour formuler des projections :"
+#. Tag: para
+#: query_criteria.xml:203
+#, no-c-format
+msgid ""
+"You can also use <literal>Property.forName()</literal> to express "
+"projections:"
+msgstr ""
+"Vous pouvez aussi utiliser <literal>Property.forName()</literal> pour "
+"formuler des projections :"
 
-#: index.docbook:207
+#. Tag: programlisting
+#: query_criteria.xml:207
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:209
+#. Tag: programlisting
+#: query_criteria.xml:209
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:214
+#. Tag: title
+#: query_criteria.xml:214
+#, no-c-format
 msgid "Detached queries and subqueries"
 msgstr "Requêtes et sous-requêtes détachées"
 
-#: index.docbook:215
-msgid "The <literal>DetachedCriteria</literal> class lets you create a query outside the scope of a session, and then later execute it using some arbitrary <literal>Session</literal>."
-msgstr "La classe <literal>DetachedCriteria</literal> vous laisse créer une requête en dehors de la portée de la session, et puis l'exécuter plus tard en utilisant n'importe quelle <literal>Session</literal> arbitraire."
+#. Tag: para
+#: query_criteria.xml:215
+#, no-c-format
+msgid ""
+"The <literal>DetachedCriteria</literal> class lets you create a query "
+"outside the scope of a session, and then later execute it using some "
+"arbitrary <literal>Session</literal>."
+msgstr ""
+"La classe <literal>DetachedCriteria</literal> vous laisse créer une requête "
+"en dehors de la portée de la session, et puis l'exécuter plus tard en "
+"utilisant n'importe quelle <literal>Session</literal> arbitraire."
 
-#: index.docbook:220
+#. Tag: programlisting
+#: query_criteria.xml:220
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:222
-msgid "A <literal>DetachedCriteria</literal> may also be used to express a subquery. Criterion instances involving subqueries may be obtained via <literal>Subqueries</literal> or <literal>Property</literal>."
-msgstr "Une <literal>DetachedCriteria</literal> peut aussi être utilisée pour exprimer une sous-requête. Des instances de criterion impliquant des sous-requêtes peuvent être obtenues via <literal>Subqueries</literal> ou <literal>Property</literal>."
+#. Tag: para
+#: query_criteria.xml:222
+#, no-c-format
+msgid ""
+"A <literal>DetachedCriteria</literal> may also be used to express a "
+"subquery. Criterion instances involving subqueries may be obtained via "
+"<literal>Subqueries</literal> or <literal>Property</literal>."
+msgstr ""
+"Une <literal>DetachedCriteria</literal> peut aussi être utilisée pour "
+"exprimer une sous-requête. Des instances de criterion impliquant des sous-"
+"requêtes peuvent être obtenues via <literal>Subqueries</literal> ou "
+"<literal>Property</literal>."
 
-#: index.docbook:228
+#. Tag: programlisting
+#: query_criteria.xml:228
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:230
+#. Tag: programlisting
+#: query_criteria.xml:230
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:232
+#. Tag: para
+#: query_criteria.xml:232
+#, no-c-format
 msgid "Even correlated subqueries are possible:"
 msgstr "Même des requêtes corrélées sont possibles :"
 
-#: index.docbook:236
+#. Tag: programlisting
+#: query_criteria.xml:236
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:245
+#. Tag: title
+#: query_criteria.xml:245
+#, no-c-format
 msgid "Queries by natural identifier"
 msgstr "Requêtes par identifiant naturel"
 
-#: index.docbook:247
-msgid "For most queries, including criteria queries, the query cache is not very efficient, because query cache invalidation occurs too frequently. However, there is one special kind of query where we can optimize the cache invalidation algorithm: lookups by a constant natural key. In some applications, this kind of query occurs frequently. The criteria API provides special provision for this use case."
-msgstr "Pour la plupart des requêtes, incluant les requêtes par critère, le cache de requêtes n'est pas très efficace, parce que l'invalidation du cache de requêtes arrive trop souvent. Cependant, il y a une sorte spéciale de requête où nous pouvons optimiser l'algorithme d'invalidation du cache : les recherches sur une clef naturelle constante. Dans certaines applications, cette sorte de requête se produit fréquemment. L'API de critère fournit une provision spéciale pour ce cas d'utilisation."
+#. Tag: para
+#: query_criteria.xml:247
+#, no-c-format
+msgid ""
+"For most queries, including criteria queries, the query cache is not very "
+"efficient, because query cache invalidation occurs too frequently. However, "
+"there is one special kind of query where we can optimize the cache "
+"invalidation algorithm: lookups by a constant natural key. In some "
+"applications, this kind of query occurs frequently. The criteria API "
+"provides special provision for this use case."
+msgstr ""
+"Pour la plupart des requêtes, incluant les requêtes par critère, le cache de "
+"requêtes n'est pas très efficace, parce que l'invalidation du cache de "
+"requêtes arrive trop souvent. Cependant, il y a une sorte spéciale de "
+"requête où nous pouvons optimiser l'algorithme d'invalidation du cache : les "
+"recherches sur une clef naturelle constante. Dans certaines applications, "
+"cette sorte de requête se produit fréquemment. L'API de critère fournit une "
+"provision spéciale pour ce cas d'utilisation."
 
-#: index.docbook:255
-msgid "First, you should map the natural key of your entity using <literal>&lt;natural-id&gt;</literal>, and enable use of the second-level cache."
-msgstr "D'abord vous devriez mapper la clef naturelle de votre entité en utilisant <literal>&lt;natural-id&gt;</literal>, et activer l'utilisation du cache de second niveau."
+#. Tag: para
+#: query_criteria.xml:255
+#, no-c-format
+msgid ""
+"First, you should map the natural key of your entity using <literal>&lt;"
+"natural-id&gt;</literal>, and enable use of the second-level cache."
+msgstr ""
+"D'abord vous devriez mapper la clef naturelle de votre entité en utilisant "
+"<literal>&lt;natural-id&gt;</literal>, et activer l'utilisation du cache de "
+"second niveau."
 
-#: index.docbook:260
+#. Tag: programlisting
+#: query_criteria.xml:260
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:262
-msgid "Note that this functionality is not intended for use with entities with <emphasis>mutable</emphasis> natural keys."
-msgstr "Notez que cette fonctionnalité n'est pas prévue pour l'utilisation avec des entités avec des clefs naturelles <emphasis>mutables</emphasis>."
+#. Tag: para
+#: query_criteria.xml:262
+#, no-c-format
+msgid ""
+"Note that this functionality is not intended for use with entities with "
+"<emphasis>mutable</emphasis> natural keys."
+msgstr ""
+"Notez que cette fonctionnalité n'est pas prévue pour l'utilisation avec des "
+"entités avec des clefs naturelles <emphasis>mutables</emphasis>."
 
-#: index.docbook:267
+#. Tag: para
+#: query_criteria.xml:267
+#, no-c-format
 msgid "Next, enable the Hibernate query cache."
 msgstr "Ensuite, activez le cache de requête d'Hibernate."
 
-#: index.docbook:271
-msgid "Now, <literal>Restrictions.naturalId()</literal> allows us to make use of the more efficient cache algorithm."
-msgstr "Maintenant <literal>Restrictions.naturalId()</literal> nous permet de rendre l'utilisation de l'algorithme de cache plus efficace."
+#. Tag: para
+#: query_criteria.xml:271
+#, no-c-format
+msgid ""
+"Now, <literal>Restrictions.naturalId()</literal> allows us to make use of "
+"the more efficient cache algorithm."
+msgstr ""
+"Maintenant <literal>Restrictions.naturalId()</literal> nous permet de rendre "
+"l'utilisation de l'algorithme de cache plus efficace."
 
-#: index.docbook:276
+#. Tag: programlisting
+#: query_criteria.xml:276
+#, 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();]]>"
+"<![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 "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-

Modified: core/trunk/documentation/manual/translations/fr-FR/content/query_hql.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/query_hql.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/query_hql.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,1512 +1,2451 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: query_hql.xml:5
+#, no-c-format
 msgid "HQL: The Hibernate Query Language"
 msgstr "HQL: Langage de requêtage d'Hibernate"
 
-#: index.docbook:7
-msgid "Hibernate is equipped with an extremely powerful query language that (quite intentionally) looks very much like SQL. But don't be fooled by the syntax; HQL is fully object-oriented, understanding notions like inheritence, polymorphism and association."
-msgstr "Hibernate fourni un langage d'interrogation extrêmement puissant qui ressemble (et c'est voulu) au SQL. Mais ne soyez pas distraits par la syntaxe ; HQL est totalement orienté objet, comprenant des notions d'héritage, de polymorphisme et d'association."
+#. Tag: para
+#: query_hql.xml:7
+#, no-c-format
+msgid ""
+"Hibernate is equipped with an extremely powerful query language that (quite "
+"intentionally) looks very much like SQL. But don't be fooled by the syntax; "
+"HQL is fully object-oriented, understanding notions like inheritence, "
+"polymorphism and association."
+msgstr ""
+"Hibernate fourni un langage d'interrogation extrêmement puissant qui "
+"ressemble (et c'est voulu) au SQL. Mais ne soyez pas distraits par la "
+"syntaxe ; HQL est totalement orienté objet, comprenant des notions "
+"d'héritage, de polymorphisme et d'association."
 
-#: index.docbook:14
+#. Tag: title
+#: query_hql.xml:14
+#, no-c-format
 msgid "Case Sensitivity"
 msgstr "Sensibilité à la casse"
 
-#: index.docbook:16
-msgid "Queries are case-insensitive, except for names of Java classes and properties. So <literal>SeLeCT</literal> is the same as <literal>sELEct</literal> is the same as <literal>SELECT</literal> but <literal>org.hibernate.eg.FOO</literal> is not <literal>org.hibernate.eg.Foo</literal> and <literal>foo.barSet</literal> is not <literal>foo.BARSET</literal>."
-msgstr "Les requêtes sont insensibles à la casse, à l'exception des noms des classes Java et des propriétés. Ainsi, <literal>SeLeCT</literal> est identique à <literal>sELEct</literal> et à <literal>SELECT</literal> mais <literal>net.sf.hibernate.eg.FOO</literal> n'est pas identique <literal>net.sf.hibernate.eg.Foo</literal> et <literal>foo.barSet</literal> n'est pas identique à <literal>foo.BARSET</literal>."
+#. Tag: para
+#: query_hql.xml:16
+#, no-c-format
+msgid ""
+"Queries are case-insensitive, except for names of Java classes and "
+"properties. So <literal>SeLeCT</literal> is the same as <literal>sELEct</"
+"literal> is the same as <literal>SELECT</literal> but <literal>org.hibernate."
+"eg.FOO</literal> is not <literal>org.hibernate.eg.Foo</literal> and "
+"<literal>foo.barSet</literal> is not <literal>foo.BARSET</literal>."
+msgstr ""
+"Les requêtes sont insensibles à la casse, à l'exception des noms des classes "
+"Java et des propriétés. Ainsi, <literal>SeLeCT</literal> est identique à "
+"<literal>sELEct</literal> et à <literal>SELECT</literal> mais <literal>net."
+"sf.hibernate.eg.FOO</literal> n'est pas identique <literal>net.sf.hibernate."
+"eg.Foo</literal> et <literal>foo.barSet</literal> n'est pas identique à "
+"<literal>foo.BARSET</literal>."
 
-#: index.docbook:27
-msgid "This manual uses lowercase HQL keywords. Some users find queries with uppercase keywords more readable, but we find this convention ugly when embedded in Java code."
-msgstr "Ce guide utilise les mots clés HQL en minuscule. Certains utilisateurs trouvent les requêtes écrites avec les mots clés en majuscule plus lisibles, mais nous trouvons cette convention pénible lorsqu'elle est lue dans du code Java."
+#. Tag: para
+#: query_hql.xml:27
+#, no-c-format
+msgid ""
+"This manual uses lowercase HQL keywords. Some users find queries with "
+"uppercase keywords more readable, but we find this convention ugly when "
+"embedded in Java code."
+msgstr ""
+"Ce guide utilise les mots clés HQL en minuscule. Certains utilisateurs "
+"trouvent les requêtes écrites avec les mots clés en majuscule plus lisibles, "
+"mais nous trouvons cette convention pénible lorsqu'elle est lue dans du code "
+"Java."
 
-#: index.docbook:35
+#. Tag: title
+#: query_hql.xml:35
+#, no-c-format
 msgid "The from clause"
 msgstr "La clause from"
 
-#: index.docbook:37
+#. Tag: para
+#: query_hql.xml:37
+#, no-c-format
 msgid "The simplest possible Hibernate query is of the form:"
 msgstr "La requête Hibernate la plus simple est de la forme :"
 
-#: index.docbook:41
+#. Tag: programlisting
+#: query_hql.xml:41
+#, no-c-format
 msgid "<![CDATA[from eg.Cat]]>"
-msgstr "<![CDATA[from eg.Cat]]>"
+msgstr ""
 
-#: index.docbook:43
-msgid "which simply returns all instances of the class <literal>eg.Cat</literal>. We don't usually need to qualify the class name, since <literal>auto-import</literal> is the default. So we almost always just write:"
-msgstr "qui retourne simplement toutes les instances de la classe <literal>eg.Cat</literal>. Nous n'avons pas besoin d'habitude de qualifier le nom de la classe, puisque <literal>auto-import</literal> est la valeur par défaut. Donc nous écrivons presque toujours :"
+#. Tag: para
+#: query_hql.xml:43
+#, no-c-format
+msgid ""
+"which simply returns all instances of the class <literal>eg.Cat</literal>. "
+"We don't usually need to qualify the class name, since <literal>auto-import</"
+"literal> is the default. So we almost always just write:"
+msgstr ""
+"qui retourne simplement toutes les instances de la classe <literal>eg.Cat</"
+"literal>. Nous n'avons pas besoin d'habitude de qualifier le nom de la "
+"classe, puisque <literal>auto-import</literal> est la valeur par défaut. "
+"Donc nous écrivons presque toujours :"
 
-#: index.docbook:49
+#. Tag: programlisting
+#: query_hql.xml:49
+#, no-c-format
 msgid "<![CDATA[from Cat]]>"
-msgstr "<![CDATA[from Cat]]>"
+msgstr ""
 
-#: index.docbook:51
-msgid "Most of the time, you will need to assign an <emphasis>alias</emphasis>, since you will want to refer to the <literal>Cat</literal> in other parts of the query."
-msgstr "La plupart du temps, vous devrez assigner un <emphasis>alias</emphasis> puisque vous voudrez faire référence à <literal>Cat</literal> dans d'autres parties de la requête."
+#. Tag: para
+#: query_hql.xml:51
+#, no-c-format
+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 plupart du temps, vous devrez assigner un <emphasis>alias</emphasis> "
+"puisque vous voudrez faire référence à <literal>Cat</literal> dans d'autres "
+"parties de la requête."
 
-#: index.docbook:57, index.docbook:372
+#. Tag: programlisting
+#: query_hql.xml:57 query_hql.xml:372
+#, no-c-format
 msgid "<![CDATA[from Cat as cat]]>"
-msgstr "<![CDATA[from Cat as cat]]>"
+msgstr ""
 
-#: index.docbook:59
-msgid "This query assigns the alias <literal>cat</literal> to <literal>Cat</literal> instances, so we could use that alias later in the query. The <literal>as</literal> keyword is optional; we could also write:"
-msgstr "Cette requête assigne l'alias <literal>cat</literal> à l'instance <literal>Cat</literal>, nous pouvons donc utiliser cet alias ailleurs dans la requête. Le mot clé <literal>as</literal> est optionnel ; nous aurions pu écrire :"
+#. Tag: para
+#: query_hql.xml:59
+#, no-c-format
+msgid ""
+"This query assigns the alias <literal>cat</literal> to <literal>Cat</"
+"literal> instances, so we could use that alias later in the query. The "
+"<literal>as</literal> keyword is optional; we could also write:"
+msgstr ""
+"Cette requête assigne l'alias <literal>cat</literal> à l'instance "
+"<literal>Cat</literal>, nous pouvons donc utiliser cet alias ailleurs dans "
+"la requête. Le mot clé <literal>as</literal> est optionnel ; nous aurions pu "
+"écrire :"
 
-#: index.docbook:65
+#. Tag: programlisting
+#: query_hql.xml:65
+#, no-c-format
 msgid "<![CDATA[from Cat cat]]>"
-msgstr "<![CDATA[from Cat cat]]>"
+msgstr ""
 
-#: index.docbook:67
-msgid "Multiple classes may appear, resulting in a cartesian product or \"cross\" join."
-msgstr "Plusieurs classes peuvent apparaître, ce qui conduira à un produit cartésien (encore appelé jointures croisées)."
+#. Tag: para
+#: query_hql.xml:67
+#, no-c-format
+msgid ""
+"Multiple classes may appear, resulting in a cartesian product or \"cross\" "
+"join."
+msgstr ""
+"Plusieurs classes peuvent apparaître, ce qui conduira à un produit cartésien "
+"(encore appelé jointures croisées)."
 
-#: index.docbook:71
+#. Tag: programlisting
+#: query_hql.xml:71
+#, no-c-format
 msgid "<![CDATA[from Formula, Parameter]]>"
-msgstr "<![CDATA[from Formula, Parameter]]>"
+msgstr ""
 
-#: index.docbook:72
+#. Tag: programlisting
+#: query_hql.xml:72
+#, no-c-format
 msgid "<![CDATA[from Formula as form, Parameter as param]]>"
-msgstr "<![CDATA[from Formula as form, Parameter as param]]>"
+msgstr ""
 
-#: index.docbook:74
-msgid "It is considered good practice to name query aliases using an initial lowercase, consistent with Java naming standards for local variables (eg. <literal>domesticCat</literal>)."
-msgstr "C'est une bonne pratique que de nommer les alias dans les requêtes en utilisant l'initiale en miniscule, ce qui a le mérite d'être en phase avec les standards de nommage Java pour les variables locales (<literal>domesticCat</literal>)."
+#. Tag: para
+#: query_hql.xml:74
+#, no-c-format
+msgid ""
+"It is considered good practice to name query aliases using an initial "
+"lowercase, consistent with Java naming standards for local variables (eg. "
+"<literal>domesticCat</literal>)."
+msgstr ""
+"C'est une bonne pratique que de nommer les alias dans les requêtes en "
+"utilisant l'initiale en miniscule, ce qui a le mérite d'être en phase avec "
+"les standards de nommage Java pour les variables locales "
+"(<literal>domesticCat</literal>)."
 
-#: index.docbook:83
+#. Tag: title
+#: query_hql.xml:83
+#, no-c-format
 msgid "Associations and joins"
 msgstr "Associations et jointures"
 
-#: index.docbook:85
-msgid "We may also assign aliases to associated entities, or even to elements of a collection of values, using a <literal>join</literal>."
-msgstr "On peut aussi assigner des alias à des entités associées, ou même aux éléments d'une collection de valeurs, en utilisant un <literal>join</literal> (jointure)."
+#. Tag: para
+#: query_hql.xml:85
+#, no-c-format
+msgid ""
+"We may also assign aliases to associated entities, or even to elements of a "
+"collection of values, using a <literal>join</literal>."
+msgstr ""
+"On peut aussi assigner des alias à des entités associées, ou même aux "
+"éléments d'une collection de valeurs, en utilisant un <literal>join</"
+"literal> (jointure)."
 
-#: index.docbook:90
+#. Tag: programlisting
+#: query_hql.xml:90
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as cat\n"
-      "    inner join cat.mate as mate\n"
-      "    left outer join cat.kittens as kitten]]>"
+"<![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]]>"
 
-#: index.docbook:92
+#. Tag: programlisting
+#: query_hql.xml:92
+#, 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]]>"
+msgstr ""
 
-#: index.docbook:94
+#. Tag: programlisting
+#: query_hql.xml:94
+#, no-c-format
 msgid "<![CDATA[from Formula form full join form.parameter param]]>"
-msgstr "<![CDATA[from Formula form full join form.parameter param]]>"
+msgstr ""
 
-#: index.docbook:96
+#. Tag: para
+#: query_hql.xml:96
+#, no-c-format
 msgid "The supported join types are borrowed from ANSI SQL"
 msgstr "Les types de jointures supportées sont celles de ANSI SQL"
 
-#: index.docbook:103
+#. Tag: literal
+#: query_hql.xml:103
+#, no-c-format
 msgid "inner join"
 msgstr "<literal>inner join</literal> (jointure fermée)"
 
-#: index.docbook:108
+#. Tag: literal
+#: query_hql.xml:108
+#, no-c-format
 msgid "left outer join"
 msgstr "<literal>left outer join</literal> (jointure ouverte par la gauche)"
 
-#: index.docbook:113
+#. Tag: literal
+#: query_hql.xml:113
+#, no-c-format
 msgid "right outer join"
 msgstr "<literal>right outer join</literal> (jointure ouverte par la droite)"
 
-#: index.docbook:117
+#. Tag: para
+#: query_hql.xml:117
+#, no-c-format
 msgid "<literal>full join</literal> (not usually useful)"
-msgstr "<literal>full join</literal> (jointure ouverte totalement - généralement inutile)"
+msgstr ""
+"<literal>full join</literal> (jointure ouverte totalement - généralement "
+"inutile)"
 
-#: index.docbook:123
-msgid "The <literal>inner join</literal>, <literal>left outer join</literal> and <literal>right outer join</literal> constructs may be abbreviated."
-msgstr "Les constructions des jointures <literal>inner join</literal>, <literal>left outer join</literal> et <literal>right outer join</literal> peuvent être abbrégées."
+#. Tag: para
+#: query_hql.xml:123
+#, 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 ""
+"Les constructions des jointures <literal>inner join</literal>, <literal>left "
+"outer join</literal> et <literal>right outer join</literal> peuvent être "
+"abbrégées."
 
-#: index.docbook:128
+#. Tag: programlisting
+#: query_hql.xml:128
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as cat\n"
-      "    join cat.mate as mate\n"
-      "    left join cat.kittens as kitten]]>"
+"<![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]]>"
 
-#: index.docbook:130
-msgid "You may supply extra join conditions using the HQL <literal>with</literal> keyword."
-msgstr "Nous pouvons soumettre des conditions de jointure supplémentaires en utilisant le mot-clef HQL <literal>with</literal>."
+#. Tag: para
+#: query_hql.xml:130
+#, no-c-format
+msgid ""
+"You may supply extra join conditions using the HQL <literal>with</literal> "
+"keyword."
+msgstr ""
+"Nous pouvons soumettre des conditions de jointure supplémentaires en "
+"utilisant le mot-clef HQL <literal>with</literal>."
 
-#: index.docbook:135
+#. Tag: programlisting
+#: query_hql.xml:135
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as cat\n"
-      "    left join cat.kittens as kitten\n"
-      "        with kitten.bodyWeight > 10.0]]>"
+"<![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]]>"
 
-#: index.docbook:137
-msgid "In addition, a \"fetch\" join allows associations or collections of values to be initialized along with their parent objects, using a single select. 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 information."
-msgstr "Par ailleurs, une jointure \"fetchée\" (rapportée) permet d'initialiser les associations ou collections de valeurs en même temps que leur objet parent, le tout n'utilisant qu'un seul Select. Ceci est particulièrement utile dans le cas des collections. Ce système permet de surcharger les déclarations \"lazy\" et \"outer-join\" des fichiers de mapping pour les associations et collections. Voir <xref linkend=\"performance-fetching\"/> pour plus d'informations."
+#. Tag: para
+#: query_hql.xml:137
+#, no-c-format
+msgid ""
+"In addition, 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 information."
+msgstr ""
+"Par ailleurs, une jointure \"fetchée\" (rapportée) permet d'initialiser les "
+"associations ou collections de valeurs en même temps que leur objet parent, "
+"le tout n'utilisant qu'un seul Select. Ceci est particulièrement utile dans "
+"le cas des collections. Ce système permet de surcharger les déclarations "
+"\"lazy\" et \"outer-join\" des fichiers de mapping pour les associations et "
+"collections. Voir <xref linkend=\"performance-fetching\"/> pour plus "
+"d'informations."
 
-#: index.docbook:145
+#. Tag: programlisting
+#: query_hql.xml:145
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as cat\n"
-      "    inner join fetch cat.mate\n"
-      "    left join fetch cat.kittens]]>"
+"<![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]]>"
 
-#: index.docbook:147
-msgid "A fetch join does not usually need to assign an alias, because the associated objects should not be used in the <literal>where</literal> clause (or any other clause). Also, the associated objects are not returned directly in the query results. Instead, they may be accessed via the parent object. The only reason we might need an alias is if we are recursively join fetching a further collection:"
-msgstr "Une jointure \"fetchée\" (rapportée) n'a généralement pas besoin de se voir assigner un alias puisque les objets associés n'ont pas à être utilisés dans les autres clauses. Notez aussi que les objets associés ne sont pas retournés directement dans le résultat de la requête mais l'on peut y accéder via l'objet parent. La seule raison pour laquelle nous pourrions avoir besoin d'un alias est si nous récupérions récursivement une collection supplémentaire :"
+#. Tag: para
+#: query_hql.xml:147
+#, 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). Also, the associated objects are not returned "
+"directly in the query results. Instead, they may be accessed via the parent "
+"object. The only reason we might need an alias is if we are recursively join "
+"fetching a further collection:"
+msgstr ""
+"Une jointure \"fetchée\" (rapportée) n'a généralement pas besoin de se voir "
+"assigner un alias puisque les objets associés n'ont pas à être utilisés dans "
+"les autres clauses. Notez aussi que les objets associés ne sont pas "
+"retournés directement dans le résultat de la requête mais l'on peut y "
+"accéder via l'objet parent. La seule raison pour laquelle nous pourrions "
+"avoir besoin d'un alias est si nous récupérions récursivement une collection "
+"supplémentaire :"
 
-#: index.docbook:155
+#. Tag: programlisting
+#: query_hql.xml:155
+#, 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]]>"
+"<![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]]>"
 
-#: index.docbook:157
-msgid "Note that the <literal>fetch</literal> construct may not be used in queries called using <literal>iterate()</literal> (though <literal>scroll()</literal> can be used). Nor should <literal>fetch</literal> be used together with <literal>setMaxResults()</literal> or <literal>setFirstResult()</literal> as these operations are based on the result rows, which usually contain duplicates for eager collection fetching, hence, the number of rows is not what you'd expect. Nor may <literal>fetch</literal> be used together with an ad hoc <literal>with</literal> condition. It is possible to create a cartesian product by join fetching more than one collection in a query, so take care in this case. Join fetching multiple collection roles also sometimes gives unexpected results for bag mappings, so be careful about how you formulate your queries in this case. Finally, note that <literal>full join fetch</literal> and <literal>right join fetch</literal> are not meaningful."
-msgstr "Notez que la construction de <literal>fetch</literal> ne peut pas être utilisée dans les requêtes appelées par <literal>scroll()</literal> ou <literal>iterate()</literal>. <literal>fetch</literal> ne devrait pas non plus être utilisé avec <literal>setMaxResults()</literal> ou <literal>setFirstResult()</literal>. <literal>fetch</literal> ne peut pas non plus être utilisé avec une condition <literal>with</literal> ad hoc. Il est possible de créer un produit cartésien par jointure en récupérant plus d'une collection dans une requête, donc faites attention dans ce cas. Récupérer par jointure de multiples collections donne aussi parfois des résultats inattendus pour des mappings de bag, donc soyez prudent lorsque vous formulez vos requêtes dans de tels cas. Finalement, notez que <literal>full join fetch</literal> et <literal>right join fetch</literal> ne sont pas utiles en général."
+#. Tag: para
+#: query_hql.xml:157
+#, no-c-format
+msgid ""
+"Note that the <literal>fetch</literal> construct may not be used in queries "
+"called using <literal>iterate()</literal> (though <literal>scroll()</"
+"literal> can be used). Nor should <literal>fetch</literal> be used together "
+"with <literal>setMaxResults()</literal> or <literal>setFirstResult()</"
+"literal> as these operations are based on the result rows, which usually "
+"contain duplicates for eager collection fetching, hence, the number of rows "
+"is not what you'd expect. Nor may <literal>fetch</literal> be used together "
+"with an ad hoc <literal>with</literal> condition. It is possible to create a "
+"cartesian product by join fetching more than one collection in a query, so "
+"take care in this case. Join fetching multiple collection roles also "
+"sometimes gives unexpected results for bag mappings, so be careful about how "
+"you formulate your queries in this case. Finally, note that <literal>full "
+"join fetch</literal> and <literal>right join fetch</literal> are not "
+"meaningful."
+msgstr ""
+"Notez que la construction de <literal>fetch</literal> ne peut pas être "
+"utilisée dans les requêtes appelées par <literal>scroll()</literal> ou "
+"<literal>iterate()</literal>. <literal>fetch</literal> ne devrait pas non "
+"plus être utilisé avec <literal>setMaxResults()</literal> ou "
+"<literal>setFirstResult()</literal>. <literal>fetch</literal> ne peut pas "
+"non plus être utilisé avec une condition <literal>with</literal> ad hoc. Il "
+"est possible de créer un produit cartésien par jointure en récupérant plus "
+"d'une collection dans une requête, donc faites attention dans ce cas. "
+"Récupérer par jointure de multiples collections donne aussi parfois des "
+"résultats inattendus pour des mappings de bag, donc soyez prudent lorsque "
+"vous formulez vos requêtes dans de tels cas. Finalement, notez que "
+"<literal>full join fetch</literal> et <literal>right join fetch</literal> ne "
+"sont pas utiles en général."
 
-#: index.docbook:172
-msgid "If you are using property-level lazy fetching (with bytecode instrumentation), it is possible to force Hibernate to fetch the lazy properties immediately (in the first query) using <literal>fetch all properties</literal>."
-msgstr "Si vous utilisez un chargement retardé pour les propriétés (avec une instrumentation par bytecode), il est possible de forcer Hibernate à récupérer les propriétés non encore chargées immédiatement (dans la première requête) en utilisant <literal>fetch all properties</literal>."
+#. Tag: para
+#: query_hql.xml:172
+#, 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 immediately (in the first query) using <literal>fetch all "
+"properties</literal>."
+msgstr ""
+"Si vous utilisez un chargement retardé pour les propriétés (avec une "
+"instrumentation par bytecode), il est possible de forcer Hibernate à "
+"récupérer les propriétés non encore chargées immédiatement (dans la première "
+"requête) en utilisant <literal>fetch all properties</literal>."
 
-#: index.docbook:178
+#. Tag: programlisting
+#: query_hql.xml:178
+#, no-c-format
 msgid "<![CDATA[from Document fetch all properties order by name]]>"
-msgstr "<![CDATA[from Document fetch all properties order by name]]>"
+msgstr ""
 
-#: index.docbook:179
-msgid "<![CDATA[from Document doc fetch all properties where lower(doc.name) like '%cats%']]>"
-msgstr "<![CDATA[from Document doc fetch all properties where lower(doc.name) like '%cats%']]>"
+#. Tag: programlisting
+#: query_hql.xml:179
+#, no-c-format
+msgid ""
+"<![CDATA[from Document doc fetch all properties where lower(doc.name) like '%"
+"cats%']]>"
+msgstr ""
 
-#: index.docbook:184
+#. Tag: title
+#: query_hql.xml:184
+#, no-c-format
 msgid "Forms of join syntax"
 msgstr "Formes de syntaxes pour les jointures"
 
-#: index.docbook:186
-msgid "HQL supports two forms of association joining: <literal>implicit</literal> and <literal>explicit</literal>."
-msgstr "HQL supporte deux formes pour joindre les associations: <literal>implicite</literal> et <literal>explicite</literal>."
+#. Tag: para
+#: query_hql.xml:186
+#, no-c-format
+msgid ""
+"HQL supports two forms of association joining: <literal>implicit</literal> "
+"and <literal>explicit</literal>."
+msgstr ""
+"HQL supporte deux formes pour joindre les associations: <literal>implicite</"
+"literal> et <literal>explicite</literal>."
 
-#: index.docbook:190
-msgid "The queries shown in the previous section all use the <literal>explicit</literal> form where the join keyword is explicitly used in the from clause. This is the recommended form."
-msgstr "Les requêtes présentes dans la section précédente utilisent la forme <literal>explicite</literal> où le mode clé join est explicitement utilisé dans la clause from. C'est la forme recommandée."
+#. Tag: para
+#: query_hql.xml:190
+#, no-c-format
+msgid ""
+"The queries shown in the previous section all use the <literal>explicit</"
+"literal> form where the join keyword is explicitly used in the from clause. "
+"This is the recommended form."
+msgstr ""
+"Les requêtes présentes dans la section précédente utilisent la forme "
+"<literal>explicite</literal> où le mode clé join est explicitement utilisé "
+"dans la clause from. C'est la forme recommandée."
 
-#: index.docbook:195
-msgid "The <literal>implicit</literal> form does not use the join keyword. Instead, the associations are \"dereferenced\" using dot-notation. <literal>implicit</literal> joins can appear in any of the HQL clauses. <literal>implicit</literal> join result in inner joins in the resulting SQL statement."
-msgstr "La forme <literal>implicite</literal> n'utilise pas le mot clé join. A la place, les associations sont \"déréférencées\" en utilisant le notation '.'. Ces jointures peuvent apparaitre dans toutes les clauses. Les jointures <literal>implicites</literal> résultent en des inner join dans le SQL généré."
+#. Tag: para
+#: query_hql.xml:195
+#, no-c-format
+msgid ""
+"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."
+msgstr ""
+"La forme <literal>implicite</literal> n'utilise pas le mot clé join. A la "
+"place, les associations sont \"déréférencées\" en utilisant le notation '.'. "
+"Ces jointures peuvent apparaitre dans toutes les clauses. Les jointures "
+"<literal>implicites</literal> résultent en des inner join dans le SQL généré."
 
-#: index.docbook:202
+#. Tag: programlisting
+#: query_hql.xml:202
+#, 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%']]>"
+msgstr ""
 
-#: index.docbook:206
+#. Tag: title
+#: query_hql.xml:206
+#, no-c-format
 msgid "Refering to identifier property"
-msgstr "La clause select"
+msgstr "Refering to identifier property"
 
-#: index.docbook:208
-msgid "There are, generally speaking, 2 ways to refer to an entity's identifier property:"
-msgstr "La clause <literal>select</literal> sélectionne les objets et propriétés qui doivent être retournés dans le résultat de la requête. Soit :"
+#. Tag: para
+#: query_hql.xml:208
+#, no-c-format
+msgid ""
+"There are, generally speaking, 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:"
 
-#: index.docbook:213
-msgid "The special property (lowercase) <literal>id</literal> may be used to reference the identifier property of an entity <emphasis>provided that entity does not define a non-identifier property named id</emphasis>."
+#. Tag: para
+#: query_hql.xml:213
+#, 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 "
+"entity does not define a non-identifier property named id</emphasis>."
 msgstr ""
-      "<![CDATA[select mate\n"
-      "from Cat as cat\n"
-      "    inner join cat.mate as mate]]>"
+"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>."
 
-#: index.docbook:220
-msgid "If the entity defines a named identifier property, you may use that property name."
-msgstr "La requête recherchera les <literal>mate</literal>s liés aux <literal>Cat</literal>s. Vous pouvez explimer la requête d'une manière plus compacte :"
+#. Tag: para
+#: query_hql.xml:220
+#, no-c-format
+msgid ""
+"If the entity defines a named identifier property, you may use that property "
+"name."
+msgstr ""
+"If the entity defines a named identifier property, you may use that property "
+"name."
 
-#: index.docbook:226
-msgid "References to composite identifier properties follow the same naming rules. If the entity has a non-identifier property named id, the composite 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."
-msgstr "<![CDATA[select cat.mate from Cat cat]]>"
+#. Tag: para
+#: query_hql.xml:226
+#, 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 "
+"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."
+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."
 
-#: index.docbook:233
-msgid "Note: this has changed significantly starting in version 3.2.2. In previous versions, <literal>id</literal> <emphasis>always</emphasis> referred to the 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."
-msgstr "Les requêtes peuvent retourner des propriétés de n'importe quel type, même celles de type composant (component) :"
+#. Tag: para
+#: query_hql.xml:233
+#, fuzzy, no-c-format
+msgid ""
+"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."
+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."
 
-#: index.docbook:242
+#. Tag: title
+#: query_hql.xml:242
+#, no-c-format
 msgid "The select clause"
+msgstr "La clause select"
+
+#. Tag: para
+#: query_hql.xml:244
+#, no-c-format
+msgid ""
+"The <literal>select</literal> clause picks which objects and properties to "
+"return in the query result set. Consider:"
 msgstr ""
-      "<![CDATA[select cat.name from DomesticCat cat\n"
-      "where cat.name like 'fri%']]>"
+"La clause <literal>select</literal> sélectionne les objets et propriétés qui "
+"doivent être retournés dans le résultat de la requête. Soit :"
 
-#: index.docbook:244
-msgid "The <literal>select</literal> clause picks which objects and properties to return in the query result set. Consider:"
-msgstr "<![CDATA[select cust.name.firstName from Customer as cust]]>"
+#. Tag: programlisting
+#: query_hql.xml:249
+#, no-c-format
+msgid ""
+"<![CDATA[select mate\n"
+"from Cat as cat\n"
+"    inner join cat.mate as mate]]>"
+msgstr ""
 
-#: index.docbook:249
+#. Tag: para
+#: query_hql.xml:251
+#, no-c-format
 msgid ""
-      "<![CDATA[select mate\n"
-      "from Cat as cat\n"
-      "    inner join cat.mate as mate]]>"
-msgstr "Les requêtes peuvent retourner plusieurs objets et/ou propriétés sous la forme d'un tableau du type <literal>Object[]</literal>,"
-
-#: index.docbook:251
-msgid "The query will select <literal>mate</literal>s of other <literal>Cat</literal>s. Actually, you may express this query more compactly as:"
+"The query will select <literal>mate</literal>s of other <literal>Cat</"
+"literal>s. Actually, you may express this query more compactly as:"
 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]]>"
+"La requête recherchera les <literal>mate</literal>s liés aux <literal>Cat</"
+"literal>s. Vous pouvez explimer la requête d'une manière plus compacte :"
 
-#: index.docbook:256
+#. Tag: programlisting
+#: query_hql.xml:256
+#, no-c-format
 msgid "<![CDATA[select cat.mate from Cat cat]]>"
-msgstr "ou sous la forme d'une <literal>List</literal>,"
+msgstr ""
 
-#: index.docbook:258
-msgid "Queries may return properties of any value type including properties of component type:"
+#. Tag: para
+#: query_hql.xml:258
+#, no-c-format
+msgid ""
+"Queries may return properties of any value type including properties of "
+"component type:"
 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]]>"
+"Les requêtes peuvent retourner des propriétés de n'importe quel type, même "
+"celles de type composant (component) :"
 
-#: index.docbook:262
+#. Tag: programlisting
+#: query_hql.xml:262
+#, no-c-format
 msgid ""
-      "<![CDATA[select cat.name from DomesticCat cat\n"
-      "where cat.name like 'fri%']]>"
-msgstr "ou sous la forme d'un objet Java typé,"
+"<![CDATA[select cat.name from DomesticCat cat\n"
+"where cat.name like 'fri%']]>"
+msgstr ""
 
-#: index.docbook:264
+#. Tag: programlisting
+#: query_hql.xml:264
+#, no-c-format
 msgid "<![CDATA[select cust.name.firstName from Customer as cust]]>"
 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]]>"
 
-#: index.docbook:266
-msgid "Queries may return multiple objects and/or properties as an array of type <literal>Object[]</literal>,"
-msgstr "à condition que la classe <literal>Family</literal> possède le constructeur approprié."
+#. Tag: para
+#: query_hql.xml:266
+#, no-c-format
+msgid ""
+"Queries may return multiple objects and/or properties as an array of type "
+"<literal>Object[]</literal>,"
+msgstr ""
+"Les requêtes peuvent retourner plusieurs objets et/ou propriétés sous la "
+"forme d'un tableau du type <literal>Object[]</literal>,"
 
-#: index.docbook:271
+#. Tag: programlisting
+#: query_hql.xml:271
+#, 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 "Vous pouvez assigner des alias aux expressions sélectionnées en utilisant <literal>as</literal> :"
+"<![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 ""
 
-#: index.docbook:273
+#. Tag: para
+#: query_hql.xml:273
+#, no-c-format
 msgid "or as a <literal>List</literal>,"
-msgstr ""
-      "<![CDATA[select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n\n"
-      "from Cat cat]]>"
+msgstr "ou sous la forme d'une <literal>List</literal>,"
 
-#: index.docbook:277
+#. Tag: programlisting
+#: query_hql.xml:277
+#, 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 "C'est surtout utile lorsque c'est utilisé avec <literal>select new map</literal> :"
+"<![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 ""
 
-#: index.docbook:279
+#. Tag: para
+#: query_hql.xml:279
+#, no-c-format
 msgid "or as an actual typesafe Java object,"
+msgstr "ou sous la forme d'un objet Java typé,"
+
+#. Tag: programlisting
+#: query_hql.xml:283
+#, 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 map( max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n )\n"
-      "from Cat cat]]>"
 
-#: index.docbook:283
+#. Tag: para
+#: query_hql.xml:285
+#, 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 "Cette requête retourne une <literal>Map</literal> à partir des alias vers les valeurs sélectionnées."
+"assuming that the class <literal>Family</literal> has an appropriate "
+"constructor."
+msgstr ""
+"à condition que la classe <literal>Family</literal> possède le constructeur "
+"approprié."
 
-#: index.docbook:285
-msgid "assuming that the class <literal>Family</literal> has an appropriate constructor."
-msgstr "Fonctions d'aggrégation"
+#. Tag: para
+#: query_hql.xml:289
+#, no-c-format
+msgid ""
+"You may assign aliases to selected expressions using <literal>as</literal>:"
+msgstr ""
+"Vous pouvez assigner des alias aux expressions sélectionnées en utilisant "
+"<literal>as</literal> :"
 
-#: index.docbook:289
-msgid "You may assign aliases to selected expressions using <literal>as</literal>:"
-msgstr "Les requêtes HQL peuvent aussi retourner le résultat de fonctions d'aggrégation sur les propriétés :"
+#. Tag: programlisting
+#: query_hql.xml:293
+#, no-c-format
+msgid ""
+"<![CDATA[select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as "
+"n\n"
+"from Cat cat]]>"
+msgstr ""
 
-#: index.docbook:293
+#. Tag: para
+#: query_hql.xml:295
+#, no-c-format
 msgid ""
-      "<![CDATA[select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n\n"
-      "from Cat cat]]>"
+"This is most useful when used together with <literal>select new map</"
+"literal>:"
 msgstr ""
-      "<![CDATA[select avg(cat.weight), sum(cat.weight), max(cat.weight), count(cat)\n"
-      "from Cat cat]]>"
+"C'est surtout utile lorsque c'est utilisé avec <literal>select new map</"
+"literal> :"
 
-#: index.docbook:295
-msgid "This is most useful when used together with <literal>select new map</literal>:"
-msgstr "Les fonctions supportées sont"
+#. Tag: programlisting
+#: query_hql.xml:299
+#, no-c-format
+msgid ""
+"<![CDATA[select new map( max(bodyWeight) as max, min(bodyWeight) as min, "
+"count(*) as n )\n"
+"from Cat cat]]>"
+msgstr ""
 
-#: index.docbook:299
+#. Tag: para
+#: query_hql.xml:301
+#, no-c-format
 msgid ""
-      "<![CDATA[select new map( max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n )\n"
-      "from Cat cat]]>"
-msgstr "avg(...), sum(...), min(...), max(...)"
+"This query returns a <literal>Map</literal> from aliases to selected values."
+msgstr ""
+"Cette requête retourne une <literal>Map</literal> à partir des alias vers "
+"les valeurs sélectionnées."
 
-#: index.docbook:301
-msgid "This query returns a <literal>Map</literal> from aliases to selected values."
-msgstr "count(*)"
-
-#: index.docbook:308
+#. Tag: title
+#: query_hql.xml:308
+#, no-c-format
 msgid "Aggregate functions"
-msgstr "count(...), count(distinct ...), count(all...)"
+msgstr "Fonctions d'aggrégation"
 
-#: index.docbook:310
-msgid "HQL queries may even return the results of aggregate functions on properties:"
-msgstr "Vous pouvez utiliser des opérateurs arithmétiques, la concaténation, et des fonctions SQL reconnues dans la clause select :"
+#. Tag: para
+#: query_hql.xml:310
+#, no-c-format
+msgid ""
+"HQL queries may even return the results of aggregate functions on properties:"
+msgstr ""
+"Les requêtes HQL peuvent aussi retourner le résultat de fonctions "
+"d'aggrégation sur les propriétés :"
 
-#: index.docbook:314
+#. Tag: programlisting
+#: query_hql.xml:314
+#, no-c-format
 msgid ""
-      "<![CDATA[select avg(cat.weight), sum(cat.weight), max(cat.weight), count(cat)\n"
-      "from Cat cat]]>"
+"<![CDATA[select avg(cat.weight), sum(cat.weight), max(cat.weight), count"
+"(cat)\n"
+"from Cat cat]]>"
 msgstr ""
-      "<![CDATA[select cat.weight + sum(kitten.weight)\n"
-      "from Cat cat\n"
-      "    join cat.kittens kitten\n"
-      "group by cat.id, cat.weight]]>"
 
-#: index.docbook:325
+#. Tag: para
+#: query_hql.xml:325
+#, no-c-format
 msgid "The supported aggregate functions are"
-msgstr "<![CDATA[select firstName||' '||initial||' '||upper(lastName) from Person]]>"
+msgstr "Les fonctions supportées sont"
 
-#: index.docbook:332
+#. Tag: literal
+#: query_hql.xml:332
+#, no-c-format
 msgid "avg(...), sum(...), min(...), max(...)"
-msgstr "Les mots clé <literal>distinct</literal> et <literal>all</literal> peuvent être utilisés et ont la même signification qu'en SQL."
+msgstr "avg(...), sum(...), min(...), max(...)"
 
-#: index.docbook:337
+#. Tag: literal
+#: query_hql.xml:337
+#, no-c-format
 msgid "count(*)"
-msgstr ""
-      "<![CDATA[select distinct cat.name from Cat cat\n"
-      "\n"
-      "select count(distinct cat.name), count(cat) from Cat cat]]>"
+msgstr "count(*)"
 
-#: index.docbook:342
+#. Tag: literal
+#: query_hql.xml:342
+#, no-c-format
 msgid "count(...), count(distinct ...), count(all...)"
-msgstr "Requêtes polymorphiques"
+msgstr "count(...), count(distinct ...), count(all...)"
 
-#: index.docbook:347
-msgid "You may use arithmetic operators, concatenation, and recognized SQL functions in the select clause:"
-msgstr "Une requête comme:"
+#. Tag: para
+#: query_hql.xml:347
+#, no-c-format
+msgid ""
+"You may use arithmetic operators, concatenation, and recognized SQL "
+"functions in the select clause:"
+msgstr ""
+"Vous pouvez utiliser des opérateurs arithmétiques, la concaténation, et des "
+"fonctions SQL reconnues dans la clause select :"
 
-#: index.docbook:352
+#. Tag: programlisting
+#: query_hql.xml:352
+#, 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[from Cat as cat]]>"
+"<![CDATA[select cat.weight + sum(kitten.weight)\n"
+"from Cat cat\n"
+"    join cat.kittens kitten\n"
+"group by cat.id, cat.weight]]>"
+msgstr ""
 
-#: index.docbook:354
-msgid "<![CDATA[select firstName||' '||initial||' '||upper(lastName) from Person]]>"
-msgstr "retourne non seuleument les instances de <literal>Cat</literal>, mais aussi celles des sous classes comme <literal>DomesticCat</literal>. Les requêtes Hibernate peuvent nommer n'importe quelle classe ou interface Java dans la clause <literal>from</literal>. La requête retournera les instances de toutes les classes persistantes qui étendent cette classe ou implémente cette interface. La requête suivante retournera tous les objets persistants :"
+#. Tag: programlisting
+#: query_hql.xml:354
+#, no-c-format
+msgid ""
+"<![CDATA[select firstName||' '||initial||' '||upper(lastName) from Person]]>"
+msgstr ""
 
-#: index.docbook:356
-msgid "The <literal>distinct</literal> and <literal>all</literal> keywords may be used and have the same semantics as in SQL."
-msgstr "<![CDATA[from java.lang.Object o]]>"
+#. Tag: para
+#: query_hql.xml:356
+#, no-c-format
+msgid ""
+"The <literal>distinct</literal> and <literal>all</literal> keywords may be "
+"used and have the same semantics as in SQL."
+msgstr ""
+"Les mots clé <literal>distinct</literal> et <literal>all</literal> peuvent "
+"être utilisés et ont la même signification qu'en SQL."
 
-#: index.docbook:361
+#. Tag: programlisting
+#: query_hql.xml:361
+#, 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 "L'interface <literal>Named</literal> peut être implémentée par plusieurs classes persistantes :"
+"<![CDATA[select distinct cat.name from Cat cat\n"
+"\n"
+"select count(distinct cat.name), count(cat) from Cat cat]]>"
+msgstr ""
 
-#: index.docbook:366
+#. Tag: title
+#: query_hql.xml:366
+#, no-c-format
 msgid "Polymorphic queries"
-msgstr "<![CDATA[from Named n, Named m where n.name = m.name]]>"
+msgstr "Requêtes polymorphiques"
 
-#: index.docbook:368
+#. Tag: para
+#: query_hql.xml:368
+#, no-c-format
 msgid "A query like:"
-msgstr "Notez que ces deux dernières requêtes nécessitent plus d'un <literal>SELECT</literal> SQL. Ce qui signifie que la clause <literal>order by</literal> ne trie pas correctement la totalité des résultats (cela signifie aussi que vous ne pouvez exécuter ces requêtes en appelant <literal>Query.scroll()</literal>)."
+msgstr "Une requête comme:"
 
-#: index.docbook:374
-msgid "returns instances not only of <literal>Cat</literal>, but also of subclasses like <literal>DomesticCat</literal>. Hibernate queries may name <emphasis>any</emphasis> Java class or interface in the <literal>from</literal> clause. The query will return instances of all persistent classes that extend that class or implement the interface. The following query would return all persistent objects:"
-msgstr "La clause <literal>where</literal> vous permet de réduire la liste des instances retournées. Si aucun alias n'existe, vous pouvez vous référer aux propriétés par leur nom :"
+#. Tag: para
+#: query_hql.xml:374
+#, no-c-format
+msgid ""
+"returns instances not only of <literal>Cat</literal>, but also of subclasses "
+"like <literal>DomesticCat</literal>. Hibernate queries may name "
+"<emphasis>any</emphasis> Java class or interface in the <literal>from</"
+"literal> clause. The query will return instances of all persistent classes "
+"that extend that class or implement the interface. The following query would "
+"return all persistent objects:"
+msgstr ""
+"retourne non seuleument les instances de <literal>Cat</literal>, mais aussi "
+"celles des sous classes comme <literal>DomesticCat</literal>. Les requêtes "
+"Hibernate peuvent nommer n'importe quelle classe ou interface Java dans la "
+"clause <literal>from</literal>. La requête retournera les instances de "
+"toutes les classes persistantes qui étendent cette classe ou implémente "
+"cette interface. La requête suivante retournera tous les objets persistants :"
 
-#: index.docbook:382
+#. Tag: programlisting
+#: query_hql.xml:382
+#, no-c-format
 msgid "<![CDATA[from java.lang.Object o]]>"
-msgstr "<![CDATA[from Cat where name='Fritz']]>"
+msgstr ""
 
-#: index.docbook:384
-msgid "The interface <literal>Named</literal> might be implemented by various persistent classes:"
-msgstr "S'il y a un alias, utilisez un nom de propriété qualifié :"
+#. Tag: para
+#: query_hql.xml:384
+#, no-c-format
+msgid ""
+"The interface <literal>Named</literal> might be implemented by various "
+"persistent classes:"
+msgstr ""
+"L'interface <literal>Named</literal> peut être implémentée par plusieurs "
+"classes persistantes :"
 
-#: index.docbook:389
+#. Tag: programlisting
+#: query_hql.xml:389
+#, no-c-format
 msgid "<![CDATA[from Named n, Named m where n.name = m.name]]>"
-msgstr "<![CDATA[from Cat as cat where cat.name='Fritz']]>"
+msgstr ""
 
-#: index.docbook:391
-msgid "Note that these last two queries will require more than one SQL <literal>SELECT</literal>. This means that the <literal>order by</literal> clause does not correctly order the whole result set. (It also means you can't call these queries using <literal>Query.scroll()</literal>.)"
-msgstr "retourne les instances de <literal>Cat</literal> dont name est égale à 'Fritz'."
+#. Tag: para
+#: query_hql.xml:391
+#, no-c-format
+msgid ""
+"Note that these last two queries will require more than one SQL "
+"<literal>SELECT</literal>. This means that the <literal>order by</literal> "
+"clause does not correctly order the whole result set. (It also means you "
+"can't call these queries using <literal>Query.scroll()</literal>.)"
+msgstr ""
+"Notez que ces deux dernières requêtes nécessitent plus d'un <literal>SELECT</"
+"literal> SQL. Ce qui signifie que la clause <literal>order by</literal> ne "
+"trie pas correctement la totalité des résultats (cela signifie aussi que "
+"vous ne pouvez exécuter ces requêtes en appelant <literal>Query.scroll()</"
+"literal>)."
 
-#: index.docbook:400
+#. Tag: title
+#: query_hql.xml:400
+#, no-c-format
 msgid "The where clause"
+msgstr "La clause where"
+
+#. Tag: para
+#: query_hql.xml:402
+#, no-c-format
+msgid ""
+"The <literal>where</literal> clause allows you to narrow the list of "
+"instances returned. If no alias exists, you may refer to properties by name:"
 msgstr ""
-      "<![CDATA[select foo\n"
-      "from Foo foo, Bar bar\n"
-      "where foo.startDate = bar.date]]>"
+"La clause <literal>where</literal> vous permet de réduire la liste des "
+"instances retournées. Si aucun alias n'existe, vous pouvez vous référer aux "
+"propriétés par leur nom :"
 
-#: index.docbook:402
-msgid "The <literal>where</literal> clause allows you to narrow the list of instances returned. If no alias exists, you may refer to properties by name:"
-msgstr "retournera les instances de <literal>Foo</literal> pour lesquelles il existe une instance de <literal>bar</literal> avec la propriété <literal>date</literal> est égale à la propriété <literal>startDate</literal> de <literal>Foo</literal>. Les expressions utilisant la navigation rendent la clause <literal>where</literal> extrêmement puissante. Soit :"
-
-#: index.docbook:407
+#. Tag: programlisting
+#: query_hql.xml:407
+#, no-c-format
 msgid "<![CDATA[from Cat where name='Fritz']]>"
-msgstr "<![CDATA[from Cat cat where cat.mate.name is not null]]>"
+msgstr ""
 
-#: index.docbook:409
+#. Tag: para
+#: query_hql.xml:409
+#, no-c-format
 msgid "If there is an alias, use a qualified property name:"
-msgstr "Cette requête se traduit en SQL par une jointure interne à une table. Si vous souhaitez écrire quelque chose comme :"
+msgstr "S'il y a un alias, utilisez un nom de propriété qualifié :"
 
-#: index.docbook:413
+#. Tag: programlisting
+#: query_hql.xml:413
+#, no-c-format
 msgid "<![CDATA[from Cat as cat where cat.name='Fritz']]>"
 msgstr ""
-      "<![CDATA[from Foo foo\n"
-      "where foo.bar.baz.customer.address.city is not null]]>"
 
-#: index.docbook:415
+#. Tag: para
+#: query_hql.xml:415
+#, no-c-format
 msgid "returns instances of <literal>Cat</literal> named 'Fritz'."
-msgstr "vous finiriez avec une requête qui nécessiterait quatre jointures en SQL."
+msgstr ""
+"retourne les instances de <literal>Cat</literal> dont name est égale à "
+"'Fritz'."
 
-#: index.docbook:419
+#. Tag: programlisting
+#: query_hql.xml:419
+#, no-c-format
 msgid ""
-      "<![CDATA[select foo\n"
-      "from Foo foo, Bar bar\n"
-      "where foo.startDate = bar.date]]>"
-msgstr "L'opérateur <literal>=</literal> peut être utilisé pour comparer aussi bien des propriétés que des instances :"
+"<![CDATA[select foo\n"
+"from Foo foo, Bar bar\n"
+"where foo.startDate = bar.date]]>"
+msgstr ""
 
-#: index.docbook:421
-msgid "will return all instances of <literal>Foo</literal> for which there exists an instance of <literal>bar</literal> with a <literal>date</literal> 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:"
-msgstr "<![CDATA[from Cat cat, Cat rival where cat.mate = rival.mate]]>"
+#. Tag: para
+#: query_hql.xml:421
+#, no-c-format
+msgid ""
+"will return all instances of <literal>Foo</literal> for which there exists "
+"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:"
+msgstr ""
+"retournera les instances de <literal>Foo</literal> pour lesquelles il existe "
+"une instance de <literal>bar</literal> avec la propriété <literal>date</"
+"literal> est égale à la propriété <literal>startDate</literal> de "
+"<literal>Foo</literal>. Les expressions utilisant la navigation rendent la "
+"clause <literal>where</literal> extrêmement puissante. Soit :"
 
-#: index.docbook:430
+#. Tag: programlisting
+#: query_hql.xml:430
+#, no-c-format
 msgid "<![CDATA[from Cat cat where cat.mate.name is not null]]>"
 msgstr ""
-      "<![CDATA[select cat, mate\n"
-      "from Cat cat, Cat mate\n"
-      "where cat.mate = mate]]>"
 
-#: index.docbook:432
-msgid "This query translates to an SQL query with a table (inner) join. If you were to write something like"
-msgstr "La propriété spéciale (en minuscule) <literal>id</literal> peut être utilisée pour faire référence à l'identifiant d'un objet (vous pouvez aussi utiliser le nom de cette propriété)."
+#. Tag: para
+#: query_hql.xml:432
+#, no-c-format
+msgid ""
+"This query translates to an SQL query with a table (inner) join. If you were "
+"to write something like"
+msgstr ""
+"Cette requête se traduit en SQL par une jointure interne à une table. Si "
+"vous souhaitez écrire quelque chose comme :"
 
-#: index.docbook:437
+#. Tag: programlisting
+#: query_hql.xml:437
+#, no-c-format
 msgid ""
-      "<![CDATA[from Foo foo\n"
-      "where foo.bar.baz.customer.address.city is not null]]>"
+"<![CDATA[from Foo foo\n"
+"where foo.bar.baz.customer.address.city is not null]]>"
 msgstr ""
-      "<![CDATA[from Cat as cat where cat.id = 123\n"
-      "\n"
-      "from Cat as cat where cat.mate.id = 69]]>"
 
-#: index.docbook:439
-msgid "you would end up with a query that would require four table joins in SQL."
-msgstr "La seconde requête est particulièrement efficace. Aucune jointure n'est nécessaire !"
+#. Tag: para
+#: query_hql.xml:439
+#, no-c-format
+msgid ""
+"you would end up with a query that would require four table joins in SQL."
+msgstr ""
+"vous finiriez avec une requête qui nécessiterait quatre jointures en SQL."
 
-#: index.docbook:443
-msgid "The <literal>=</literal> operator may be used to compare not only properties, but also instances:"
-msgstr "Les propriétés d'un identifiant composé peuvent aussi être utilisées. Supposez que <literal>Person</literal> ait un identifiant composé de <literal>country</literal> et <literal>medicareNumber</literal>."
+#. Tag: para
+#: query_hql.xml:443
+#, no-c-format
+msgid ""
+"The <literal>=</literal> operator may be used to compare not only "
+"properties, but also instances:"
+msgstr ""
+"L'opérateur <literal>=</literal> peut être utilisé pour comparer aussi bien "
+"des propriétés que des instances :"
 
-#: index.docbook:448
+#. Tag: programlisting
+#: query_hql.xml:448
+#, no-c-format
 msgid "<![CDATA[from Cat cat, Cat rival where cat.mate = rival.mate]]>"
 msgstr ""
-      "<![CDATA[from bank.Person person\n"
-      "where person.id.country = 'AU'\n"
-      "    and person.id.medicareNumber = 123456]]>"
 
-#: index.docbook:450
+#. Tag: programlisting
+#: query_hql.xml:450
+#, no-c-format
 msgid ""
-      "<![CDATA[select cat, mate\n"
-      "from Cat cat, Cat mate\n"
-      "where cat.mate = mate]]>"
+"<![CDATA[select cat, mate\n"
+"from Cat cat, Cat mate\n"
+"where cat.mate = mate]]>"
 msgstr ""
-      "<![CDATA[from bank.Account account\n"
-      "where account.owner.id.country = 'AU'\n"
-      "    and account.owner.id.medicareNumber = 123456]]>"
 
-#: index.docbook:452
-msgid "The special property (lowercase) <literal>id</literal> may be used to reference the unique identifier of an object. See <xref linkend=\"queryhql-identifier-property\"/> for more information."
-msgstr "Une fois de plus, la seconde requête ne nécessite pas de jointure."
+#. Tag: para
+#: query_hql.xml:452
+#, no-c-format
+msgid ""
+"The special property (lowercase) <literal>id</literal> may be used to "
+"reference the unique identifier of an object. See <xref linkend=\"queryhql-"
+"identifier-property\"/> for more information."
+msgstr ""
+"La propriété spéciale (en minuscule) <literal>id</literal> peut être "
+"utilisée pour faire référence à l'identifiant d'un objet (vous pouvez aussi "
+"utiliser le nom de cette propriété)."
 
-#: index.docbook:458
+#. Tag: programlisting
+#: query_hql.xml:458
+#, 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 "De même, la propriété spéciale <literal>class</literal> interroge la valeur discriminante d'une instance dans le cas d'une persistance polymorphique. Le nom d'une classe Java incorporée dans la clause where sera traduite par sa valeur discriminante."
+"<![CDATA[from Cat as cat where cat.id = 123\n"
+"\n"
+"from Cat as cat where cat.mate.id = 69]]>"
+msgstr ""
 
-#: index.docbook:460
+#. Tag: para
+#: query_hql.xml:460
+#, no-c-format
 msgid "The second query is efficient. No table join is required!"
-msgstr "<![CDATA[from Cat cat where cat.class = DomesticCat]]>"
+msgstr ""
+"La seconde requête est particulièrement efficace. Aucune jointure n'est "
+"nécessaire !"
 
-#: index.docbook:464
-msgid "Properties of composite identifiers may also be used. Suppose <literal>Person</literal> has a composite identifier consisting of <literal>country</literal> and <literal>medicareNumber</literal>. Again, see <xref linkend=\"queryhql-identifier-property\"/> for more information regarding referencing identifier properties."
-msgstr "Vous pouvez aussi spécifier les propriétés des composants ou types utilisateurs composés (components, composite user types etc). N'essayez jamais d'utiliser un expression de navigation qui se terminerait par une propriété de type composant (qui est différent d'une propriété d'un composant). Par exemple, si <literal>store.owner</literal> est une entité avec un composant <literal>address</literal>"
+#. Tag: para
+#: query_hql.xml:464
+#, no-c-format
+msgid ""
+"Properties of composite identifiers may also be used. Suppose "
+"<literal>Person</literal> has a composite identifier consisting of "
+"<literal>country</literal> and <literal>medicareNumber</literal>. Again, see "
+"<xref linkend=\"queryhql-identifier-property\"/> for more information "
+"regarding referencing identifier properties."
+msgstr ""
+"Les propriétés d'un identifiant composé peuvent aussi être utilisées. "
+"Supposez que <literal>Person</literal> ait un identifiant composé de "
+"<literal>country</literal> et <literal>medicareNumber</literal>."
 
-#: index.docbook:471
+#. Tag: programlisting
+#: query_hql.xml:471
+#, no-c-format
 msgid ""
-      "<![CDATA[from bank.Person person\n"
-      "where person.id.country = 'AU'\n"
-      "    and person.id.medicareNumber = 123456]]>"
+"<![CDATA[from bank.Person person\n"
+"where person.id.country = 'AU'\n"
+"    and person.id.medicareNumber = 123456]]>"
 msgstr ""
-      "<![CDATA[store.owner.address.city    // okay\n"
-      "store.owner.address         // error!]]>"
 
-#: index.docbook:473
+#. Tag: programlisting
+#: query_hql.xml:473
+#, no-c-format
 msgid ""
-      "<![CDATA[from bank.Account account\n"
-      "where account.owner.id.country = 'AU'\n"
-      "    and account.owner.id.medicareNumber = 123456]]>"
-msgstr "Un type \"any\" possède les propriétés spéciales <literal>id</literal> et <literal>class</literal>, qui nous permettent d'exprimer une jointure de la manière suivante (où <literal>AuditLog.item</literal> est une propriété mappée avec <literal>&lt;any&gt;</literal>)."
+"<![CDATA[from bank.Account account\n"
+"where account.owner.id.country = 'AU'\n"
+"    and account.owner.id.medicareNumber = 123456]]>"
+msgstr ""
 
-#: index.docbook:475
+#. Tag: para
+#: query_hql.xml:475
+#, no-c-format
 msgid "Once again, the second query requires no table join."
+msgstr "Une fois de plus, la seconde requête ne nécessite pas de jointure."
+
+#. Tag: para
+#: query_hql.xml:479
+#, no-c-format
+msgid ""
+"Likewise, 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 ""
-      "<![CDATA[from AuditLog log, Payment payment\n"
-      "where log.item.class = 'Payment' and log.item.id = payment.id]]>"
+"De même, la propriété spéciale <literal>class</literal> interroge la valeur "
+"discriminante d'une instance dans le cas d'une persistance polymorphique. Le "
+"nom d'une classe Java incorporée dans la clause where sera traduite par sa "
+"valeur discriminante."
 
-#: index.docbook:479
-msgid "Likewise, the special property <literal>class</literal> accesses the discriminator value of an instance in the case of polymorphic persistence. A Java class name embedded in the where clause will be translated to its discriminator value."
-msgstr "Dans la requête précédente, notez que <literal>log.item.class</literal> et <literal>payment.class</literal> feraient référence à des valeurs de colonnes de la base de données complètement différentes."
-
-#: index.docbook:485
+#. Tag: programlisting
+#: query_hql.xml:485
+#, no-c-format
 msgid "<![CDATA[from Cat cat where cat.class = DomesticCat]]>"
-msgstr "Expressions"
+msgstr ""
 
-#: index.docbook:487
-msgid "You may also use components or composite user types, or properties of said component types. See <xref linkend=\"queryhql-coomponents\"/> for more details."
-msgstr "Les expressions permises dans la clause <literal>where</literal> incluent la plupart des choses que vous pouvez utiliser en SQL :"
+#. Tag: para
+#: query_hql.xml:487
+#, no-c-format
+msgid ""
+"You may also use components or composite user types, or properties of said "
+"component types. See <xref linkend=\"queryhql-components\"/> for more "
+"details."
+msgstr ""
+"Vous pouvez aussi spécifier les propriétés des composants ou types "
+"utilisateurs composés (components, composite user types etc). N'essayez "
+"jamais d'utiliser un expression de navigation qui se terminerait par une "
+"propriété de type composant (qui est différent d'une propriété d'un "
+"composant). Par exemple, si <literal>store.owner</literal> est une entité "
+"avec un composant <literal>address</literal>"
 
-#: index.docbook:492
-msgid "An \"any\" type has the special properties <literal>id</literal> and <literal>class</literal>, allowing us to express a join in the following way (where <literal>AuditLog.item</literal> is a property mapped with <literal>&lt;any&gt;</literal>)."
-msgstr "opérateurs mathématiques <literal>+, -, *, /</literal>"
+#. Tag: para
+#: query_hql.xml:492
+#, no-c-format
+msgid ""
+"An \"any\" type has the special properties <literal>id</literal> and "
+"<literal>class</literal>, allowing us to express a join in the following way "
+"(where <literal>AuditLog.item</literal> is a property mapped with "
+"<literal>&lt;any&gt;</literal>)."
+msgstr ""
+"Un type \"any\" possède les propriétés spéciales <literal>id</literal> et "
+"<literal>class</literal>, qui nous permettent d'exprimer une jointure de la "
+"manière suivante (où <literal>AuditLog.item</literal> est une propriété "
+"mappée avec <literal>&lt;any&gt;</literal>)."
 
-#: index.docbook:498
+#. Tag: programlisting
+#: query_hql.xml:498
+#, no-c-format
 msgid ""
-      "<![CDATA[from AuditLog log, Payment payment\n"
-      "where log.item.class = 'Payment' and log.item.id = payment.id]]>"
-msgstr "opérateur de comparaison binaire <literal>=, &gt;=, &lt;=, &lt;&gt;, !=, like</literal>"
+"<![CDATA[from AuditLog log, Payment payment\n"
+"where log.item.class = 'Payment' and log.item.id = payment.id]]>"
+msgstr ""
 
-#: index.docbook:500
-msgid "Notice that <literal>log.item.class</literal> and <literal>payment.class</literal> would refer to the values of completely different database columns in the above query."
-msgstr "opérateurs logiques <literal>and, or, not</literal>"
+#. Tag: para
+#: query_hql.xml:500
+#, no-c-format
+msgid ""
+"Notice that <literal>log.item.class</literal> and <literal>payment.class</"
+"literal> would refer to the values of completely different database columns "
+"in the above query."
+msgstr ""
+"Dans la requête précédente, notez que <literal>log.item.class</literal> et "
+"<literal>payment.class</literal> feraient référence à des valeurs de "
+"colonnes de la base de données complètement différentes."
 
-#: index.docbook:508
+#. Tag: title
+#: query_hql.xml:508
+#, no-c-format
 msgid "Expressions"
-msgstr "Parenthèses <literal>( )</literal>, indiquant un regroupement"
+msgstr "Expressions"
 
-#: index.docbook:510
-msgid "Expressions allowed in the <literal>where</literal> clause include most of the kind of things you could write in SQL:"
-msgstr "<literal>in</literal>, <literal>not in</literal>, <literal>between</literal>, <literal>is null</literal>, <literal>is not null</literal>, <literal>is empty</literal>, <literal>is not empty</literal>, <literal>member of</literal> and <literal>not member of</literal>"
+#. Tag: para
+#: query_hql.xml:510
+#, no-c-format
+msgid ""
+"Expressions allowed in the <literal>where</literal> clause include most of "
+"the kind of things you could write in SQL:"
+msgstr ""
+"Les expressions permises dans la clause <literal>where</literal> incluent la "
+"plupart des choses que vous pouvez utiliser en SQL :"
 
-#: index.docbook:517
+#. Tag: para
+#: query_hql.xml:517
+#, no-c-format
 msgid "mathematical operators <literal>+, -, *, /</literal>"
-msgstr "\"Simple\" case, <literal>case ... when ... then ... else ... end</literal>, and \"searched\" case, <literal>case when ... then ... else ... end</literal>"
+msgstr "opérateurs mathématiques <literal>+, -, *, /</literal>"
 
-#: index.docbook:522
-msgid "binary comparison operators <literal>=, &gt;=, &lt;=, &lt;&gt;, !=, like</literal>"
-msgstr "concatenation de chaîne de caractères <literal>...||...</literal> ou <literal>concat(...,...)</literal>"
+#. Tag: para
+#: query_hql.xml:522
+#, no-c-format
+msgid ""
+"binary comparison operators <literal>=, &gt;=, &lt;=, &lt;&gt;, !=, like</"
+"literal>"
+msgstr ""
+"opérateur de comparaison binaire <literal>=, &gt;=, &lt;=, &lt;&gt;, !=, "
+"like</literal>"
 
-#: index.docbook:527
+#. Tag: para
+#: query_hql.xml:527
+#, no-c-format
 msgid "logical operations <literal>and, or, not</literal>"
-msgstr "<literal>current_date()</literal>, <literal>current_time()</literal>, <literal>current_timestamp()</literal>"
+msgstr "opérateurs logiques <literal>and, or, not</literal>"
 
-#: index.docbook:532
+#. Tag: para
+#: query_hql.xml:532
+#, no-c-format
 msgid "Parentheses <literal>( )</literal>, indicating grouping"
-msgstr "<literal>second(...)</literal>, <literal>minute(...)</literal>, <literal>hour(...)</literal>, <literal>day(...)</literal>, <literal>month(...)</literal>, <literal>year(...)</literal>,"
+msgstr "Parenthèses <literal>( )</literal>, indiquant un regroupement"
 
-#: index.docbook:537
-msgid "<literal>in</literal>, <literal>not in</literal>, <literal>between</literal>, <literal>is null</literal>, <literal>is not null</literal>, <literal>is empty</literal>, <literal>is not empty</literal>, <literal>member of</literal> and <literal>not member of</literal>"
-msgstr "N'importe quel fonction ou opérateur défini par EJB-QL 3.0 : <literal>substring(), trim(), lower(), upper(), length(), locate(), abs(), sqrt(), bit_length(), mod()</literal>"
+#. Tag: para
+#: query_hql.xml:537
+#, no-c-format
+msgid ""
+"<literal>in</literal>, <literal>not in</literal>, <literal>between</"
+"literal>, <literal>is null</literal>, <literal>is not null</literal>, "
+"<literal>is empty</literal>, <literal>is not empty</literal>, "
+"<literal>member of</literal> and <literal>not member of</literal>"
+msgstr ""
+"<literal>in</literal>, <literal>not in</literal>, <literal>between</"
+"literal>, <literal>is null</literal>, <literal>is not null</literal>, "
+"<literal>is empty</literal>, <literal>is not empty</literal>, "
+"<literal>member of</literal> and <literal>not member of</literal>"
 
-#: index.docbook:550
-msgid "\"Simple\" case, <literal>case ... when ... then ... else ... end</literal>, and \"searched\" case, <literal>case when ... then ... else ... end</literal>"
-msgstr "<literal>coalesce()</literal> et <literal>nullif()</literal>"
+#. Tag: para
+#: query_hql.xml:550
+#, no-c-format
+msgid ""
+"\"Simple\" case, <literal>case ... when ... then ... else ... end</literal>, "
+"and \"searched\" case, <literal>case when ... then ... else ... end</literal>"
+msgstr ""
+"\"Simple\" case, <literal>case ... when ... then ... else ... end</literal>, "
+"and \"searched\" case, <literal>case when ... then ... else ... end</literal>"
 
-#: index.docbook:556
-msgid "string concatenation <literal>...||...</literal> or <literal>concat(...,...)</literal>"
-msgstr "<literal>str()</literal> pour convertir des valeurs numériques ou temporelles vers une chaîne de caractères lisible"
+#. Tag: para
+#: query_hql.xml:556
+#, no-c-format
+msgid ""
+"string concatenation <literal>...||...</literal> or <literal>concat(...,...)"
+"</literal>"
+msgstr ""
+"concatenation de chaîne de caractères <literal>...||...</literal> ou "
+"<literal>concat(...,...)</literal>"
 
-#: index.docbook:561
-msgid "<literal>current_date()</literal>, <literal>current_time()</literal>, <literal>current_timestamp()</literal>"
-msgstr "<literal>cast(... as ...)</literal>, où le second argument est le nom d'un type Hibernate, et <literal>extract(... from ...)</literal> si le <literal>cast()</literal> ANSI et <literal>extract()</literal> sont supportés par la base de données sous-jacente"
+#. Tag: para
+#: query_hql.xml:561
+#, no-c-format
+msgid ""
+"<literal>current_date()</literal>, <literal>current_time()</literal>, "
+"<literal>current_timestamp()</literal>"
+msgstr ""
+"<literal>current_date()</literal>, <literal>current_time()</literal>, "
+"<literal>current_timestamp()</literal>"
 
-#: index.docbook:567
-msgid "<literal>second(...)</literal>, <literal>minute(...)</literal>, <literal>hour(...)</literal>, <literal>day(...)</literal>, <literal>month(...)</literal>, <literal>year(...)</literal>,"
-msgstr "La fonction HQL <literal>index()</literal>, qui s'applique aux alias d'une collection indexée jointe"
+#. Tag: para
+#: query_hql.xml:567
+#, no-c-format
+msgid ""
+"<literal>second(...)</literal>, <literal>minute(...)</literal>, <literal>hour"
+"(...)</literal>, <literal>day(...)</literal>, <literal>month(...)</literal>, "
+"<literal>year(...)</literal>,"
+msgstr ""
+"<literal>second(...)</literal>, <literal>minute(...)</literal>, <literal>hour"
+"(...)</literal>, <literal>day(...)</literal>, <literal>month(...)</literal>, "
+"<literal>year(...)</literal>,"
 
-#: index.docbook:574
-msgid "Any function or operator defined by EJB-QL 3.0: <literal>substring(), trim(), lower(), upper(), length(), locate(), abs(), sqrt(), bit_length(), mod()</literal>"
-msgstr "Les fonctions HQL qui s'appliquent expressions représentant des collections : <literal>size(), minelement(), maxelement(), minindex(), maxindex()</literal>, ainsi que les fonctions spéciales <literal>elements()</literal> et <literal>indices</literal> qui peuvent être quantifiées en utilisant <literal>some, all, exists, any, in</literal>."
+#. Tag: para
+#: query_hql.xml:574
+#, 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 ""
+"N'importe quel fonction ou opérateur défini par EJB-QL 3.0 : "
+"<literal>substring(), trim(), lower(), upper(), length(), locate(), abs(), "
+"sqrt(), bit_length(), mod()</literal>"
 
-#: index.docbook:580
+#. Tag: para
+#: query_hql.xml:580
+#, no-c-format
 msgid "<literal>coalesce()</literal> and <literal>nullif()</literal>"
-msgstr "N'importe quelle fonction scalaire supportée par la base de données comme <literal>sign()</literal>, <literal>trunc()</literal>, <literal>rtrim()</literal>, <literal>sin()</literal>"
+msgstr "<literal>coalesce()</literal> et <literal>nullif()</literal>"
 
-#: index.docbook:585
-msgid "<literal>str()</literal> for converting numeric or temporal values to a readable string"
-msgstr "Les paramètres positionnels de JDBC <literal>?</literal>"
+#. Tag: para
+#: query_hql.xml:585
+#, no-c-format
+msgid ""
+"<literal>str()</literal> for converting numeric or temporal values to a "
+"readable string"
+msgstr ""
+"<literal>str()</literal> pour convertir des valeurs numériques ou "
+"temporelles vers une chaîne de caractères lisible"
 
-#: index.docbook:591
-msgid "<literal>cast(... as ...)</literal>, where the second argument is the name of a Hibernate type, and <literal>extract(... from ...)</literal> if ANSI <literal>cast()</literal> and <literal>extract()</literal> is supported by the underlying database"
-msgstr "paramètres nommés <literal>:name</literal>, <literal>:start_date</literal>, <literal>:x1</literal>"
+#. Tag: para
+#: query_hql.xml:591
+#, no-c-format
+msgid ""
+"<literal>cast(... as ...)</literal>, where the second argument is the name "
+"of a Hibernate type, and <literal>extract(... from ...)</literal> if ANSI "
+"<literal>cast()</literal> and <literal>extract()</literal> is supported by "
+"the underlying database"
+msgstr ""
+"<literal>cast(... as ...)</literal>, où le second argument est le nom d'un "
+"type Hibernate, et <literal>extract(... from ...)</literal> si le "
+"<literal>cast()</literal> ANSI et <literal>extract()</literal> sont "
+"supportés par la base de données sous-jacente"
 
-#: index.docbook:599
-msgid "the HQL <literal>index()</literal> function, that applies to aliases of a joined indexed collection"
-msgstr "littéral SQL <literal>'foo'</literal>, <literal>69</literal>, <literal>'1970-01-01 10:00:01.0'</literal>"
+#. Tag: para
+#: query_hql.xml:599
+#, no-c-format
+msgid ""
+"the HQL <literal>index()</literal> function, that applies to aliases of a "
+"joined indexed collection"
+msgstr ""
+"La fonction HQL <literal>index()</literal>, qui s'applique aux alias d'une "
+"collection indexée jointe"
 
-#: index.docbook:605
-msgid "HQL functions that take collection-valued path expressions: <literal>size(), minelement(), maxelement(), minindex(), maxindex()</literal>, along with the special <literal>elements()</literal> and <literal>indices</literal> functions which may be quantified using <literal>some, all, exists, any, in</literal>."
-msgstr "Constantes Java <literal>public static final</literal> <literal>eg.Color.TABBY</literal>"
+#. Tag: para
+#: query_hql.xml:605
+#, no-c-format
+msgid ""
+"HQL functions that take collection-valued path expressions: <literal>size(), "
+"minelement(), maxelement(), minindex(), maxindex()</literal>, along with the "
+"special <literal>elements()</literal> and <literal>indices</literal> "
+"functions which may be quantified using <literal>some, all, exists, any, in</"
+"literal>."
+msgstr ""
+"Les fonctions HQL qui s'appliquent expressions représentant des "
+"collections : <literal>size(), minelement(), maxelement(), minindex(), "
+"maxindex()</literal>, ainsi que les fonctions spéciales <literal>elements()</"
+"literal> et <literal>indices</literal> qui peuvent être quantifiées en "
+"utilisant <literal>some, all, exists, any, in</literal>."
 
-#: index.docbook:613
-msgid "Any database-supported SQL scalar function like <literal>sign()</literal>, <literal>trunc()</literal>, <literal>rtrim()</literal>, <literal>sin()</literal>"
-msgstr "<literal>in</literal> et <literal>between</literal> peuvent être utilisés comme suit :"
+#. Tag: para
+#: query_hql.xml:613
+#, no-c-format
+msgid ""
+"Any database-supported SQL scalar function like <literal>sign()</literal>, "
+"<literal>trunc()</literal>, <literal>rtrim()</literal>, <literal>sin()</"
+"literal>"
+msgstr ""
+"N'importe quelle fonction scalaire supportée par la base de données comme "
+"<literal>sign()</literal>, <literal>trunc()</literal>, <literal>rtrim()</"
+"literal>, <literal>sin()</literal>"
 
-#: index.docbook:619
+#. Tag: para
+#: query_hql.xml:619
+#, no-c-format
 msgid "JDBC-style positional parameters <literal>?</literal>"
-msgstr "<![CDATA[from DomesticCat cat where cat.name between 'A' and 'B']]>"
+msgstr "Les paramètres positionnels de JDBC <literal>?</literal>"
 
-#: index.docbook:624
-msgid "named parameters <literal>:name</literal>, <literal>:start_date</literal>, <literal>:x1</literal>"
-msgstr "<![CDATA[from DomesticCat cat where cat.name in ( 'Foo', 'Bar', 'Baz' )]]>"
+#. Tag: para
+#: query_hql.xml:624
+#, no-c-format
+msgid ""
+"named parameters <literal>:name</literal>, <literal>:start_date</literal>, "
+"<literal>:x1</literal>"
+msgstr ""
+"paramètres nommés <literal>:name</literal>, <literal>:start_date</literal>, "
+"<literal>:x1</literal>"
 
-#: index.docbook:629
-msgid "SQL literals <literal>'foo'</literal>, <literal>69</literal>, <literal>6.66E+2</literal>, <literal>'1970-01-01 10:00:01.0'</literal>"
-msgstr "et la forme négative peut être écrite"
+#. Tag: para
+#: query_hql.xml:629
+#, no-c-format
+msgid ""
+"SQL literals <literal>'foo'</literal>, <literal>69</literal>, <literal>6.66E"
+"+2</literal>, <literal>'1970-01-01 10:00:01.0'</literal>"
+msgstr ""
+"littéral SQL <literal>'foo'</literal>, <literal>69</literal>, <literal>'1970-"
+"01-01 10:00:01.0'</literal>"
 
-#: index.docbook:635
-msgid "Java <literal>public static final</literal> constants <literal>eg.Color.TABBY</literal>"
-msgstr "<![CDATA[from DomesticCat cat where cat.name not between 'A' and 'B']]>"
+#. Tag: para
+#: query_hql.xml:635
+#, 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."
+"TABBY</literal>"
 
-#: index.docbook:641
-msgid "<literal>in</literal> and <literal>between</literal> may be used as follows:"
-msgstr "<![CDATA[from DomesticCat cat where cat.name not in ( 'Foo', 'Bar', 'Baz' )]]>"
+#. Tag: para
+#: query_hql.xml:641
+#, no-c-format
+msgid ""
+"<literal>in</literal> and <literal>between</literal> may be used as follows:"
+msgstr ""
+"<literal>in</literal> et <literal>between</literal> peuvent être utilisés "
+"comme suit :"
 
-#: index.docbook:645
+#. Tag: programlisting
+#: query_hql.xml:645
+#, no-c-format
 msgid "<![CDATA[from DomesticCat cat where cat.name between 'A' and 'B']]>"
-msgstr "De même, <literal>is null</literal> et <literal>is not null</literal> peuvent être utilisés pour tester les valeurs nulle."
+msgstr ""
 
-#: index.docbook:647
-msgid "<![CDATA[from DomesticCat cat where cat.name in ( 'Foo', 'Bar', 'Baz' )]]>"
-msgstr "Les booléens peuvent être facilement utilisés en déclarant les substitutions de requêtes dans la configuration Hibernate :"
+#. Tag: programlisting
+#: query_hql.xml:647
+#, no-c-format
+msgid ""
+"<![CDATA[from DomesticCat cat where cat.name in ( 'Foo', 'Bar', 'Baz' )]]>"
+msgstr ""
 
-#: index.docbook:649
+#. Tag: para
+#: query_hql.xml:649
+#, no-c-format
 msgid "and the negated forms may be written"
-msgstr "<![CDATA[<property name=\"hibernate.query.substitutions\">true 1, false 0</property>]]>"
+msgstr "et la forme négative peut être écrite"
 
-#: index.docbook:653
+#. Tag: programlisting
+#: query_hql.xml:653
+#, no-c-format
 msgid "<![CDATA[from DomesticCat cat where cat.name not between 'A' and 'B']]>"
-msgstr "Ce qui remplacera les mots clés <literal>true</literal> et <literal>false</literal> par <literal>1</literal> et <literal>0</literal> dans la traduction SQL du HQL suivant :"
+msgstr ""
 
-#: index.docbook:655
-msgid "<![CDATA[from DomesticCat cat where cat.name not in ( 'Foo', 'Bar', 'Baz' )]]>"
-msgstr "<![CDATA[from Cat cat where cat.alive = true]]>"
+#. Tag: programlisting
+#: query_hql.xml:655
+#, no-c-format
+msgid ""
+"<![CDATA[from DomesticCat cat where cat.name not in ( 'Foo', 'Bar', 'Baz' )]]"
+">"
+msgstr ""
 
-#: index.docbook:657
-msgid "Likewise, <literal>is null</literal> and <literal>is not null</literal> may be used to test for null values."
-msgstr "Vous pouvez tester la taille d'une collection par la propriété spéciale <literal>size</literal>, ou la fonction spéciale <literal>size()</literal>."
+#. Tag: para
+#: query_hql.xml:657
+#, no-c-format
+msgid ""
+"Likewise, <literal>is null</literal> and <literal>is not null</literal> may "
+"be used to test for null values."
+msgstr ""
+"De même, <literal>is null</literal> et <literal>is not null</literal> "
+"peuvent être utilisés pour tester les valeurs nulle."
 
-#: index.docbook:662
-msgid "Booleans may be easily used in expressions by declaring HQL query substitutions in Hibernate configuration:"
-msgstr "<![CDATA[from Cat cat where cat.kittens.size > 0]]>"
+#. Tag: para
+#: query_hql.xml:662
+#, no-c-format
+msgid ""
+"Booleans may be easily used in expressions by declaring HQL query "
+"substitutions in Hibernate configuration:"
+msgstr ""
+"Les booléens peuvent être facilement utilisés en déclarant les substitutions "
+"de requêtes dans la configuration Hibernate :"
 
-#: index.docbook:667
-msgid "<![CDATA[<property name=\"hibernate.query.substitutions\">true 1, false 0</property>]]>"
-msgstr "<![CDATA[from Cat cat where size(cat.kittens) > 0]]>"
+#. Tag: programlisting
+#: query_hql.xml:667
+#, no-c-format
+msgid ""
+"<![CDATA[<property name=\"hibernate.query.substitutions\">true 1, false 0</"
+"property>]]>"
+msgstr ""
 
-#: index.docbook:669
-msgid "This will replace the keywords <literal>true</literal> and <literal>false</literal> with the literals <literal>1</literal> and <literal>0</literal> in the translated SQL from this HQL:"
-msgstr "Pour les collections indexées, vous pouvez faire référence aux indices minimum et maximum en utilisant les fonctions <literal>minindex</literal> and <literal>maxindex</literal>. De manière similaire, vous pouvez faire référence aux éléments minimum et maximum d'une collection de type basiques en utilisant les fonctions <literal>minelement</literal> et <literal>maxelement</literal>."
+#. Tag: para
+#: query_hql.xml:669
+#, 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 ""
+"Ce qui remplacera les mots clés <literal>true</literal> et <literal>false</"
+"literal> par <literal>1</literal> et <literal>0</literal> dans la traduction "
+"SQL du HQL suivant :"
 
-#: index.docbook:674
+#. Tag: programlisting
+#: query_hql.xml:674
+#, no-c-format
 msgid "<![CDATA[from Cat cat where cat.alive = true]]>"
-msgstr "<![CDATA[from Calendar cal where maxelement(cal.holidays) > current date]]>"
+msgstr ""
 
-#: index.docbook:676
-msgid "You may test the size of a collection with the special property <literal>size</literal>, or the special <literal>size()</literal> function."
-msgstr "<![CDATA[from Order order where maxindex(order.items) > 100]]>"
+#. Tag: para
+#: query_hql.xml:676
+#, no-c-format
+msgid ""
+"You may test the size of a collection with the special property "
+"<literal>size</literal>, or the special <literal>size()</literal> function."
+msgstr ""
+"Vous pouvez tester la taille d'une collection par la propriété spéciale "
+"<literal>size</literal>, ou la fonction spéciale <literal>size()</literal>."
 
-#: index.docbook:681
+#. Tag: programlisting
+#: query_hql.xml:681
+#, no-c-format
 msgid "<![CDATA[from Cat cat where cat.kittens.size > 0]]>"
-msgstr "<![CDATA[from Order order where minelement(order.items) > 10000]]>"
+msgstr ""
 
-#: index.docbook:683
+#. Tag: programlisting
+#: query_hql.xml:683
+#, no-c-format
 msgid "<![CDATA[from Cat cat where size(cat.kittens) > 0]]>"
-msgstr "Les fonctions SQL <literal>any, some, all, exists, in</literal> supportent que leur soient passées l'élément, l'index d'une collection (fonctions <literal>elements</literal> et <literal>indices</literal>) ou le résultat d'une sous requête (voir ci dessous)."
+msgstr ""
 
-#: index.docbook:685
-msgid "For indexed collections, you may refer to the minimum and maximum indices using <literal>minindex</literal> and <literal>maxindex</literal> functions. Similarly, you may refer to the minimum and maximum elements of a collection of basic type using the <literal>minelement</literal> and <literal>maxelement</literal> functions."
+#. Tag: para
+#: query_hql.xml:685
+#, no-c-format
+msgid ""
+"For indexed collections, you may refer to the minimum and maximum indices "
+"using <literal>minindex</literal> and <literal>maxindex</literal> functions. "
+"Similarly, you may refer to the minimum and maximum elements of a collection "
+"of basic type using the <literal>minelement</literal> and "
+"<literal>maxelement</literal> functions."
 msgstr ""
-      "<![CDATA[select mother from Cat as mother, Cat as kit\n"
-      "where kit in elements(foo.kittens)]]>"
+"Pour les collections indexées, vous pouvez faire référence aux indices "
+"minimum et maximum en utilisant les fonctions <literal>minindex</literal> "
+"and <literal>maxindex</literal>. De manière similaire, vous pouvez faire "
+"référence aux éléments minimum et maximum d'une collection de type basiques "
+"en utilisant les fonctions <literal>minelement</literal> et "
+"<literal>maxelement</literal>."
 
-#: index.docbook:693
-msgid "<![CDATA[from Calendar cal where maxelement(cal.holidays) > current_date]]>"
+#. Tag: programlisting
+#: query_hql.xml:693
+#, no-c-format
+msgid ""
+"<![CDATA[from Calendar cal where maxelement(cal.holidays) > current_date]]>"
 msgstr ""
-      "<![CDATA[select p from NameList list, Person p\n"
-      "where p.name = some elements(list.names)]]>"
 
-#: index.docbook:695
+#. Tag: programlisting
+#: query_hql.xml:695
+#, no-c-format
 msgid "<![CDATA[from Order order where maxindex(order.items) > 100]]>"
-msgstr "<![CDATA[from Cat cat where exists elements(cat.kittens)]]>"
+msgstr ""
 
-#: index.docbook:697
+#. Tag: programlisting
+#: query_hql.xml:697
+#, no-c-format
 msgid "<![CDATA[from Order order where minelement(order.items) > 10000]]>"
-msgstr "<![CDATA[from Player p where 3 > all elements(p.scores)]]>"
+msgstr ""
 
-#: index.docbook:699
-msgid "The SQL functions <literal>any, some, all, exists, in</literal> are supported when passed the element or index set of a collection (<literal>elements</literal> and <literal>indices</literal> functions) or the result of a subquery (see below)."
-msgstr "<![CDATA[from Show show where 'fizard' in indices(show.acts)]]>"
+#. Tag: para
+#: query_hql.xml:699
+#, 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 ""
+"Les fonctions SQL <literal>any, some, all, exists, in</literal> supportent "
+"que leur soient passées l'élément, l'index d'une collection (fonctions "
+"<literal>elements</literal> et <literal>indices</literal>) ou le résultat "
+"d'une sous requête (voir ci dessous)."
 
-#: index.docbook:705
+#. Tag: programlisting
+#: query_hql.xml:705
+#, no-c-format
 msgid ""
-      "<![CDATA[select mother from Cat as mother, Cat as kit\n"
-      "where kit in elements(foo.kittens)]]>"
-msgstr "Notez que l'écriture de - <literal>size</literal>, <literal>elements</literal>, <literal>indices</literal>, <literal>minindex</literal>, <literal>maxindex</literal>, <literal>minelement</literal>, <literal>maxelement</literal> - peuvent seulement être utilisée dans la clause where dans Hibernate3."
+"<![CDATA[select mother from Cat as mother, Cat as kit\n"
+"where kit in elements(foo.kittens)]]>"
+msgstr ""
 
-#: index.docbook:707
+#. Tag: programlisting
+#: query_hql.xml:707
+#, no-c-format
 msgid ""
-      "<![CDATA[select p from NameList list, Person p\n"
-      "where p.name = some elements(list.names)]]>"
-msgstr "Les éléments de collections indexées (arrays, lists, maps) peuvent être référencés via index (dans une clause where seulement) :"
+"<![CDATA[select p from NameList list, Person p\n"
+"where p.name = some elements(list.names)]]>"
+msgstr ""
 
-#: index.docbook:709
+#. Tag: programlisting
+#: query_hql.xml:709
+#, no-c-format
 msgid "<![CDATA[from Cat cat where exists elements(cat.kittens)]]>"
-msgstr "<![CDATA[from Order order where order.items[0].id = 1234]]>"
+msgstr ""
 
-#: index.docbook:711
+#. Tag: programlisting
+#: query_hql.xml:711
+#, no-c-format
 msgid "<![CDATA[from Player p where 3 > all elements(p.scores)]]>"
 msgstr ""
-      "<![CDATA[select person from Person person, Calendar calendar\n"
-      "where calendar.holidays['national day'] = person.birthDay\n"
-      "    and person.nationality.calendar = calendar]]>"
 
-#: index.docbook:713
+#. Tag: programlisting
+#: query_hql.xml:713
+#, no-c-format
 msgid "<![CDATA[from Show show where 'fizard' in indices(show.acts)]]>"
 msgstr ""
-      "<![CDATA[select item from Item item, Order order\n"
-      "where order.items[ order.deliveredItemIndices[0] ] = item and order.id = 11]]>"
 
-#: index.docbook:715
-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> - may only be used in the where clause in Hibernate3."
+#. Tag: para
+#: query_hql.xml:715
+#, 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> - may only be used in the where clause in "
+"Hibernate3."
 msgstr ""
-      "<![CDATA[select item from Item item, Order order\n"
-      "where order.items[ maxindex(order.items) ] = item and order.id = 11]]>"
+"Notez que l'écriture de - <literal>size</literal>, <literal>elements</"
+"literal>, <literal>indices</literal>, <literal>minindex</literal>, "
+"<literal>maxindex</literal>, <literal>minelement</literal>, "
+"<literal>maxelement</literal> - peuvent seulement être utilisée dans la "
+"clause where dans Hibernate3."
 
-#: index.docbook:722
-msgid "Elements of indexed collections (arrays, lists, maps) may be referred to by index (in a where clause only):"
-msgstr "L'expression entre <literal>[]</literal> peut même être une expression arithmétique."
+#. Tag: para
+#: query_hql.xml:722
+#, no-c-format
+msgid ""
+"Elements of indexed collections (arrays, lists, maps) may be referred to by "
+"index (in a where clause only):"
+msgstr ""
+"Les éléments de collections indexées (arrays, lists, maps) peuvent être "
+"référencés via index (dans une clause where seulement) :"
 
-#: index.docbook:727
+#. Tag: programlisting
+#: query_hql.xml:727
+#, no-c-format
 msgid "<![CDATA[from Order order where order.items[0].id = 1234]]>"
 msgstr ""
-      "<![CDATA[select item from Item item, Order order\n"
-      "where order.items[ size(order.items) - 1 ] = item]]>"
 
-#: index.docbook:729
+#. Tag: programlisting
+#: query_hql.xml:729
+#, 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 "HQL propose aussi une fonction <literal>index()</literal> interne, pour les éléments d'une association one-to-many ou d'une collections de valeurs."
+"<![CDATA[select person from Person person, Calendar calendar\n"
+"where calendar.holidays['national day'] = person.birthDay\n"
+"    and person.nationality.calendar = calendar]]>"
+msgstr ""
 
-#: index.docbook:731
+#. Tag: programlisting
+#: query_hql.xml:731
+#, no-c-format
 msgid ""
-      "<![CDATA[select item from Item item, Order order\n"
-      "where order.items[ order.deliveredItemIndices[0] ] = item and order.id = 11]]>"
+"<![CDATA[select item from Item item, Order order\n"
+"where order.items[ order.deliveredItemIndices[0] ] = item and order.id = 11]]"
+">"
 msgstr ""
-      "<![CDATA[select item, index(item) from Order order\n"
-      "    join order.items item\n"
-      "where index(item) < 5]]>"
 
-#: index.docbook:733
+#. Tag: programlisting
+#: query_hql.xml:733
+#, 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 "Les fonctions SQL scalaires supportées par la base de données utilisée peuvent être utilisées"
+"<![CDATA[select item from Item item, Order order\n"
+"where order.items[ maxindex(order.items) ] = item and order.id = 11]]>"
+msgstr ""
 
-#: index.docbook:735
-msgid "The expression inside <literal>[]</literal> may even be an arithmetic expression."
-msgstr "<![CDATA[from DomesticCat cat where upper(cat.name) like 'FRI%']]>"
+#. Tag: para
+#: query_hql.xml:735
+#, no-c-format
+msgid ""
+"The expression inside <literal>[]</literal> may even be an arithmetic "
+"expression."
+msgstr ""
+"L'expression entre <literal>[]</literal> peut même être une expression "
+"arithmétique."
 
-#: index.docbook:739
+#. Tag: programlisting
+#: query_hql.xml:739
+#, no-c-format
 msgid ""
-      "<![CDATA[select item from Item item, Order order\n"
-      "where order.items[ size(order.items) - 1 ] = item]]>"
-msgstr "Si vous n'êtes pas encore convaincu par tout cela, imaginez la taille et l'illisibilité qui caractériseraient la transformation SQL de la requête HQL suivante :"
+"<![CDATA[select item from Item item, Order order\n"
+"where order.items[ size(order.items) - 1 ] = item]]>"
+msgstr ""
 
-#: index.docbook:741
-msgid "HQL also provides the built-in <literal>index()</literal> function, for elements of a one-to-many association or collection of values."
+#. Tag: para
+#: query_hql.xml:741
+#, 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 ""
-      "<![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)]]>"
+"HQL propose aussi une fonction <literal>index()</literal> interne, pour les "
+"éléments d'une association one-to-many ou d'une collections de valeurs."
 
-#: index.docbook:746
+#. Tag: programlisting
+#: query_hql.xml:746
+#, no-c-format
 msgid ""
-      "<![CDATA[select item, index(item) from Order order\n"
-      "    join order.items item\n"
-      "where index(item) < 5]]>"
-msgstr "<emphasis>Un indice :</emphasis> cela donnerait quelque chose comme"
+"<![CDATA[select item, index(item) from Order order\n"
+"    join order.items item\n"
+"where index(item) < 5]]>"
+msgstr ""
 
-#: index.docbook:748
+#. Tag: para
+#: query_hql.xml:748
+#, no-c-format
 msgid "Scalar SQL functions supported by the underlying database may be used"
 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"
-      "    )]]>"
+"Les fonctions SQL scalaires supportées par la base de données utilisée "
+"peuvent être utilisées"
 
-#: index.docbook:752
+#. Tag: programlisting
+#: query_hql.xml:752
+#, no-c-format
 msgid "<![CDATA[from DomesticCat cat where upper(cat.name) like 'FRI%']]>"
-msgstr "La clause order by"
+msgstr ""
 
-#: index.docbook:754
-msgid "If you are not yet convinced by all this, think how much longer and less readable the following query would be in SQL:"
-msgstr "La liste retounée par la requête peut être triée par n'importe quelle propriété de la classe ou du composant retourné :"
+#. Tag: para
+#: query_hql.xml:754
+#, no-c-format
+msgid ""
+"If you are not yet convinced by all this, think how much longer and less "
+"readable the following query would be in SQL:"
+msgstr ""
+"Si vous n'êtes pas encore convaincu par tout cela, imaginez la taille et "
+"l'illisibilité qui caractériseraient la transformation SQL de la requête HQL "
+"suivante :"
 
-#: index.docbook:759
+#. Tag: programlisting
+#: query_hql.xml:759
+#, 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)]]>"
+"<![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[from DomesticCat cat\n"
-      "order by cat.name asc, cat.weight desc, cat.birthdate]]>"
 
-#: index.docbook:761
+#. Tag: para
+#: query_hql.xml:761
+#, no-c-format
 msgid "<emphasis>Hint:</emphasis> something like"
-msgstr "Le mot optionnel <literal>asc</literal> ou <literal>desc</literal> indique respectivement si le tri doit être croissant ou décroissant."
+msgstr "<emphasis>Un indice :</emphasis> cela donnerait quelque chose comme"
 
-#: index.docbook:765
+#. Tag: programlisting
+#: query_hql.xml:765
+#, 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 "La clause group by"
+"<![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 ""
 
-#: index.docbook:770
+#. Tag: title
+#: query_hql.xml:770
+#, no-c-format
 msgid "The order by clause"
-msgstr "Si la requête retourne des valeurs aggrégées, celles ci peuvent être groupées par propriété ou composant :"
+msgstr "La clause order by"
 
-#: index.docbook:772
-msgid "The list returned by a query may be ordered by any property of a returned class or components:"
+#. Tag: para
+#: query_hql.xml:772
+#, no-c-format
+msgid ""
+"The list returned by a query may be ordered by any property of a returned "
+"class or components:"
 msgstr ""
-      "<![CDATA[select cat.color, sum(cat.weight), count(cat)\n"
-      "from Cat cat\n"
-      "group by cat.color]]>"
+"La liste retounée par la requête peut être triée par n'importe quelle "
+"propriété de la classe ou du composant retourné :"
 
-#: index.docbook:776
+#. Tag: programlisting
+#: query_hql.xml:776
+#, no-c-format
 msgid ""
-      "<![CDATA[from DomesticCat cat\n"
-      "order by cat.name asc, cat.weight desc, cat.birthdate]]>"
+"<![CDATA[from DomesticCat cat\n"
+"order by cat.name asc, cat.weight desc, cat.birthdate]]>"
 msgstr ""
-      "<![CDATA[select foo.id, avg(name), max(name)\n"
-      "from Foo foo join foo.names name\n"
-      "group by foo.id]]>"
 
-#: index.docbook:778
-msgid "The optional <literal>asc</literal> or <literal>desc</literal> indicate ascending or descending order respectively."
-msgstr "Une clause <literal>having</literal> est aussi permise."
+#. Tag: para
+#: query_hql.xml:778
+#, no-c-format
+msgid ""
+"The optional <literal>asc</literal> or <literal>desc</literal> indicate "
+"ascending or descending order respectively."
+msgstr ""
+"Le mot optionnel <literal>asc</literal> ou <literal>desc</literal> indique "
+"respectivement si le tri doit être croissant ou décroissant."
 
-#: index.docbook:785
+#. Tag: title
+#: query_hql.xml:785
+#, no-c-format
 msgid "The group by clause"
+msgstr "La clause group by"
+
+#. Tag: para
+#: query_hql.xml:787
+#, no-c-format
+msgid ""
+"A query that returns aggregate values may be grouped by any property of a "
+"returned class or components:"
 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)]]>"
+"Si la requête retourne des valeurs aggrégées, celles ci peuvent être "
+"groupées par propriété ou composant :"
 
-#: index.docbook:787
-msgid "A query that returns aggregate values may be grouped by any property of a returned class or components:"
-msgstr "Les fonctions SQL et les fonctions d'aggrégations sont permises dans les clauses <literal>having</literal> et <literal>order by</literal>, si elles sont supportées par la base de données (ce que ne fait pas MySQL par exemple)."
-
-#: index.docbook:791
+#. Tag: programlisting
+#: query_hql.xml:791
+#, no-c-format
 msgid ""
-      "<![CDATA[select cat.color, sum(cat.weight), count(cat)\n"
-      "from Cat cat\n"
-      "group by cat.color]]>"
+"<![CDATA[select cat.color, sum(cat.weight), count(cat)\n"
+"from Cat cat\n"
+"group by cat.color]]>"
 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]]>"
 
-#: index.docbook:793
+#. Tag: programlisting
+#: query_hql.xml:793
+#, 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 "Notez que ni la clause <literal>group by</literal> ni la clause <literal>order by</literal> ne peuvent contenir d'expressions arithmétiques."
+"<![CDATA[select foo.id, avg(name), max(name)\n"
+"from Foo foo join foo.names name\n"
+"group by foo.id]]>"
+msgstr ""
 
-#: index.docbook:795
+#. Tag: para
+#: query_hql.xml:795
+#, no-c-format
 msgid "A <literal>having</literal> clause is also allowed."
-msgstr "Sous-requêtes"
+msgstr "Une clause <literal>having</literal> est aussi permise."
 
-#: index.docbook:799
+#. Tag: programlisting
+#: query_hql.xml:799
+#, 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 "Pour les bases de données le supportant, Hibernate supporte les sous requêtes dans les requêtes. Une sous requête doit être entre parenthèses (souvent pour un appel à une fonction d'agrégation SQL) Même les sous requêtes corrélées (celles qui font référence à un alias de la requête principale) sont supportées."
+"<![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 ""
 
-#: index.docbook:801
-msgid "SQL functions and aggregate functions are allowed in the <literal>having</literal> and <literal>order by</literal> clauses, if supported by the underlying database (eg. not in MySQL)."
+#. Tag: para
+#: query_hql.xml:801
+#, no-c-format
+msgid ""
+"SQL functions and aggregate functions are allowed in the <literal>having</"
+"literal> and <literal>order by</literal> clauses, if supported by the "
+"underlying database (eg. not in MySQL)."
 msgstr ""
-      "<![CDATA[from Cat as fatcat\n"
-      "where fatcat.weight > (\n"
-      "    select avg(cat.weight) from DomesticCat cat\n"
-      ")]]>"
+"Les fonctions SQL et les fonctions d'aggrégations sont permises dans les "
+"clauses <literal>having</literal> et <literal>order by</literal>, si elles "
+"sont supportées par la base de données (ce que ne fait pas MySQL par "
+"exemple)."
 
-#: index.docbook:807
+#. Tag: programlisting
+#: query_hql.xml:807
+#, 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]]>"
+"<![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[from DomesticCat as cat\n"
-      "where cat.name = some (\n"
-      "    select name.nickName from Name as name\n"
-      ")]]>"
 
-#: index.docbook:809
-msgid "Note that neither the <literal>group by</literal> clause nor the <literal>order by</literal> clause may contain arithmetic expressions. Also note that Hibernate currently does not expand a grouped entity, so you can't 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."
+#. Tag: para
+#: query_hql.xml:809
+#, no-c-format
+msgid ""
+"Note that neither the <literal>group by</literal> clause nor the "
+"<literal>order by</literal> clause may contain arithmetic expressions. Also "
+"note that Hibernate currently does not expand a grouped entity, so you can't "
+"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 ""
-      "<![CDATA[from Cat as cat\n"
-      "where not exists (\n"
-      "    from Cat as mate where mate.mate = cat\n"
-      ")]]>"
+"Notez que ni la clause <literal>group by</literal> ni la clause "
+"<literal>order by</literal> ne peuvent contenir d'expressions arithmétiques."
 
-#: index.docbook:821
+#. Tag: title
+#: query_hql.xml:821
+#, no-c-format
 msgid "Subqueries"
-msgstr ""
-      "<![CDATA[from DomesticCat as cat\n"
-      "where cat.name not in (\n"
-      "    select name.nickName from Name as name\n"
-      ")]]>"
+msgstr "Sous-requêtes"
 
-#: index.docbook:823
-msgid "For databases that support subselects, Hibernate supports subqueries within queries. A subquery must be surrounded by parentheses (often by an SQL aggregate function call). Even correlated subqueries (subqueries that refer to an alias in the outer query) are allowed."
+#. Tag: para
+#: query_hql.xml:823
+#, no-c-format
+msgid ""
+"For databases that support subselects, Hibernate supports subqueries within "
+"queries. A subquery must be surrounded by parentheses (often by an SQL "
+"aggregate function call). Even correlated subqueries (subqueries that refer "
+"to an alias in the outer query) are allowed."
 msgstr ""
-      "<![CDATA[select cat.id, (select max(kit.weight) from cat.kitten kit)\n"
-      "from Cat as cat]]>"
+"Pour les bases de données le supportant, Hibernate supporte les sous "
+"requêtes dans les requêtes. Une sous requête doit être entre parenthèses "
+"(souvent pour un appel à une fonction d'agrégation SQL) Même les sous "
+"requêtes corrélées (celles qui font référence à un alias de la requête "
+"principale) sont supportées."
 
-#: index.docbook:829
+#. Tag: programlisting
+#: query_hql.xml:829
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as fatcat\n"
-      "where fatcat.weight > (\n"
-      "    select avg(cat.weight) from DomesticCat cat\n"
-      ")]]>"
-msgstr "Notez que les sous-requêtes HQL peuvent arriver seulememnt dans les clauses select ou where."
+"<![CDATA[from Cat as fatcat\n"
+"where fatcat.weight > (\n"
+"    select avg(cat.weight) from DomesticCat cat\n"
+")]]>"
+msgstr ""
 
-#: index.docbook:831
+#. Tag: programlisting
+#: query_hql.xml:831
+#, no-c-format
 msgid ""
-      "<![CDATA[from DomesticCat as cat\n"
-      "where cat.name = some (\n"
-      "    select name.nickName from Name as name\n"
-      ")]]>"
-msgstr "Pour des sous-requêtes avec plus d'une expression dans le select, vous pouvez utiliser un constructeur de tuples :"
+"<![CDATA[from DomesticCat as cat\n"
+"where cat.name = some (\n"
+"    select name.nickName from Name as name\n"
+")]]>"
+msgstr ""
 
-#: index.docbook:833
+#. Tag: programlisting
+#: query_hql.xml:833
+#, no-c-format
 msgid ""
-      "<![CDATA[from Cat as cat\n"
-      "where not exists (\n"
-      "    from Cat as mate where mate.mate = cat\n"
-      ")]]>"
+"<![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 ( cat.name, cat.color ) in (\n"
-      "    select cat.name, cat.color from DomesticCat cat\n"
-      ")]]>"
 
-#: index.docbook:835
+#. Tag: programlisting
+#: query_hql.xml:835
+#, 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 "Notez que sur certaines bases de données (mais par Oracle ou HSQL), vous pouvez utiliser des constructeurs de tuples dans d'autres contextes, par exemple lors du requêtage de composants ou de types utilisateur composites :"
+"<![CDATA[from DomesticCat as cat\n"
+"where cat.name not in (\n"
+"    select name.nickName from Name as name\n"
+")]]>"
+msgstr ""
 
-#: index.docbook:837
+#. Tag: programlisting
+#: query_hql.xml:837
+#, no-c-format
 msgid ""
-      "<![CDATA[select cat.id, (select max(kit.weight) from cat.kitten kit)\n"
-      "from Cat as cat]]>"
-msgstr "<![CDATA[from Person where name = ('Gavin', 'A', 'King')]]>"
+"<![CDATA[select cat.id, (select max(kit.weight) from cat.kitten kit)\n"
+"from Cat as cat]]>"
+msgstr ""
 
-#: index.docbook:839
+#. Tag: para
+#: query_hql.xml:839
+#, no-c-format
 msgid "Note that HQL subqueries may occur only in the select or where clauses."
-msgstr "Ce qui est équivalent à la forme plus verbeuse suivante :"
+msgstr ""
+"Notez que les sous-requêtes HQL peuvent arriver seulememnt dans les clauses "
+"select ou where."
 
-#: index.docbook:843
-msgid "Note that subqueries can also utilize <literal>row value constructor</literal> syntax. See <xref linkend=\"queryhql-tuple\"/> for more details."
-msgstr "<![CDATA[from Person where name.first = 'Gavin' and name.initial = 'A' and name.last = 'King')]]>"
+#. Tag: para
+#: query_hql.xml:843
+#, no-c-format
+msgid ""
+"Note that subqueries can also utilize <literal>row value constructor</"
+"literal> syntax. See <xref linkend=\"queryhql-tuple\"/> for more details."
+msgstr ""
+"Note that subqueries can also utilize <literal>row value constructor</"
+"literal> syntax. See <xref linkend=\"queryhql-tuple\"/> for more details."
 
-#: index.docbook:851
+#. Tag: title
+#: query_hql.xml:851
+#, no-c-format
 msgid "HQL examples"
-msgstr "Il y a deux bonnes raisons que vous ne puissiez ne pas vouloir faire cette sorte de choses : d'abord, ce n'est pas complètement portable entre les plateformes de base de données ; deuxièmement, la requête est maintenant dépendante de l'ordre des propriétés dans le document de mapping."
-
-#: index.docbook:853
-msgid "Hibernate queries can be quite powerful and complex. In fact, the power of the query language is one of Hibernate's main selling points. Here are some example queries very similar to queries that I used on a recent project. Note that most queries you will write are much simpler than these!"
 msgstr "Exemples HQL"
 
-#: index.docbook:859
-msgid "The following query returns the order id, number of items and total value of the order for all unpaid orders for a particular customer and given minimum total value, ordering the results by total value. In determining the prices, it uses the current catalog. The resulting SQL query, against the <literal>ORDER</literal>, <literal>ORDER_LINE</literal>, <literal>PRODUCT</literal>, <literal>CATALOG</literal> and <literal>PRICE</literal> tables has four inner joins and an (uncorrelated) subselect."
-msgstr "Les requêtes Hibernate peuvent être relativement puissantes et complexes. En fait, la puissance du langage de requêtage est l'un des avantages principaux d'Hibernate. Voici quelques exemples très similaires aux requêtes que nous avons utilisées lors d'un récent projet. Notez que la plupart des requêtes que vous écrirez seront plus simples que les exemples suivantes !"
+#. Tag: para
+#: query_hql.xml:853
+#, 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 selling points. Here are some "
+"example queries very similar to queries that I used on a recent project. "
+"Note that most queries you will write are much simpler than these!"
+msgstr ""
+"Les requêtes Hibernate peuvent être relativement puissantes et complexes. En "
+"fait, la puissance du langage de requêtage est l'un des avantages principaux "
+"d'Hibernate. Voici quelques exemples très similaires aux requêtes que nous "
+"avons utilisées lors d'un récent projet. Notez que la plupart des requêtes "
+"que vous écrirez seront plus simples que les exemples suivantes !"
 
-#: index.docbook:868
+#. Tag: para
+#: query_hql.xml:859
+#, 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 "La requête suivante retourne l'id de commande (order), le nombre d'articles (items) et la valeur totale de la commande (order) pour toutes les commandes non payées d'un client (customer) particulier pour un total minimum donné, le tout trié par la valeur totale. La requête SQL générée sur les tables <literal>ORDER</literal>, <literal>ORDER_LINE</literal>, <literal>PRODUCT</literal>, <literal>CATALOG</literal> et <literal>PRICE</literal> est composée de quatre jointures interne ainsi que d'une sous-requête (non corrélée)."
+"The following query returns the order id, number of items and total value of "
+"the order for all unpaid orders for a particular customer and given minimum "
+"total value, ordering the results by total value. In determining the prices, "
+"it uses the current catalog. The resulting SQL query, against the "
+"<literal>ORDER</literal>, <literal>ORDER_LINE</literal>, <literal>PRODUCT</"
+"literal>, <literal>CATALOG</literal> and <literal>PRICE</literal> tables has "
+"four inner joins and an (uncorrelated) subselect."
+msgstr ""
+"La requête suivante retourne l'id de commande (order), le nombre d'articles "
+"(items) et la valeur totale de la commande (order) pour toutes les commandes "
+"non payées d'un client (customer) particulier pour un total minimum donné, "
+"le tout trié par la valeur totale. La requête SQL générée sur les tables "
+"<literal>ORDER</literal>, <literal>ORDER_LINE</literal>, <literal>PRODUCT</"
+"literal>, <literal>CATALOG</literal> et <literal>PRICE</literal> est "
+"composée de quatre jointures interne ainsi que d'une sous-requête (non "
+"corrélée)."
 
-#: index.docbook:870
-msgid "What a monster! Actually, in real life, I'm not very keen on subqueries, so my query was really more like this:"
+#. Tag: programlisting
+#: query_hql.xml:868
+#, 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]]>"
 
-#: index.docbook:875
+#. Tag: para
+#: query_hql.xml:870
+#, 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 "Quel monstre ! En principe, nous ne sommes pas très fan des sous-requêtes, la requête ressemblait donc plutôt à cela :"
+"What a monster! Actually, in real life, I'm not very keen on subqueries, so "
+"my query was really more like this:"
+msgstr ""
+"Quel monstre ! En principe, nous ne sommes pas très fan des sous-requêtes, "
+"la requête ressemblait donc plutôt à cela :"
 
-#: index.docbook:877
-msgid "The next query counts the number of payments in each status, excluding all payments in the <literal>AWAITING_APPROVAL</literal> status where the most recent status change was made by the current user. It translates to an SQL query with two inner joins and a correlated subselect against the <literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal> and <literal>PAYMENT_STATUS_CHANGE</literal> tables."
+#. Tag: programlisting
+#: query_hql.xml:875
+#, 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]]>"
 
-#: index.docbook:885
+#. Tag: para
+#: query_hql.xml:877
+#, 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 "La requête suivante compte le nombre de paiements (payments) pour chaque status, en excluant les paiements dans le status <literal>AWAITING_APPROVAL</literal> où le changement de status le plus récent à été fait par l'utilisateur courant. En SQL, cette requête effectue deux jointures internes et des sous requêtes corrélées sur les tables <literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal> et <literal>PAYMENT_STATUS_CHANGE</literal>."
+"The next query counts the number of payments in each status, excluding all "
+"payments in the <literal>AWAITING_APPROVAL</literal> status where the most "
+"recent status change was made by the current user. It translates to an SQL "
+"query with two inner joins and a correlated subselect against the "
+"<literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal> and "
+"<literal>PAYMENT_STATUS_CHANGE</literal> tables."
+msgstr ""
+"La requête suivante compte le nombre de paiements (payments) pour chaque "
+"status, en excluant les paiements dans le status <literal>AWAITING_APPROVAL</"
+"literal> où le changement de status le plus récent à été fait par "
+"l'utilisateur courant. En SQL, cette requête effectue deux jointures "
+"internes et des sous requêtes corrélées sur les tables <literal>PAYMENT</"
+"literal>, <literal>PAYMENT_STATUS</literal> et "
+"<literal>PAYMENT_STATUS_CHANGE</literal>."
 
-#: index.docbook:887
-msgid "If I would have mapped the <literal>statusChanges</literal> collection as a list, instead of a set, the query would have been much simpler to write."
+#. Tag: programlisting
+#: query_hql.xml:885
+#, 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]]>"
 
-#: index.docbook:892
+#. Tag: para
+#: query_hql.xml:887
+#, 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 "Si nous avions mappé la collection <literal>statusChanges</literal> comme une liste, au lieu d'un ensemble, la requête aurait été plus facile à écrire."
+"If I would have mapped the <literal>statusChanges</literal> collection as a "
+"list, instead of a set, the query would have been much simpler to write."
+msgstr ""
+"Si nous avions mappé la collection <literal>statusChanges</literal> comme "
+"une liste, au lieu d'un ensemble, la requête aurait été plus facile à écrire."
 
-#: index.docbook:894
-msgid "The next query uses the MS SQL Server <literal>isNull()</literal> function to return all the accounts and unpaid payments for the organization to which the current user belongs. It translates to an SQL query with three inner joins, an outer join and a subselect against the <literal>ACCOUNT</literal>, <literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal>, <literal>ACCOUNT_TYPE</literal>, <literal>ORGANIZATION</literal> and <literal>ORG_USER</literal> tables."
+#. Tag: programlisting
+#: query_hql.xml:892
+#, 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]]>"
 
-#: index.docbook:903
+#. Tag: para
+#: query_hql.xml:894
+#, 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 "La requête qui suit utilise la fonction de MS SQL <literal>isNull()</literal> pour retourner tous les comptes (accounts) et paiements (payments) impayés pour l'organisation à laquelle l'uilisateur (user) courant appartient. Elle est traduite en SQL par trois jointures internes, une jointure externe ainsi qu'une sous requête sur les tables <literal>ACCOUNT</literal>, <literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal>, <literal>ACCOUNT_TYPE</literal>, <literal>ORGANIZATION</literal> et <literal>ORG_USER</literal>."
+"The next query uses the MS SQL Server <literal>isNull()</literal> function "
+"to return all the accounts and unpaid payments for the organization to which "
+"the current user belongs. It translates to an SQL query with three inner "
+"joins, an outer join and a subselect against the <literal>ACCOUNT</literal>, "
+"<literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal>, "
+"<literal>ACCOUNT_TYPE</literal>, <literal>ORGANIZATION</literal> and "
+"<literal>ORG_USER</literal> tables."
+msgstr ""
+"La requête qui suit utilise la fonction de MS SQL <literal>isNull()</"
+"literal> pour retourner tous les comptes (accounts) et paiements (payments) "
+"impayés pour l'organisation à laquelle l'uilisateur (user) courant "
+"appartient. Elle est traduite en SQL par trois jointures internes, une "
+"jointure externe ainsi qu'une sous requête sur les tables <literal>ACCOUNT</"
+"literal>, <literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal>, "
+"<literal>ACCOUNT_TYPE</literal>, <literal>ORGANIZATION</literal> et "
+"<literal>ORG_USER</literal>."
 
-#: index.docbook:905
-msgid "For some databases, we would need to do away with the (correlated) subselect."
+#. Tag: programlisting
+#: query_hql.xml:903
+#, 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]]>"
 
-#: index.docbook:909
+#. Tag: para
+#: query_hql.xml:905
+#, 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 "Pour d'autres base de données, nous aurions dû faire sans la sous-requête (corrélée)."
+"For some databases, we would need to do away with the (correlated) subselect."
+msgstr ""
+"Pour d'autres base de données, nous aurions dû faire sans la sous-requête "
+"(corrélée)."
 
-#: index.docbook:914
-msgid "Bulk update and delete"
+#. Tag: programlisting
+#: query_hql.xml:909
+#, 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]]>"
 
-#: index.docbook:916
-msgid "HQL now supports <literal>update</literal>, <literal>delete</literal> and <literal>insert ... select ...</literal> statements. See <xref linkend=\"batch-direct\"/> for details."
+#. Tag: title
+#: query_hql.xml:914
+#, no-c-format
+msgid "Bulk update and delete"
 msgstr "Mise à jour et suppression"
 
-#: index.docbook:924
+#. Tag: para
+#: query_hql.xml:916
+#, 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 details."
+msgstr ""
+"HQL supporte maintenant les expressions <literal>update</literal>, "
+"<literal>delete</literal> et <literal>insert ... select ...</literal>. Voir "
+"<xref linkend=\"batch-direct\"/> pour les détails."
+
+#. Tag: title
+#: query_hql.xml:924
+#, no-c-format
 msgid "Tips &amp; Tricks"
-msgstr "HQL supporte maintenant les expressions <literal>update</literal>, <literal>delete</literal> et <literal>insert ... select ...</literal>. Voir <xref linkend=\"batch-direct\"/> pour les détails."
-
-#: index.docbook:926
-msgid "You can count the number of query results without actually returning them:"
 msgstr "Trucs &amp; Astuces"
 
-#: index.docbook:930
-msgid "<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\").iterate().next() ).intValue()]]>"
-msgstr "Vous pouvez compter le nombre de résultats d'une requête sans les retourner :"
+#. Tag: para
+#: query_hql.xml:926
+#, no-c-format
+msgid ""
+"You can count the number of query results without actually returning them:"
+msgstr ""
+"Vous pouvez compter le nombre de résultats d'une requête sans les retourner :"
 
-#: index.docbook:932
+#. Tag: programlisting
+#: query_hql.xml:930
+#, no-c-format
+msgid ""
+"<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\")."
+"iterate().next() ).intValue()]]>"
+msgstr ""
+
+#. Tag: para
+#: query_hql.xml:932
+#, no-c-format
 msgid "To order a result by the size of a collection, use the following query:"
-msgstr "<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\").iterate().next() ).intValue()]]>"
+msgstr ""
+"Pour trier les résultats par la taille d'une collection, utilisez la requête "
+"suivante :"
 
-#: index.docbook:936
+#. Tag: programlisting
+#: query_hql.xml:936
+#, 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 "Pour trier les résultats par la taille d'une collection, utilisez la requête suivante :"
+"<![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 ""
 
-#: index.docbook:938
-msgid "If your database supports subselects, you can place a condition upon selection size in the where clause of your query:"
+#. Tag: para
+#: query_hql.xml:938
+#, 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 ""
-      "<![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)]]>"
+"Si votre base de données supporte les sous-requêtes, vous pouvez placer des "
+"conditions sur la taille de la sélection dans la clause where de votre "
+"requête:"
 
-#: index.docbook:943
+#. Tag: programlisting
+#: query_hql.xml:943
+#, no-c-format
 msgid "<![CDATA[from User usr where size(usr.messages) >= 1]]>"
-msgstr "Si votre base de données supporte les sous-requêtes, vous pouvez placer des conditions sur la taille de la sélection dans la clause where de votre requête:"
+msgstr ""
 
-#: index.docbook:945
+#. Tag: para
+#: query_hql.xml:945
+#, no-c-format
 msgid "If your database doesn't support subselects, use the following query:"
-msgstr "<![CDATA[from User usr where size(usr.messages) >= 1]]>"
+msgstr ""
+"Si votre base de données ne supporte pas les sous-requêtes, utilisez la "
+"requête suivante :"
 
-#: index.docbook:949
+#. Tag: programlisting
+#: query_hql.xml:949
+#, 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]]>"
-msgstr "Si votre base de données ne supporte pas les sous-requêtes, utilisez la requête suivante :"
+"<![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]]>"
+msgstr ""
 
-#: index.docbook:951
-msgid "As this solution can't return a <literal>User</literal> with zero messages because of the inner join, the following form is also useful:"
+#. Tag: para
+#: query_hql.xml:951
+#, no-c-format
+msgid ""
+"As this solution can't return a <literal>User</literal> with zero messages "
+"because of the inner join, the following form is also useful:"
 msgstr ""
-      "<![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]]>"
+"Cette solution ne peut pas retourner un <literal>User</literal> avec zéro "
+"message à cause de la jointure interne, la forme suivante peut donc être "
+"utile :"
 
-#: index.docbook:956
+#. Tag: programlisting
+#: query_hql.xml:956
+#, 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 "Cette solution ne peut pas retourner un <literal>User</literal> avec zéro message à cause de la jointure interne, la forme suivante peut donc être utile :"
+"<![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 ""
 
-#: index.docbook:958
+#. Tag: para
+#: query_hql.xml:958
+#, no-c-format
 msgid "Properties of a JavaBean can be bound to named query parameters:"
 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]]>"
+"Les propriétés d'un JavaBean peuvent être injectées dans les paramètres "
+"nommés d'un requête :"
 
-#: index.docbook:962
+#. Tag: programlisting
+#: query_hql.xml:962
+#, 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 "Les propriétés d'un JavaBean peuvent être injectées dans les paramètres nommés d'un requête :"
+"<![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 ""
 
-#: index.docbook:964
-msgid "Collections are pageable by using the <literal>Query</literal> interface with a filter:"
+#. Tag: para
+#: query_hql.xml:964
+#, no-c-format
+msgid ""
+"Collections are pageable by using the <literal>Query</literal> interface "
+"with a filter:"
 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();]]>"
+"Les collections sont paginables via l'utilisation de l'interface "
+"<literal>Query</literal> avec un filtre :"
 
-#: index.docbook:968
+#. Tag: programlisting
+#: query_hql.xml:968
+#, 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 "Les collections sont paginables via l'utilisation de l'interface <literal>Query</literal> avec un filtre :"
+"<![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 ""
 
-#: index.docbook:970
+#. Tag: para
+#: query_hql.xml:970
+#, no-c-format
 msgid "Collection elements may be ordered or grouped using a query filter:"
 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();]]>"
+"Les éléments d'une collection peuvent être triés ou groupés en utilisant un "
+"filtre de requête :"
 
-#: index.docbook:974
+#. Tag: programlisting
+#: query_hql.xml:974
+#, 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 "Les éléments d'une collection peuvent être triés ou groupés en utilisant un filtre de requête :"
+"<![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 ""
 
-#: index.docbook:976
+#. Tag: para
+#: query_hql.xml:976
+#, no-c-format
 msgid "You can find the size of a collection without initializing it:"
+msgstr "Vous pouvez récupérer la taille d'une collection sans l'initialiser :"
+
+#. Tag: programlisting
+#: query_hql.xml:980
+#, no-c-format
+msgid ""
+"<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\")."
+"iterate().next() ).intValue();]]>"
 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\" );]]>"
 
-#: index.docbook:980
-msgid "<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\").iterate().next() ).intValue();]]>"
-msgstr "Vous pouvez récupérer la taille d'une collection sans l'initialiser :"
-
-#: index.docbook:985
+#. Tag: title
+#: query_hql.xml:985
+#, no-c-format
 msgid "Components"
-msgstr "<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\").iterate().next() ).intValue();]]>"
+msgstr "translator-credits"
 
-#: index.docbook:987
-msgid "Components might be used in just about every way that simple value types can be used in HQL queries. They can appear in the <literal>select</literal> clause:"
+#. Tag: para
+#: query_hql.xml:987
+#, no-c-format
+msgid ""
+"Components might be used in just about every way that simple value types can "
+"be used in HQL queries. They can appear in the <literal>select</literal> "
+"clause:"
 msgstr ""
 
-#: index.docbook:992, index.docbook:1038
+#. Tag: programlisting
+#: query_hql.xml:992 query_hql.xml:1038
+#, no-c-format
 msgid "<![CDATA[select p.name from from Person p]]>"
 msgstr ""
 
-#: index.docbook:993
+#. Tag: programlisting
+#: query_hql.xml:993
+#, no-c-format
 msgid "<![CDATA[select p.name.first from from Person p]]>"
 msgstr ""
 
-#: index.docbook:995
-msgid "where the Person's name property is a component. Components can also be used in the <literal>where</literal> clause:"
+#. Tag: para
+#: query_hql.xml:995
+#, 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 ""
 
-#: index.docbook:1000
+#. Tag: programlisting
+#: query_hql.xml:1000
+#, no-c-format
 msgid "<![CDATA[from from Person p where p.name = :name]]>"
 msgstr ""
 
-#: index.docbook:1001
+#. Tag: programlisting
+#: query_hql.xml:1001
+#, no-c-format
 msgid "<![CDATA[from from Person p where p.name.first = :firstName]]>"
 msgstr ""
 
-#: index.docbook:1003
+#. Tag: para
+#: query_hql.xml:1003
+#, no-c-format
 msgid "Components can also be used in the <literal>order by</literal> clause:"
 msgstr ""
 
-#: index.docbook:1007
+#. Tag: programlisting
+#: query_hql.xml:1007
+#, no-c-format
 msgid "<![CDATA[from from Person p order by p.name]]>"
 msgstr ""
 
-#: index.docbook:1008
+#. Tag: programlisting
+#: query_hql.xml:1008
+#, no-c-format
 msgid "<![CDATA[from from Person p order by p.name.first]]>"
 msgstr ""
 
-#: index.docbook:1010
-msgid "Another common use of components is in <xref linkend=\"queryhql-tuple\"/>row value constructors."
+#. Tag: para
+#: query_hql.xml:1010
+#, no-c-format
+msgid ""
+"Another common use of components is in <link linkend=\"queryhql-tuple\">row "
+"value constructors</link>."
 msgstr ""
 
-#: index.docbook:1016
+#. Tag: title
+#: query_hql.xml:1016
+#, no-c-format
 msgid "Row value constructor syntax"
 msgstr ""
 
-#: index.docbook:1018
-msgid "HQL supports the use of ANSI SQL <literal>row value constructor</literal> syntax (sometimes called <literal>tuple</literal> syntax), even though the underlying database may not support that notion. Here we are generally referring to multi-valued comparisons, typically associated with components. Consider an entity Person which defines a name component:"
+#. Tag: para
+#: query_hql.xml:1018
+#, no-c-format
+msgid ""
+"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:"
 msgstr ""
 
-#: index.docbook:1025
-msgid "<![CDATA[from Person p where p.name.first='John' and p.name.last='Jingleheimer-Schmidt']]>"
+#. Tag: programlisting
+#: query_hql.xml:1025
+#, no-c-format
+msgid ""
+"<![CDATA[from Person p where p.name.first='John' and p.name."
+"last='Jingleheimer-Schmidt']]>"
 msgstr ""
 
-#: index.docbook:1027
-msgid "That's valid syntax, although a little verbose. It be nice to make this a bit more concise and use <literal>row value constructor</literal> syntax:"
+#. Tag: para
+#: query_hql.xml:1027
+#, no-c-format
+msgid ""
+"That's valid syntax, although a little verbose. It be nice to make this a "
+"bit more concise and use <literal>row value constructor</literal> syntax:"
 msgstr ""
 
-#: index.docbook:1032
+#. Tag: programlisting
+#: query_hql.xml:1032
+#, no-c-format
 msgid "<![CDATA[from Person p where p.name=('John', 'Jingleheimer-Schmidt')]]>"
 msgstr ""
 
-#: index.docbook:1034
-msgid "It can also be useful to specify this in the <literal>select</literal> clause:"
+#. Tag: para
+#: query_hql.xml:1034
+#, no-c-format
+msgid ""
+"It can also be useful to specify this in the <literal>select</literal> "
+"clause:"
 msgstr ""
 
-#: index.docbook:1040
-msgid "Another time using <literal>row value constructor</literal> syntax can be beneficial is when using subqueries needing to compare against multiple values:"
+#. Tag: para
+#: query_hql.xml:1040
+#, no-c-format
+msgid ""
+"Another time using <literal>row value constructor</literal> syntax can be "
+"beneficial is when using subqueries needing to compare against multiple "
+"values:"
 msgstr ""
 
-#: index.docbook:1045
+#. Tag: programlisting
+#: query_hql.xml:1045
+#, 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"
-      ")]]>"
+"<![CDATA[from Cat as cat\n"
+"where not ( cat.name, cat.color ) in (\n"
+"    select cat.name, cat.color from DomesticCat cat\n"
+")]]>"
 msgstr ""
 
-#: index.docbook:1047
-msgid "One thing to consider when deciding if you want to use this syntax is that the query will be dependent upon the ordering of the component sub-properties in the metadata."
+#. Tag: para
+#: query_hql.xml:1047
+#, 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 ""
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-

Modified: core/trunk/documentation/manual/translations/fr-FR/content/query_sql.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/query_sql.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/query_sql.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,1003 +1,1498 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: query_sql.xml:5
+#, no-c-format
 msgid "Native SQL"
 msgstr "SQL natif"
 
-#: index.docbook:7
-msgid "You may also express queries in the native SQL dialect of your database. This is useful if you want to utilize database specific features such as query hints or the <literal>CONNECT</literal> keyword in Oracle. It also provides a clean migration path from a direct SQL/JDBC based application to Hibernate."
-msgstr "Vous pouvez aussi écrire vos requêtes dans le dialecte SQL natif de votre base de données. Ceci est utile si vous souhaitez utiliser les fonctionnalités spécifiques de votre base de données comme le mot clé <literal>CONNECT</literal> d'Oracle. Cette fonctionnalité offre par ailleurs un moyen de migration plus propre et doux d'une application basée sur SQL/JDBC vers une application Hibernate."
+#. Tag: para
+#: query_sql.xml:7
+#, no-c-format
+msgid ""
+"You may also express queries in the native SQL dialect of your database. "
+"This is useful if you want to utilize database specific features such as "
+"query hints or the <literal>CONNECT</literal> keyword in Oracle. It also "
+"provides a clean migration path from a direct SQL/JDBC based application to "
+"Hibernate."
+msgstr ""
+"Vous pouvez aussi écrire vos requêtes dans le dialecte SQL natif de votre "
+"base de données. Ceci est utile si vous souhaitez utiliser les "
+"fonctionnalités spécifiques de votre base de données comme le mot clé "
+"<literal>CONNECT</literal> d'Oracle. Cette fonctionnalité offre par ailleurs "
+"un moyen de migration plus propre et doux d'une application basée sur SQL/"
+"JDBC vers une application Hibernate."
 
-#: index.docbook:13
-msgid "Hibernate3 allows you to specify handwritten SQL (including stored procedures) for all create, update, delete, and load operations."
-msgstr "Hibernate3 vous permet de spécifier du SQL écrit à la main (incluant les procédures stockées) pour toutes les opérations de création, mise à jour, suppression et chargement."
+#. Tag: para
+#: query_sql.xml:13
+#, no-c-format
+msgid ""
+"Hibernate3 allows you to specify handwritten SQL (including stored "
+"procedures) for all create, update, delete, and load operations."
+msgstr ""
+"Hibernate3 vous permet de spécifier du SQL écrit à la main (incluant les "
+"procédures stockées) pour toutes les opérations de création, mise à jour, "
+"suppression et chargement."
 
-#: index.docbook:17
+#. Tag: title
+#: query_sql.xml:17
+#, no-c-format
 msgid "Using a <literal>SQLQuery</literal>"
 msgstr "Utiliser une <literal>SQLQuery</literal>"
 
-#: index.docbook:19
-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 describes how to use this API for querying."
-msgstr "L'exécution des requêtes en SQL natif est contrôlée par l'interface <literal>SQLQuery</literal>, laquelle est obtenue en appelant <literal>Session.createSQLQuery()</literal>. Dans des cas extrêmement simples, nous pouvons utiliser la forme suivante :"
+#. Tag: para
+#: query_sql.xml:19
+#, 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 describes how to use this API for "
+"querying."
+msgstr ""
+"L'exécution des requêtes en SQL natif est contrôlée par l'interface "
+"<literal>SQLQuery</literal>, laquelle est obtenue en appelant "
+"<literal>Session.createSQLQuery()</literal>. Dans des cas extrêmement "
+"simples, nous pouvons utiliser la forme suivante :"
 
-#: index.docbook:25
+#. Tag: title
+#: query_sql.xml:25
+#, no-c-format
 msgid "Scalar queries"
-msgstr ""
-      "List cats = sess.createSQLQuery(\"select * from cats\")\n"
-      "    .addEntity(Cat.class)\n"
-      "    .list();"
+msgstr "Scalar queries"
 
-#: index.docbook:27
+#. Tag: para
+#: query_sql.xml:27
+#, no-c-format
 msgid "The most basic SQL query is to get a list of scalars (values)."
-msgstr "Cette requête a spécifié :"
+msgstr "The most basic SQL query is to get a list of scalars (values)."
 
-#: index.docbook:30
+#. Tag: programlisting
+#: query_sql.xml:30
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").list();\n"
-      "sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM CATS\").list();\n"
-      "]]>"
-msgstr "la requête SQL"
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").list();\n"
+"sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM CATS\").list();\n"
+"]]>"
+msgstr ""
 
-#: index.docbook:32
-msgid "These will both return a List of Object arrays (Object[]) with scalar values for each column in the CATS table. Hibernate will use ResultSetMetadata to deduce the actual order and types of the returned scalar values."
-msgstr "l'entité retournée par la requête"
+#. Tag: para
+#: query_sql.xml:32
+#, no-c-format
+msgid ""
+"These will both return a List of Object arrays (Object[]) with scalar values "
+"for each column in the CATS table. Hibernate will use ResultSetMetadata to "
+"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."
 
-#: index.docbook:37
-msgid "To avoid the overhead of using <literal>ResultSetMetadata</literal> or simply to be more explicit in what is returned one can use <literal>addScalar()</literal>."
-msgstr "Ici, les noms de colonne des résultats sont supposés être les mêmes que les noms de colonne spécifiés dans le document de mapping. Cela peut être problématique pour des requêtes SQL qui joignent de multiple tables, puisque les mêmes noms de colonne peuvent apparaître dans plus d'une table. La forme suivante n'est pas vulnérable à la duplication des noms de colonne :"
+#. Tag: para
+#: query_sql.xml:37
+#, 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>."
 
-#: index.docbook:41
+#. Tag: programlisting
+#: query_sql.xml:41
+#, 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"
-      "]]>"
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
+" .addScalar(\"ID\", Hibernate.LONG)\n"
+" .addScalar(\"NAME\", Hibernate.STRING)\n"
+" .addScalar(\"BIRTHDATE\", Hibernate.DATE)\n"
+"]]>"
 msgstr ""
-      "List cats = sess.createSQLQuery(\"select {cat.*} from cats cat\")\n"
-      "    .addEntity(\"cat\", Cat.class)\n"
-      "    .list();"
 
-#: index.docbook:43, index.docbook:89, index.docbook:170, index.docbook:321
+#. Tag: para
+#: query_sql.xml:43 query_sql.xml:89 query_sql.xml:170 query_sql.xml:321
+#, no-c-format
 msgid "This query specified:"
-msgstr "Cette requête a spécifié :"
+msgstr "This query specified:"
 
-#: index.docbook:47, index.docbook:93, index.docbook:325
+#. Tag: para
+#: query_sql.xml:47 query_sql.xml:93 query_sql.xml:325
+#, no-c-format
 msgid "the SQL query string"
-msgstr "la requête SQL, avec un paramètre fictif pour Hibernate pour injecter les alias de colonne"
+msgstr "the SQL query string"
 
-#: index.docbook:51
+#. Tag: para
+#: query_sql.xml:51
+#, no-c-format
 msgid "the columns and types to return"
-msgstr "l'entité retournée par la requête, et son alias de table SQL"
+msgstr "the columns and types to return"
 
-#: index.docbook:55
-msgid "This will still return Object arrays, but now it will not use <literal>ResultSetMetdata</literal> but will instead explicitly get the ID, 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."
-msgstr "La méthode <literal>addEntity()</literal> associe l'alias de la table SQL avec la classe de l'entité retournée, et détermine la forme de l'ensemble des résultats de la requête."
+#. Tag: para
+#: query_sql.xml:55
+#, no-c-format
+msgid ""
+"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."
+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."
 
-#: index.docbook:63
-msgid "It is possible to leave out the type information for all or some of the scalars."
-msgstr "La méthode <literal>addJoin()</literal> peut être utilisée pour charger des associations vers d'autres entités et collections."
+#. Tag: para
+#: query_sql.xml:63
+#, 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."
 
-#: index.docbook:66
+#. Tag: programlisting
+#: query_sql.xml:66
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
-      " .addScalar(\"ID\", Hibernate.LONG)\n"
-      " .addScalar(\"NAME\")\n"
-      " .addScalar(\"BIRTHDATE\")\n"
-      "]]>"
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
+" .addScalar(\"ID\", Hibernate.LONG)\n"
+" .addScalar(\"NAME\")\n"
+" .addScalar(\"BIRTHDATE\")\n"
+"]]>"
 msgstr ""
-      "List cats = sess.createSQLQuery(\n"
-      "        \"select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten.mother = cat.id\"\n"
-      "    )\n"
-      "    .addEntity(\"cat\", Cat.class)\n"
-      "    .addJoin(\"kitten\", \"cat.kittens\")\n"
-      "    .list();"
 
-#: index.docbook:68
-msgid "This is essentially the same query as before, but now <literal>ResultSetMetaData</literal> is used to decide the type of NAME and BIRTHDATE where as the type of ID is explicitly specified."
-msgstr "Une requête SQL native pourrait retourner une simple valeur scalaire ou une combinaison de scalaires et d'entités."
+#. Tag: para
+#: query_sql.xml:68
+#, no-c-format
+msgid ""
+"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."
+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."
 
-#: index.docbook:72
-msgid "How the java.sql.Types returned from ResultSetMetaData is mapped to Hibernate types is controlled by the Dialect. If a specific type is not mapped or does not result in the expected type it is possible to customize it via calls to <literal>registerHibernateType</literal> in the Dialect."
+#. Tag: para
+#: query_sql.xml:72
+#, 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 ""
-      "Double max = (Double) sess.createSQLQuery(\"select max(cat.weight) as maxWeight from cats cat\")\n"
-      "        .addScalar(\"maxWeight\", Hibernate.DOUBLE);\n"
-      "        .uniqueResult();"
+"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."
 
-#: index.docbook:80
+#. Tag: title
+#: query_sql.xml:80
+#, no-c-format
 msgid "Entity queries"
-msgstr "Vous pouvez alternativement décrire les informations de mapping des résultats dans vos fichiers hbm et les utiliser pour vos requêtes."
+msgstr "Entity queries"
 
-#: index.docbook:82
-msgid "The above queries were all about returning scalar values, basically returning the \"raw\" values from the resultset. The following shows how to get entity objects from a native sql query via <literal>addEntity()</literal>."
+#. Tag: para
+#: query_sql.xml:82
+#, no-c-format
+msgid ""
+"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>."
 msgstr ""
-      "List cats = sess.createSQLQuery(\n"
-      "        \"select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten.mother = cat.id\"\n"
-      "    )\n"
-      "    .setResultSetMapping(\"catAndKitten\")\n"
-      "    .list();"
+"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>."
 
-#: index.docbook:87
+#. Tag: programlisting
+#: query_sql.xml:87
+#, 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 "Alias et références de propriété"
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").addEntity(Cat.class);\n"
+"sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM CATS\").addEntity(Cat."
+"class);\n"
+"]]>"
+msgstr ""
 
-#: index.docbook:97
+#. Tag: para
+#: query_sql.xml:97
+#, no-c-format
 msgid "the entity returned by the query"
+msgstr "the entity returned by the query"
+
+#. Tag: para
+#: query_sql.xml:101
+#, 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 ""
-      "String sql = \"select cat.originalId as {cat.id}, \" +\n"
-      "    \"cat.mateid as {cat.mate}, cat.sex as {cat.sex}, \" +\n"
-      "    \"cat.weight*10 as {cat.weight}, cat.name as {cat.name} \" +\n"
-      "    \"from cat_log cat where {cat.mate} = :catId\"\n"
-      "\n"
-      "List loggedCats = sess.createSQLQuery(sql)\n"
-      "    .addEntity(\"cat\", Cat.class)\n"
-      "    .setLong(\"catId\", catId)\n"
-      "    .list();"
+"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."
 
-#: index.docbook:101
-msgid "Assuming that Cat is mapped as a class with the columns ID, NAME and BIRTHDATE the above queries will both return a List where each element is a Cat entity."
-msgstr "<emphasis>À noter :</emphasis> si vous listez chaque propriété explicitement, vous devez inclure toutes les propriétés de la classe <emphasis>et ses sous-classes</emphasis> !"
+#. Tag: para
+#: query_sql.xml:105
+#, no-c-format
+msgid ""
+"If the entity is mapped with a <literal>many-to-one</literal> to another "
+"entity it is required to also return this when performing the native query, "
+"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>:"
+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>:"
 
-#: index.docbook:105
-msgid "If the entity is mapped with a <literal>many-to-one</literal> to another entity it is required to also return this when performing the native query, 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>:"
-msgstr "La table suivante montre les différentes possibilités d'utilisation de l'injection d'alias. À noter : les noms des alias dans le résultat sont des exemples, chaque alias aura un nom unique et probablement différent lors de l'utilisation."
-
-#: index.docbook:113
+#. Tag: programlisting
+#: query_sql.xml:113
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, DOG_ID FROM CATS\").addEntity(Cat.class);\n"
-      "]]>"
-msgstr "Noms d'injection d'alias"
+"<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, DOG_ID FROM CATS"
+"\").addEntity(Cat.class);\n"
+"]]>"
+msgstr ""
 
-#: index.docbook:115
+#. Tag: para
+#: query_sql.xml:115
+#, no-c-format
 msgid "This will allow cat.getDog() to function properly."
-msgstr "Description"
+msgstr "This will allow cat.getDog() to function properly."
 
-#: index.docbook:119
+#. Tag: title
+#: query_sql.xml:119
+#, no-c-format
 msgid "Handling associations and collections"
-msgstr "Syntaxe"
+msgstr "Handling associations and collections"
 
-#: index.docbook:121
-msgid "It is possible to eagerly join in the <literal>Dog</literal> to avoid the possible extra roundtrip for initializing the proxy. This is done via the <literal>addJoin()</literal> method, which allows you to join in an association or collection."
-msgstr "Exemple"
+#. Tag: para
+#: query_sql.xml:121
+#, no-c-format
+msgid ""
+"It is possible to eagerly join in the <literal>Dog</literal> to avoid the "
+"possible extra roundtrip for initializing the proxy. This is done via the "
+"<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."
 
-#: index.docbook:126
+#. Tag: programlisting
+#: query_sql.xml:126
+#, 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 "Une simple propriété"
+"<![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 ""
 
-#: index.docbook:128
-msgid "In this example the returned <literal>Cat</literal>'s will have their <literal>dog</literal> property fully initialized without any extra 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."
-msgstr "{[aliasname].[propertyname]}"
+#. Tag: para
+#: query_sql.xml:128
+#, 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 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."
+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."
 
-#: index.docbook:136
+#. Tag: programlisting
+#: query_sql.xml:136
+#, 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 "A_NAME as {item.name}"
+"<![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 ""
 
-#: index.docbook:138
-msgid "At this stage we are reaching the limits of what is possible with native queries without starting to enhance the sql queries to make them usable in Hibernate; the problems starts to arise when returning multiple entities of the same type or when the default alias/column names are not enough."
-msgstr "Une propriété composée"
+#. Tag: para
+#: query_sql.xml:138
+#, no-c-format
+msgid ""
+"At this stage we are reaching the limits of what is possible with native "
+"queries without starting to enhance the sql queries to make them usable in "
+"Hibernate; the problems starts to 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."
 
-#: index.docbook:146
+#. Tag: title
+#: query_sql.xml:146
+#, no-c-format
 msgid "Returning multiple entities"
-msgstr "{[aliasname].[componentname].[propertyname]}"
+msgstr "Returning multiple entities"
 
-#: index.docbook:148
-msgid "Until now the result set column names are assumed to be the same as the column names specified in the mapping document. This can be problematic for SQL queries which join multiple tables, since the same column names may appear in more than one table."
-msgstr "CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}"
+#. Tag: para
+#: query_sql.xml:148
+#, 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 which join multiple tables, since the same column names may "
+"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."
 
-#: index.docbook:153
-msgid "Column alias injection is needed in the following query (which most likely will fail):"
-msgstr "Discriminant d'une entité"
+#. Tag: para
+#: query_sql.xml:153
+#, 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):"
 
-#: index.docbook:156
+#. Tag: programlisting
+#: query_sql.xml:156
+#, 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 "{[aliasname].class}"
+"<![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 ""
 
-#: index.docbook:158
-msgid "The intention for this query is to return two Cat instances per row, a cat and its mother. This will fail since there is a conflict of names since they 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\")."
-msgstr "DISC as {item.class}"
+#. Tag: para
+#: query_sql.xml:158
+#, no-c-format
+msgid ""
+"The intention for this query is to return two Cat instances per row, a cat "
+"and its mother. This will fail since there is a conflict of names since they "
+"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\")."
+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\")."
 
-#: index.docbook:165
+#. Tag: para
+#: query_sql.xml:165
+#, no-c-format
 msgid "The following form is not vulnerable to column name duplication:"
-msgstr "Toutes les propriétés d'une entité"
+msgstr "The following form is not vulnerable to column name duplication:"
 
-#: index.docbook:168
+#. Tag: programlisting
+#: query_sql.xml:168
+#, 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 "{[aliasname].*}"
+"<![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 ""
 
-#: index.docbook:174
-msgid "the SQL query string, with placeholders for Hibernate to inject column aliases"
-msgstr "Une clef de collection"
+#. Tag: para
+#: query_sql.xml:174
+#, 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"
 
-#: index.docbook:179
+#. Tag: para
+#: query_sql.xml:179
+#, no-c-format
 msgid "the entities returned by the query"
-msgstr "{[aliasname].key}"
+msgstr "the entities returned by the query"
 
-#: index.docbook:183
-msgid "The {cat.*} and {mother.*} notation used above is a shorthand for \"all properties\". Alternatively, you may list the columns explicity, but even in 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."
-msgstr "ORGID as {coll.key}"
+#. Tag: para
+#: query_sql.xml:183
+#, no-c-format
+msgid ""
+"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."
+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."
 
-#: index.docbook:192
+#. Tag: programlisting
+#: query_sql.xml:192
+#, 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 "L'identifiant d'une collection"
+"<![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 ""
 
-#: index.docbook:195
+#. Tag: title
+#: query_sql.xml:195
+#, no-c-format
 msgid "Alias and property references"
-msgstr "{[aliasname].id}"
+msgstr "Alias and property references"
 
-#: index.docbook:197
-msgid "For most cases the above alias injection is needed, but for queries relating to more complex mappings like composite properties, inheritance discriminators, collections etc. there are some specific aliases to use to allow Hibernate to inject the proper aliases."
-msgstr "EMPID as {coll.id}"
+#. Tag: para
+#: query_sql.xml:197
+#, no-c-format
+msgid ""
+"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."
+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."
 
-#: index.docbook:202
-msgid "The following table shows the different possibilities of using the alias injection. Note: the alias names in the result are examples, each alias will have a unique and probably different name when used."
-msgstr "L'élément d'une collection"
+#. Tag: para
+#: query_sql.xml:202
+#, no-c-format
+msgid ""
+"The following table shows the different possibilities of using the alias "
+"injection. Note: the alias names in the result are examples, each alias will "
+"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."
 
-#: index.docbook:208
+#. Tag: title
+#: query_sql.xml:208
+#, no-c-format
 msgid "Alias injection names"
-msgstr "{[aliasname].element}"
+msgstr "Alias injection names"
 
-#: index.docbook:219
+#. Tag: entry
+#: query_sql.xml:219
+#, no-c-format
 msgid "Description"
-msgstr "XID as {coll.element}"
+msgstr "Description"
 
-#: index.docbook:221
+#. Tag: entry
+#: query_sql.xml:221
+#, no-c-format
 msgid "Syntax"
-msgstr "Propriété de l'élément dans la collection"
+msgstr "Syntax"
 
-#: index.docbook:223
+#. Tag: entry
+#: query_sql.xml:223
+#, no-c-format
 msgid "Example"
-msgstr "{[aliasname].element.[propertyname]}"
+msgstr "Example"
 
-#: index.docbook:229
+#. Tag: entry
+#: query_sql.xml:229
+#, no-c-format
 msgid "A simple property"
-msgstr "NAME as {coll.element.name}"
+msgstr "A simple property"
 
-#: index.docbook:231
+#. Tag: literal
+#: query_sql.xml:231
+#, no-c-format
 msgid "{[aliasname].[propertyname]"
-msgstr "Toutes les propriétés de l'élément dans la collection"
+msgstr "{[aliasname].[propertyname]"
 
-#: index.docbook:233
+#. Tag: literal
+#: query_sql.xml:233
+#, no-c-format
 msgid "A_NAME as {item.name}"
-msgstr "{[aliasname].element.*}"
+msgstr "A_NAME as {item.name}"
 
-#: index.docbook:237
+#. Tag: entry
+#: query_sql.xml:237
+#, no-c-format
 msgid "A composite property"
-msgstr "{coll.element.*}"
+msgstr "A composite property"
 
-#: index.docbook:239
+#. Tag: literal
+#: query_sql.xml:239
+#, no-c-format
 msgid "{[aliasname].[componentname].[propertyname]}"
-msgstr "Toutes les propriétés de la collection"
+msgstr "{[aliasname].[componentname].[propertyname]}"
 
-#: index.docbook:241
+#. Tag: literal
+#: query_sql.xml:241
+#, no-c-format
 msgid "CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}"
-msgstr "{[aliasname].*}"
+msgstr "CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}"
 
-#: index.docbook:246
+#. Tag: entry
+#: query_sql.xml:246
+#, no-c-format
 msgid "Discriminator of an entity"
-msgstr "{coll.*}"
+msgstr "Discriminator of an entity"
 
-#: index.docbook:248
+#. Tag: literal
+#: query_sql.xml:248
+#, no-c-format
 msgid "{[aliasname].class}"
-msgstr "Requêtes SQL nommées"
+msgstr "{[aliasname].class}"
 
-#: index.docbook:250
+#. Tag: literal
+#: query_sql.xml:250
+#, no-c-format
 msgid "DISC as {item.class}"
-msgstr "Les requêtes SQL nommées peuvent être définies dans le document de mapping et appelées exactement de la même manière qu'un requête HQL nommée. Dans ce cas, nous <emphasis>n'avons pas besoin</emphasis> d'appeler <literal>addEntity()</literal>."
+msgstr "DISC as {item.class}"
 
-#: index.docbook:254
+#. Tag: entry
+#: query_sql.xml:254
+#, no-c-format
 msgid "All properties of an entity"
-msgstr ""
-      "&lt;sql-query name=\"persons\"&gt;\n"
-      "    &lt;return alias=\"person\" class=\"eg.Person\"/&gt;\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"
-      "&lt;/sql-query&gt;"
+msgstr "All properties of an entity"
 
-#: index.docbook:256, index.docbook:304
+#. Tag: literal
+#: query_sql.xml:256 query_sql.xml:304
+#, no-c-format
 msgid "{[aliasname].*}"
-msgstr ""
-      "List people = sess.getNamedQuery(\"persons\")\n"
-      "    .setString(\"namePattern\", namePattern)\n"
-      "    .setMaxResults(50)\n"
-      "    .list();"
+msgstr "{[aliasname].*}"
 
-#: index.docbook:258
+#. Tag: literal
+#: query_sql.xml:258
+#, no-c-format
 msgid "{item.*}"
-msgstr "Les éléments <literal>&lt;return-join&gt;</literal> et <literal>&lt;load-collection&gt;</literal> sont respectivement utilisés pour lier des associations et définir des requêtes qui initialisent des collections."
+msgstr "{item.*}"
 
-#: index.docbook:262
+#. Tag: entry
+#: query_sql.xml:262
+#, no-c-format
 msgid "A collection key"
-msgstr ""
-      "&lt;sql-query name=\"personsWith\"&gt;\n"
-      "    &lt;return alias=\"person\" class=\"eg.Person\"/&gt;\n"
-      "    &lt;return-join alias=\"address\" property=\"person.mailingAddress\"/&gt;\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"
-      "&lt;/sql-query&gt;"
+msgstr "A collection key"
 
-#: index.docbook:264
+#. Tag: literal
+#: query_sql.xml:264
+#, no-c-format
 msgid "{[aliasname].key}"
-msgstr "Une requête SQL nommée peut retourner une valeur scalaire. Vous devez spécifier l'alias de colonne et le type Hibernate utilisant l'élément <literal>&lt;return-scalar&gt;</literal> :"
+msgstr "{[aliasname].key}"
 
-#: index.docbook:266
+#. Tag: literal
+#: query_sql.xml:266
+#, no-c-format
 msgid "ORGID as {coll.key}"
-msgstr ""
-      "&lt;sql-query name=\"mySqlQuery\"&gt;\n"
-      "    &lt;return-scalar column=\"name\" type=\"string\"/&gt;\n"
-      "    &lt;return-scalar column=\"age\" type=\"long\"/&gt;\n"
-      "    SELECT p.NAME AS name,\n"
-      "           p.AGE AS age,\n"
-      "    FROM PERSON p WHERE p.NAME LIKE 'Hiber%'\n"
-      "&lt;/sql-query&gt;"
+msgstr "ORGID as {coll.key}"
 
-#: index.docbook:270
+#. Tag: entry
+#: query_sql.xml:270
+#, no-c-format
 msgid "The id of an collection"
-msgstr "Vous pouvez externaliser les informations de mapping des résultats dans un élément <literal>&lt;resultset&gt;</literal> pour soit les réutiliser dans différentes requêtes nommées, soit à travers l'API <literal>setResultSetMapping()</literal>."
+msgstr "The id of an collection"
 
-#: index.docbook:272
+#. Tag: literal
+#: query_sql.xml:272
+#, no-c-format
 msgid "{[aliasname].id}"
-msgstr ""
-      "&lt;resultset name=\"personAddress\"&gt;\n"
-      "    &lt;return alias=\"person\" class=\"eg.Person\"/&gt;\n"
-      "    &lt;return-join alias=\"address\" property=\"person.mailingAddress\"/&gt;\n"
-      "&lt;/resultset&gt;\n"
-      "\n"
-      "&lt;sql-query name=\"personsWith\" resultset-ref=\"personAddress\"&gt;\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"
-      "&lt;/sql-query&gt;"
+msgstr "{[aliasname].id}"
 
-#: index.docbook:274
+#. Tag: literal
+#: query_sql.xml:274
+#, no-c-format
 msgid "EMPID as {coll.id}"
-msgstr "Utilisation de return-property pour spécifier explicitement les noms des colonnes/alias"
+msgstr "EMPID as {coll.id}"
 
-#: index.docbook:278
+#. Tag: entry
+#: query_sql.xml:278
+#, no-c-format
 msgid "The element of an collection"
-msgstr "Avec <literal>&lt;return-property&gt;</literal> vous pouvez explicitement dire à Hibernate quels alias de colonne utiliser, plutot que d'employer la syntaxe <literal>{}</literal> pour laisser Hibernate injecter ses propres alias."
+msgstr "The element of an collection"
 
-#: index.docbook:280
+#. Tag: literal
+#: query_sql.xml:280
+#, no-c-format
 msgid "{[aliasname].element}"
-msgstr ""
-      "&lt;sql-query name=\"mySqlQuery\"&gt;\n"
-      "    &lt;return alias=\"person\" class=\"eg.Person\"&gt;\n"
-      "        &lt;return-property name=\"name\" column=\"myName\"/&gt;\n"
-      "        &lt;return-property name=\"age\" column=\"myAge\"/&gt;\n"
-      "        &lt;return-property name=\"sex\" column=\"mySex\"/&gt;\n"
-      "    &lt;/return&gt;\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"
-      "&lt;/sql-query&gt;"
+msgstr "{[aliasname].element}"
 
-#: index.docbook:282
+#. Tag: literal
+#: query_sql.xml:282
+#, no-c-format
 msgid "XID as {coll.element}"
-msgstr "<literal>&lt;return-property&gt;</literal> fonctionne aussi avec de multiple colonnes. Cela résout une limitation de la syntaxe <literal>{}</literal> qui ne peut pas permettre une bonne granularité des propriétés multi-colonnes."
+msgstr "XID as {coll.element}"
 
-#: index.docbook:286
+#. Tag: entry
+#: query_sql.xml:286
+#, no-c-format
 msgid "roperty of the element in the collection"
-msgstr ""
-      "&lt;sql-query name=\"organizationCurrentEmployments\"&gt;\n"
-      "    &lt;return alias=\"emp\" class=\"Employment\"&gt;\n"
-      "        &lt;return-property name=\"salary\"&gt;\n"
-      "            &lt;return-column name=\"VALUE\"/&gt;\n"
-      "            &lt;return-column name=\"CURRENCY\"/&gt;\n"
-      "        &lt;/return-property&gt;\n"
-      "        &lt;return-property name=\"endDate\" column=\"myEndDate\"/&gt;\n"
-      "    &lt;/return&gt;\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"
-      "&lt;/sql-query&gt;"
+msgstr "roperty of the element in the collection"
 
-#: index.docbook:288
+#. Tag: literal
+#: query_sql.xml:288
+#, no-c-format
 msgid "{[aliasname].element.[propertyname]}"
-msgstr "Notez que dans cet exemple nous avons utilisé <literal>&lt;return-property&gt;</literal> en combinaison avec la syntaxe <literal>{}</literal> pour l'injection. Cela autorise les utilisateurs à choisir comment ils veulent référencer les colonnes et les propriétés."
+msgstr "{[aliasname].element.[propertyname]}"
 
-#: index.docbook:290
+#. Tag: literal
+#: query_sql.xml:290
+#, no-c-format
 msgid "NAME as {coll.element.name}"
-msgstr "Si votre mapping a un discriminant vous devez utiliser <literal>&lt;return-discriminator&gt;</literal> pour spécifier la colonne discriminante."
+msgstr "NAME as {coll.element.name}"
 
-#: index.docbook:294
+#. Tag: entry
+#: query_sql.xml:294
+#, no-c-format
 msgid "All properties of the element in the collection"
-msgstr "Utilisation de procédures stockées pour les requêtes"
+msgstr "All properties of the element in the collection"
 
-#: index.docbook:296
+#. Tag: literal
+#: query_sql.xml:296
+#, no-c-format
 msgid "{[aliasname].element.*}"
-msgstr "Hibernate 3 introduit le support des requêtes via procédures stockées et les fonctions. La documentation suivante est valable pour les deux. Les procédures stockées/fonctions doivent retourner l'ensemble de résultats en tant que premier paramètre sortant (NdT: \"out-parameter\") pour être capable de fonctionner avec Hibernate. Un exemple d'une telle procédure stockée en Oracle 9 et version supérieure :"
+msgstr "{[aliasname].element.*}"
 
-#: index.docbook:298
+#. Tag: literal
+#: query_sql.xml:298
+#, no-c-format
 msgid "{coll.element.*}"
-msgstr ""
-      "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 "{coll.element.*}"
 
-#: index.docbook:302
+#. Tag: entry
+#: query_sql.xml:302
+#, no-c-format
 msgid "All properties of the the collection"
-msgstr "Pour utiliser cette requête dans Hibernate vous avez besoin de la mapper via une requête nommée."
+msgstr "All properties of the the collection"
 
-#: index.docbook:306
+#. Tag: literal
+#: query_sql.xml:306
+#, no-c-format
 msgid "{coll.*}"
-msgstr "Notez que les procédures stockées retournent, pour le moment, seulement des scalaires et des entités. <literal>&lt;return-join&gt;</literal> et <literal>&lt;load-collection&gt;</literal> ne sont pas supportés."
+msgstr "{coll.*}"
 
-#: index.docbook:315
+#. Tag: title
+#: query_sql.xml:315
+#, no-c-format
 msgid "Returning non-managed entities"
-msgstr "Règles/limitations lors de l'utilisation des procédures stockées"
+msgstr "Returning non-managed entities"
 
-#: index.docbook:317
-msgid "It is possible to apply a ResultTransformer to native sql queries. Allowing it to e.g. return non-managed entities."
-msgstr "Pur utiliser des procédures stockées avec Hibernate, les procédures doivent suivre certaines règles. Si elles ne suivent pas ces règles, elles ne sont pas utilisables avec Hibernate. Si vous voulez encore utiliser ces procédures vous devez les exécuter via <literal>session.connection()</literal>. Les règles sont différentes pour chaque base de données, puisque les vendeurs de base de données ont des sémantiques/syntaxes différentes pour les procédures stockées."
+#. Tag: para
+#: query_sql.xml:317
+#, no-c-format
+msgid ""
+"It is possible to apply a ResultTransformer to native sql queries. Allowing "
+"it to e.g. 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."
 
-#: index.docbook:319
+#. Tag: programlisting
+#: query_sql.xml:319
+#, no-c-format
 msgid ""
-      "<![CDATA[sess.createSQLQuery(\"SELECT NAME, BIRTHDATE FROM CATS\")\n"
-      "        .setResultTransformer(Transformers.aliasToBean(CatDTO.class))]]>"
-msgstr "Les requêtes de procédures stockées ne peuvent pas être paginées avec <literal>setFirstResult()/setMaxResults()</literal>."
+"<![CDATA[sess.createSQLQuery(\"SELECT NAME, BIRTHDATE FROM CATS\")\n"
+"        .setResultTransformer(Transformers.aliasToBean(CatDTO.class))]]>"
+msgstr ""
 
-#: index.docbook:329
+#. Tag: para
+#: query_sql.xml:329
+#, no-c-format
 msgid "a result transformer"
-msgstr "Pour Sybase ou MS SQL server les règles suivantes s'appliquent :"
+msgstr "a result transformer"
 
-#: index.docbook:333
-msgid "The above query will return a list of <literal>CatDTO</literal> which has been instantiated and injected the values of NAME and BIRTHNAME into its corresponding properties or fields."
-msgstr "La procédure doit retourner un ensemble de résultats. Notez que comme ces serveurs peuvent retourner de multiples ensembles de résultats et mettre à jour des compteurs, Hibernate itérera les résultats et prendra le premier résultat qui est un ensemble de résultat comme valeur de retour. Tout le reste sera ignoré."
+#. Tag: para
+#: query_sql.xml:333
+#, 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."
 
-#: index.docbook:340
+#. Tag: title
+#: query_sql.xml:340
+#, no-c-format
 msgid "Handling inheritance"
-msgstr "Si vous pouvez activer <literal>SET NOCOUNT ON</literal> dans votre procédure, elle sera probablement plus efficace, mais ce n'est pas une obligation."
+msgstr "Handling inheritance"
 
-#: index.docbook:342
-msgid "Native sql queries which query for entities that is mapped as part of an inheritance must include all properties for the baseclass and all it subclasses."
-msgstr "SQL personnalisé pour créer, mettre à jour et effacer"
+#. Tag: para
+#: query_sql.xml:342
+#, no-c-format
+msgid ""
+"Native sql queries which query for entities that is mapped as part of an "
+"inheritance must include all properties for the baseclass and all it "
+"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."
 
-#: index.docbook:348
+#. Tag: title
+#: query_sql.xml:348
+#, no-c-format
 msgid "Parameters"
-msgstr "Hibernate3 peut utiliser des expression SQL personnalisées pour des opérations de création, de mise à jour, et de suppression. Les objets persistants les classes et les collections dans Hibernate contiennent déjà un ensemble de chaînes de caractères générées lors de la configuration (insertsql, deletesql, updatesql, etc). Les tages de mapping <literal>&lt;sql-insert&gt;</literal>, <literal>&lt;sql-delete&gt;</literal>, et <literal>&lt;sql-update&gt;</literal> surchargent ces chaînes de caractères :"
+msgstr "Parameters"
 
-#: index.docbook:350
+#. Tag: para
+#: query_sql.xml:350
+#, no-c-format
 msgid "Native sql queries support positional as well as named parameters:"
-msgstr ""
-      "&lt;class name=\"Person\"&gt;\n"
-      "    &lt;id name=\"id\"&gt;\n"
-      "        &lt;generator class=\"increment\"/&gt;\n"
-      "    &lt;/id&gt;\n"
-      "    &lt;property name=\"name\" not-null=\"true\"/&gt;\n"
-      "    &lt;sql-insert&gt;INSERT INTO PERSON (NAME, ID) VALUES ( UPPER(?), ? )&lt;/sql-insert&gt;\n"
-      "    &lt;sql-update&gt;UPDATE PERSON SET NAME=UPPER(?) WHERE ID=?&lt;/sql-update&gt;\n"
-      "    &lt;sql-delete&gt;DELETE FROM PERSON WHERE ID=?&lt;/sql-delete&gt;\n"
-      "&lt;/class&gt;"
+msgstr "Native sql queries support positional as well as named parameters:"
 
-#: index.docbook:353
+#. Tag: programlisting
+#: query_sql.xml:353
+#, 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();          ]]>"
-msgstr "Le SQL est directement exécuté dans votre base de données, donc vous êtes libre d'utiliser le dialecte que vous souhaitez. Cela réduira bien sûr la portabilité de votre mapping si vous utilisez du SQL spécifique à votre base de données."
+"<![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();          ]]>"
+msgstr ""
 
-#: index.docbook:361
+#. Tag: title
+#: query_sql.xml:361
+#, no-c-format
 msgid "Named SQL queries"
-msgstr "Les procédures stockées sont supportées si l'attribut <literal>callable</literal> est paramétré :"
+msgstr "Requêtes SQL nommées"
 
-#: index.docbook:363
-msgid "Named SQL queries may be defined in the mapping document and called in exactly the same way as a named HQL query. In this case, we do <emphasis>not</emphasis> need to call <literal>addEntity()</literal>."
+#. Tag: para
+#: query_sql.xml:363
+#, no-c-format
+msgid ""
+"Named SQL queries may be defined in the mapping document and called in "
+"exactly the same way as a named HQL query. In this case, we do "
+"<emphasis>not</emphasis> need to call <literal>addEntity()</literal>."
 msgstr ""
-      "&lt;class name=\"Person\"&gt;\n"
-      "    &lt;id name=\"id\"&gt;\n"
-      "        &lt;generator class=\"increment\"/&gt;\n"
-      "    &lt;/id&gt;\n"
-      "    &lt;property name=\"name\" not-null=\"true\"/&gt;\n"
-      "    &lt;sql-insert callable=\"true\"&gt;{call createPerson (?, ?)}&lt;/sql-insert&gt;\n"
-      "    &lt;sql-delete callable=\"true\"&gt;{? = call deletePerson (?)}&lt;/sql-delete&gt;\n"
-      "    &lt;sql-update callable=\"true\"&gt;{? = call updatePerson (?, ?)}&lt;/sql-update&gt;\n"
-      "&lt;/class&gt;"
+"Les requêtes SQL nommées peuvent être définies dans le document de mapping "
+"et appelées exactement de la même manière qu'un requête HQL nommée. Dans ce "
+"cas, nous <emphasis>n'avons pas besoin</emphasis> d'appeler "
+"<literal>addEntity()</literal>."
 
-#: index.docbook:368
+#. Tag: programlisting
+#: query_sql.xml:368
+#, 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 "L'ordre des paramètres positionnels est actuellement vital, car ils doivent être dans la même séquence qu'Hibernate les attend."
+"<![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 ""
 
-#: index.docbook:370
+#. Tag: programlisting
+#: query_sql.xml:370
+#, no-c-format
 msgid ""
-      "<![CDATA[List people = sess.getNamedQuery(\"persons\")\n"
-      "    .setString(\"namePattern\", namePattern)\n"
-      "    .setMaxResults(50)\n"
-      "    .list();]]>"
-msgstr "Vous pouvez voir l'ordre attendu en activant les journaux de debug pour le niveau <literal>org.hibernate.persister.entity</literal> level. Avec ce niveau activé, Hibernate imprimera le SQL statique qui est utilisé pour créer, mettre à jour, supprimer, etc. des entités. (Pour voir la séquence attendue, rappelez-vous de ne pas inclure votre SQL personnalisé dans les fichiers de mapping de manière à surcharger le SQL statique généré par Hibernate.)"
+"<![CDATA[List people = sess.getNamedQuery(\"persons\")\n"
+"    .setString(\"namePattern\", namePattern)\n"
+"    .setMaxResults(50)\n"
+"    .list();]]>"
+msgstr ""
 
-#: index.docbook:372
-msgid "The <literal>&lt;return-join&gt;</literal> and <literal>&lt;load-collection&gt;</literal> elements are used to join associations and define queries which initialize collections, respectively."
-msgstr "Les procédures stockées sont dans la plupart des cas (lire : il vaut mieux le faire) requises pour retourner le nombre de lignes insérées/mises à jour/supprimées, puisque Hibernate fait quelques vérifications de succès lors de l'exécution de l'expression. Hibernate inscrit toujours la première expression comme un paramètre de sortie numérique pour les opérations CUD :"
+#. Tag: para
+#: query_sql.xml:372
+#, no-c-format
+msgid ""
+"The <literal>&lt;return-join&gt;</literal> and <literal>&lt;load-"
+"collection&gt;</literal> elements are used to join associations and define "
+"queries which initialize collections, respectively."
+msgstr ""
+"Les éléments <literal>&lt;return-join&gt;</literal> et <literal>&lt;load-"
+"collection&gt;</literal> sont respectivement utilisés pour lier des "
+"associations et définir des requêtes qui initialisent des collections."
 
-#: index.docbook:377
+#. Tag: programlisting
+#: query_sql.xml:377
+#, 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>]]>"
+"<![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 ""
-      "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;"
 
-#: index.docbook:379
-msgid "A named SQL query may return a scalar value. You must declare the column alias and Hibernate type using the <literal>&lt;return-scalar&gt;</literal> element:"
-msgstr "SQL personnalisé pour le chargement"
+#. Tag: para
+#: query_sql.xml:379
+#, 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 ""
+"Une requête SQL nommée peut retourner une valeur scalaire. Vous devez "
+"spécifier l'alias de colonne et le type Hibernate utilisant l'élément "
+"<literal>&lt;return-scalar&gt;</literal> :"
 
-#: index.docbook:383
+#. Tag: programlisting
+#: query_sql.xml:383
+#, 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 "Vous pouvez aussi déclarer vos propres requêtes SQL (ou HQL) pour le chargement d'entité :"
+"<![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 ""
 
-#: index.docbook:385
-msgid "You can externalize the resultset mapping informations in a <literal>&lt;resultset&gt;</literal> element to either reuse them accross several named queries or through the <literal>setResultSetMapping()</literal> API."
+#. Tag: para
+#: query_sql.xml:385
+#, no-c-format
+msgid ""
+"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."
 msgstr ""
-      "&lt;sql-query name=\"person\"&gt;\n"
-      "    &lt;return alias=\"pers\" class=\"Person\" lock-mode=\"upgrade\"/&gt;\n"
-      "    SELECT NAME AS {pers.name}, ID AS {pers.id}\n"
-      "    FROM PERSON\n"
-      "    WHERE ID=?\n"
-      "    FOR UPDATE\n"
-      "&lt;/sql-query&gt;"
+"Vous pouvez externaliser les informations de mapping des résultats dans un "
+"élément <literal>&lt;resultset&gt;</literal> pour soit les réutiliser dans "
+"différentes requêtes nommées, soit à travers l'API "
+"<literal>setResultSetMapping()</literal>."
 
-#: index.docbook:390
+#. Tag: programlisting
+#: query_sql.xml:390
+#, 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 "Ceci est juste une déclaration de requête nommée, comme vu plus tôt. Vous pouvez référencer cette requête nommée dans un mapping de classe :"
+"<![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 ""
 
-#: index.docbook:392
-msgid "You can alternatively use the resultset mapping information in your hbm files directly in java code."
+#. Tag: para
+#: query_sql.xml:392
+#, no-c-format
+msgid ""
+"You can alternatively use the resultset mapping information in your hbm "
+"files directly in java code."
 msgstr ""
-      "&lt;class name=\"Person\"&gt;\n"
-      "    &lt;id name=\"id\"&gt;\n"
-      "        &lt;generator class=\"increment\"/&gt;\n"
-      "    &lt;/id&gt;\n"
-      "    &lt;property name=\"name\" not-null=\"true\"/&gt;\n"
-      "    &lt;loader query-ref=\"person\"/&gt;\n"
-      "&lt;/class&gt;"
+"You can alternatively use the resultset mapping information in your hbm "
+"files directly in java code."
 
-#: index.docbook:395
+#. Tag: programlisting
+#: query_sql.xml:395
+#, 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 "Ceci fonctionne même avec des procédures stockées."
+"<![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 ""
 
-#: index.docbook:398
+#. Tag: title
+#: query_sql.xml:398
+#, no-c-format
 msgid "Using return-property to explicitly specify column/alias names"
-msgstr "Vous pouvez même définir une requête pour le chargement d'une collection :"
+msgstr ""
+"Utilisation de return-property pour spécifier explicitement les noms des "
+"colonnes/alias"
 
-#: index.docbook:401
-msgid "With <literal>&lt;return-property&gt;</literal> you can explicitly tell Hibernate what column aliases to use, instead of using the <literal>{}</literal>-syntax to let Hibernate inject its own aliases."
+#. Tag: para
+#: query_sql.xml:401
+#, no-c-format
+msgid ""
+"With <literal>&lt;return-property&gt;</literal> you can explicitly tell "
+"Hibernate what column aliases to use, instead of using the <literal>{}</"
+"literal>-syntax to let Hibernate inject its own aliases."
 msgstr ""
-      "&lt;set name=\"employments\" inverse=\"true\"&gt;\n"
-      "    &lt;key/&gt;\n"
-      "    &lt;one-to-many class=\"Employment\"/&gt;\n"
-      "    &lt;loader query-ref=\"employments\"/&gt;\n"
-      "&lt;/set&gt;"
+"Avec <literal>&lt;return-property&gt;</literal> vous pouvez explicitement "
+"dire à Hibernate quels alias de colonne utiliser, plutot que d'employer la "
+"syntaxe <literal>{}</literal> pour laisser Hibernate injecter ses propres "
+"alias."
 
-#: index.docbook:406
+#. Tag: programlisting
+#: query_sql.xml:406
+#, 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"
-      "]]>"
+"<![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 ""
-      "&lt;sql-query name=\"employments\"&gt;\n"
-      "    &lt;load-collection alias=\"emp\" role=\"Person.employments\"/&gt;\n"
-      "    SELECT {emp.*}\n"
-      "    FROM EMPLOYMENT emp\n"
-      "    WHERE EMPLOYER = :id\n"
-      "    ORDER BY STARTDATE ASC, EMPLOYEE ASC\n"
-      "&lt;/sql-query&gt;"
 
-#: index.docbook:408
-msgid "<literal>&lt;return-property&gt;</literal> also works with multiple columns. This solves a limitation with the <literal>{}</literal>-syntax which can not allow fine grained control of multi-column properties."
-msgstr "Vous pourriez même définir un chargeur d'entité qui charge une collection par jointure :"
+#. Tag: para
+#: query_sql.xml:408
+#, 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 can not "
+"allow fine grained control of multi-column properties."
+msgstr ""
+"<literal>&lt;return-property&gt;</literal> fonctionne aussi avec de multiple "
+"colonnes. Cela résout une limitation de la syntaxe <literal>{}</literal> qui "
+"ne peut pas permettre une bonne granularité des propriétés multi-colonnes."
 
-#: index.docbook:413
+#. Tag: programlisting
+#: query_sql.xml:413
+#, 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>]]>"
+"<![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 ""
-      "&lt;sql-query name=\"person\"&gt;\n"
-      "    &lt;return alias=\"pers\" class=\"Person\"/&gt;\n"
-      "    &lt;return-join alias=\"emp\" property=\"pers.employments\"/&gt;\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"
-      "&lt;/sql-query&gt;"
 
-#: index.docbook:415
-msgid "Notice that in this example we used <literal>&lt;return-property&gt;</literal> in combination with the <literal>{}</literal>-syntax for injection. Allowing users to choose how they want to refer column and properties."
+#. Tag: para
+#: query_sql.xml:415
+#, no-c-format
+msgid ""
+"Notice that in this example we used <literal>&lt;return-property&gt;</"
+"literal> in combination with the <literal>{}</literal>-syntax for injection. "
+"Allowing users to choose how they want to refer column and properties."
 msgstr ""
+"Notez que dans cet exemple nous avons utilisé <literal>&lt;return-"
+"property&gt;</literal> en combinaison avec la syntaxe <literal>{}</literal> "
+"pour l'injection. Cela autorise les utilisateurs à choisir comment ils "
+"veulent référencer les colonnes et les propriétés."
 
-#: index.docbook:420
-msgid "If your mapping has a discriminator you must use <literal>&lt;return-discriminator&gt;</literal> to specify the discriminator column."
+#. Tag: para
+#: query_sql.xml:420
+#, 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 votre mapping a un discriminant vous devez utiliser <literal>&lt;return-"
+"discriminator&gt;</literal> pour spécifier la colonne discriminante."
 
-#: index.docbook:426
+#. Tag: title
+#: query_sql.xml:426
+#, no-c-format
 msgid "Using stored procedures for querying"
-msgstr ""
+msgstr "Utilisation de procédures stockées pour les requêtes"
 
-#: index.docbook:428
-msgid "Hibernate 3 introduces support for queries via stored procedures and functions. Most of the following documentation is equivalent for both. The stored procedure/function must return a resultset as the first out-parameter to be able to work with Hibernate. An example of such a stored function in Oracle 9 and higher is as follows:"
+#. Tag: para
+#: query_sql.xml:428
+#, no-c-format
+msgid ""
+"Hibernate 3 introduces support for queries via stored procedures and "
+"functions. Most of the following documentation is equivalent for both. The "
+"stored procedure/function must return a resultset as the first out-parameter "
+"to be able to work with Hibernate. An example of such a stored function in "
+"Oracle 9 and higher is as follows:"
 msgstr ""
+"Hibernate 3 introduit le support des requêtes via procédures stockées et les "
+"fonctions. La documentation suivante est valable pour les deux. Les "
+"procédures stockées/fonctions doivent retourner l'ensemble de résultats en "
+"tant que premier paramètre sortant (NdT: \"out-parameter\") pour être "
+"capable de fonctionner avec Hibernate. Un exemple d'une telle procédure "
+"stockée en Oracle 9 et version supérieure :"
 
-#: index.docbook:434
+#. Tag: programlisting
+#: query_sql.xml:434
+#, 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;]]>"
+"<![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 ""
 
-#: index.docbook:436
+#. Tag: para
+#: query_sql.xml:436
+#, no-c-format
 msgid "To use this query in Hibernate you need to map it via a named query."
 msgstr ""
+"Pour utiliser cette requête dans Hibernate vous avez besoin de la mapper via "
+"une requête nommée."
 
-#: index.docbook:439
+#. Tag: programlisting
+#: query_sql.xml:439
+#, 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>]]>"
+"<![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 ""
 
-#: index.docbook:441
-msgid "Notice stored procedures currently only return scalars and entities. <literal>&lt;return-join&gt;</literal> and <literal>&lt;load-collection&gt;</literal> are not supported."
+#. Tag: para
+#: query_sql.xml:441
+#, no-c-format
+msgid ""
+"Notice stored procedures currently only return scalars and entities. "
+"<literal>&lt;return-join&gt;</literal> and <literal>&lt;load-collection&gt;</"
+"literal> are not supported."
 msgstr ""
+"Notez que les procédures stockées retournent, pour le moment, seulement des "
+"scalaires et des entités. <literal>&lt;return-join&gt;</literal> et "
+"<literal>&lt;load-collection&gt;</literal> ne sont pas supportés."
 
-#: index.docbook:446
+#. Tag: title
+#: query_sql.xml:446
+#, no-c-format
 msgid "Rules/limitations for using stored procedures"
-msgstr ""
+msgstr "Règles/limitations lors de l'utilisation des procédures stockées"
 
-#: index.docbook:448
-msgid "To use stored procedures with Hibernate the procedures/functions have to follow some rules. If they do not follow those rules they are not usable with Hibernate. If you still want to use these procedures you have to execute them via <literal>session.connection()</literal>. The rules are different for each database, since database vendors have different stored procedure semantics/syntax."
+#. Tag: para
+#: query_sql.xml:448
+#, no-c-format
+msgid ""
+"To use stored procedures with Hibernate the procedures/functions have to "
+"follow some rules. If they do not follow those rules they are not usable "
+"with Hibernate. If you still want to use these procedures you have to "
+"execute them via <literal>session.connection()</literal>. The rules are "
+"different for each database, since database vendors have different stored "
+"procedure semantics/syntax."
 msgstr ""
+"Pur utiliser des procédures stockées avec Hibernate, les procédures doivent "
+"suivre certaines règles. Si elles ne suivent pas ces règles, elles ne sont "
+"pas utilisables avec Hibernate. Si vous voulez encore utiliser ces "
+"procédures vous devez les exécuter via <literal>session.connection()</"
+"literal>. Les règles sont différentes pour chaque base de données, puisque "
+"les vendeurs de base de données ont des sémantiques/syntaxes différentes "
+"pour les procédures stockées."
 
-#: index.docbook:455
-msgid "Stored procedure queries can't be paged with <literal>setFirstResult()/setMaxResults()</literal>."
+#. Tag: para
+#: query_sql.xml:455
+#, no-c-format
+msgid ""
+"Stored procedure queries can't be paged with <literal>setFirstResult()/"
+"setMaxResults()</literal>."
 msgstr ""
+"Les requêtes de procédures stockées ne peuvent pas être paginées avec "
+"<literal>setFirstResult()/setMaxResults()</literal>."
 
-#: index.docbook:458
-msgid "Recommended call form is standard SQL92: <literal>{ ? = call functionName(&lt;parameters&gt;) }</literal> or <literal>{ ? = call procedureName(&lt;parameters&gt;}</literal>. Native call syntax is not supported."
+#. Tag: para
+#: query_sql.xml:458
+#, no-c-format
+msgid ""
+"Recommended call form is standard SQL92: <literal>{ ? = call functionName"
+"(&lt;parameters&gt;) }</literal> or <literal>{ ? = call procedureName(&lt;"
+"parameters&gt;}</literal>. Native call syntax is not supported."
 msgstr ""
+"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."
 
-#: index.docbook:463
+#. Tag: para
+#: query_sql.xml:463
+#, no-c-format
 msgid "For Oracle the following rules apply:"
-msgstr ""
+msgstr "Pour Oracle les règles suivantes s'appliquent :"
 
-#: index.docbook:467
-msgid "A function must return a result set. The first parameter of a procedure must be an <literal>OUT</literal> that returns a result set. This is done by using a <literal>SYS_REFCURSOR</literal> type in Oracle 9 or 10. In Oracle you need to define a <literal>REF CURSOR</literal> type, see Oracle literature."
+#. Tag: para
+#: query_sql.xml:467
+#, 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 "
+"using a <literal>SYS_REFCURSOR</literal> type in Oracle 9 or 10. In Oracle "
+"you need to define a <literal>REF CURSOR</literal> type, see Oracle "
+"literature."
 msgstr ""
+"La procédure doit retourner un ensemble de résultats. Le prmeier paramètre "
+"d'une procédure doit être un <literal>OUT</literal> qui retourne un ensemble "
+"de résultats. Ceci est fait en retournant un <literal>SYS_REFCURSOR</"
+"literal> dans Oracle 9 ou 10. Dans Oracle vous avez besoin de définir un "
+"type <literal>REF CURSOR</literal>."
 
-#: index.docbook:476
+#. Tag: para
+#: query_sql.xml:476
+#, no-c-format
 msgid "For Sybase or MS SQL server the following rules apply:"
-msgstr ""
+msgstr "Pour Sybase ou MS SQL server les règles suivantes s'appliquent :"
 
-#: index.docbook:480
-msgid "The procedure must return a result set. Note that since these servers can/will return multiple result sets and update counts, Hibernate will iterate the results and take the first result that is a result set as its return value. Everything else will be discarded."
+#. Tag: para
+#: query_sql.xml:480
+#, no-c-format
+msgid ""
+"The procedure must return a result set. Note that since these servers can/"
+"will return multiple result sets and update counts, Hibernate will iterate "
+"the results and take the first result that is a result set as its return "
+"value. Everything else will be discarded."
 msgstr ""
+"La procédure doit retourner un ensemble de résultats. Notez que comme ces "
+"serveurs peuvent retourner de multiples ensembles de résultats et mettre à "
+"jour des compteurs, Hibernate itérera les résultats et prendra le premier "
+"résultat qui est un ensemble de résultat comme valeur de retour. Tout le "
+"reste sera ignoré."
 
-#: index.docbook:488
-msgid "If you can enable <literal>SET NOCOUNT ON</literal> in your procedure it will probably be more efficient, but this is not a requirement."
+#. Tag: para
+#: query_sql.xml:488
+#, 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 vous pouvez activer <literal>SET NOCOUNT ON</literal> dans votre "
+"procédure, elle sera probablement plus efficace, mais ce n'est pas une "
+"obligation."
 
-#: index.docbook:498
+#. Tag: title
+#: query_sql.xml:498
+#, no-c-format
 msgid "Custom SQL for create, update and delete"
-msgstr ""
+msgstr "SQL personnalisé pour créer, mettre à jour et effacer"
 
-#: index.docbook:500
-msgid "Hibernate3 can use custom SQL statements for create, update, and delete operations. The class and collection persisters in Hibernate already contain a set of configuration time generated strings (insertsql, deletesql, updatesql etc.). The mapping tags <literal>&lt;sql-insert&gt;</literal>, <literal>&lt;sql-delete&gt;</literal>, and <literal>&lt;sql-update&gt;</literal> override these strings:"
+#. Tag: para
+#: query_sql.xml:500
+#, no-c-format
+msgid ""
+"Hibernate3 can use custom SQL statements for create, update, and delete "
+"operations. The class and collection persisters in Hibernate already contain "
+"a set of configuration time generated strings (insertsql, deletesql, "
+"updatesql etc.). The mapping tags <literal>&lt;sql-insert&gt;</literal>, "
+"<literal>&lt;sql-delete&gt;</literal>, and <literal>&lt;sql-update&gt;</"
+"literal> override these strings:"
 msgstr ""
+"Hibernate3 peut utiliser des expression SQL personnalisées pour des "
+"opérations de création, de mise à jour, et de suppression. Les objets "
+"persistants les classes et les collections dans Hibernate contiennent déjà "
+"un ensemble de chaînes de caractères générées lors de la configuration "
+"(insertsql, deletesql, updatesql, etc). Les tages de mapping <literal>&lt;"
+"sql-insert&gt;</literal>, <literal>&lt;sql-delete&gt;</literal>, et "
+"<literal>&lt;sql-update&gt;</literal> surchargent ces chaînes de caractères :"
 
-#: index.docbook:508
+#. Tag: programlisting
+#: query_sql.xml:508
+#, 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>]]>"
+"<![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 ""
 
-#: index.docbook:510
-msgid "The SQL is directly executed in your database, so you are free to use any dialect you like. This will of course reduce the portability of your mapping if you use database specific SQL."
+#. Tag: para
+#: query_sql.xml:510
+#, no-c-format
+msgid ""
+"The SQL is directly executed in your database, so you are free to use any "
+"dialect you like. This will of course reduce the portability of your mapping "
+"if you use database specific SQL."
 msgstr ""
+"Le SQL est directement exécuté dans votre base de données, donc vous êtes "
+"libre d'utiliser le dialecte que vous souhaitez. Cela réduira bien sûr la "
+"portabilité de votre mapping si vous utilisez du SQL spécifique à votre base "
+"de données."
 
-#: index.docbook:514
-msgid "Stored procedures are supported if the <literal>callable</literal> attribute is set:"
+#. Tag: para
+#: query_sql.xml:514
+#, no-c-format
+msgid ""
+"Stored procedures are supported if the <literal>callable</literal> attribute "
+"is set:"
 msgstr ""
+"Les procédures stockées sont supportées si l'attribut <literal>callable</"
+"literal> est paramétré :"
 
-#: index.docbook:517
+#. Tag: programlisting
+#: query_sql.xml:517
+#, 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>]]>"
+"<![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 ""
 
-#: index.docbook:519
-msgid "The order of the positional parameters are currently vital, as they must be in the same sequence as Hibernate expects them."
+#. Tag: para
+#: query_sql.xml:519
+#, no-c-format
+msgid ""
+"The order of the positional parameters are currently vital, as they must be "
+"in the same sequence as Hibernate expects them."
 msgstr ""
+"L'ordre des paramètres positionnels est actuellement vital, car ils doivent "
+"être dans la même séquence qu'Hibernate les attend."
 
-#: index.docbook:522
-msgid "You can see the expected order by enabling debug logging for the <literal>org.hibernate.persister.entity</literal> level. With this level enabled Hibernate will print out the static SQL that is used to create, update, delete etc. entities. (To see the expected sequence, remember to not include your custom SQL in the mapping files as that will override the Hibernate generated static sql.)"
+#. Tag: para
+#: query_sql.xml:522
+#, no-c-format
+msgid ""
+"You can see the expected order by enabling debug logging for the "
+"<literal>org.hibernate.persister.entity</literal> level. With this level "
+"enabled Hibernate will print out the static SQL that is used to create, "
+"update, delete etc. entities. (To see the expected sequence, remember to not "
+"include your custom SQL in the mapping files as that will override the "
+"Hibernate generated static sql.)"
 msgstr ""
+"Vous pouvez voir l'ordre attendu en activant les journaux de debug pour le "
+"niveau <literal>org.hibernate.persister.entity</literal> level. Avec ce "
+"niveau activé, Hibernate imprimera le SQL statique qui est utilisé pour "
+"créer, mettre à jour, supprimer, etc. des entités. (Pour voir la séquence "
+"attendue, rappelez-vous de ne pas inclure votre SQL personnalisé dans les "
+"fichiers de mapping de manière à surcharger le SQL statique généré par "
+"Hibernate.)"
 
-#: index.docbook:529
-msgid "The stored procedures are in most cases (read: better do it than not) required to return the number of rows inserted/updated/deleted, as Hibernate 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:"
+#. Tag: para
+#: query_sql.xml:529
+#, no-c-format
+msgid ""
+"The stored procedures are in most cases (read: better do it than not) "
+"required to return the number of rows inserted/updated/deleted, as Hibernate "
+"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 ""
+"Les procédures stockées sont dans la plupart des cas (lire : il vaut mieux "
+"le faire) requises pour retourner le nombre de lignes insérées/mises à jour/"
+"supprimées, puisque Hibernate fait quelques vérifications de succès lors de "
+"l'exécution de l'expression. Hibernate inscrit toujours la première "
+"expression comme un paramètre de sortie numérique pour les opérations CUD :"
 
-#: index.docbook:535
+#. Tag: programlisting
+#: query_sql.xml:535
+#, 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;]]>"
+"<![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 ""
 
-#: index.docbook:539
+#. Tag: title
+#: query_sql.xml:539
+#, no-c-format
 msgid "Custom SQL for loading"
-msgstr ""
+msgstr "SQL personnalisé pour le chargement"
 
-#: index.docbook:541
+#. Tag: para
+#: query_sql.xml:541
+#, no-c-format
 msgid "You may also declare your own SQL (or HQL) queries for entity loading:"
 msgstr ""
+"Vous pouvez aussi déclarer vos propres requêtes SQL (ou HQL) pour le "
+"chargement d'entité :"
 
-#: index.docbook:544
+#. Tag: programlisting
+#: query_sql.xml:544
+#, 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>]]>"
+"<![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 ""
 
-#: index.docbook:546
-msgid "This is just a named query declaration, as discussed earlier. You may reference this named query in a class mapping:"
+#. Tag: para
+#: query_sql.xml:546
+#, no-c-format
+msgid ""
+"This is just a named query declaration, as discussed earlier. You may "
+"reference this named query in a class mapping:"
 msgstr ""
+"Ceci est juste une déclaration de requête nommée, comme vu plus tôt. Vous "
+"pouvez référencer cette requête nommée dans un mapping de classe :"
 
-#: index.docbook:549
+#. Tag: programlisting
+#: query_sql.xml:549
+#, 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>]]>"
+"<![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 ""
 
-#: index.docbook:551
+#. Tag: para
+#: query_sql.xml:551
+#, no-c-format
 msgid "This even works with stored procedures."
-msgstr ""
+msgstr "Ceci fonctionne même avec des procédures stockées."
 
-#: index.docbook:553
+#. Tag: para
+#: query_sql.xml:553
+#, no-c-format
 msgid "You may even define a query for collection loading:"
 msgstr ""
+"Vous pouvez même définir une requête pour le chargement d'une collection :"
 
-#: index.docbook:555
+#. Tag: programlisting
+#: query_sql.xml:555
+#, 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>]]>"
+"<![CDATA[<set name=\"employments\" inverse=\"true\">\n"
+"    <key/>\n"
+"    <one-to-many class=\"Employment\"/>\n"
+"    <loader query-ref=\"employments\"/>\n"
+"</set>]]>"
 msgstr ""
 
-#: index.docbook:557
+#. Tag: programlisting
+#: query_sql.xml:557
+#, 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>]]>"
+"<![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 ""
 
-#: index.docbook:559
-msgid "You could even define an entity loader that loads a collection by join fetching:"
+#. Tag: para
+#: query_sql.xml:559
+#, no-c-format
+msgid ""
+"You could even define an entity loader that loads a collection by join "
+"fetching:"
 msgstr ""
+"Vous pourriez même définir un chargeur d'entité qui charge une collection "
+"par jointure :"
 
-#: index.docbook:562
+#. Tag: programlisting
+#: query_sql.xml:562
+#, 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>]]>"
+"<![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 ""
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-

Modified: core/trunk/documentation/manual/translations/fr-FR/content/session_api.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/session_api.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/session_api.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,1220 +1,2267 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: session_api.xml:5
+#, no-c-format
 msgid "Working with objects"
 msgstr "Travailler avec des objets"
 
-#: index.docbook:7
-msgid "Hibernate is a full object/relational mapping solution that not only shields the developer from the details of the underlying database management system, but also offers <emphasis>state management</emphasis> of objects. This is, contrary to the management of SQL <literal>statements</literal> in common JDBC/SQL persistence layers, a very natural object-oriented view of persistence in Java applications."
-msgstr "Hibernate est une solution de mapping objet/relationnel complète qui ne masque pas seulement au développpeur les détails du système de gestion de base de données sous-jacent, mais offre aussi <emphasis>la gestion d'état</emphasis> des objets. C'est, contrairement à la gestion de <literal>statements</literal> SQL dans les couches de persistance habituelles JDBC/SQL, une vue orientée objet très naturelle de la persistance dans les applications Java."
+#. Tag: para
+#: session_api.xml:7
+#, 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, "
+"but also offers <emphasis>state management</emphasis> of objects. This is, "
+"contrary to the management of SQL <literal>statements</literal> in common "
+"JDBC/SQL persistence layers, a very natural object-oriented view of "
+"persistence in Java applications."
+msgstr ""
+"Hibernate est une solution de mapping objet/relationnel complète qui ne "
+"masque pas seulement au développpeur les détails du système de gestion de "
+"base de données sous-jacent, mais offre aussi <emphasis>la gestion d'état</"
+"emphasis> des objets. C'est, contrairement à la gestion de "
+"<literal>statements</literal> SQL dans les couches de persistance "
+"habituelles JDBC/SQL, une vue orientée objet très naturelle de la "
+"persistance dans les applications Java."
 
-#: index.docbook:16
-msgid "In other words, Hibernate application developers should always think about the <emphasis>state</emphasis> of their objects, and not necessarily about the execution of SQL statements. This part is taken care of by Hibernate and is only relevant for the application developer when tuning the performance of the system."
-msgstr "En d'autres mots, les développeurs d'applications Hibernate devrait toujours réfléchir à <emphasis>l'état</emphasis> de leurs objets, et pas nécessairement à l'exécution des expressions SQL. Cette part est prise en charge pas Hibernate et seulement importante pour les développeurs d'applications lors du réglage de la performance de leur système."
+#. Tag: para
+#: session_api.xml:16
+#, no-c-format
+msgid ""
+"In other words, Hibernate application developers should always think about "
+"the <emphasis>state</emphasis> of their objects, and not necessarily about "
+"the execution of SQL statements. This part is taken care of by Hibernate and "
+"is only relevant for the application developer when tuning the performance "
+"of the system."
+msgstr ""
+"En d'autres mots, les développeurs d'applications Hibernate devrait toujours "
+"réfléchir à <emphasis>l'état</emphasis> de leurs objets, et pas "
+"nécessairement à l'exécution des expressions SQL. Cette part est prise en "
+"charge pas Hibernate et seulement importante pour les développeurs "
+"d'applications lors du réglage de la performance de leur système."
 
-#: index.docbook:24
+#. Tag: title
+#: session_api.xml:24
+#, no-c-format
 msgid "Hibernate object states"
 msgstr "États des objets Hibernate"
 
-#: index.docbook:26
+#. Tag: para
+#: session_api.xml:26
+#, no-c-format
 msgid "Hibernate defines and supports the following object states:"
 msgstr "Hibernate définit et comprend les états suivants :"
 
-#: index.docbook:32
-msgid "<emphasis>Transient</emphasis> - an object is transient if it has just been instantiated using the <literal>new</literal> operator, and it is not associated with a Hibernate <literal>Session</literal>. It has no persistent representation in the database and no identifier value has been assigned. Transient instances will be destroyed by the garbage collector if the application doesn't hold a reference anymore. Use the Hibernate <literal>Session</literal> to make an object persistent (and let Hibernate take care of the SQL statements that need to be executed for this transition)."
-msgstr "<emphasis>Éphémère</emphasis> (NdT : transient) - un objet est éphémère s'il a juste été instancié en utilisant l'opérateur <literal>new</literal>. Il n'a aucune représentation persistante dans la base de données et aucune valeur d'identifiant n'a été assignée. Les instances éphémères seront détruites par le ramasse-miettes si l'application n'en conserve aucune référence. Utilisez la <literal>Session</literal> d'Hibernate pour rendre un objet persistant (et laisser Hibernate s'occuper des expressions SQL qui ont besoin d'être exécutées pour cette transistion)."
+#. Tag: para
+#: session_api.xml:32
+#, 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 "
+"associated with a Hibernate <literal>Session</literal>. It has no persistent "
+"representation in the database and no identifier value has been assigned. "
+"Transient instances will be destroyed by the garbage collector if the "
+"application doesn't hold a reference anymore. Use the Hibernate "
+"<literal>Session</literal> to make an object persistent (and let Hibernate "
+"take care of the SQL statements that need to be executed for this "
+"transition)."
+msgstr ""
+"<emphasis>Éphémère</emphasis> (NdT : transient) - un objet est éphémère s'il "
+"a juste été instancié en utilisant l'opérateur <literal>new</literal>. Il "
+"n'a aucune représentation persistante dans la base de données et aucune "
+"valeur d'identifiant n'a été assignée. Les instances éphémères seront "
+"détruites par le ramasse-miettes si l'application n'en conserve aucune "
+"référence. Utilisez la <literal>Session</literal> d'Hibernate pour rendre un "
+"objet persistant (et laisser Hibernate s'occuper des expressions SQL qui ont "
+"besoin d'être exécutées pour cette transistion)."
 
-#: index.docbook:44
-msgid "<emphasis>Persistent</emphasis> - a persistent instance has a representation in the database and an identifier value. It might just have been saved or loaded, however, it is by definition in the scope of a <literal>Session</literal>. Hibernate will detect any changes made to an object in persistent state and synchronize the state with the database when the unit of work completes. Developers don't execute manual <literal>UPDATE</literal> statements, or <literal>DELETE</literal> statements when an object should be made transient."
-msgstr "<emphasis>Persistant</emphasis> - une instance persistante a une représentation dans la base de données et une valeur d'identifiant. Elle pourrait avoir juste été sauvegardée ou chargée, pourtant, elle est par définition dans la portée d'une <literal>Session</literal>. Hibernate détectera n'importe quels changements effectués sur un objet dans l'état persistant et synchronisera l'état avec la base de données lors de la fin l'unité de travail. Les développeurs n'exécutent pas d'expressions <literal>UPDATE</literal> ou <literal>DELETE</literal> manuelles lorsqu'un objet devrait être rendu éphémère."
+#. Tag: para
+#: session_api.xml:44
+#, 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 "
+"loaded, however, it is by definition in the scope of a <literal>Session</"
+"literal>. Hibernate will detect any changes made to an object in persistent "
+"state and synchronize the state with the database when the unit of work "
+"completes. Developers don't execute manual <literal>UPDATE</literal> "
+"statements, or <literal>DELETE</literal> statements when an object should be "
+"made transient."
+msgstr ""
+"<emphasis>Persistant</emphasis> - une instance persistante a une "
+"représentation dans la base de données et une valeur d'identifiant. Elle "
+"pourrait avoir juste été sauvegardée ou chargée, pourtant, elle est par "
+"définition dans la portée d'une <literal>Session</literal>. Hibernate "
+"détectera n'importe quels changements effectués sur un objet dans l'état "
+"persistant et synchronisera l'état avec la base de données lors de la fin "
+"l'unité de travail. Les développeurs n'exécutent pas d'expressions "
+"<literal>UPDATE</literal> ou <literal>DELETE</literal> manuelles lorsqu'un "
+"objet devrait être rendu éphémère."
 
-#: index.docbook:55
-msgid "<emphasis>Detached</emphasis> - a detached instance is an object that has been persistent, but its <literal>Session</literal> has been closed. The reference to the object is still valid, of course, and the detached instance might even be modified in this state. A detached instance can be reattached to a new <literal>Session</literal> at a later point in time, making it (and all the modifications) persistent again. This feature enables a programming model for long running units of work that require user think-time. We call them <emphasis>application transactions</emphasis>, i.e. a unit of work from the point of view of the user."
-msgstr "<emphasis>Détaché</emphasis> - une instance détachée est un objet qui a été persistant, mais dont sa <literal>Session</literal> a été fermée. La référence à l'objet est encore valide, bien sûr, et l'instance détachée pourrait même être modifiée dans cet état. Une instance détachée peut être réattachée à une nouvelle <literal>Session</literal> plus tard dans le temps, la rendant (et toutes les modifications avec) de nouveau persistante. Cette fonctionnalité rend possible un modèle de programmation pour de longues unités de travail qui requièrent un temps de réflexion de l'utilisateur. Nous les appelons des <emphasis>conversations</emphasis>, c'est-à-dire une unité de travail du point de vue de l'utilisateur."
+#. Tag: para
+#: session_api.xml:55
+#, 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 "
+"reference to the object is still valid, of course, and the detached instance "
+"might even be modified in this state. A detached instance can be reattached "
+"to a new <literal>Session</literal> at a later point in time, making it (and "
+"all the modifications) persistent again. This feature enables a programming "
+"model for long running units of work that require user think-time. We call "
+"them <emphasis>application transactions</emphasis>, i.e. a unit of work from "
+"the point of view of the user."
+msgstr ""
+"<emphasis>Détaché</emphasis> - une instance détachée est un objet qui a été "
+"persistant, mais dont sa <literal>Session</literal> a été fermée. La "
+"référence à l'objet est encore valide, bien sûr, et l'instance détachée "
+"pourrait même être modifiée dans cet état. Une instance détachée peut être "
+"réattachée à une nouvelle <literal>Session</literal> plus tard dans le "
+"temps, la rendant (et toutes les modifications avec) de nouveau persistante. "
+"Cette fonctionnalité rend possible un modèle de programmation pour de "
+"longues unités de travail qui requièrent un temps de réflexion de "
+"l'utilisateur. Nous les appelons des <emphasis>conversations</emphasis>, "
+"c'est-à-dire une unité de travail du point de vue de l'utilisateur."
 
-#: index.docbook:69
-msgid "We'll now discuss the states and state transitions (and the Hibernate methods that trigger a transition) in more detail."
-msgstr "Nous alons maintenant dicuster des états et des transitions d'état (et des méthodes d'Hibernate qui déclenchent une transition) plus en détails."
+#. Tag: para
+#: session_api.xml:69
+#, no-c-format
+msgid ""
+"We'll now discuss the states and state transitions (and the Hibernate "
+"methods that trigger a transition) in more detail."
+msgstr ""
+"Nous alons maintenant dicuster des états et des transitions d'état (et des "
+"méthodes d'Hibernate qui déclenchent une transition) plus en détails."
 
-#: index.docbook:77
+#. Tag: title
+#: session_api.xml:77
+#, no-c-format
 msgid "Making objects persistent"
 msgstr "Rendre des objets persistants"
 
-#: index.docbook:79
-msgid "Newly instantiated instances of a a persistent class are considered <emphasis>transient</emphasis> by Hibernate. We can make a transient instance <emphasis>persistent</emphasis> by associating it with a session:"
-msgstr "Les instances nouvellement instanciées d'une classe persistante sont considérées <emphasis>éphémères</emphasis> par Hibernate. Nous pouvons rendre une instance éphémère <emphasis>persistante</emphasis> en l'associant avec une session :"
+#. Tag: para
+#: session_api.xml:79
+#, 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 ""
+"Les instances nouvellement instanciées d'une classe persistante sont "
+"considérées <emphasis>éphémères</emphasis> par Hibernate. Nous pouvons "
+"rendre une instance éphémère <emphasis>persistante</emphasis> en l'associant "
+"avec une session :"
 
-#: index.docbook:86
+#. Tag: programlisting
+#: session_api.xml:86
+#, 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);]]>"
+"<![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);]]>"
 
-#: index.docbook:88
-msgid "If <literal>Cat</literal> has a generated identifier, the identifier is generated and assigned to the <literal>cat</literal> when <literal>save()</literal> is called. If <literal>Cat</literal> has an <literal>assigned</literal> identifier, or a composite key, the identifier should be assigned to the <literal>cat</literal> instance before calling <literal>save()</literal>. You may also use <literal>persist()</literal> instead of <literal>save()</literal>, with the semantics defined in the EJB3 early draft."
-msgstr "Si <literal>Cat</literal> a un identifiant généré, l'identifiant est généré et assigné au <literal>cat</literal> lorsque <literal>save()</literal> est appelée. Si <literal>Cat</literal> a un identifiant <literal>assigned</literal>, ou une clef composée, l'identifiant devrait être assigné à l'instance de <literal>cat</literal> avant d'appeler <literal>save()</literal>. Vous pouvez aussi utiliser <literal>persist()</literal> à la place de<literal>save()</literal>, avec la sémantique définie plus tôt dans le brouillon d'EJB3."
+#. Tag: para
+#: session_api.xml:88
+#, 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</"
+"literal> identifier, or a composite key, the identifier should be assigned "
+"to the <literal>cat</literal> instance before calling <literal>save()</"
+"literal>. You may also use <literal>persist()</literal> instead of "
+"<literal>save()</literal>, with the semantics defined in the EJB3 early "
+"draft."
+msgstr ""
+"Si <literal>Cat</literal> a un identifiant généré, l'identifiant est généré "
+"et assigné au <literal>cat</literal> lorsque <literal>save()</literal> est "
+"appelée. Si <literal>Cat</literal> a un identifiant <literal>assigned</"
+"literal>, ou une clef composée, l'identifiant devrait être assigné à "
+"l'instance de <literal>cat</literal> avant d'appeler <literal>save()</"
+"literal>. Vous pouvez aussi utiliser <literal>persist()</literal> à la place "
+"de<literal>save()</literal>, avec la sémantique définie plus tôt dans le "
+"brouillon d'EJB3."
 
-#: index.docbook:100
-msgid "<literal>persist()</literal> makes a transient instance persistent. However, it doesn't guarantee that the identifier value will be assigned to the 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."
-msgstr "Alternativement, vous pouvez assigner l'identifiant en utilisant une version surchargée de <literal>save()</literal>."
+#. Tag: para
+#: session_api.xml:100
+#, no-c-format
+msgid ""
+"<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."
+msgstr ""
+"<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."
 
-#: index.docbook:111
-msgid "<literal>save()</literal> does guarantee to return an identifier. If an INSERT has to be executed to get the identifier ( e.g. \"identity\" 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."
+#. Tag: para
+#: session_api.xml:111
+#, no-c-format
+msgid ""
+"<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."
 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) );]]>"
+"<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."
 
-#: index.docbook:121
-msgid "Alternatively, you may assign the identifier using an overloaded version of <literal>save()</literal>."
-msgstr "Si l'objet que vous rendez persistant a des objets associés (par exemple, la collection <literal>kittens</literal> dans l'exemple précédent), ces objets peuvent être rendus persistants dans n'importe quel ordre que vous souhaitez à moins que vous ayez une contrainte <literal>NOT NULL</literal> sur la colonne de la clef étrangère. Il n'y a jamais de risque de violer une contrainte de clef étrangère. Cependant, vous pourriez violer une contrainte <literal>NOT NULL</literal> si vous appeliez <literal>save()</literal> sur les objets dans le mauvais ordre."
+#. Tag: para
+#: session_api.xml:121
+#, no-c-format
+msgid ""
+"Alternatively, you may assign the identifier using an overloaded version of "
+"<literal>save()</literal>."
+msgstr ""
+"Alternativement, vous pouvez assigner l'identifiant en utilisant une version "
+"surchargée de <literal>save()</literal>."
 
-#: index.docbook:126
+#. Tag: programlisting
+#: session_api.xml:126
+#, 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 "Habituellement, vous ne vous préoccupez pas de ce détail, puisque vous utiliserez très probablement la fonctionnalité de <emphasis>persistance transitive</emphasis> d'Hibernate pour sauvegarder les objets associés automatiquement. Alors, même les violations de contrainte <literal>NOT NULL</literal> n'ont plus lieu - Hibernate prendra soin de tout. La persistance transitive est traitée plus loin dans ce chapitre."
+"<![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 ""
 
-#: index.docbook:128
-msgid "If the object you make persistent has associated objects (e.g. the <literal>kittens</literal> collection in the previous example), these objects may be made persistent in any order you like unless you have a <literal>NOT NULL</literal> constraint upon a foreign key column. There is never a risk of violating foreign key constraints. However, you might violate a <literal>NOT NULL</literal> constraint if you <literal>save()</literal> the objects in the wrong order."
-msgstr "Chargement d'un objet"
+#. Tag: para
+#: session_api.xml:128
+#, 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 may be made persistent in any order you like unless you have a "
+"<literal>NOT NULL</literal> constraint upon a foreign key column. There is "
+"never a risk of violating foreign key constraints. However, you might "
+"violate a <literal>NOT NULL</literal> constraint if you <literal>save()</"
+"literal> the objects in the wrong order."
+msgstr ""
+"Si l'objet que vous rendez persistant a des objets associés (par exemple, la "
+"collection <literal>kittens</literal> dans l'exemple précédent), ces objets "
+"peuvent être rendus persistants dans n'importe quel ordre que vous souhaitez "
+"à moins que vous ayez une contrainte <literal>NOT NULL</literal> sur la "
+"colonne de la clef étrangère. Il n'y a jamais de risque de violer une "
+"contrainte de clef étrangère. Cependant, vous pourriez violer une contrainte "
+"<literal>NOT NULL</literal> si vous appeliez <literal>save()</literal> sur "
+"les objets dans le mauvais ordre."
 
-#: index.docbook:138
-msgid "Usually you don't bother with this detail, as you'll very likely use Hibernate's <emphasis>transitive persistence</emphasis> feature to save the associated objects automatically. Then, even <literal>NOT NULL</literal> constraint violations don't occur - Hibernate will take care of everything. Transitive persistence is discussed later in this chapter."
-msgstr "Les méthodes <literal>load()</literal> de <literal>Session</literal> vous donnent un moyen de récupérer une instance persistante si vous connaissez déjà son identifiant. <literal>load()</literal> prend un objet de classe et chargera l'état dans une instance nouvellement instanciée de cette classe, dans un état persistant."
+#. Tag: para
+#: session_api.xml:138
+#, no-c-format
+msgid ""
+"Usually you don't bother with this detail, as you'll very likely use "
+"Hibernate's <emphasis>transitive persistence</emphasis> feature to save the "
+"associated objects automatically. Then, even <literal>NOT NULL</literal> "
+"constraint violations don't occur - Hibernate will take care of everything. "
+"Transitive persistence is discussed later in this chapter."
+msgstr ""
+"Habituellement, vous ne vous préoccupez pas de ce détail, puisque vous "
+"utiliserez très probablement la fonctionnalité de <emphasis>persistance "
+"transitive</emphasis> d'Hibernate pour sauvegarder les objets associés "
+"automatiquement. Alors, même les violations de contrainte <literal>NOT NULL</"
+"literal> n'ont plus lieu - Hibernate prendra soin de tout. La persistance "
+"transitive est traitée plus loin dans ce chapitre."
 
-#: index.docbook:149
+#. Tag: title
+#: session_api.xml:149
+#, no-c-format
 msgid "Loading an object"
-msgstr "<![CDATA[Cat fritz = (Cat) sess.load(Cat.class, generatedId);]]>"
+msgstr "Chargement d'un objet"
 
-#: index.docbook:151
-msgid "The <literal>load()</literal> methods of <literal>Session</literal> gives you a way to retrieve a persistent instance if you already know its identifier. <literal>load()</literal> takes a class object and will load the state into a newly instantiated instance of that class, in persistent state."
+#. Tag: para
+#: session_api.xml:151
+#, no-c-format
+msgid ""
+"The <literal>load()</literal> methods of <literal>Session</literal> gives "
+"you a way to retrieve a persistent instance if you already know its "
+"identifier. <literal>load()</literal> takes a class object and will load the "
+"state into a newly instantiated instance of that class, in persistent state."
 msgstr ""
-      "<![CDATA[// vous avez besoin d'envelopper les identiants primitifs\n"
-      "long pkId = 1234;\n"
-      "DomesticCat pk = (DomesticCat) sess.load( Cat.class, new Long(pkId) );]]>"
+"Les méthodes <literal>load()</literal> de <literal>Session</literal> vous "
+"donnent un moyen de récupérer une instance persistante si vous connaissez "
+"déjà son identifiant. <literal>load()</literal> prend un objet de classe et "
+"chargera l'état dans une instance nouvellement instanciée de cette classe, "
+"dans un état persistant."
 
-#: index.docbook:158
+#. Tag: programlisting
+#: session_api.xml:158
+#, no-c-format
 msgid "<![CDATA[Cat fritz = (Cat) sess.load(Cat.class, generatedId);]]>"
-msgstr "Alternativement, vous pouvez charger un état dans une instance donnée :"
+msgstr ""
 
-#: index.docbook:160
+#. Tag: programlisting
+#: session_api.xml:160
+#, 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) );]]>"
+"<![CDATA[// you need to wrap primitive identifiers\n"
+"long id = 1234;\n"
+"DomesticCat pk = (DomesticCat) sess.load( DomesticCat.class, new Long"
+"(id) );]]>"
 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();]]>"
 
-#: index.docbook:162
+#. Tag: para
+#: session_api.xml:162
+#, no-c-format
 msgid "Alternatively, you can load state into a given instance:"
-msgstr "Notez que <literal>load()</literal> lèvera une exception irrécupérable s'il n'y a pas de ligne correspondante dans la base de données. Si la classe est mappée avec un proxy, <literal>load()</literal> retourne juste un proxy non initialisé et n'accède en fait pas à la base de données jusqu'à ce que vous invoquiez une méthode du proxy. Ce comportement est très utile si vous souhaitez créer une association vers un objet sans réellement le charger à partir de la base de données. Cela permet aussi à de multiples instances d'être chargées comme un lot si <literal>batch-size</literal> est défini pour le mapping de la classe."
+msgstr ""
+"Alternativement, vous pouvez charger un état dans une instance donnée :"
 
-#: index.docbook:166
+#. Tag: programlisting
+#: session_api.xml:166
+#, 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 "Si vous n'êtes pas certain qu'une ligne correspondante existe, vous devriez utiliser la méthode <literal>get()</literal>, laquelle accède à la base de données immédiatement et retourne null s'il n'y a pas de ligne correspondante."
+"<![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 ""
 
-#: index.docbook:168
-msgid "Note that <literal>load()</literal> will throw an unrecoverable exception if there is no matching database row. If the class is mapped with a proxy, <literal>load()</literal> just returns an uninitialized proxy and does not actually hit the database until you invoke a method of the proxy. This behaviour is very useful if you wish to create an association to an object without actually loading it from the database. It also allows multiple instances to be loaded as a batch if <literal>batch-size</literal> is defined for the class mapping."
+#. Tag: para
+#: session_api.xml:168
+#, no-c-format
+msgid ""
+"Note that <literal>load()</literal> will throw an unrecoverable exception if "
+"there is no matching database row. If the class is mapped with a proxy, "
+"<literal>load()</literal> just returns an uninitialized proxy and does not "
+"actually hit the database until you invoke a method of the proxy. This "
+"behaviour is very useful if you wish to create an association to an object "
+"without actually loading it from the database. It also allows multiple "
+"instances to be loaded as a batch if <literal>batch-size</literal> is "
+"defined for the class mapping."
 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;]]>"
+"Notez que <literal>load()</literal> lèvera une exception irrécupérable s'il "
+"n'y a pas de ligne correspondante dans la base de données. Si la classe est "
+"mappée avec un proxy, <literal>load()</literal> retourne juste un proxy non "
+"initialisé et n'accède en fait pas à la base de données jusqu'à ce que vous "
+"invoquiez une méthode du proxy. Ce comportement est très utile si vous "
+"souhaitez créer une association vers un objet sans réellement le charger à "
+"partir de la base de données. Cela permet aussi à de multiples instances "
+"d'être chargées comme un lot si <literal>batch-size</literal> est défini "
+"pour le mapping de la classe."
 
-#: index.docbook:179
-msgid "If you are not certain that a matching row exists, you should use the <literal>get()</literal> method, which hits the database immediately and returns null if there is no matching row."
-msgstr "Vous pouvez même charger un objet en employant un <literal>SELECT ... FOR UPDATE</literal> SQL, en utilisant un <literal>LockMode</literal>. Voir la documentation de l'API pour plus d'informations."
+#. Tag: para
+#: session_api.xml:179
+#, 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 vous n'êtes pas certain qu'une ligne correspondante existe, vous devriez "
+"utiliser la méthode <literal>get()</literal>, laquelle accède à la base de "
+"données immédiatement et retourne null s'il n'y a pas de ligne "
+"correspondante."
 
-#: index.docbook:185
+#. Tag: programlisting
+#: session_api.xml:185
+#, 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, LockMode.UPGRADE);]]>"
+"<![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 ""
 
-#: index.docbook:187
-msgid "You may even load an object using an SQL <literal>SELECT ... FOR UPDATE</literal>, using a <literal>LockMode</literal>. See the API documentation for more information."
-msgstr "Notez que n'importe quelles instances associées ou collections contenues <emphasis>ne sont pas</emphasis> sélectionnées par <literal>FOR UPDATE</literal>, à moins que vous ne décidiez de spécifier <literal>lock</literal> ou <literal>all</literal> en tant que style de cascade pour l'association."
+#. Tag: para
+#: session_api.xml:187
+#, no-c-format
+msgid ""
+"You may even load an object using an SQL <literal>SELECT ... FOR UPDATE</"
+"literal>, using a <literal>LockMode</literal>. See the API documentation for "
+"more information."
+msgstr ""
+"Vous pouvez même charger un objet en employant un <literal>SELECT ... FOR "
+"UPDATE</literal> SQL, en utilisant un <literal>LockMode</literal>. Voir la "
+"documentation de l'API pour plus d'informations."
 
-#: index.docbook:192
+#. Tag: programlisting
+#: session_api.xml:192
+#, no-c-format
 msgid "<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id, LockMode.UPGRADE);]]>"
-msgstr "Il est possible de re-charger un objet et toutes ses collections à n'importe quel moment, en utilisant la méthode <literal>refresh()</literal>. C'est utile lorsque des \"triggers\" de base de données sont utilisés pour initiliser certains propriétés de l'objet."
+msgstr ""
 
-#: index.docbook:194
-msgid "Note that any associated instances or contained collections are <emphasis>not</emphasis> selected <literal>FOR UPDATE</literal>, unless you decide to specify <literal>lock</literal> or <literal>all</literal> as a cascade style for the association."
+#. Tag: para
+#: session_api.xml:194
+#, no-c-format
+msgid ""
+"Note that any associated instances or contained collections are "
+"<emphasis>not</emphasis> 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 ""
-      "<![CDATA[sess.save(cat);\n"
-      "sess.flush(); //force the SQL INSERT\n"
-      "sess.refresh(cat); //re-read the state (after the trigger executes)]]>"
+"Notez que n'importe quelles instances associées ou collections contenues "
+"<emphasis>ne sont pas</emphasis> sélectionnées par <literal>FOR UPDATE</"
+"literal>, à moins que vous ne décidiez de spécifier <literal>lock</literal> "
+"ou <literal>all</literal> en tant que style de cascade pour l'association."
 
-#: index.docbook:201
-msgid "It is possible to re-load an object and all its collections at any time, using the <literal>refresh()</literal> method. This is useful when database triggers are used to initialize some of the properties of the object."
-msgstr "Une question importante apparaît généralement à ce point : combien (NdT : de données) Hibernate charge-t-il de la base de données et combient de <literal>SELECT</literal>s utilisera-t-il ? Cela dépent de la <emphasis>stratégie de récupération</emphasis> et cela est expliqué dans <xref linkend=\"performance-fetching\"/>."
+#. Tag: para
+#: session_api.xml:201
+#, no-c-format
+msgid ""
+"It is possible to re-load an object and all its collections at any time, "
+"using the <literal>refresh()</literal> method. This is useful when database "
+"triggers are used to initialize some of the properties of the object."
+msgstr ""
+"Il est possible de re-charger un objet et toutes ses collections à n'importe "
+"quel moment, en utilisant la méthode <literal>refresh()</literal>. C'est "
+"utile lorsque des \"triggers\" de base de données sont utilisés pour "
+"initiliser certains propriétés de l'objet."
 
-#: index.docbook:207
+#. Tag: programlisting
+#: session_api.xml:207
+#, 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 "Requêtage"
+"<![CDATA[sess.save(cat);\n"
+"sess.flush(); //force the SQL INSERT\n"
+"sess.refresh(cat); //re-read the state (after the trigger executes)]]>"
+msgstr ""
 
-#: index.docbook:209
-msgid "An important question usually appears at this point: How much does Hibernate load from the database and how many SQL <literal>SELECT</literal>s will it use? This depends on the <emphasis>fetching strategy</emphasis> and is explained in <xref linkend=\"performance-fetching\"/>."
-msgstr "Si vous ne connaissez par les identifiants des objets que vous recherchez, vous avez besoin d'une requête. Hibernate supporte un langage de requêtes orientées objet facile à utiliser mais puissant. Pour la création de requêtes par programmation, Hibernate supporte une fonction de requêtage sophistiqué Criteria et Example (QBC et QBE). Vous pouvez aussi exprimez votre requête dans le SQL natif de votre base de données, avec un support optionnel d'Hibernate pour la conversion des ensembles de résultats en objets."
+#. Tag: para
+#: session_api.xml:209
+#, no-c-format
+msgid ""
+"An important question usually appears at this point: How much does Hibernate "
+"load from the database and how many SQL <literal>SELECT</literal>s will it "
+"use? This depends on the <emphasis>fetching strategy</emphasis> and is "
+"explained in <xref linkend=\"performance-fetching\"/>."
+msgstr ""
+"Une question importante apparaît généralement à ce point : combien (NdT : de "
+"données) Hibernate charge-t-il de la base de données et combient de "
+"<literal>SELECT</literal>s utilisera-t-il ? Cela dépent de la "
+"<emphasis>stratégie de récupération</emphasis> et cela est expliqué dans "
+"<xref linkend=\"performance-fetching\"/>."
 
-#: index.docbook:219
+#. Tag: title
+#: session_api.xml:219
+#, no-c-format
 msgid "Querying"
-msgstr "Exécution de requêtes"
+msgstr "Requêtage"
 
-#: index.docbook:221
-msgid "If you don't know the identifiers of the objects you are looking for, you need a query. Hibernate supports an easy-to-use but powerful object oriented query language (HQL). For programmatic query creation, Hibernate supports a sophisticated Criteria and Example query feature (QBC and QBE). You may also express your query in the native SQL of your database, with optional support from Hibernate for result set conversion into objects."
-msgstr "Les requêtes HQL et SQL natives sont représentées avec une instance de <literal>org.hibernate.Query</literal>. L'interface offre des méthodes pour la liaison des paramètres, la gestion des ensembles de resultats, et pour l'exécution de la requête réelle. Vous obtenez toujours une <literal>Query</literal> en utilisant la <literal>Session</literal> courante :"
+#. Tag: para
+#: session_api.xml:221
+#, no-c-format
+msgid ""
+"If you don't know the identifiers of the objects you are looking for, you "
+"need a query. Hibernate supports an easy-to-use but powerful object oriented "
+"query language (HQL). For programmatic query creation, Hibernate supports a "
+"sophisticated Criteria and Example query feature (QBC and QBE). You may also "
+"express your query in the native SQL of your database, with optional support "
+"from Hibernate for result set conversion into objects."
+msgstr ""
+"Si vous ne connaissez par les identifiants des objets que vous recherchez, "
+"vous avez besoin d'une requête. Hibernate supporte un langage de requêtes "
+"orientées objet facile à utiliser mais puissant. Pour la création de "
+"requêtes par programmation, Hibernate supporte une fonction de requêtage "
+"sophistiqué Criteria et Example (QBC et QBE). Vous pouvez aussi exprimez "
+"votre requête dans le SQL natif de votre base de données, avec un support "
+"optionnel d'Hibernate pour la conversion des ensembles de résultats en "
+"objets."
 
-#: index.docbook:231
+#. Tag: title
+#: session_api.xml:231
+#, no-c-format
 msgid "Executing queries"
+msgstr "Exécution de requêtes"
+
+#. Tag: para
+#: session_api.xml:233
+#, no-c-format
+msgid ""
+"HQL and native SQL queries are represented with an instance of <literal>org."
+"hibernate.Query</literal>. This interface offers methods for parameter "
+"binding, result set handling, and for the execution of the actual query. You "
+"always obtain a <literal>Query</literal> using the current <literal>Session</"
+"literal>:"
 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();]]>"
+"Les requêtes HQL et SQL natives sont représentées avec une instance de "
+"<literal>org.hibernate.Query</literal>. L'interface offre des méthodes pour "
+"la liaison des paramètres, la gestion des ensembles de resultats, et pour "
+"l'exécution de la requête réelle. Vous obtenez toujours une <literal>Query</"
+"literal> en utilisant la <literal>Session</literal> courante :"
 
-#: index.docbook:233
-msgid "HQL and native SQL queries are represented with an instance of <literal>org.hibernate.Query</literal>. This interface offers methods for parameter binding, result set handling, and for the execution of the actual query. You always obtain a <literal>Query</literal> using the current <literal>Session</literal>:"
-msgstr "Une requête est généralement exécutée en invoquant <literal>list()</literal>, le résultat de la requête sera chargée complètement dans une collection en mémoire. Les intances d'entités recupérées par une requête sont dans un état persistant. La méthode <literal>uniqueResult()</literal> offre un raccourci si vous savez que votre requête retournera seulement un seul objet."
+#. Tag: programlisting
+#: session_api.xml:240
+#, 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 ""
 
-#: index.docbook:240
+#. Tag: para
+#: session_api.xml:242
+#, 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());]]>"
+"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 persistent state. The "
+"<literal>uniqueResult()</literal> method offers a shortcut if you know your "
+"query will only return a single object. Note that queries that make use of "
+"eager fetching of collections usually return duplicates of the root objects "
+"(but with their collections initialized). You can filter these duplicates "
+"simply through a <literal>Set</literal>."
+msgstr ""
+"Une requête est généralement exécutée en invoquant <literal>list()</"
+"literal>, le résultat de la requête sera chargée complètement dans une "
+"collection en mémoire. Les intances d'entités recupérées par une requête "
+"sont dans un état persistant. La méthode <literal>uniqueResult()</literal> "
+"offre un raccourci si vous savez que votre requête retournera seulement un "
+"seul objet."
+
+#. Tag: title
+#: session_api.xml:254
+#, no-c-format
+msgid "Iterating results"
 msgstr "Itération de résultats"
 
-#: index.docbook:242
-msgid "A query is usually executed by invoking <literal>list()</literal>, the result of the query will be loaded completely into a collection in memory. Entity instances retrieved by a query are in persistent state. The <literal>uniqueResult()</literal> method offers a shortcut if you know your query will only return a single object. Note that queries that make use of eager fetching of collections usually return duplicates of the root objects (but with their collections initialized). You can filter these duplicates simply through a <literal>Set</literal>."
-msgstr "Occasionnellement, vous pourriez être capable d'obtenir de meilleures performances en exécutant la requête avec la méthode <literal>iterate()</literal>. Ce sera généralement seulement le cas si vous espérez que les intances réelles d'entité retournées par la requête soient déjà chargées dans la session ou le cache de second niveau. Si elles ne sont pas cachées, <literal>iterate()</literal> sera plus lent que <literal>list()</literal> et pourrait nécessiter plusieurs accès à la base de données pour une simple requête, généralement <emphasis>1</emphasis> pour le select initial qui retourne seulement les identifiants, et <emphasis>n</emphasis> selects supplémentaires pour initialiser les instances réelles."
+#. Tag: para
+#: session_api.xml:256
+#, 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 only "
+"usually be the case if you expect that the actual entity instances returned "
+"by the query will already be in the session or second-level cache. If they "
+"are not already cached, <literal>iterate()</literal> will be slower than "
+"<literal>list()</literal> and might require many database hits for a simple "
+"query, usually <emphasis>1</emphasis> for the initial select which only "
+"returns identifiers, and <emphasis>n</emphasis> additional selects to "
+"initialize the actual instances."
+msgstr ""
+"Occasionnellement, vous pourriez être capable d'obtenir de meilleures "
+"performances en exécutant la requête avec la méthode <literal>iterate()</"
+"literal>. Ce sera généralement seulement le cas si vous espérez que les "
+"intances réelles d'entité retournées par la requête soient déjà chargées "
+"dans la session ou le cache de second niveau. Si elles ne sont pas cachées, "
+"<literal>iterate()</literal> sera plus lent que <literal>list()</literal> et "
+"pourrait nécessiter plusieurs accès à la base de données pour une simple "
+"requête, généralement <emphasis>1</emphasis> pour le select initial qui "
+"retourne seulement les identifiants, et <emphasis>n</emphasis> selects "
+"supplémentaires pour initialiser les instances réelles."
 
-#: index.docbook:254
-msgid "Iterating results"
+#. Tag: programlisting
+#: session_api.xml:268
+#, 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"
-      "}]]>"
 
-#: index.docbook:256
-msgid "Occasionally, you might be able to achieve better performance by executing the query using the <literal>iterate()</literal> method. This will only usually be the case if you expect that the actual entity instances returned by the query will already be in the session or second-level cache. If they are not already cached, <literal>iterate()</literal> will be slower than <literal>list()</literal> and might require many database hits for a simple query, usually <emphasis>1</emphasis> for the initial select which only returns identifiers, and <emphasis>n</emphasis> additional selects to initialize the actual instances."
+#. Tag: title
+#: session_api.xml:272
+#, no-c-format
+msgid "Queries that return tuples"
 msgstr "Requêtes qui retournent des tuples"
 
-#: index.docbook:268
+#. Tag: para
+#: session_api.xml:274
+#, 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 "Les requêtes d'Hibernate retournent parfois des tuples d'objets, auquel cas chaque tuple est retourné comme un tableau :"
+"Hibernate queries sometimes return tuples of objects, in which case each "
+"tuple is returned as an array:"
+msgstr ""
+"Les requêtes d'Hibernate retournent parfois des tuples d'objets, auquel cas "
+"chaque tuple est retourné comme un tableau :"
 
-#: index.docbook:272
-msgid "Queries that return tuples"
+#. Tag: programlisting
+#: session_api.xml:279
+#, 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"
-      "}]]>"
 
-#: index.docbook:274
-msgid "Hibernate queries sometimes return tuples of objects, in which case each tuple is returned as an array:"
+#. Tag: title
+#: session_api.xml:284
+#, no-c-format
+msgid "Scalar results"
 msgstr "Résultats scalaires"
 
-#: index.docbook:279
+#. Tag: para
+#: session_api.xml:286
+#, 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 "Des requêtes peuvent spécifier une propriété d'une classe dans la clause <literal>select</literal>. Elles peuvent même appeler des fonctions d'aggrégat SQL. Les propriétés ou les aggrégats sont considérés comme des résultats \"scalaires\" (et pas des entités dans un état persistant)."
+"Queries may specify a property of a class in the <literal>select</literal> "
+"clause. They may even call SQL aggregate functions. Properties or aggregates "
+"are considered \"scalar\" results (and not entities in persistent state)."
+msgstr ""
+"Des requêtes peuvent spécifier une propriété d'une classe dans la clause "
+"<literal>select</literal>. Elles peuvent même appeler des fonctions "
+"d'aggrégat SQL. Les propriétés ou les aggrégats sont considérés comme des "
+"résultats \"scalaires\" (et pas des entités dans un état persistant)."
 
-#: index.docbook:284
-msgid "Scalar results"
+#. Tag: programlisting
+#: session_api.xml:292
+#, 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 = (Object[]) results.next();\n"
-      "    Color type = (Color) row[0];\n"
-      "    Date oldest = (Date) row[1];\n"
-      "    Integer count = (Integer) row[2];\n"
-      "    .....\n"
-      "}]]>"
 
-#: index.docbook:286
-msgid "Queries may specify a property of a class in the <literal>select</literal> clause. They may even call SQL aggregate functions. Properties or aggregates are considered \"scalar\" results (and not entities in persistent state)."
+#. Tag: title
+#: session_api.xml:297
+#, no-c-format
+msgid "Bind parameters"
 msgstr "Lier des paramètres"
 
-#: index.docbook:292
+#. Tag: para
+#: session_api.xml:299
+#, 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 "Des méthodes de <literal>Query</literal> sont fournies pour lier des valeurs à des paramètres nommés ou à des paramètres de style JDBC <literal>?</literal>. <emphasis>Contrairement à JDBC, les numéros des paramètres d'Hibernate commencent à zéro.</emphasis> Les paramètres nommés sont des identifiants de la forme <literal>:nom</literal> dans la chaîne de caractères de la requête. Les avantages des paramètres nommés sont :"
+"Methods on <literal>Query</literal> are provided for binding values to named "
+"parameters or JDBC-style <literal>?</literal> parameters. <emphasis>Contrary "
+"to JDBC, Hibernate numbers parameters from zero.</emphasis> Named parameters "
+"are identifiers of the form <literal>:name</literal> in the query string. "
+"The advantages of named parameters are:"
+msgstr ""
+"Des méthodes de <literal>Query</literal> sont fournies pour lier des valeurs "
+"à des paramètres nommés ou à des paramètres de style JDBC <literal>?</"
+"literal>. <emphasis>Contrairement à JDBC, les numéros des paramètres "
+"d'Hibernate commencent à zéro.</emphasis> Les paramètres nommés sont des "
+"identifiants de la forme <literal>:nom</literal> dans la chaîne de "
+"caractères de la requête. Les avantages des paramètres nommés sont :"
 
-#: index.docbook:297
-msgid "Bind parameters"
-msgstr "les paramètres nommés sont insensibles à l'ordre de leur place dans la chaîne de la requête"
+#. Tag: para
+#: session_api.xml:309
+#, no-c-format
+msgid ""
+"named parameters are insensitive to the order they occur in the query string"
+msgstr ""
+"les paramètres nommés sont insensibles à l'ordre de leur place dans la "
+"chaîne de la requête"
 
-#: index.docbook:299
-msgid "Methods on <literal>Query</literal> are provided for binding values to named parameters or JDBC-style <literal>?</literal> parameters. <emphasis>Contrary to JDBC, Hibernate numbers parameters from zero.</emphasis> Named parameters are identifiers of the form <literal>:name</literal> in the query string. The advantages of named parameters are:"
+#. Tag: para
+#: session_api.xml:315
+#, no-c-format
+msgid "they may occur multiple times in the same query"
 msgstr "ils peuvent apparaître plusieurs fois dans la même requête"
 
-#: index.docbook:309
-msgid "named parameters are insensitive to the order they occur in the query string"
+#. Tag: para
+#: session_api.xml:320
+#, no-c-format
+msgid "they are self-documenting"
 msgstr "ils sont auto-documentés"
 
-#: index.docbook:315
-msgid "they may occur multiple times in the same query"
+#. Tag: programlisting
+#: session_api.xml:326
+#, 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[//paramètre nomme (préféré)\n"
-      "Query q = sess.createQuery(\"from DomesticCat cat where cat.name = :name\");\n"
-      "q.setString(\"name\", \"Fritz\");\n"
-      "Iterator cats = q.iterate();]]>"
 
-#: index.docbook:320
-msgid "they are self-documenting"
+#. Tag: programlisting
+#: session_api.xml:328
+#, 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[//paramètre positionnel\n"
-      "Query q = sess.createQuery(\"from DomesticCat cat where cat.name = ?\");\n"
-      "q.setString(0, \"Izi\");\n"
-      "Iterator cats = q.iterate();]]>"
 
-#: index.docbook:326
+#. Tag: programlisting
+#: session_api.xml:330
+#, 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();]]>"
+"<![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[//liste de paramètres nommés\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();]]>"
 
-#: index.docbook:328
-msgid ""
-      "<![CDATA[//positional parameter\n"
-      "Query q = sess.createQuery(\"from DomesticCat cat where cat.name = ?\");\n"
-      "q.setString(0, \"Izi\");\n"
-      "Iterator cats = q.iterate();]]>"
+#. Tag: title
+#: session_api.xml:335
+#, no-c-format
+msgid "Pagination"
 msgstr "Pagination"
 
-#: index.docbook:330
+#. Tag: para
+#: session_api.xml:337
+#, 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 "Si vous avez besoin de spécifier des liens sur votre ensemble de résultats (le nombre maximum de lignes que vous voulez récupérez et/ou la première ligne que vous voulez récupérer) vous devriez utiliser des méthodes de l'interface <literal>Query</literal> :"
+"If you need to specify bounds upon your result set (the maximum number of "
+"rows you want to retrieve and / or the first row you want to retrieve) you "
+"should use methods of the <literal>Query</literal> interface:"
+msgstr ""
+"Si vous avez besoin de spécifier des liens sur votre ensemble de résultats "
+"(le nombre maximum de lignes que vous voulez récupérez et/ou la première "
+"ligne que vous voulez récupérer) vous devriez utiliser des méthodes de "
+"l'interface <literal>Query</literal> :"
 
-#: index.docbook:335
-msgid "Pagination"
+#. Tag: programlisting
+#: session_api.xml:343
+#, 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();]]>"
 
-#: index.docbook:337
-msgid "If you need to specify bounds upon your result set (the maximum number of rows you want to retrieve and / or the first row you want to retrieve) you should use methods of the <literal>Query</literal> interface:"
-msgstr "Hibernate sait comment traduite cette requête de limite en SQL natif pour votre SGBD."
+#. Tag: para
+#: session_api.xml:345
+#, no-c-format
+msgid ""
+"Hibernate knows how to translate this limit query into the native SQL of "
+"your DBMS."
+msgstr ""
+"Hibernate sait comment traduite cette requête de limite en SQL natif pour "
+"votre SGBD."
 
-#: index.docbook:343
-msgid ""
-      "<![CDATA[Query q = sess.createQuery(\"from DomesticCat cat\");\n"
-      "q.setFirstResult(20);\n"
-      "q.setMaxResults(10);\n"
-      "List cats = q.list();]]>"
+#. Tag: title
+#: session_api.xml:353
+#, no-c-format
+msgid "Scrollable iteration"
 msgstr "Itération \"scrollable\""
 
-#: index.docbook:345
-msgid "Hibernate knows how to translate this limit query into the native SQL of your DBMS."
-msgstr "Si votre connecteur JDBC supporte les <literal>ResultSet</literal>s \"scrollables\", l'interface <literal>Query</literal> peut être utilisée pour obtenir un objet <literal>ScrollableResults</literal>, lequel permet une navigation flexible dans les résultats de la requête."
+#. Tag: para
+#: session_api.xml:355
+#, no-c-format
+msgid ""
+"If your JDBC driver supports scrollable <literal>ResultSet</literal>s, the "
+"<literal>Query</literal> interface may be used to obtain a "
+"<literal>ScrollableResults</literal> object, which allows flexible "
+"navigation of the query results."
+msgstr ""
+"Si votre connecteur JDBC supporte les <literal>ResultSet</literal>s "
+"\"scrollables\", l'interface <literal>Query</literal> peut être utilisée "
+"pour obtenir un objet <literal>ScrollableResults</literal>, lequel permet "
+"une navigation flexible dans les résultats de la requête."
 
-#: index.docbook:353
-msgid "Scrollable iteration"
+#. Tag: programlisting
+#: session_api.xml:362
+#, 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"
-      "    // trouve le premier nom sur chaque page d'une liste alphabétique de noms de chats\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"
-      "    // Maintenant, obtiens la première page de chats\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()]]>"
 
-#: index.docbook:355
-msgid "If your JDBC driver supports scrollable <literal>ResultSet</literal>s, the <literal>Query</literal> interface may be used to obtain a <literal>ScrollableResults</literal> object, which allows flexible navigation of the query results."
-msgstr "Notez qu'une connexion ouverte (et un curseur) est requise pour cette fonctionnalité, utilisez <literal>setMaxResult()</literal>/<literal>setFirstResult()</literal> si vous avez besoin d'une fonctionnalité de pagination hors ligne."
+#. Tag: para
+#: session_api.xml:364
+#, 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 ""
+"Notez qu'une connexion ouverte (et un curseur) est requise pour cette "
+"fonctionnalité, utilisez <literal>setMaxResult()</literal>/"
+"<literal>setFirstResult()</literal> si vous avez besoin d'une fonctionnalité "
+"de pagination hors ligne."
 
-#: index.docbook:362
-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()]]>"
+#. Tag: title
+#: session_api.xml:373
+#, no-c-format
+msgid "Externalizing named queries"
 msgstr "Externaliser des requêtes nommées"
 
-#: index.docbook:364
-msgid "Note that an open database connection (and cursor) is required for this functionality, use <literal>setMaxResult()</literal>/<literal>setFirstResult()</literal> if you need offline pagination functionality."
-msgstr "Vous pouvez aussi définir des requêtes nommées dans le document de mapping. (Souvenez-vous d'utiliser une section <literal>CDATA</literal> si votre requête contient des caractères qui pourraient être interprétés comme des éléments XML.)"
+#. Tag: para
+#: session_api.xml:375
+#, no-c-format
+msgid ""
+"You may also define named queries in the mapping document. (Remember to use "
+"a <literal>CDATA</literal> section if your query contains characters that "
+"could be interpreted as markup.)"
+msgstr ""
+"Vous pouvez aussi définir des requêtes nommées dans le document de mapping. "
+"(Souvenez-vous d'utiliser une section <literal>CDATA</literal> si votre "
+"requête contient des caractères qui pourraient être interprétés comme des "
+"éléments XML.)"
 
-#: index.docbook:373
-msgid "Externalizing named queries"
+#. Tag: programlisting
+#: session_api.xml:381
+#, 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>]]>"
 
-#: index.docbook:375
-msgid "You may also define named queries in the mapping document. (Remember to use a <literal>CDATA</literal> section if your query contains characters that could be interpreted as markup.)"
+#. Tag: para
+#: session_api.xml:383
+#, no-c-format
+msgid "Parameter binding and executing is done programatically:"
 msgstr "La liaison de paramètres et l'exécution sont fait par programmation :"
 
-#: index.docbook:381
+#. Tag: programlisting
+#: session_api.xml:387
+#, 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>]]>"
+"<![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();]]>"
 
-#: index.docbook:383
-msgid "Parameter binding and executing is done programatically:"
-msgstr "Notez que le code réel du programme est indépendant du langage de requête qui est utilisé, vous pouvez aussi définir des requêtes SQL nativez dans les méta-données, ou migrer des requêtes existantes vers Hibernate en les plaçant dans les fichiers de mapping."
+#. Tag: para
+#: session_api.xml:389
+#, no-c-format
+msgid ""
+"Note that the actual program code is independent of the query language that "
+"is used, you may also define native SQL queries in metadata, or migrate "
+"existing queries to Hibernate by placing them in mapping files."
+msgstr ""
+"Notez que le code réel du programme est indépendant du langage de requête "
+"qui est utilisé, vous pouvez aussi définir des requêtes SQL nativez dans les "
+"méta-données, ou migrer des requêtes existantes vers Hibernate en les "
+"plaçant dans les fichiers de mapping."
 
-#: index.docbook:387
+#. Tag: para
+#: session_api.xml:395
+#, 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 "Filtrer des collections"
-
-#: index.docbook:389
-msgid "Note that the actual program code is independent of the query language that is used, you may also define native SQL queries in metadata, or migrate existing queries to Hibernate by placing them in mapping files."
-msgstr "Un <emphasis>filtre</emphasis> de collection est un type spécial de requête qui peut être appliqué à une collection persistante ou à un tableau. La chaîne de requête peut se référer à <literal>this</literal>, correspondant à l'élément de la collection courant."
-
-#: index.docbook:395
-msgid "Also note that a query declaration inside a <literal>&lt;hibernate-mapping&gt;</literal> element requires a global unique name for the query, 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>."
+"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>."
 msgstr ""
-      "<![CDATA[Collection blackKittens = session.createFilter(\n"
-      "    pk.getKittens(),\n"
-      "    \"where this.color = ?\")\n"
-      "    .setParameter( Color.BLACK, Hibernate.custom(ColorUserType.class) )\n"
-      "    .list()\n"
-      ");]]>"
+"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>."
 
-#: index.docbook:408
+#. Tag: title
+#: session_api.xml:408
+#, no-c-format
 msgid "Filtering collections"
-msgstr "La collection retournée est considérée comme un bag, et c'est une copie de la collection donnée. La collection originale n'est pas modifiée (c'est contraire à l'implication du nom \"filtre\"; mais cohérent avec le comportement attendu)."
+msgstr "Filtrer des collections"
 
-#: index.docbook:409
-msgid "A collection <emphasis>filter</emphasis> is a special type of query that may be applied to a persistent collection or array. The query string may refer to <literal>this</literal>, meaning the current collection element."
-msgstr "Observez que les filtres ne nécessitent pas une clause <literal>from</literal> (bien qu'ils puissent en avoir une si besoin est). Les filtres ne sont pas limités à retourner des éléments de la collection eux-mêmes."
+#. Tag: para
+#: session_api.xml:409
+#, no-c-format
+msgid ""
+"A collection <emphasis>filter</emphasis> is a special type of query that may "
+"be applied to a persistent collection or array. The query string may refer "
+"to <literal>this</literal>, meaning the current collection element."
+msgstr ""
+"Un <emphasis>filtre</emphasis> de collection est un type spécial de requête "
+"qui peut être appliqué à une collection persistante ou à un tableau. La "
+"chaîne de requête peut se référer à <literal>this</literal>, correspondant à "
+"l'élément de la collection courant."
 
-#: index.docbook:415
+#. Tag: programlisting
+#: session_api.xml:415
+#, 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"
-      ");]]>"
+"<![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 blackKittenMates = session.createFilter(\n"
-      "    pk.getKittens(),\n"
-      "    \"select this.mate where this.color = eg.Color.BLACK.intValue\")\n"
-      "    .list();]]>"
 
-#: index.docbook:417
-msgid "The returned collection is considered a bag, and it's a copy of the given collection. The original collection is not modified (this is contrary to the implication of the name \"filter\", but consistent with expected behavior)."
-msgstr "Même une requête de filtre vide est utile, par exemple pour charger un sous-ensemble d'éléments dans une énorme collection :"
+#. Tag: para
+#: session_api.xml:417
+#, no-c-format
+msgid ""
+"The returned collection is considered a bag, and it's a copy of the given "
+"collection. The original collection is not modified (this is contrary to the "
+"implication of the name \"filter\", but consistent with expected behavior)."
+msgstr ""
+"La collection retournée est considérée comme un bag, et c'est une copie de "
+"la collection donnée. La collection originale n'est pas modifiée (c'est "
+"contraire à l'implication du nom \"filtre\"; mais cohérent avec le "
+"comportement attendu)."
 
-#: index.docbook:423
-msgid "Observe that filters do not require a <literal>from</literal> clause (though they may have one if required). Filters are not limited to returning the collection elements themselves."
+#. Tag: para
+#: session_api.xml:423
+#, no-c-format
+msgid ""
+"Observe that filters do not require a <literal>from</literal> clause (though "
+"they may have one if required). Filters are not limited to returning the "
+"collection elements themselves."
 msgstr ""
-      "<![CDATA[Collection tenKittens = session.createFilter(\n"
-      "    mother.getKittens(), \"\")\n"
-      "    .setFirstResult(0).setMaxResults(10)\n"
-      "    .list();]]>"
+"Observez que les filtres ne nécessitent pas une clause <literal>from</"
+"literal> (bien qu'ils puissent en avoir une si besoin est). Les filtres ne "
+"sont pas limités à retourner des éléments de la collection eux-mêmes."
 
-#: index.docbook:428
+#. Tag: programlisting
+#: session_api.xml:428
+#, 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 "Requêtes Criteria"
+"<![CDATA[Collection blackKittenMates = session.createFilter(\n"
+"    pk.getKittens(), \n"
+"    \"select this.mate where this.color = eg.Color.BLACK.intValue\")\n"
+"    .list();]]>"
+msgstr ""
 
-#: index.docbook:430
-msgid "Even an empty filter query is useful, e.g. to load a subset of elements in a huge collection:"
-msgstr "HQL est extrêmement puissant mais certains développeurs préfèrent construire des requêtes dynamiquement, en utilisant l'API orientée objet, plutôt que construire des chaînes de requêtes. Hibernate fournit une API intuitive de requête <literal>Criteria</literal> pour ces cas :"
+#. Tag: para
+#: session_api.xml:430
+#, no-c-format
+msgid ""
+"Even an empty filter query is useful, e.g. to load a subset of elements in a "
+"huge collection:"
+msgstr ""
+"Même une requête de filtre vide est utile, par exemple pour charger un sous-"
+"ensemble d'éléments dans une énorme collection :"
 
-#: index.docbook:435
+#. Tag: programlisting
+#: session_api.xml:435
+#, no-c-format
 msgid ""
-      "<![CDATA[Collection tenKittens = session.createFilter(\n"
-      "    mother.getKittens(), \"\")\n"
-      "    .setFirstResult(0).setMaxResults(10)\n"
-      "    .list();]]>"
+"<![CDATA[Collection tenKittens = session.createFilter(\n"
+"    mother.getKittens(), \"\")\n"
+"    .setFirstResult(0).setMaxResults(10)\n"
+"    .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();]]>"
 
-#: index.docbook:440
+#. Tag: title
+#: session_api.xml:440
+#, no-c-format
 msgid "Criteria queries"
-msgstr "Les APIs <literal>Criteria</literal> et <literal>Example</literal> associé sont traitées plus en détail dans <xref linkend=\"querycriteria\"/>."
+msgstr "Requêtes Criteria"
 
-#: index.docbook:442
-msgid "HQL is extremely powerful but some developers prefer to build queries dynamically, using an object-oriented API, rather than building query strings. Hibernate provides an intuitive <literal>Criteria</literal> query API for these cases:"
-msgstr "Requêtes en SQL natif"
+#. Tag: para
+#: session_api.xml:442
+#, 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 "
+"strings. Hibernate provides an intuitive <literal>Criteria</literal> query "
+"API for these cases:"
+msgstr ""
+"HQL est extrêmement puissant mais certains développeurs préfèrent construire "
+"des requêtes dynamiquement, en utilisant l'API orientée objet, plutôt que "
+"construire des chaînes de requêtes. Hibernate fournit une API intuitive de "
+"requête <literal>Criteria</literal> pour ces cas :"
 
-#: index.docbook:448
+#. Tag: programlisting
+#: session_api.xml:448
+#, 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 "Vous pouvez exprimer une requête en SQL, en utilisant <literal>createSQLQuery()</literal> et laisser Hibernate s'occuper du mapping des résultats vers des objets. Notez que vous pouvez n'importe quand appeler <literal>session.connection()</literal> et utiliser directement la <literal>Connection</literal> JDBC. Si vous choisissez d'utiliser l'API Hibernate, vous devez mettre les alias SQL entre accolades :"
+"<![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 ""
 
-#: index.docbook:450
-msgid "The <literal>Criteria</literal> and the associated <literal>Example</literal> API are discussed in more detail in <xref linkend=\"querycriteria\"/>."
+#. Tag: para
+#: session_api.xml:450
+#, no-c-format
+msgid ""
+"The <literal>Criteria</literal> and the associated <literal>Example</"
+"literal> API are discussed in more detail in <xref linkend=\"querycriteria\"/"
+">."
 msgstr ""
-      "<![CDATA[List cats = session.createSQLQuery(\"SELECT {cat.*} FROM CAT {cat} WHERE ROWNUM<10\")
-\n"
-      "    .addEntity(\"cat\", Cat.class)
-\n"
-      ".list();]]>"
+"Les APIs <literal>Criteria</literal> et <literal>Example</literal> associé "
+"sont traitées plus en détail dans <xref linkend=\"querycriteria\"/>."
 
-#: index.docbook:458
+#. Tag: title
+#: session_api.xml:458
+#, no-c-format
 msgid "Queries in native SQL"
+msgstr "Requêtes en SQL natif"
+
+#. Tag: para
+#: session_api.xml:460
+#, no-c-format
+msgid ""
+"You may express a query in SQL, using <literal>createSQLQuery()</literal> "
+"and let Hibernate take care of the mapping from result sets to objects. Note "
+"that you may at any time call <literal>session.connection()</literal> and "
+"use the JDBC <literal>Connection</literal> directly. If you chose to use the "
+"Hibernate API, you must enclose SQL aliases in braces:"
 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()]]>"
+"Vous pouvez exprimer une requête en SQL, en utilisant <literal>createSQLQuery"
+"()</literal> et laisser Hibernate s'occuper du mapping des résultats vers "
+"des objets. Notez que vous pouvez n'importe quand appeler <literal>session."
+"connection()</literal> et utiliser directement la <literal>Connection</"
+"literal> JDBC. Si vous choisissez d'utiliser l'API Hibernate, vous devez "
+"mettre les alias SQL entre accolades :"
 
-#: index.docbook:460
-msgid "You may express a query in SQL, using <literal>createSQLQuery()</literal> and let Hibernate take care of the mapping from result sets to objects. Note that you may at any time call <literal>session.connection()</literal> and use the JDBC <literal>Connection</literal> directly. If you chose to use the Hibernate API, you must enclose SQL aliases in braces:"
-msgstr "Les requêtes SQL peuvent contenir des paramètres nommés et positionnels, comme des requêtes Hibernate. Plus d'informations à propos des requêtes SQL natives dans Hibernate peuvent être trouvées dans <xref linkend=\"querysql\"/>."
+#. Tag: programlisting
+#: session_api.xml:468
+#, 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 ""
 
-#: index.docbook:468
+#. Tag: programlisting
+#: session_api.xml:470
+#, 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 "Modifier des objets persistants"
+"<![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 ""
 
-#: index.docbook:470
+#. Tag: para
+#: session_api.xml:472
+#, 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 "Les <emphasis>instances persistantes transactionnelles</emphasis> (c'est-à-dire des objets chargés, sauvegardés, créés ou requêtés par la <literal>Session</literal>) peuvent être manipulées par l'application et n'importe quel changement vers l'état persistant sera persisté lorsque la <literal>Session</literal> est <emphasis>\"flushée\"</emphasis> (traité plus tard dans ce chapitre). Il n'y a pas besoin d'appeler une méthode particulière (comme <literal>update()</literal>, qui a un but différent) pour rendre vos modifications persistantes. Donc la manière la plus directe de mettre à jour l'état d'un objet est de le charger avec <literal>load()</literal>, et puis le manipuler directement, tant que la <literal>Session</literal> est ouverte :"
-
-#: index.docbook:472
-msgid "SQL queries may contain named and positional parameters, just like Hibernate queries. More information about native SQL queries in Hibernate can be found in <xref linkend=\"querysql\"/>."
+"SQL queries may contain named and positional parameters, just like Hibernate "
+"queries. More information about native SQL queries in Hibernate can be found "
+"in <xref linkend=\"querysql\"/>."
 msgstr ""
-      "<![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]]>"
+"Les requêtes SQL peuvent contenir des paramètres nommés et positionnels, "
+"comme des requêtes Hibernate. Plus d'informations à propos des requêtes SQL "
+"natives dans Hibernate peuvent être trouvées dans <xref linkend=\"querysql\"/"
+">."
 
-#: index.docbook:483
+#. Tag: title
+#: session_api.xml:483
+#, no-c-format
 msgid "Modifying persistent objects"
-msgstr "Parfois ce modèle de programmation est inefficace puisqu'il nécessiterait un <literal>SELECT</literal> SQL (pour charger l'objet) et un <literal>UPDATE</literal> SQL (pour persister son état mis à jour) dans la même session. Aussi Hibernate offre une autre approche, en utilisant des instances détachées."
+msgstr "Modifier des objets persistants"
 
-#: index.docbook:485
-msgid "<emphasis>Transactional persistent instances</emphasis> (ie. objects loaded, saved, created or queried by the <literal>Session</literal>) may be manipulated by the application and any changes to persistent state will be persisted when the <literal>Session</literal> is <emphasis>flushed</emphasis> (discussed later in this chapter). There is no need to call a particular method (like <literal>update()</literal>, which has a different purpose) to make your modifications persistent. So the most straightforward way 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 "Notez que Hibernate n'offre par sa propre API pour l'exécution directe d'expressions <literal>UPDATE</literal> ou <literal>DELETE</literal>. Hibernate est un service de <emphasis>gestion d'état</emphasis>, vous n'avez pas à penser aux <emphasis>expressions</emphasis> pour l'utiliser. JDBC est une API parfaite pour exécuter des expressions SQL, vous pouvez obtenir une <literal>Connection</literal> JDBC n'importe quand en appelant <literal>session.connection()</literal>. En outre, la notion d'opérations de masse entre en conflit avec le mapping objet/relationnel pour les applications orientées processus de transactions en ligne. Les futures versions d'Hibernate peuvent cependant fournir des fonctions d'opération de masse. Voir <xref linkend=\"batch\"/> pour les astuces possibles d'opérations groupées."
+#. Tag: para
+#: session_api.xml:485
+#, no-c-format
+msgid ""
+"<emphasis>Transactional persistent instances</emphasis> (ie. objects loaded, "
+"saved, created or queried by the <literal>Session</literal>) may be "
+"manipulated by the application and any changes to persistent state will be "
+"persisted when the <literal>Session</literal> is <emphasis>flushed</"
+"emphasis> (discussed later in this chapter). There is no need to call a "
+"particular method (like <literal>update()</literal>, which has a different "
+"purpose) to make your modifications persistent. So the most straightforward "
+"way 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 ""
+"Les <emphasis>instances persistantes transactionnelles</emphasis> (c'est-à-"
+"dire des objets chargés, sauvegardés, créés ou requêtés par la "
+"<literal>Session</literal>) peuvent être manipulées par l'application et "
+"n'importe quel changement vers l'état persistant sera persisté lorsque la "
+"<literal>Session</literal> est <emphasis>\"flushée\"</emphasis> (traité plus "
+"tard dans ce chapitre). Il n'y a pas besoin d'appeler une méthode "
+"particulière (comme <literal>update()</literal>, qui a un but différent) "
+"pour rendre vos modifications persistantes. Donc la manière la plus directe "
+"de mettre à jour l'état d'un objet est de le charger avec <literal>load()</"
+"literal>, et puis le manipuler directement, tant que la <literal>Session</"
+"literal> est ouverte :"
 
-#: index.docbook:496
+#. Tag: programlisting
+#: session_api.xml:496
+#, 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 "Modifier des objets détachés"
+"<![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 ""
 
-#: index.docbook:498
-msgid "Sometimes this programming model is inefficient since it would require both an SQL <literal>SELECT</literal> (to load an object) and an SQL <literal>UPDATE</literal> (to persist its updated state) in the same session. Therefore Hibernate offers an alternate approach, using detached instances."
-msgstr "Beaucoup d'applications ont besoin de récupérer un objet dans une transaction, l'envoyer à la couche interfacée avec l'utilisateur pour les manipulations, puis sauvegarder les changements dans une nouvelle transaction. Les applications qui utilisent cette approche dans un environnement à haute concurrence utilisent généralement des données versionnées pour assurer l'isolation pour les \"longues\" unités de travail."
+#. Tag: para
+#: session_api.xml:498
+#, no-c-format
+msgid ""
+"Sometimes this programming model is inefficient since it would require both "
+"an SQL <literal>SELECT</literal> (to load an object) and an SQL "
+"<literal>UPDATE</literal> (to persist its updated state) in the same "
+"session. Therefore Hibernate offers an alternate approach, using detached "
+"instances."
+msgstr ""
+"Parfois ce modèle de programmation est inefficace puisqu'il nécessiterait un "
+"<literal>SELECT</literal> SQL (pour charger l'objet) et un <literal>UPDATE</"
+"literal> SQL (pour persister son état mis à jour) dans la même session. "
+"Aussi Hibernate offre une autre approche, en utilisant des instances "
+"détachées."
 
-#: index.docbook:506
-msgid "Note that Hibernate does not offer its own API for direct execution of <literal>UPDATE</literal> or <literal>DELETE</literal> statements. Hibernate is a <emphasis>state management</emphasis> service, you don't have to think in <emphasis>statements</emphasis> to use it. JDBC is a perfect API for executing SQL statements, you can get a JDBC <literal>Connection</literal> at any time by calling <literal>session.connection()</literal>. Furthermore, the notion of mass operations conflicts with object/relational mapping for online transaction processing-oriented applications. Future versions of Hibernate may however provide special mass operation functions. See <xref linkend=\"batch\"/> for some possible batch operation tricks."
-msgstr "Hibernate supporte ce modèle en permettant pour le réattachement d'instances détachées l'utilisation des méthodes <literal>Session.update()</literal> ou <literal>Session.merge()</literal> :"
+#. Tag: emphasis
+#: session_api.xml:506
+#, fuzzy, no-c-format
+msgid ""
+"Note that Hibernate does not offer its own API for direct execution of "
+"<literal>UPDATE</literal> or <literal>DELETE</literal> statements. Hibernate "
+"is a <emphasis>state management</emphasis> service, you don't have to think "
+"in <emphasis>statements</emphasis> to use it. JDBC is a perfect API for "
+"executing SQL statements, you can get a JDBC <literal>Connection</literal> "
+"at any time by calling <literal>session.connection()</literal>. Furthermore, "
+"the notion of mass operations conflicts with object/relational mapping for "
+"online transaction processing-oriented applications. Future versions of "
+"Hibernate may however provide special mass operation functions. See <xref "
+"linkend=\"batch\"/> for some possible batch operation tricks."
+msgstr ""
+"Notez que Hibernate n'offre par sa propre API pour l'exécution directe "
+"d'expressions <placeholder-1/> ou <placeholder-2/>. Hibernate est un service "
+"de <placeholder-3/>, vous n'avez pas à penser aux <placeholder-4/> pour "
+"l'utiliser. JDBC est une API parfaite pour exécuter des expressions SQL, "
+"vous pouvez obtenir une <placeholder-5/> JDBC n'importe quand en appelant "
+"<placeholder-6/>. En outre, la notion d'opérations de masse entre en conflit "
+"avec le mapping objet/relationnel pour les applications orientées processus "
+"de transactions en ligne. Les futures versions d'Hibernate peuvent cependant "
+"fournir des fonctions d'opération de masse. Voir <xref linkend=\"batch\"/> "
+"pour les astuces possibles d'opérations groupées."
 
-#: index.docbook:521
+#. Tag: title
+#: session_api.xml:521
+#, no-c-format
 msgid "Modifying detached objects"
+msgstr "Modifier des objets détachés"
+
+#. Tag: para
+#: session_api.xml:523
+#, no-c-format
+msgid ""
+"Many applications need to retrieve an object in one transaction, send it to "
+"the UI layer for manipulation, then save the changes in a new transaction. "
+"Applications that use this kind of approach in a high-concurrency "
+"environment usually use versioned data to ensure isolation for the \"long\" "
+"unit of work."
 msgstr ""
-      "<![CDATA[// dans la première session\n"
-      "Cat cat = (Cat) firstSession.load(Cat.class, catId);\n"
-      "Cat potentialMate = new Cat();\n"
-      "firstSession.save(potentialMate);\n"
-      "\n"
-      "// dans une couche plus haute de l'application\n"
-      "cat.setMate(potentialMate);\n"
-      "\n"
-      "// plus tard, dans une nouvelle session\n"
-      "secondSession.update(cat);  // update cat\n"
-      "secondSession.update(mate); // update mate]]>"
+"Beaucoup d'applications ont besoin de récupérer un objet dans une "
+"transaction, l'envoyer à la couche interfacée avec l'utilisateur pour les "
+"manipulations, puis sauvegarder les changements dans une nouvelle "
+"transaction. Les applications qui utilisent cette approche dans un "
+"environnement à haute concurrence utilisent généralement des données "
+"versionnées pour assurer l'isolation pour les \"longues\" unités de travail."
 
-#: index.docbook:523
-msgid "Many applications need to retrieve an object in one transaction, send it to the UI layer for manipulation, then save the changes in a new transaction. Applications that use this kind of approach in a high-concurrency environment usually use versioned data to ensure isolation for the \"long\" unit of work."
-msgstr "Si le <literal>Cat</literal> avec l'identifiant <literal>catId</literal> avait déjà été chargé par <literal>secondSession</literal> lorsque l'application a essayé de le réattacher, une exception aurait été levée."
+#. Tag: para
+#: session_api.xml:530
+#, 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 supporte ce modèle en permettant pour le réattachement d'instances "
+"détachées l'utilisation des méthodes <literal>Session.update()</literal> ou "
+"<literal>Session.merge()</literal> :"
 
-#: index.docbook:530
-msgid "Hibernate supports this model by providing for reattachment of detached instances using the <literal>Session.update()</literal> or <literal>Session.merge()</literal> methods:"
-msgstr "Utilisez <literal>update()</literal> si vous êtes sure que la session ne contient pas déjà une instance persistante avec le même identifiant, et <literal>merge()</literal> si vous voulez fusionner vos modifications n'importe quand sans considérer l'état de la session. En d'autres mots, <literal>update()</literal> est généralement la première méthode que vous devriez appeler dans une session fraîche, pour s'assurer que le réattachement de vos instances détachées est la première opération qui est exécutée."
+#. Tag: programlisting
+#: session_api.xml:536
+#, 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 ""
 
-#: index.docbook:536
+#. Tag: para
+#: session_api.xml:538
+#, 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 "L'application devrait individuellement <literal>update()</literal> (NdT : mettre à jour) les instances détachées accessibles depuis l'instance détachée donnée si et <emphasis>seulement</emphasis> si elle veut que leur état soit aussi mis à jour. Ceci peut être automatisé bien sûr, en utilisant la <emphasis>persistance transitive</emphasis>, voir <xref linkend=\"objectstate-transitive\"/>."
+"If the <literal>Cat</literal> with identifier <literal>catId</literal> had "
+"already been loaded by <literal>secondSession</literal> when the application "
+"tried to reattach it, an exception would have been thrown."
+msgstr ""
+"Si le <literal>Cat</literal> avec l'identifiant <literal>catId</literal> "
+"avait déjà été chargé par <literal>secondSession</literal> lorsque "
+"l'application a essayé de le réattacher, une exception aurait été levée."
 
-#: index.docbook:538
-msgid "If the <literal>Cat</literal> with identifier <literal>catId</literal> had already been loaded by <literal>secondSession</literal> when the application tried to reattach it, an exception would have been thrown."
-msgstr "La méthode <literal>lock()</literal> permet aussi à une application de réassocier un objet avec une nouvelle session. Pourtant, l'instance détachée doit être non modifiée !"
+#. Tag: para
+#: session_api.xml:544
+#, no-c-format
+msgid ""
+"Use <literal>update()</literal> if you are sure that the session does not "
+"contain an already persistent instance with the same identifier, and "
+"<literal>merge()</literal> if you want to merge your modifications at any "
+"time without consideration of the state of the session. In other words, "
+"<literal>update()</literal> is usually the first method you would call in a "
+"fresh session, ensuring that reattachment of your detached instances is the "
+"first operation that is executed."
+msgstr ""
+"Utilisez <literal>update()</literal> si vous êtes sure que la session ne "
+"contient pas déjà une instance persistante avec le même identifiant, et "
+"<literal>merge()</literal> si vous voulez fusionner vos modifications "
+"n'importe quand sans considérer l'état de la session. En d'autres mots, "
+"<literal>update()</literal> est généralement la première méthode que vous "
+"devriez appeler dans une session fraîche, pour s'assurer que le "
+"réattachement de vos instances détachées est la première opération qui est "
+"exécutée."
 
-#: index.docbook:544
-msgid "Use <literal>update()</literal> if you are sure that the session does not contain an already persistent instance with the same identifier, and <literal>merge()</literal> if you want to merge your modifications at any time without consideration of the state of the session. In other words, <literal>update()</literal> is usually the first method you would call in a fresh session, ensuring that reattachment of your detached instances is the first operation that is executed."
+#. Tag: para
+#: session_api.xml:553
+#, no-c-format
+msgid ""
+"The application should individually <literal>update()</literal> detached "
+"instances reachable from the given detached instance if and <emphasis>only</"
+"emphasis> if it wants their state also updated. This can be automated of "
+"course, using <emphasis>transitive persistence</emphasis>, see <xref linkend="
+"\"objectstate-transitive\"/>."
 msgstr ""
-      "<![CDATA[//réassocie :\n"
-      "sess.lock(fritz, LockMode.NONE);\n"
-      "//fait une vérification de version, puis réassocie :\n"
-      "sess.lock(izi, LockMode.READ);\n"
-      "//fait une vérification de version, en utilisant SELECT ... FOR UPDATE, puis réassocie :\n"
-      "sess.lock(pk, LockMode.UPGRADE);]]>"
+"L'application devrait individuellement <literal>update()</literal> (NdT : "
+"mettre à jour) les instances détachées accessibles depuis l'instance "
+"détachée donnée si et <emphasis>seulement</emphasis> si elle veut que leur "
+"état soit aussi mis à jour. Ceci peut être automatisé bien sûr, en utilisant "
+"la <emphasis>persistance transitive</emphasis>, voir <xref linkend="
+"\"objectstate-transitive\"/>."
 
-#: index.docbook:553
-msgid "The application should individually <literal>update()</literal> detached instances reachable from the given detached instance if and <emphasis>only</emphasis> if it wants their state also updated. This can be automated of course, using <emphasis>transitive persistence</emphasis>, see <xref linkend=\"objectstate-transitive\"/>."
-msgstr "Notez que <literal>lock()</literal> peut être utilisé avec différents <literal>LockMode</literal>s, voir la documentation de l'API documentation et le chapitre sur la gestion des transactions pour plus d'informations. Le réattachement n'est pas le seul cas d'utilisation pour <literal>lock()</literal>."
+#. Tag: para
+#: session_api.xml:560
+#, 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 ""
+"La méthode <literal>lock()</literal> permet aussi à une application de "
+"réassocier un objet avec une nouvelle session. Pourtant, l'instance détachée "
+"doit être non modifiée !"
 
-#: index.docbook:560
-msgid "The <literal>lock()</literal> method also allows an application to reassociate an object with a new session. However, the detached instance has to be unmodified!"
-msgstr "D'autres modèles pour de longues unités de travail sont traités dans <xref linkend=\"transactions-optimistic\"/>."
+#. Tag: programlisting
+#: session_api.xml:565
+#, 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 ""
 
-#: index.docbook:565
+#. Tag: para
+#: session_api.xml:567
+#, 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 "Détection automatique d'un état"
+"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 ""
+"Notez que <literal>lock()</literal> peut être utilisé avec différents "
+"<literal>LockMode</literal>s, voir la documentation de l'API documentation "
+"et le chapitre sur la gestion des transactions pour plus d'informations. Le "
+"réattachement n'est pas le seul cas d'utilisation pour <literal>lock()</"
+"literal>."
 
-#: index.docbook:567
-msgid "Note that <literal>lock()</literal> can be used with various <literal>LockMode</literal>s, see the API documentation and the chapter on transaction handling for more information. Reattachment is not the only usecase for <literal>lock()</literal>."
-msgstr "Les utilisateurs d'Hibernate ont demandé une méthode dont l'intention générale serait soit de sauvegarder une instance éphémère en générant un nouvel identifiant, soit mettre à jour/réattacher les instances détachées associées à l'identifiant courant. La méthode <literal>saveOrUpdate()</literal> implémente cette fonctionnalité."
-
-#: index.docbook:574
-msgid "Other models for long units of work are discussed in <xref linkend=\"transactions-optimistic\"/>."
+#. Tag: para
+#: session_api.xml:574
+#, no-c-format
+msgid ""
+"Other models for long units of work are discussed in <xref linkend="
+"\"transactions-optimistic\"/>."
 msgstr ""
-      "<![CDATA[// dans la première session\n"
-      "Cat cat = (Cat) firstSession.load(Cat.class, catID);\n"
-      "\n"
-      "// dans une partie plus haute de l'application\n"
-      "Cat mate = new Cat();\n"
-      "cat.setMate(mate);\n"
-      "\n"
-      "// plus tard, dans une nouvelle session\n"
-      "secondSession.saveOrUpdate(cat);   // met à jour un état existant (cat a un identifiant non-null)\n"
-      "secondSession.saveOrUpdate(mate);  // sauvegarde les nouvelles instances (mate a un identiant null)]]>"
+"D'autres modèles pour de longues unités de travail sont traités dans <xref "
+"linkend=\"transactions-optimistic\"/>."
 
-#: index.docbook:581
+#. Tag: title
+#: session_api.xml:581
+#, no-c-format
 msgid "Automatic state detection"
-msgstr "L'usage et la sémantique de <literal>saveOrUpdate()</literal> semble être confuse pour les nouveaux utilisateurs. Premièrement, aussi longtemps que vous n'essayez pas d'utiliser des instances d'une session dans une autre, vous ne devriez pas avoir besoin d'utiliser <literal>update()</literal>, <literal>saveOrUpdate()</literal>, ou <literal>merge()</literal>. Certaines applications n'utiliseront jamais ces méthodes."
+msgstr "Détection automatique d'un état"
 
-#: index.docbook:583
-msgid "Hibernate users have requested a general purpose method that either saves a transient instance by generating a new identifier or updates/reattaches the detached instances associated with its current identifier. The <literal>saveOrUpdate()</literal> method implements this functionality."
-msgstr "Généralement <literal>update()</literal> ou <literal>saveOrUpdate()</literal> sont utilisées dans le scénario suivant :"
+#. Tag: para
+#: session_api.xml:583
+#, no-c-format
+msgid ""
+"Hibernate users have requested a general purpose method that either saves a "
+"transient instance by generating a new identifier or updates/reattaches the "
+"detached instances associated with its current identifier. The "
+"<literal>saveOrUpdate()</literal> method implements this functionality."
+msgstr ""
+"Les utilisateurs d'Hibernate ont demandé une méthode dont l'intention "
+"générale serait soit de sauvegarder une instance éphémère en générant un "
+"nouvel identifiant, soit mettre à jour/réattacher les instances détachées "
+"associées à l'identifiant courant. La méthode <literal>saveOrUpdate()</"
+"literal> implémente cette fonctionnalité."
 
-#: index.docbook:590
+#. Tag: programlisting
+#: session_api.xml:590
+#, 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 "l'application charge un objet dans la première session"
+"<![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 ""
 
-#: index.docbook:592
-msgid "The usage and semantics of <literal>saveOrUpdate()</literal> seems to be confusing for new users. Firstly, so long as you are not trying to use instances from one session in another new session, you should not need to use <literal>update()</literal>, <literal>saveOrUpdate()</literal>, or <literal>merge()</literal>. Some whole applications will never use either of these methods."
-msgstr "l'objet est passé à la couche utilisateur"
+#. Tag: para
+#: session_api.xml:592
+#, no-c-format
+msgid ""
+"The usage and semantics of <literal>saveOrUpdate()</literal> seems to be "
+"confusing for new users. Firstly, so long as you are not trying to use "
+"instances from one session in another new session, you should not need to "
+"use <literal>update()</literal>, <literal>saveOrUpdate()</literal>, or "
+"<literal>merge()</literal>. Some whole applications will never use either of "
+"these methods."
+msgstr ""
+"L'usage et la sémantique de <literal>saveOrUpdate()</literal> semble être "
+"confuse pour les nouveaux utilisateurs. Premièrement, aussi longtemps que "
+"vous n'essayez pas d'utiliser des instances d'une session dans une autre, "
+"vous ne devriez pas avoir besoin d'utiliser <literal>update()</literal>, "
+"<literal>saveOrUpdate()</literal>, ou <literal>merge()</literal>. Certaines "
+"applications n'utiliseront jamais ces méthodes."
 
-#: index.docbook:600
-msgid "Usually <literal>update()</literal> or <literal>saveOrUpdate()</literal> are used in the following scenario:"
-msgstr "certaines modifications sont effectuées sur l'objet"
+#. Tag: para
+#: session_api.xml:600
+#, no-c-format
+msgid ""
+"Usually <literal>update()</literal> or <literal>saveOrUpdate()</literal> are "
+"used in the following scenario:"
+msgstr ""
+"Généralement <literal>update()</literal> ou <literal>saveOrUpdate()</"
+"literal> sont utilisées dans le scénario suivant :"
 
-#: index.docbook:607
+#. Tag: para
+#: session_api.xml:607
+#, no-c-format
 msgid "the application loads an object in the first session"
-msgstr "l'objet est retourné à la couche logique métier"
+msgstr "l'application charge un objet dans la première session"
 
-#: index.docbook:612
+#. Tag: para
+#: session_api.xml:612
+#, no-c-format
 msgid "the object is passed up to the UI tier"
-msgstr "l'application persiste ces modifications en appelant <literal>update()</literal> dans une seconde sessin"
+msgstr "l'objet est passé à la couche utilisateur"
 
-#: index.docbook:617
+#. Tag: para
+#: session_api.xml:617
+#, no-c-format
 msgid "some modifications are made to the object"
-msgstr "<literal>saveOrUpdate()</literal> s'utilise dans le cas suivant :"
+msgstr "certaines modifications sont effectuées sur l'objet"
 
-#: index.docbook:622
+#. Tag: para
+#: session_api.xml:622
+#, no-c-format
 msgid "the object is passed back down to the business logic tier"
-msgstr "si l'objet est déjà persistant dans cette session, ne rien faire"
+msgstr "l'objet est retourné à la couche logique métier"
 
-#: index.docbook:627
-msgid "the application persists these modifications by calling <literal>update()</literal> in a second session"
-msgstr "si un autre objet associé à la session a le même identifiant, lever une exception"
+#. Tag: para
+#: session_api.xml:627
+#, no-c-format
+msgid ""
+"the application persists these modifications by calling <literal>update()</"
+"literal> in a second session"
+msgstr ""
+"l'application persiste ces modifications en appelant <literal>update()</"
+"literal> dans une seconde sessin"
 
-#: index.docbook:634
+#. Tag: para
+#: session_api.xml:634
+#, no-c-format
 msgid "<literal>saveOrUpdate()</literal> does the following:"
-msgstr "si l'objet n'a pas de propriété d'identifiant, appeler <literal>save()</literal>"
+msgstr "<literal>saveOrUpdate()</literal> s'utilise dans le cas suivant :"
 
-#: index.docbook:640
+#. Tag: para
+#: session_api.xml:640
+#, no-c-format
 msgid "if the object is already persistent in this session, do nothing"
-msgstr "si l'identifiant de l'objet a une valeur assignée à un objet nouvellement instancié, appeler <literal>save()</literal>"
+msgstr "si l'objet est déjà persistant dans cette session, ne rien faire"
 
-#: index.docbook:645
-msgid "if another object associated with the session has the same identifier, throw an exception"
-msgstr "si l'objet est versionné (par <literal>&lt;version&gt;</literal> ou <literal>&lt;timestamp&gt;</literal>), et la valeur de la propriété de version est la même valeur que celle assignée à un objet nouvellement instancié, appeler <literal>save()</literal>"
+#. Tag: para
+#: session_api.xml:645
+#, no-c-format
+msgid ""
+"if another object associated with the session has the same identifier, throw "
+"an exception"
+msgstr ""
+"si un autre objet associé à la session a le même identifiant, lever une "
+"exception"
 
-#: index.docbook:651
+#. Tag: para
+#: session_api.xml:651
+#, no-c-format
 msgid "if the object has no identifier property, <literal>save()</literal> it"
-msgstr "sinon mettre à jour l'objet avec <literal>update()</literal>"
+msgstr ""
+"si l'objet n'a pas de propriété d'identifiant, appeler <literal>save()</"
+"literal>"
 
-#: index.docbook:656
-msgid "if the object's identifier has the value assigned to a newly instantiated object, <literal>save()</literal> it"
-msgstr "et <literal>merge()</literal> est très différent :"
+#. Tag: para
+#: session_api.xml:656
+#, no-c-format
+msgid ""
+"if the object's identifier has the value assigned to a newly instantiated "
+"object, <literal>save()</literal> it"
+msgstr ""
+"si l'identifiant de l'objet a une valeur assignée à un objet nouvellement "
+"instancié, appeler <literal>save()</literal>"
 
-#: index.docbook:662
-msgid "if the object is versioned (by a <literal>&lt;version&gt;</literal> or <literal>&lt;timestamp&gt;</literal>), and the version property value is the same value assigned to a newly instantiated object, <literal>save()</literal> it"
-msgstr "s'il y a une instance persistante avec le même identifiant couramment associée à la session, copier l'état de l'objet donné dans l'instance persistante"
+#. Tag: para
+#: session_api.xml:662
+#, 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 l'objet est versionné (par <literal>&lt;version&gt;</literal> ou "
+"<literal>&lt;timestamp&gt;</literal>), et la valeur de la propriété de "
+"version est la même valeur que celle assignée à un objet nouvellement "
+"instancié, appeler <literal>save()</literal>"
 
-#: index.docbook:670
+#. Tag: para
+#: session_api.xml:670
+#, no-c-format
 msgid "otherwise <literal>update()</literal> the object"
-msgstr "s'il n'y a pas d'instance persistante associée à cette session, essayer de le charger à partir de la base de données, ou créer une nouvelle instance persistante"
+msgstr "sinon mettre à jour l'objet avec <literal>update()</literal>"
 
-#: index.docbook:676
+#. Tag: para
+#: session_api.xml:676
+#, no-c-format
 msgid "and <literal>merge()</literal> is very different:"
-msgstr "l'instance persistante est retournée"
+msgstr "et <literal>merge()</literal> est très différent :"
 
-#: index.docbook:682
-msgid "if there is a persistent instance with the same identifier currently associated with the session, copy the state of the given object onto the persistent instance"
-msgstr "l'instance donnée ne devient pas associée à la session, elle reste détachée"
+#. Tag: para
+#: session_api.xml:682
+#, no-c-format
+msgid ""
+"if there is a persistent instance with the same identifier currently "
+"associated with the session, copy the state of the given object onto the "
+"persistent instance"
+msgstr ""
+"s'il y a une instance persistante avec le même identifiant couramment "
+"associée à la session, copier l'état de l'objet donné dans l'instance "
+"persistante"
 
-#: index.docbook:689
-msgid "if there is no persistent instance currently associated with the session, try to load it from the database, or create a new persistent instance"
-msgstr "Suppression d'objets persistants"
+#. Tag: para
+#: session_api.xml:689
+#, 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 ""
+"s'il n'y a pas d'instance persistante associée à cette session, essayer de "
+"le charger à partir de la base de données, ou créer une nouvelle instance "
+"persistante"
 
-#: index.docbook:695
+#. Tag: para
+#: session_api.xml:695
+#, no-c-format
 msgid "the persistent instance is returned"
-msgstr "<literal>Session.delete()</literal> supprimera l'état d'un objet de la base de données. Bien sûr, votre application pourrait encore conserver une référence vers un objet effacé. Il est mieux de penser à <literal>delete()</literal> comme rendant une instance persistante éphémère."
+msgstr "l'instance persistante est retournée"
 
-#: index.docbook:700
-msgid "the given instance does not become associated with the session, it remains detached"
-msgstr "<![CDATA[sess.delete(cat);]]>"
+#. Tag: para
+#: session_api.xml:700
+#, no-c-format
+msgid ""
+"the given instance does not become associated with the session, it remains "
+"detached"
+msgstr ""
+"l'instance donnée ne devient pas associée à la session, elle reste détachée"
 
-#: index.docbook:710
+#. Tag: title
+#: session_api.xml:710
+#, no-c-format
 msgid "Deleting persistent objects"
-msgstr "Vous pouvez effacer des objets dans l'ordre que vous voulez, sans risque de violations de contrainte de clef étrangère. Il est encore possible de violer une contrainte <literal>NOT NULL</literal> sur une colonne de clef étrangère en effaçant des objets dans le mauvais ordre, par exemple si vous effacer le parent, mais oubliez d'effacer les enfants."
+msgstr "Suppression d'objets persistants"
 
-#: index.docbook:712
-msgid "<literal>Session.delete()</literal> will remove an object's state from the database. Of course, your application might still hold a reference to a deleted object. It's best to think of <literal>delete()</literal> as making a persistent instance transient."
-msgstr "Réplication d'objets entre deux entrepôts de données"
+#. Tag: para
+#: session_api.xml:712
+#, no-c-format
+msgid ""
+"<literal>Session.delete()</literal> will remove an object's state from the "
+"database. Of course, your application might still hold a reference to a "
+"deleted object. It's best to think of <literal>delete()</literal> as making "
+"a persistent instance transient."
+msgstr ""
+"<literal>Session.delete()</literal> supprimera l'état d'un objet de la base "
+"de données. Bien sûr, votre application pourrait encore conserver une "
+"référence vers un objet effacé. Il est mieux de penser à <literal>delete()</"
+"literal> comme rendant une instance persistante éphémère."
 
-#: index.docbook:719
+#. Tag: programlisting
+#: session_api.xml:719
+#, no-c-format
 msgid "<![CDATA[sess.delete(cat);]]>"
-msgstr "Il est occasionnellement utile de pouvoir prendre un graphe d'instances persistantes et de les rendre persistantes dans un entrepôt différent, sans regénérer les valeurs des identifiants."
+msgstr ""
 
-#: index.docbook:721
-msgid "You may delete objects in any order you like, without risk of foreign key constraint violations. It is still possible to violate a <literal>NOT NULL</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."
+#. Tag: para
+#: session_api.xml:721
+#, no-c-format
+msgid ""
+"You may delete objects in any order you like, without risk of foreign key "
+"constraint violations. It is still possible to violate a <literal>NOT NULL</"
+"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 ""
-      "<![CDATA[//récupère un cat de la base de données\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"
-      "// réconcilie la seconde base de données\n"
-      "Session session2 = factory2.openSession();\n"
-      "Transaction tx2 = session2.beginTransaction();\n"
-      "session2.replicate(cat, ReplicationMode.LATEST_VERSION);\n"
-      "tx2.commit();\n"
-      "session2.close();]]>"
+"Vous pouvez effacer des objets dans l'ordre que vous voulez, sans risque de "
+"violations de contrainte de clef étrangère. Il est encore possible de violer "
+"une contrainte <literal>NOT NULL</literal> sur une colonne de clef étrangère "
+"en effaçant des objets dans le mauvais ordre, par exemple si vous effacer le "
+"parent, mais oubliez d'effacer les enfants."
 
-#: index.docbook:732
+#. Tag: title
+#: session_api.xml:732
+#, no-c-format
 msgid "Replicating object between two different datastores"
-msgstr "Le <literal>ReplicationMode</literal> détermine comment <literal>replicate()</literal> traitera les conflits avec les lignes existantes dans la base de données."
+msgstr "Réplication d'objets entre deux entrepôts de données"
 
-#: index.docbook:734
-msgid "It is occasionally useful to be able to take a graph of persistent instances and make them persistent in a different datastore, without regenerating identifier values."
-msgstr "<literal>ReplicationMode.IGNORE</literal> - ignore l'objet s'il y a une ligne existante dans la base de données avec le même identifiant"
+#. Tag: para
+#: session_api.xml:734
+#, no-c-format
+msgid ""
+"It is occasionally useful to be able to take a graph of persistent instances "
+"and make them persistent in a different datastore, without regenerating "
+"identifier values."
+msgstr ""
+"Il est occasionnellement utile de pouvoir prendre un graphe d'instances "
+"persistantes et de les rendre persistantes dans un entrepôt différent, sans "
+"regénérer les valeurs des identifiants."
 
-#: index.docbook:740
+#. Tag: programlisting
+#: session_api.xml:740
+#, 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 "<literal>ReplicationMode.OVERWRITE</literal> - écrase n'importe quelle ligne existante dans la base de données avec le même identifiant"
+"<![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 ""
 
-#: index.docbook:742
-msgid "The <literal>ReplicationMode</literal> determines how <literal>replicate()</literal> will deal with conflicts with existing rows in the database."
-msgstr "<literal>ReplicationMode.EXCEPTION</literal> - lève une exception s'il y une ligne dans la base de données avec le même identifiant"
+#. Tag: para
+#: session_api.xml:742
+#, no-c-format
+msgid ""
+"The <literal>ReplicationMode</literal> determines how <literal>replicate()</"
+"literal> will deal with conflicts with existing rows in the database."
+msgstr ""
+"Le <literal>ReplicationMode</literal> détermine comment <literal>replicate()"
+"</literal> traitera les conflits avec les lignes existantes dans la base de "
+"données."
 
-#: index.docbook:749
-msgid "<literal>ReplicationMode.IGNORE</literal> - ignore the object when there is an existing database row with the same identifier"
-msgstr "<literal>ReplicationMode.LATEST_VERSION</literal> - écrase la ligne si son numéro de version est plus petit que le numéro de version de l'objet, ou ignore l'objet sinon"
+#. Tag: para
+#: session_api.xml:749
+#, no-c-format
+msgid ""
+"<literal>ReplicationMode.IGNORE</literal> - ignore the object when there is "
+"an existing database row with the same identifier"
+msgstr ""
+"<literal>ReplicationMode.IGNORE</literal> - ignore l'objet s'il y a une "
+"ligne existante dans la base de données avec le même identifiant"
 
-#: index.docbook:755
-msgid "<literal>ReplicationMode.OVERWRITE</literal> - overwrite any existing database row with the same identifier"
-msgstr "Les cas d'utilisation de cette fonctionnalité incluent la réconciliation de données entrées dans différentes base de données, l'extension des informations de configuration du système durant une mise à jour du produit, retour en arrière sur les changements effectués durant des transactions non-ACID, et plus."
+#. Tag: para
+#: session_api.xml:755
+#, no-c-format
+msgid ""
+"<literal>ReplicationMode.OVERWRITE</literal> - overwrite any existing "
+"database row with the same identifier"
+msgstr ""
+"<literal>ReplicationMode.OVERWRITE</literal> - écrase n'importe quelle ligne "
+"existante dans la base de données avec le même identifiant"
 
-#: index.docbook:761
-msgid "<literal>ReplicationMode.EXCEPTION</literal> - throw an exception if there is an existing database row with the same identifier"
-msgstr "Flush de la session"
+#. Tag: para
+#: session_api.xml:761
+#, no-c-format
+msgid ""
+"<literal>ReplicationMode.EXCEPTION</literal> - throw an exception if there "
+"is an existing database row with the same identifier"
+msgstr ""
+"<literal>ReplicationMode.EXCEPTION</literal> - lève une exception s'il y une "
+"ligne dans la base de données avec le même identifiant"
 
-#: index.docbook:767
-msgid "<literal>ReplicationMode.LATEST_VERSION</literal> - overwrite the row if its version number is earlier than the version number of the object, or ignore the object otherwise"
-msgstr "De temps en temps la <literal>Session</literal> exécutera les expressions SQL requises pour syncrhoniser l'état de la connexion JDBC avec l'état des objets retenus en mémoire. Ce processus, <emphasis>flush</emphasis>, arrive par défaut aux points suivants :"
+#. Tag: para
+#: session_api.xml:767
+#, no-c-format
+msgid ""
+"<literal>ReplicationMode.LATEST_VERSION</literal> - overwrite the row if its "
+"version number is earlier than the version number of the object, or ignore "
+"the object otherwise"
+msgstr ""
+"<literal>ReplicationMode.LATEST_VERSION</literal> - écrase la ligne si son "
+"numéro de version est plus petit que le numéro de version de l'objet, ou "
+"ignore l'objet sinon"
 
-#: index.docbook:775
-msgid "Usecases for this feature include reconciling data entered into different database instances, upgrading system configuration information during product upgrades, rolling back changes made during non-ACID transactions and more."
-msgstr "lors de certaines exécutions de requête"
+#. Tag: para
+#: session_api.xml:775
+#, no-c-format
+msgid ""
+"Usecases for this feature include reconciling data entered into different "
+"database instances, upgrading system configuration information during "
+"product upgrades, rolling back changes made during non-ACID transactions and "
+"more."
+msgstr ""
+"Les cas d'utilisation de cette fonctionnalité incluent la réconciliation de "
+"données entrées dans différentes base de données, l'extension des "
+"informations de configuration du système durant une mise à jour du produit, "
+"retour en arrière sur les changements effectués durant des transactions non-"
+"ACID, et plus."
 
-#: index.docbook:784
+#. Tag: title
+#: session_api.xml:784
+#, no-c-format
 msgid "Flushing the Session"
-msgstr "lors d'un appel à <literal>org.hibernate.Transaction.commit()</literal>"
+msgstr "Flush de la session"
 
-#: index.docbook:786
-msgid "From time to time the <literal>Session</literal> will execute the SQL statements needed to synchronize the JDBC connection's state with the state of objects held in memory. This process, <emphasis>flush</emphasis>, occurs by default at the following points"
-msgstr "lors d'un appel à <literal>Session.flush()</literal>"
+#. Tag: para
+#: session_api.xml:786
+#, no-c-format
+msgid ""
+"From time to time the <literal>Session</literal> will execute the SQL "
+"statements needed to synchronize the JDBC connection's state with the state "
+"of objects held in memory. This process, <emphasis>flush</emphasis>, occurs "
+"by default at the following points"
+msgstr ""
+"De temps en temps la <literal>Session</literal> exécutera les expressions "
+"SQL requises pour syncrhoniser l'état de la connexion JDBC avec l'état des "
+"objets retenus en mémoire. Ce processus, <emphasis>flush</emphasis>, arrive "
+"par défaut aux points suivants :"
 
-#: index.docbook:795
+#. Tag: para
+#: session_api.xml:795
+#, no-c-format
 msgid "before some query executions"
-msgstr "Les expressions SQL sont effectuées dans l'ordre suivant :"
+msgstr "lors de certaines exécutions de requête"
 
-#: index.docbook:800
+#. Tag: para
+#: session_api.xml:800
+#, no-c-format
 msgid "from <literal>org.hibernate.Transaction.commit()</literal>"
-msgstr "insertion des entités, dans le même ordre que celui des objets correspondants sauvegardés par l'appel à <literal>Session.save()</literal>"
+msgstr ""
+"lors d'un appel à <literal>org.hibernate.Transaction.commit()</literal>"
 
-#: index.docbook:805
+#. Tag: para
+#: session_api.xml:805
+#, no-c-format
 msgid "from <literal>Session.flush()</literal>"
-msgstr "mise à jours des entités"
+msgstr "lors d'un appel à <literal>Session.flush()</literal>"
 
-#: index.docbook:811
+#. Tag: para
+#: session_api.xml:811
+#, no-c-format
 msgid "The SQL statements are issued in the following order"
-msgstr "suppression des collections"
+msgstr "Les expressions SQL sont effectuées dans l'ordre suivant :"
 
-#: index.docbook:817
-msgid "all entity insertions, in the same order the corresponding objects were saved using <literal>Session.save()</literal>"
-msgstr "suppression, mise à jour et insertion des éléments des collections"
+#. Tag: para
+#: session_api.xml:817
+#, no-c-format
+msgid ""
+"all entity insertions, in the same order the corresponding objects were "
+"saved using <literal>Session.save()</literal>"
+msgstr ""
+"insertion des entités, dans le même ordre que celui des objets "
+"correspondants sauvegardés par l'appel à <literal>Session.save()</literal>"
 
-#: index.docbook:823
+#. Tag: para
+#: session_api.xml:823
+#, no-c-format
 msgid "all entity updates"
-msgstr "insertion des collections"
+msgstr "mise à jours des entités"
 
-#: index.docbook:828
+#. Tag: para
+#: session_api.xml:828
+#, no-c-format
 msgid "all collection deletions"
-msgstr "suppression des entités, dans le même ordre que celui des objets correspondants qui ont été supprimés par l'appel à <literal>Session.delete()</literal>"
+msgstr "suppression des collections"
 
-#: index.docbook:833
+#. Tag: para
+#: session_api.xml:833
+#, no-c-format
 msgid "all collection element deletions, updates and insertions"
-msgstr "(Une exception est que des objets utilisant la génération <literal>native</literal> d'identifiants sont insérés lorsqu'ils sont sauvegardés.)"
+msgstr "suppression, mise à jour et insertion des éléments des collections"
 
-#: index.docbook:838
+#. Tag: para
+#: session_api.xml:838
+#, no-c-format
 msgid "all collection insertions"
-msgstr "Excepté lorsque vous appelez <literal>flush()</literal> explicitement, il n'y absolument aucune garantie à propos de <emphasis>quand</emphasis> la <literal>Session</literal> exécute les appels JDBC, seulement sur l'<emphasis>ordre</emphasis> dans lequel ils sont exécutés. Cependant, Hibernate garantit que <literal>Query.list(..)</literal> ne retournera jamais de données périmées, ni des données fausses."
+msgstr "insertion des collections"
 
-#: index.docbook:843
-msgid "all entity deletions, in the same order the corresponding objects were deleted using <literal>Session.delete()</literal>"
-msgstr "Il est possible de changer le comportement par défaut, donc que le flush se produise moins fréquemment. La classe <literal>FlushMode</literal> définit trois modes différents : flush seulement lors du commit (et seulement quand l'API <literal>Transaction</literal> d'Hibernate est utilisée), flush automatiquement en utilisant la procédure expliquée, ou jamais de flush à moins que <literal>flush()</literal> soit appelée explicitement. Le dernier mode est utile pour l'exécution de longues unités de travail, où une <literal>Session</literal> est gardée ouverte et déconnectée pour un long moment (voir <xref linkend=\"transactions-optimistic-longsession\"/>)."
+#. Tag: para
+#: session_api.xml:843
+#, no-c-format
+msgid ""
+"all entity deletions, in the same order the corresponding objects were "
+"deleted using <literal>Session.delete()</literal>"
+msgstr ""
+"suppression des entités, dans le même ordre que celui des objets "
+"correspondants qui ont été supprimés par l'appel à <literal>Session.delete()"
+"</literal>"
 
-#: index.docbook:850
-msgid "(An exception is that objects using <literal>native</literal> ID generation are inserted when they are saved.)"
+#. Tag: para
+#: session_api.xml:850
+#, no-c-format
+msgid ""
+"(An exception is that objects using <literal>native</literal> ID generation "
+"are inserted when they are saved.)"
 msgstr ""
-      "<![CDATA[sess = sf.openSession();\n"
-      "Transaction tx = sess.beginTransaction();\n"
-      "sess.setFlushMode(FlushMode.COMMIT); // permet aux requêtes de retourner un état périmé\n"
-      "\n"
-      "Cat izi = (Cat) sess.load(Cat.class, id);\n"
-      "izi.setName(iznizi);\n"
-      "\n"
-      "// pourrait retourner des données périmées\n"
-      "sess.find(\"from Cat as cat left outer join cat.kittens kitten\");\n"
-      "\n"
-      "// le changement pour izi n'est pas flushé !\n"
-      "...\n"
-      "tx.commit(); // le flush se produit]]>"
+"(Une exception est que des objets utilisant la génération <literal>native</"
+"literal> d'identifiants sont insérés lorsqu'ils sont sauvegardés.)"
 
-#: index.docbook:855
-msgid "Except when you explicity <literal>flush()</literal>, there are absolutely no guarantees about <emphasis>when</emphasis> the <literal>Session</literal> executes the JDBC calls, only the <emphasis>order</emphasis> in which they are executed. However, Hibernate does guarantee that the <literal>Query.list(..)</literal> will never return stale data; nor will they return the wrong data."
-msgstr "Durant le flush, une exception peut se produire (par exemple, si une opération de la DML viole une contrainte). Puisque les exceptions de gestion impliquent une certaine compréhension du comportement transactionnel d'Hibernate, nous le traitons dans <xref linkend=\"transactions\"/>."
+#. Tag: para
+#: session_api.xml:855
+#, no-c-format
+msgid ""
+"Except when you explicity <literal>flush()</literal>, there are absolutely "
+"no guarantees about <emphasis>when</emphasis> the <literal>Session</literal> "
+"executes the JDBC calls, only the <emphasis>order</emphasis> in which they "
+"are executed. However, Hibernate does guarantee that the <literal>Query.list"
+"(..)</literal> will never return stale data; nor will they return the wrong "
+"data."
+msgstr ""
+"Excepté lorsque vous appelez <literal>flush()</literal> explicitement, il "
+"n'y absolument aucune garantie à propos de <emphasis>quand</emphasis> la "
+"<literal>Session</literal> exécute les appels JDBC, seulement sur "
+"l'<emphasis>ordre</emphasis> dans lequel ils sont exécutés. Cependant, "
+"Hibernate garantit que <literal>Query.list(..)</literal> ne retournera "
+"jamais de données périmées, ni des données fausses."
 
-#: index.docbook:863
-msgid "It is possible to change the default behavior so that flush occurs less frequently. The <literal>FlushMode</literal> class defines three different modes: only flush at commit time (and only when the Hibernate <literal>Transaction</literal> API is used), flush automatically using the explained routine, or 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\"/>)."
-msgstr "Persistance transitive"
+#. Tag: para
+#: session_api.xml:863
+#, 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 "
+"modes: only flush at commit time (and only when the Hibernate "
+"<literal>Transaction</literal> API is used), flush automatically using the "
+"explained routine, or 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\"/>)."
+msgstr ""
+"Il est possible de changer le comportement par défaut, donc que le flush se "
+"produise moins fréquemment. La classe <literal>FlushMode</literal> définit "
+"trois modes différents : flush seulement lors du commit (et seulement quand "
+"l'API <literal>Transaction</literal> d'Hibernate est utilisée), flush "
+"automatiquement en utilisant la procédure expliquée, ou jamais de flush à "
+"moins que <literal>flush()</literal> soit appelée explicitement. Le dernier "
+"mode est utile pour l'exécution de longues unités de travail, où une "
+"<literal>Session</literal> est gardée ouverte et déconnectée pour un long "
+"moment (voir <xref linkend=\"transactions-optimistic-longsession\"/>)."
 
-#: index.docbook:873
+#. Tag: programlisting
+#: session_api.xml:873
+#, 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 "Il est assez pénible de sauvegarder, supprimer, ou réattacher des objets un par un, surtout si vous traitez un graphe d'objets associés. Un cas habituel est une relation parent/enfant. Considérez l'exemple suivant :"
+"<![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 ""
 
-#: index.docbook:875
-msgid "During flush, an exception might occur (e.g. if a DML operation violates a constraint). Since handling exceptions involves some understanding of Hibernate's transactional behavior, we discuss it in <xref linkend=\"transactions\"/>."
-msgstr "Si les enfants de la relation parent/enfant étaient des types de valeur (par exemple, une collection d'adresses ou de chaînes de caractères), leur cycle de vie dépendraient du parent et aucune action ne serait requise pour \"cascader\" facilement les changements d'état. Si le parent est sauvegardé, les objets enfants de type de valeur sont sauvegardés également, si le parent est supprimé, les enfants sont supprimés, etc. Ceci fonctionne même pour des opérations telles que la suppression d'un enfant de la collection ; Hibernate détectera cela et, puisque les objets de type de valeur ne peuvent pas avoir des références partagées, supprimera l'enfant de la base de données."
+#. Tag: para
+#: session_api.xml:875
+#, 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\"/>."
+msgstr ""
+"Durant le flush, une exception peut se produire (par exemple, si une "
+"opération de la DML viole une contrainte). Puisque les exceptions de gestion "
+"impliquent une certaine compréhension du comportement transactionnel "
+"d'Hibernate, nous le traitons dans <xref linkend=\"transactions\"/>."
 
-#: index.docbook:884
+#. Tag: title
+#: session_api.xml:884
+#, no-c-format
 msgid "Transitive persistence"
-msgstr "Maintenant considérez le même scénario avec un parent et dont les objets enfants sont des entités, et non des types de valeur (par exemple, des catégories et des objets, ou un parent et des chatons). Les entités ont leur propre cycle de vie, supportent les références partagées (donc supprimer une entité de la collection ne signifie pas qu'elle peut être supprimée), et il n'y a par défaut pas de cascade d'état d'une entité vers n'importe quelle entité associée. Hibernate n'implémente pas la <emphasis>persistance par accessibilité</emphasis> par défaut."
+msgstr "Persistance transitive"
 
-#: index.docbook:886
-msgid "It is quite cumbersome to save, delete, or reattach individual objects, especially if you deal with a graph of associated objects. A common case is a parent/child relationship. Consider the following example:"
-msgstr "Pour chaque opération basique de la session d'Hibernate - incluant <literal>persist(), merge(), saveOrUpdate(), delete(), lock(), refresh(), evict(), replicate()</literal> - il y a un style de cascade correspondant. Respectivement, les styles de cascade s'appellent <literal>persist, merge, save-update, delete, lock, refresh, evict, replicate</literal>. Si vous voulez qu'une opération soit cascadée le long d'une association, vous devez l'indiquer dans le document de mapping. Par exemple :"
+#. Tag: para
+#: session_api.xml:886
+#, 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 ""
+"Il est assez pénible de sauvegarder, supprimer, ou réattacher des objets un "
+"par un, surtout si vous traitez un graphe d'objets associés. Un cas habituel "
+"est une relation parent/enfant. Considérez l'exemple suivant :"
 
-#: index.docbook:892
-msgid "If the children in a parent/child relationship would be value typed (e.g. a collection of addresses or strings), their life cycle would depend on the parent and no further action would be required for convenient \"cascading\" of state changes. When the parent is saved, the value-typed child objects are saved as well, when the parent is deleted, the children will be deleted, etc. This even works for operations such as the removal of a child from the collection; Hibernate will detect this and, since value-typed objects can't have shared references, delete the child from the database."
-msgstr "<![CDATA[<one-to-one name=\"person\" cascade=\"persist\"/>]]>"
+#. Tag: para
+#: session_api.xml:892
+#, 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 "
+"parent and no further action would be required for convenient \"cascading\" "
+"of state changes. When the parent is saved, the value-typed child objects "
+"are saved as well, when the parent is deleted, the children will be deleted, "
+"etc. This even works for operations such as the removal of a child from the "
+"collection; Hibernate will detect this and, since value-typed objects can't "
+"have shared references, delete the child from the database."
+msgstr ""
+"Si les enfants de la relation parent/enfant étaient des types de valeur (par "
+"exemple, une collection d'adresses ou de chaînes de caractères), leur cycle "
+"de vie dépendraient du parent et aucune action ne serait requise pour "
+"\"cascader\" facilement les changements d'état. Si le parent est sauvegardé, "
+"les objets enfants de type de valeur sont sauvegardés également, si le "
+"parent est supprimé, les enfants sont supprimés, etc. Ceci fonctionne même "
+"pour des opérations telles que la suppression d'un enfant de la collection ; "
+"Hibernate détectera cela et, puisque les objets de type de valeur ne peuvent "
+"pas avoir des références partagées, supprimera l'enfant de la base de "
+"données."
 
-#: index.docbook:903
-msgid "Now consider the same scenario with parent and child objects being entities, not value-types (e.g. categories and items, or parent and child cats). Entities have their own life cycle, support shared references (so removing an entity from the collection does not mean it can be deleted), and there is by default no cascading of state from one entity to any other associated entities. Hibernate does not implement <emphasis>persistence by reachability</emphasis> by default."
-msgstr "Les styles de cascade peuvent être combinés :"
+#. Tag: para
+#: session_api.xml:903
+#, 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). "
+"Entities have their own life cycle, support shared references (so removing "
+"an entity from the collection does not mean it can be deleted), and there is "
+"by default no cascading of state from one entity to any other associated "
+"entities. Hibernate does not implement <emphasis>persistence by "
+"reachability</emphasis> by default."
+msgstr ""
+"Maintenant considérez le même scénario avec un parent et dont les objets "
+"enfants sont des entités, et non des types de valeur (par exemple, des "
+"catégories et des objets, ou un parent et des chatons). Les entités ont leur "
+"propre cycle de vie, supportent les références partagées (donc supprimer une "
+"entité de la collection ne signifie pas qu'elle peut être supprimée), et il "
+"n'y a par défaut pas de cascade d'état d'une entité vers n'importe quelle "
+"entité associée. Hibernate n'implémente pas la <emphasis>persistance par "
+"accessibilité</emphasis> par défaut."
 
-#: index.docbook:912
-msgid "For each basic operation of the Hibernate session - including <literal>persist(), merge(), saveOrUpdate(), delete(), lock(), refresh(), evict(), replicate()</literal> - there is a corresponding cascade style. Respectively, the cascade styles are named <literal>create, merge, save-update, delete, lock, refresh, evict, replicate</literal>. If you want an operation to be cascaded along an association, you must indicate that in the mapping document. For example:"
-msgstr "<![CDATA[<one-to-one name=\"person\" cascade=\"persist,delete,lock\"/>]]>"
+#. Tag: para
+#: session_api.xml:912
+#, no-c-format
+msgid ""
+"For each basic operation of the Hibernate session - including "
+"<literal>persist(), merge(), saveOrUpdate(), delete(), lock(), refresh(), "
+"evict(), replicate()</literal> - there is a corresponding cascade style. "
+"Respectively, the cascade styles are named <literal>create, merge, save-"
+"update, delete, lock, refresh, evict, replicate</literal>. If you want an "
+"operation to be cascaded along an association, you must indicate that in the "
+"mapping document. For example:"
+msgstr ""
+"Pour chaque opération basique de la session d'Hibernate - incluant "
+"<literal>persist(), merge(), saveOrUpdate(), delete(), lock(), refresh(), "
+"evict(), replicate()</literal> - il y a un style de cascade correspondant. "
+"Respectivement, les styles de cascade s'appellent <literal>persist, merge, "
+"save-update, delete, lock, refresh, evict, replicate</literal>. Si vous "
+"voulez qu'une opération soit cascadée le long d'une association, vous devez "
+"l'indiquer dans le document de mapping. Par exemple :"
 
-#: index.docbook:921
+#. Tag: programlisting
+#: session_api.xml:921
+#, no-c-format
 msgid "<![CDATA[<one-to-one name=\"person\" cascade=\"persist\"/>]]>"
-msgstr "Vous pouvez même utiliser <literal>cascade=\"all\"</literal> pour spécifier que <emphasis>toutes</emphasis> les opérations devraient être cascadées le long de l'association. La valeur par défaut <literal>cascade=\"none\"</literal> spécifie qu'aucune opération ne sera cascadée."
+msgstr ""
 
-#: index.docbook:923
+#. Tag: para
+#: session_api.xml:923
+#, no-c-format
 msgid "Cascade styles my be combined:"
-msgstr "Une style de cascade spécial, <literal>delete-orphan</literal>, s'applique seulement aux associations un-vers-plusieurs, et indique que l'opération <literal>delete()</literal> devrait être appliquée à n'importe quel enfant qui est supprimé de l'association."
+msgstr "Les styles de cascade peuvent être combinés :"
 
-#: index.docbook:927
-msgid "<![CDATA[<one-to-one name=\"person\" cascade=\"persist,delete,lock\"/>]]>"
-msgstr "Recommandations :"
+#. Tag: programlisting
+#: session_api.xml:927
+#, no-c-format
+msgid ""
+"<![CDATA[<one-to-one name=\"person\" cascade=\"persist,delete,lock\"/>]]>"
+msgstr ""
 
-#: index.docbook:929
-msgid "You may 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 "Cela n'a généralement aucun sens d'activer la cascade sur une association <literal>&lt;many-to-one&gt;</literal> ou <literal>&lt;many-to-many&gt;</literal>. Les cascades sont souvent utiles pour des associations <literal>&lt;one-to-one&gt;</literal> et <literal>&lt;one-to-many&gt;</literal>."
+#. Tag: para
+#: session_api.xml:929
+#, no-c-format
+msgid ""
+"You may 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 ""
+"Vous pouvez même utiliser <literal>cascade=\"all\"</literal> pour spécifier "
+"que <emphasis>toutes</emphasis> les opérations devraient être cascadées le "
+"long de l'association. La valeur par défaut <literal>cascade=\"none\"</"
+"literal> spécifie qu'aucune opération ne sera cascadée."
 
-#: index.docbook:935
-msgid "A special cascade style, <literal>delete-orphan</literal>, applies only to one-to-many associations, and indicates that the <literal>delete()</literal> operation should be applied to any child object that is removed from the association."
-msgstr "Si la durée de vie de l'objet enfant est liée à la durée de vie de l'objet parent, faites en un <emphasis>objet du cycle de vie</emphasis> en spécifiant <literal>cascade=\"all,delete-orphan\"</literal>."
+#. Tag: para
+#: session_api.xml:935
+#, no-c-format
+msgid ""
+"A special cascade style, <literal>delete-orphan</literal>, applies only to "
+"one-to-many associations, and indicates that the <literal>delete()</literal> "
+"operation should be applied to any child object that is removed from the "
+"association."
+msgstr ""
+"Une style de cascade spécial, <literal>delete-orphan</literal>, s'applique "
+"seulement aux associations un-vers-plusieurs, et indique que l'opération "
+"<literal>delete()</literal> devrait être appliquée à n'importe quel enfant "
+"qui est supprimé de l'association."
 
-#: index.docbook:942
+#. Tag: para
+#: session_api.xml:942
+#, no-c-format
 msgid "Recommendations:"
-msgstr "Sinon, vous pourriez ne pas avoir besoin de cascade du tout. Mais si vous pensez que vous travaillerez souvent avec le parent et les enfants ensemble dans la même transaction, et que vous voulez vous éviter quelques frappes, considérez l'utilisation de <literal>cascade=\"persist,merge,save-update\"</literal>."
+msgstr "Recommandations :"
 
-#: index.docbook:948
-msgid "It doesn't usually make sense to enable cascade on a <literal>&lt;many-to-one&gt;</literal> or <literal>&lt;many-to-many&gt;</literal> association. Cascade is often useful for <literal>&lt;one-to-one&gt;</literal> and <literal>&lt;one-to-many&gt;</literal> associations."
-msgstr "Mapper une association (soit une simple association valuée, soit une collection) avec <literal>cascade=\"all\"</literal> marque l'association comme une relation de style <emphasis>parent/enfant</emphasis> où la sauvegarde/mise à jour/suppression du parent entraîne la sauvegarde/mise à jour/suppression de l'enfant ou des enfants."
+#. Tag: para
+#: session_api.xml:948
+#, no-c-format
+msgid ""
+"It doesn't usually make sense to enable cascade on a <literal>&lt;many-to-"
+"one&gt;</literal> or <literal>&lt;many-to-many&gt;</literal> association. "
+"Cascade is often useful for <literal>&lt;one-to-one&gt;</literal> and "
+"<literal>&lt;one-to-many&gt;</literal> associations."
+msgstr ""
+"Cela n'a généralement aucun sens d'activer la cascade sur une association "
+"<literal>&lt;many-to-one&gt;</literal> ou <literal>&lt;many-to-many&gt;</"
+"literal>. Les cascades sont souvent utiles pour des associations "
+"<literal>&lt;one-to-one&gt;</literal> et <literal>&lt;one-to-many&gt;</"
+"literal>."
 
-#: index.docbook:956
-msgid "If the child object's lifespan is bounded by the lifespan of the parent object, make it a <emphasis>life cycle object</emphasis> by specifying <literal>cascade=\"all,delete-orphan\"</literal>."
-msgstr "En outre, une simple référence à un enfant d'un parent persistant aura pour conséquence la sauvegarde/mise à jour de l'enfant. Cette métaphore est cependant incomplète. Un enfant qui devient non référencé par son parent <emphasis>n'est pas</emphasis> automatiquement supprimée, excepté dans le cas d'une association <literal>&lt;one-to-many&gt;</literal> mappée avec <literal>cascade=\"delete-orphan\"</literal>. La sémantique précise des opérations de cascade pour une relation parent/enfant est la suivante :"
+#. Tag: para
+#: session_api.xml:956
+#, 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 durée de vie de l'objet enfant est liée à la durée de vie de l'objet "
+"parent, faites en un <emphasis>objet du cycle de vie</emphasis> en "
+"spécifiant <literal>cascade=\"all,delete-orphan\"</literal>."
 
-#: index.docbook:963
-msgid "Otherwise, you might not need cascade at all. But if you think that you will often be working with the parent and children together in the same transaction, and you want to save yourself some typing, consider using <literal>cascade=\"persist,merge,save-update\"</literal>."
-msgstr "Si un parent est passé à <literal>persist()</literal>, tous les enfant sont passés à <literal>persist()</literal>"
+#. Tag: para
+#: session_api.xml:963
+#, no-c-format
+msgid ""
+"Otherwise, you might not need cascade at all. But if you think that you will "
+"often be working with the parent and children together in the same "
+"transaction, and you want to save yourself some typing, consider using "
+"<literal>cascade=\"persist,merge,save-update\"</literal>."
+msgstr ""
+"Sinon, vous pourriez ne pas avoir besoin de cascade du tout. Mais si vous "
+"pensez que vous travaillerez souvent avec le parent et les enfants ensemble "
+"dans la même transaction, et que vous voulez vous éviter quelques frappes, "
+"considérez l'utilisation de <literal>cascade=\"persist,merge,save-update\"</"
+"literal>."
 
-#: index.docbook:971
-msgid "Mapping an association (either a single valued association, or a collection) with <literal>cascade=\"all\"</literal> marks the association as a <emphasis>parent/child</emphasis> style relationship where save/update/delete of the parent results in save/update/delete of the child or children."
-msgstr "Si un parent est passé à <literal>merge()</literal>, tous les enfants sont passés à <literal>merge()</literal>"
+#. Tag: para
+#: session_api.xml:971
+#, no-c-format
+msgid ""
+"Mapping an association (either a single valued association, or a collection) "
+"with <literal>cascade=\"all\"</literal> marks the association as a "
+"<emphasis>parent/child</emphasis> style relationship where save/update/"
+"delete of the parent results in save/update/delete of the child or children."
+msgstr ""
+"Mapper une association (soit une simple association valuée, soit une "
+"collection) avec <literal>cascade=\"all\"</literal> marque l'association "
+"comme une relation de style <emphasis>parent/enfant</emphasis> où la "
+"sauvegarde/mise à jour/suppression du parent entraîne la sauvegarde/mise à "
+"jour/suppression de l'enfant ou des enfants."
 
-#: index.docbook:977
-msgid "Futhermore, a mere reference to a child from a persistent parent will result in save/update of the child. This metaphor is incomplete, however. A child which becomes unreferenced by its parent is <emphasis>not</emphasis> automatically deleted, except in the case of a <literal>&lt;one-to-many&gt;</literal> association mapped with <literal>cascade=\"delete-orphan\"</literal>. The precise semantics of cascading operations for a parent/child relationship are as follows:"
-msgstr "Si un parent est passé à <literal>save()</literal>, <literal>update()</literal> ou <literal>saveOrUpdate()</literal>, tous les enfants sont passés à <literal>saveOrUpdate()</literal>"
+#. Tag: para
+#: session_api.xml:977
+#, no-c-format
+msgid ""
+"Futhermore, a mere reference to a child from a persistent parent will result "
+"in save/update of the child. This metaphor is incomplete, however. A child "
+"which becomes unreferenced by its parent is <emphasis>not</emphasis> "
+"automatically deleted, except in the case of a <literal>&lt;one-to-many&gt;</"
+"literal> association mapped with <literal>cascade=\"delete-orphan\"</"
+"literal>. The precise semantics of cascading operations for a parent/child "
+"relationship are as follows:"
+msgstr ""
+"En outre, une simple référence à un enfant d'un parent persistant aura pour "
+"conséquence la sauvegarde/mise à jour de l'enfant. Cette métaphore est "
+"cependant incomplète. Un enfant qui devient non référencé par son parent "
+"<emphasis>n'est pas</emphasis> automatiquement supprimée, excepté dans le "
+"cas d'une association <literal>&lt;one-to-many&gt;</literal> mappée avec "
+"<literal>cascade=\"delete-orphan\"</literal>. La sémantique précise des "
+"opérations de cascade pour une relation parent/enfant est la suivante :"
 
-#: index.docbook:988
-msgid "If a parent is passed to <literal>persist()</literal>, all children are passed to <literal>persist()</literal>"
-msgstr "Si un enfant détaché ou éphémère devient référencé par un parent persistant, il est passé à <literal>saveOrUpdate()</literal>"
+#. Tag: para
+#: session_api.xml:988
+#, no-c-format
+msgid ""
+"If a parent is passed to <literal>persist()</literal>, all children are "
+"passed to <literal>persist()</literal>"
+msgstr ""
+"Si un parent est passé à <literal>persist()</literal>, tous les enfant sont "
+"passés à <literal>persist()</literal>"
 
-#: index.docbook:994
-msgid "If a parent is passed to <literal>merge()</literal>, all children are passed to <literal>merge()</literal>"
-msgstr "Si un parent est supprimé, tous les enfants sont passés à <literal>delete()</literal>"
+#. Tag: para
+#: session_api.xml:994
+#, no-c-format
+msgid ""
+"If a parent is passed to <literal>merge()</literal>, all children are passed "
+"to <literal>merge()</literal>"
+msgstr ""
+"Si un parent est passé à <literal>merge()</literal>, tous les enfants sont "
+"passés à <literal>merge()</literal>"
 
-#: index.docbook:1000
-msgid "If a parent is passed to <literal>save()</literal>, <literal>update()</literal> or <literal>saveOrUpdate()</literal>, all children are passed to <literal>saveOrUpdate()</literal>"
-msgstr "Si un enfant est déréférencé par un parent persistant, <emphasis>rien de spécial n'arrive</emphasis> - l'application devrait explicitement supprimer l'enfant si nécessaire - à moins que <literal>cascade=\"delete-orphan\"</literal> soit paramétré, au quel cas l'enfant \"orphelin\" est supprimé."
+#. Tag: para
+#: session_api.xml:1000
+#, 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 parent est passé à <literal>save()</literal>, <literal>update()</"
+"literal> ou <literal>saveOrUpdate()</literal>, tous les enfants sont passés "
+"à <literal>saveOrUpdate()</literal>"
 
-#: index.docbook:1006
-msgid "If a transient or detached child becomes referenced by a persistent parent, it is passed to <literal>saveOrUpdate()</literal>"
-msgstr "Enfin, la cascade des opérations peut être effectuée sur un graphe donné lors de l'<emphasis>appel de l'opération</emphasis> or lors du <emphasis>flush</emphasis> suivant. Toutes les opérations, lorsque cascadées, le sont sur toutes les entités associées atteignables lorsque l'opétation est exécutée. Cependant <literal>save-upate</literal> et <literal>delete-orphan</literal> sont cascadées à toutes les entités associées atteignables lors du flush de la <literal>Session</literal>."
+#. Tag: para
+#: session_api.xml:1006
+#, no-c-format
+msgid ""
+"If a transient or detached child becomes referenced by a persistent parent, "
+"it is passed to <literal>saveOrUpdate()</literal>"
+msgstr ""
+"Si un enfant détaché ou éphémère devient référencé par un parent persistant, "
+"il est passé à <literal>saveOrUpdate()</literal>"
 
-#: index.docbook:1012
-msgid "If a parent is deleted, all children are passed to <literal>delete()</literal>"
-msgstr "Utilisation des méta-données"
+#. Tag: para
+#: session_api.xml:1012
+#, no-c-format
+msgid ""
+"If a parent is deleted, all children are passed to <literal>delete()</"
+"literal>"
+msgstr ""
+"Si un parent est supprimé, tous les enfants sont passés à <literal>delete()</"
+"literal>"
 
-#: index.docbook:1017
-msgid "If a child is dereferenced by a persistent parent, <emphasis>nothing special happens</emphasis> - the application should explicitly delete the child if necessary - unless <literal>cascade=\"delete-orphan\"</literal>, in which case the \"orphaned\" child is deleted."
-msgstr "Hibernate requiert un modèle de méta-niveau très riche de toutes les entités et types valués. De temps en temps, ce modèle est très utile à l'application elle même. Par exemple, l'application pourrait utiliser les méta-données d'Hibernate pour implémenter un algorithme de copie en profondeur \"intelligent\" qui comprendrait quels objets devraient copiés (par exemple les types de valeur mutables) et lesquels ne devraient pas l'être (par exemple les types de valeurs immutables et, possiblement, les entités associées)."
+#. Tag: para
+#: session_api.xml:1017
+#, no-c-format
+msgid ""
+"If a child is dereferenced by a persistent parent, <emphasis>nothing special "
+"happens</emphasis> - the application should explicitly delete the child if "
+"necessary - unless <literal>cascade=\"delete-orphan\"</literal>, in which "
+"case the \"orphaned\" child is deleted."
+msgstr ""
+"Si un enfant est déréférencé par un parent persistant, <emphasis>rien de "
+"spécial n'arrive</emphasis> - l'application devrait explicitement supprimer "
+"l'enfant si nécessaire - à moins que <literal>cascade=\"delete-orphan\"</"
+"literal> soit paramétré, au quel cas l'enfant \"orphelin\" est supprimé."
 
-#: index.docbook:1026
-msgid "Finally, note that cascading of operations can be applied to an object graph at <emphasis>call time</emphasis> or at <emphasis>flush time</emphasis>. All 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>."
-msgstr "Hibernate expose les méta-données via les interfaces <literal>ClassMetadata</literal> et <literal>CollectionMetadata</literal> et la hiérarchie <literal>Type</literal>. Les instances des interfaces de méta-données peuvent être obtenues à partir de la <literal>SessionFactory</literal>."
+#. Tag: para
+#: session_api.xml:1026
+#, 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 "
+"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>."
+msgstr ""
+"Enfin, la cascade des opérations peut être effectuée sur un graphe donné "
+"lors de l'<emphasis>appel de l'opération</emphasis> or lors du "
+"<emphasis>flush</emphasis> suivant. Toutes les opérations, lorsque "
+"cascadées, le sont sur toutes les entités associées atteignables lorsque "
+"l'opétation est exécutée. Cependant <literal>save-upate</literal> et "
+"<literal>delete-orphan</literal> sont cascadées à toutes les entités "
+"associées atteignables lors du flush de la <literal>Session</literal>."
 
-#: index.docbook:1038
+#. Tag: title
+#: session_api.xml:1038
+#, no-c-format
 msgid "Using metadata"
-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"
-      "// récupère une Map de toutes les propriétés qui ne sont pas des collections ou des 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 "Utilisation des méta-données"
 
-#: index.docbook:1040
-msgid "Hibernate requires a very rich meta-level model of all entity and value types. From time to time, this model is very useful to the application itself. For example, the application might use Hibernate's metadata to implement a \"smart\" deep-copy algorithm that understands which objects should be copied (eg. mutable value types) and which should not (eg. immutable value types and, possibly, associated entities)."
+#. Tag: para
+#: session_api.xml:1040
+#, no-c-format
+msgid ""
+"Hibernate requires a very rich meta-level model of all entity and value "
+"types. From time to time, this model is very useful to the application "
+"itself. For example, the application might use Hibernate's metadata to "
+"implement a \"smart\" deep-copy algorithm that understands which objects "
+"should be copied (eg. mutable value types) and which should not (eg. "
+"immutable value types and, possibly, associated entities)."
 msgstr ""
+"Hibernate requiert un modèle de méta-niveau très riche de toutes les entités "
+"et types valués. De temps en temps, ce modèle est très utile à l'application "
+"elle même. Par exemple, l'application pourrait utiliser les méta-données "
+"d'Hibernate pour implémenter un algorithme de copie en profondeur "
+"\"intelligent\" qui comprendrait quels objets devraient copiés (par exemple "
+"les types de valeur mutables) et lesquels ne devraient pas l'être (par "
+"exemple les types de valeurs immutables et, possiblement, les entités "
+"associées)."
 
-#: index.docbook:1047
-msgid "Hibernate exposes metadata via the <literal>ClassMetadata</literal> and <literal>CollectionMetadata</literal> interfaces and the <literal>Type</literal> hierarchy. Instances of the metadata interfaces may be obtained from the <literal>SessionFactory</literal>."
+#. Tag: para
+#: session_api.xml:1047
+#, 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 may be obtained "
+"from the <literal>SessionFactory</literal>."
 msgstr ""
+"Hibernate expose les méta-données via les interfaces <literal>ClassMetadata</"
+"literal> et <literal>CollectionMetadata</literal> et la hiérarchie "
+"<literal>Type</literal>. Les instances des interfaces de méta-données "
+"peuvent être obtenues à partir de la <literal>SessionFactory</literal>."
 
-#: index.docbook:1054
+#. Tag: programlisting
+#: session_api.xml:1054
+#, 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"
-      "}]]>"
+"<![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 ""
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid "UPDATE"
+#~ msgstr "UPDATE"
 
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid "DELETE"
+#~ msgstr "DELETE"
 
+#~ msgid "state management"
+#~ msgstr "gestion d'état"
+
+#~ msgid "statements"
+#~ msgstr "expressions"
+
+#~ msgid "Connection"
+#~ msgstr "Connection"
+
+#~ msgid "session.connection()"
+#~ msgstr "session.connection()"

Modified: core/trunk/documentation/manual/translations/fr-FR/content/toolset_guide.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/toolset_guide.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/toolset_guide.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,742 +1,1234 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: toolset_guide.xml:5
+#, no-c-format
 msgid "Toolset Guide"
 msgstr "Guide des outils"
 
-#: index.docbook:7
-msgid "Roundtrip engineering with Hibernate is possible using a set of Eclipse plugins, commandline tools, as well as Ant tasks."
-msgstr "Des outils en ligne de commande, des plugins Eclipse ainsu que des tâches Ant permettent de gérer de cycles de développement complet de projets utilisant Hibernate."
+#. Tag: para
+#: toolset_guide.xml:7
+#, no-c-format
+msgid ""
+"Roundtrip engineering with Hibernate is possible using a set of Eclipse "
+"plugins, commandline tools, as well as Ant tasks."
+msgstr ""
+"Des outils en ligne de commande, des plugins Eclipse ainsu que des tâches "
+"Ant permettent de gérer de cycles de développement complet de projets "
+"utilisant Hibernate."
 
-#: index.docbook:12
-msgid "The <emphasis>Hibernate Tools</emphasis> currently include plugins for the Eclipse IDE as well as Ant tasks for reverse engineering of existing databases:"
-msgstr "Les <emphasis>outils Hibernate</emphasis> actuels incluent des plugins pour l'IDE Eclipse ainsi que des tâches Ant pour l'ingénierie inverse de bases de données existantes :"
+#. Tag: para
+#: toolset_guide.xml:12
+#, no-c-format
+msgid ""
+"The <emphasis>Hibernate Tools</emphasis> currently include plugins for the "
+"Eclipse IDE as well as Ant tasks for reverse engineering of existing "
+"databases:"
+msgstr ""
+"Les <emphasis>outils Hibernate</emphasis> actuels incluent des plugins pour "
+"l'IDE Eclipse ainsi que des tâches Ant pour l'ingénierie inverse de bases de "
+"données existantes :"
 
-#: index.docbook:18
-msgid "<emphasis>Mapping Editor:</emphasis> An editor for Hibernate XML mapping files, supporting auto-completion and syntax highlighting. It also supports semantic auto-completion for class names and property/field names, making it much more versatile than a normal XML editor."
-msgstr "<emphasis>Mapping Editor :</emphasis> un éditeur pour les fichiers de mapping XML Hibernate, supportant l'auto-complétion et la mise en valeur de la syntaxe. Il supporte aussi l'auto-complétion automatique pour les noms de classes et les noms de propriété/champ, le rendant beaucoup plus polyvalent qu'un éditeurXML normal."
+#. Tag: para
+#: toolset_guide.xml:18
+#, no-c-format
+msgid ""
+"<emphasis>Mapping Editor:</emphasis> An editor for Hibernate XML mapping "
+"files, supporting auto-completion and syntax highlighting. It also supports "
+"semantic auto-completion for class names and property/field names, making it "
+"much more versatile than a normal XML editor."
+msgstr ""
+"<emphasis>Mapping Editor :</emphasis> un éditeur pour les fichiers de "
+"mapping XML Hibernate, supportant l'auto-complétion et la mise en valeur de "
+"la syntaxe. Il supporte aussi l'auto-complétion automatique pour les noms de "
+"classes et les noms de propriété/champ, le rendant beaucoup plus polyvalent "
+"qu'un éditeurXML normal."
 
-#: index.docbook:23
-msgid "<emphasis>Console:</emphasis> The console is a new view in Eclipse. In addition to a tree overview of your console configurations, you also get an interactive view of your persistent classes and their relationships. The console allows you to execute HQL queries against your database and browse the result directly in Eclipse."
-msgstr "<emphasis>Console :</emphasis> la console est une nouvelle vue d'Eclipse. En plus de la vue d'ensemble arborescente de vos configurations de console, vous obtenez aussi une vue interactive de vos classes persistantes et de leurs relations. La console vous permet d'exécuter des requête HQL dans votre base de données et de parcourir les résultats directement dans Eclipse."
+#. Tag: para
+#: toolset_guide.xml:23
+#, 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 also get an "
+"interactive view of your persistent classes and their relationships. The "
+"console allows you to execute HQL queries against your database and browse "
+"the result directly in Eclipse."
+msgstr ""
+"<emphasis>Console :</emphasis> la console est une nouvelle vue d'Eclipse. En "
+"plus de la vue d'ensemble arborescente de vos configurations de console, "
+"vous obtenez aussi une vue interactive de vos classes persistantes et de "
+"leurs relations. La console vous permet d'exécuter des requête HQL dans "
+"votre base de données et de parcourir les résultats directement dans Eclipse."
 
-#: index.docbook:30
-msgid "<emphasis>Development Wizards:</emphasis> Several wizards are provided with the Hibernate Eclipse tools; you can use a wizard to quickly generate Hibernate configuration (cfg.xml) files, or you may even completely reverse engineer an existing database schema into POJO source files and Hibernate mapping files. The reverse engineering wizard supports customizable templates."
-msgstr "<emphasis>Development Wizards :</emphasis> plusieurs assistants sont fournis avec les outils d'Hibernate pour Eclipse ; vous pouvez utiliser un assistant pour générer rapidement les fichiers de configuration d'Hibernate (cfg.xml), ou vous pouvez même complètement générer les fichiers de mapping Hibernate et les sources des POJOs à partir d'un schéma de base de données existant. L'assistant d'ingénierie inverse supporte les modèles utilisateur."
+#. Tag: para
+#: toolset_guide.xml:30
+#, 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 "
+"Hibernate configuration (cfg.xml) files, or you may even completely reverse "
+"engineer an existing database schema into POJO source files and Hibernate "
+"mapping files. The reverse engineering wizard supports customizable "
+"templates."
+msgstr ""
+"<emphasis>Development Wizards :</emphasis> plusieurs assistants sont fournis "
+"avec les outils d'Hibernate pour Eclipse ; vous pouvez utiliser un assistant "
+"pour générer rapidement les fichiers de configuration d'Hibernate (cfg.xml), "
+"ou vous pouvez même complètement générer les fichiers de mapping Hibernate "
+"et les sources des POJOs à partir d'un schéma de base de données existant. "
+"L'assistant d'ingénierie inverse supporte les modèles utilisateur."
 
-#: index.docbook:38
+#. Tag: emphasis
+#: toolset_guide.xml:38
+#, no-c-format
 msgid "Ant Tasks:"
 msgstr "Tâches Ant :"
 
-#: index.docbook:43
-msgid "Please refer to the <emphasis>Hibernate Tools</emphasis> package and it's documentation for more information."
-msgstr "Veuillez-vous référer au paquet <emphasis>outils Hibernate</emphasis> et sa documentation pour plus d'informations."
+#. Tag: para
+#: toolset_guide.xml:43
+#, no-c-format
+msgid ""
+"Please refer to the <emphasis>Hibernate Tools</emphasis> package and it's "
+"documentation for more information."
+msgstr ""
+"Veuillez-vous référer au paquet <emphasis>outils Hibernate</emphasis> et sa "
+"documentation pour plus d'informations."
 
-#: index.docbook:48
-msgid "However, the Hibernate main package comes bundled with an integrated tool (it can even be used from \"inside\" Hibernate on-the-fly): <emphasis>SchemaExport</emphasis> aka <literal>hbm2ddl</literal>."
-msgstr "Pourtant, le paquet principal d'Hibernate arrive avec un lot d'outils intégrés (il peut même être utilisé de \"l'intérieur\" d'Hibernate à la volée) : <emphasis>SchemaExport</emphasis> aussi connu comme <literal>hbm2ddl</literal>."
+#. Tag: para
+#: toolset_guide.xml:48
+#, no-c-format
+msgid ""
+"However, the Hibernate main package comes bundled with an integrated tool "
+"(it can even be used from \"inside\" Hibernate on-the-fly): "
+"<emphasis>SchemaExport</emphasis> aka <literal>hbm2ddl</literal>."
+msgstr ""
+"Pourtant, le paquet principal d'Hibernate arrive avec un lot d'outils "
+"intégrés (il peut même être utilisé de \"l'intérieur\" d'Hibernate à la "
+"volée) : <emphasis>SchemaExport</emphasis> aussi connu comme "
+"<literal>hbm2ddl</literal>."
 
-#: index.docbook:55
+#. Tag: title
+#: toolset_guide.xml:55
+#, no-c-format
 msgid "Automatic schema generation"
 msgstr "Génération automatique du schéma"
 
-#: index.docbook:57
-msgid "DDL may be generated from your mapping files by a Hibernate utility. The generated schema includes referential integrity constraints (primary and foreign keys) for entity and collection tables. Tables and sequences are also created for mapped identifier generators."
-msgstr "La DDL peut être générée à partir de vos fichiers de mapping par un utilitaire d'Hibernate. Le schéma généré inclut les contraintes d'intégrité référentielle (clefs primaires et étrangères) pour les tables d'entités et de collections. Les tables et les séquences sont aussi créées pour les générateurs d'identifiant mappés."
+#. Tag: para
+#: toolset_guide.xml:57
+#, no-c-format
+msgid ""
+"DDL may 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 ""
+"La DDL peut être générée à partir de vos fichiers de mapping par un "
+"utilitaire d'Hibernate. Le schéma généré inclut les contraintes d'intégrité "
+"référentielle (clefs primaires et étrangères) pour les tables d'entités et "
+"de collections. Les tables et les séquences sont aussi créées pour les "
+"générateurs d'identifiant mappés."
 
-#: index.docbook:64
-msgid "You <emphasis>must</emphasis> specify a SQL <literal>Dialect</literal> via the <literal>hibernate.dialect</literal> property when using this tool, as DDL is highly vendor specific."
-msgstr "Vous <emphasis>devez</emphasis> spécifier un <literal>Dialect</literal> SQL via la propriété <literal>hibernate.dialect</literal> lors de l'utilisation de cet outils, puisque la DDL est fortement dépendante de la base de données."
+#. Tag: para
+#: toolset_guide.xml:64
+#, 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 ""
+"Vous <emphasis>devez</emphasis> spécifier un <literal>Dialect</literal> SQL "
+"via la propriété <literal>hibernate.dialect</literal> lors de l'utilisation "
+"de cet outils, puisque la DDL est fortement dépendante de la base de données."
 
-#: index.docbook:70
+#. Tag: para
+#: toolset_guide.xml:70
+#, no-c-format
 msgid "First, customize your mapping files to improve the generated schema."
-msgstr "D'abord, personnalisez vos fichiers de mapping pour améliorer le schéma généré."
+msgstr ""
+"D'abord, personnalisez vos fichiers de mapping pour améliorer le schéma "
+"généré."
 
-#: index.docbook:75
+#. Tag: title
+#: toolset_guide.xml:75
+#, no-c-format
 msgid "Customizing the schema"
 msgstr "Personnaliser le schéma"
 
-#: index.docbook:77
-msgid "Many Hibernate mapping elements define optional attributes named <literal>length</literal>, <literal>precision</literal> and <literal>scale</literal>. You may set the length, precision and scale of a column with this attribute."
-msgstr "Plusieurs éléments du mapping hibernate définissent des attributs optionnels nommés <literal>length</literal>, <literal>precision</literal> et <literal>scale</literal>. Vous pouvez paramétrer la longueur, la précision,... d'une colonne avec ces attributs."
+#. Tag: para
+#: toolset_guide.xml:77
+#, no-c-format
+msgid ""
+"Many Hibernate mapping elements define optional attributes named "
+"<literal>length</literal>, <literal>precision</literal> and <literal>scale</"
+"literal>. You may set the length, precision and scale of a column with this "
+"attribute."
+msgstr ""
+"Plusieurs éléments du mapping hibernate définissent des attributs optionnels "
+"nommés <literal>length</literal>, <literal>precision</literal> et "
+"<literal>scale</literal>. Vous pouvez paramétrer la longueur, la "
+"précision,... d'une colonne avec ces attributs."
 
-#: index.docbook:84
+#. Tag: programlisting
+#: toolset_guide.xml:84
+#, no-c-format
 msgid "<![CDATA[<property name=\"zip\" length=\"5\"/>]]>"
-msgstr "<![CDATA[<property name=\"zip\" length=\"5\"/>]]>"
+msgstr ""
 
-#: index.docbook:85
+#. Tag: programlisting
+#: toolset_guide.xml:85
+#, no-c-format
 msgid "<![CDATA[<property name=\"balance\" precision=\"12\" scale=\"2\"/>]]>"
-msgstr "<![CDATA[<property name=\"balance\" precision=\"12\" scale=\"2\"/>]]>"
+msgstr ""
 
-#: index.docbook:87
-msgid "Some tags also accept a <literal>not-null</literal> attribute (for generating a <literal>NOT NULL</literal> constraint on table columns) and a <literal>unique</literal> attribute (for generating <literal>UNIQUE</literal> constraint on table columns)."
-msgstr "Certains éléments acceptent aussi un attribut <literal>not-null</literal> (utilisé pour générer les contraintes de colonnes <literal>NOT NULL</literal>) et un attribut <literal>unique</literal> (pour générer une contrainte de colonne <literal>UNIQUE</literal>)."
+#. Tag: para
+#: toolset_guide.xml:87
+#, 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 ""
+"Certains éléments acceptent aussi un attribut <literal>not-null</literal> "
+"(utilisé pour générer les contraintes de colonnes <literal>NOT NULL</"
+"literal>) et un attribut <literal>unique</literal> (pour générer une "
+"contrainte de colonne <literal>UNIQUE</literal>)."
 
-#: index.docbook:93
-msgid "<![CDATA[<many-to-one name=\"bar\" column=\"barId\" not-null=\"true\"/>]]>"
-msgstr "<![CDATA[<many-to-one name=\"bar\" column=\"barId\" not-null=\"true\"/>]]>"
+#. Tag: programlisting
+#: toolset_guide.xml:93
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"bar\" column=\"barId\" not-null=\"true\"/>]]>"
+msgstr ""
 
-#: index.docbook:95
-msgid "<![CDATA[<element column=\"serialNumber\" type=\"long\" not-null=\"true\" unique=\"true\"/>]]>"
-msgstr "<![CDATA[<element column=\"serialNumber\" type=\"long\" not-null=\"true\" unique=\"true\"/>]]>"
+#. Tag: programlisting
+#: toolset_guide.xml:95
+#, no-c-format
+msgid ""
+"<![CDATA[<element column=\"serialNumber\" type=\"long\" not-null=\"true\" "
+"unique=\"true\"/>]]>"
+msgstr ""
 
-#: index.docbook:97
-msgid "A <literal>unique-key</literal> attribute may be used to group columns in a single unique key constraint. Currently, the specified value of the <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."
-msgstr "Un attribut <literal>unique-key</literal> peut être utilisé pour grouper les colonnes en une seule contrainte d'unicité. Actuellement, la valeur spécifiée par l'attribut <literal>unique-key</literal> n'est <emphasis>pas</emphasis> utilisée pour nommer la contrainte dans le DDL généré, elle sert juste à grouper les colonnes dans le fichier de mapping."
+#. Tag: para
+#: toolset_guide.xml:97
+#, no-c-format
+msgid ""
+"A <literal>unique-key</literal> attribute may be used to group columns in a "
+"single unique key constraint. Currently, the specified value of the "
+"<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."
+msgstr ""
+"Un attribut <literal>unique-key</literal> peut être utilisé pour grouper les "
+"colonnes en une seule contrainte d'unicité. Actuellement, la valeur "
+"spécifiée par l'attribut <literal>unique-key</literal> n'est <emphasis>pas</"
+"emphasis> utilisée pour nommer la contrainte dans le DDL généré, elle sert "
+"juste à grouper les colonnes dans le fichier de mapping."
 
-#: index.docbook:105
+#. Tag: programlisting
+#: toolset_guide.xml:105
+#, no-c-format
 msgid ""
-      "<![CDATA[<many-to-one name=\"org\" column=\"orgId\" unique-key=\"OrgEmployeeId\"/>\n"
-      "<property name=\"employeeId\" unique-key=\"OrgEmployee\"/>]]>"
+"<![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=\"OrgEmployeeId\"/>]]>"
 
-#: index.docbook:107
-msgid "An <literal>index</literal> attribute specifies the name of an index that will be created using the mapped column or columns. Multiple columns may be grouped into the same index, simply by specifying the same index name."
-msgstr "Un attribut <literal>index</literal> indique le nom d'un index qui sera créé en utilisant la ou les colonnes mappées. Plusieurs colonnes peuvent être groupées dans un même index, en spécifiant le même nom d'index."
+#. Tag: para
+#: toolset_guide.xml:107
+#, 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 may be "
+"grouped into the same index, simply by specifying the same index name."
+msgstr ""
+"Un attribut <literal>index</literal> indique le nom d'un index qui sera créé "
+"en utilisant la ou les colonnes mappées. Plusieurs colonnes peuvent être "
+"groupées dans un même index, en spécifiant le même nom d'index."
 
-#: index.docbook:113
+#. Tag: programlisting
+#: toolset_guide.xml:113
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"lastName\" index=\"CustName\"/>\n"
-      "<property name=\"firstName\" index=\"CustName\"/>]]>"
+"<![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\"/>]]>"
 
-#: index.docbook:115
-msgid "A <literal>foreign-key</literal> attribute may be used to override the name of any generated foreign key constraint."
-msgstr "Un attribut <literal>foreign-key</literal> peut être utilisé pour surcharger le nom des clés étrangères générées."
+#. Tag: para
+#: toolset_guide.xml:115
+#, no-c-format
+msgid ""
+"A <literal>foreign-key</literal> attribute may be used to override the name "
+"of any generated foreign key constraint."
+msgstr ""
+"Un attribut <literal>foreign-key</literal> peut être utilisé pour surcharger "
+"le nom des clés étrangères générées."
 
-#: index.docbook:120
-msgid "<![CDATA[<many-to-one name=\"bar\" column=\"barId\" foreign-key=\"FKFooBar\"/>]]>"
-msgstr "<![CDATA[<many-to-one name=\"bar\" column=\"barId\" foreign-key=\"FKFooBar\"/>]]>"
+#. Tag: programlisting
+#: toolset_guide.xml:120
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"bar\" column=\"barId\" foreign-key=\"FKFooBar\"/"
+">]]>"
+msgstr ""
 
-#: index.docbook:122
-msgid "Many mapping elements also accept a child <literal>&lt;column&gt;</literal> element. This is particularly useful for mapping multi-column types:"
-msgstr "Plusieurs éléments de mapping acceptent aussi un élément fils <literal>&lt;column&gt;</literal>. Ceci est utile pour les type multi-colonnes:"
+#. Tag: para
+#: toolset_guide.xml:122
+#, 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 ""
+"Plusieurs éléments de mapping acceptent aussi un élément fils <literal>&lt;"
+"column&gt;</literal>. Ceci est utile pour les type multi-colonnes:"
 
-#: index.docbook:127
+#. Tag: programlisting
+#: toolset_guide.xml:127
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:129
-msgid "The <literal>default</literal> attribute lets you specify a default value for a column (you should assign the same value to the mapped property before saving a new instance of the mapped class)."
-msgstr "L'attribut <literal>default</literal> vous laisse spécifier une valeur par défaut pour une colonnes (vous devriez assigner la même valeur à la propriété mappée avant de sauvegarder une nouvelle instance de la classe mappée)."
+#. Tag: para
+#: toolset_guide.xml:129
+#, no-c-format
+msgid ""
+"The <literal>default</literal> attribute lets you specify a default value "
+"for a column (you should assign the same value to the mapped property before "
+"saving a new instance of the mapped class)."
+msgstr ""
+"L'attribut <literal>default</literal> vous laisse spécifier une valeur par "
+"défaut pour une colonnes (vous devriez assigner la même valeur à la "
+"propriété mappée avant de sauvegarder une nouvelle instance de la classe "
+"mappée)."
 
-#: index.docbook:135
+#. Tag: programlisting
+#: toolset_guide.xml:135
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"credits\" type=\"integer\" insert=\"false\">\n"
-      "    <column name=\"credits\" default=\"10\"/>\n"
-      "</property>]]>"
+"<![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>]]>"
 
-#: index.docbook:137
+#. Tag: programlisting
+#: toolset_guide.xml:137
+#, no-c-format
 msgid ""
-      "<![CDATA[<version name=\"version\" type=\"integer\" insert=\"false\">\n"
-      "    <column name=\"version\" default=\"0\"/>\n"
-      "</property>]]>"
+"<![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>]]>"
 
-#: index.docbook:139
-msgid "The <literal>sql-type</literal> attribute allows the user to override the default mapping of a Hibernate type to SQL datatype."
-msgstr "L'attribut <literal>sql-type</literal> laisse l'utilisateur surcharger le mapping par défaut du type Hibernate vers un type SQL."
+#. Tag: para
+#: toolset_guide.xml:139
+#, no-c-format
+msgid ""
+"The <literal>sql-type</literal> attribute allows the user to override the "
+"default mapping of a Hibernate type to SQL datatype."
+msgstr ""
+"L'attribut <literal>sql-type</literal> laisse l'utilisateur surcharger le "
+"mapping par défaut du type Hibernate vers un type SQL."
 
-#: index.docbook:144
+#. Tag: programlisting
+#: toolset_guide.xml:144
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"balance\" type=\"float\">\n"
-      "    <column name=\"balance\" sql-type=\"decimal(13,3)\"/>\n"
-      "</property>]]>"
+"<![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>]]>"
 
-#: index.docbook:146
-msgid "The <literal>check</literal> attribute allows you to specify a check constraint."
-msgstr "L'attribut <literal>check</literal> permet de spécifier une contrainte de vérification."
+#. Tag: para
+#: toolset_guide.xml:146
+#, no-c-format
+msgid ""
+"The <literal>check</literal> attribute allows you to specify a check "
+"constraint."
+msgstr ""
+"L'attribut <literal>check</literal> permet de spécifier une contrainte de "
+"vérification."
 
-#: index.docbook:150
+#. Tag: programlisting
+#: toolset_guide.xml:150
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"foo\" type=\"integer\">\n"
-      "    <column name=\"foo\" check=\"foo > 10\"/>\n"
-      "</property>]]>"
+"<![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>]]>"
 
-#: index.docbook:152
+#. Tag: programlisting
+#: toolset_guide.xml:152
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Foo\" table=\"foos\" check=\"bar < 100.0\">\n"
-      "    ...\n"
-      "    <property name=\"bar\" type=\"float\"/>\n"
-      "</class>]]>"
+"<![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>]]>"
 
-#: index.docbook:156
+#. Tag: title
+#: toolset_guide.xml:156
+#, no-c-format
 msgid "Summary"
 msgstr "Summary"
 
-#: index.docbook:163
+#. Tag: entry
+#: toolset_guide.xml:163
+#, no-c-format
 msgid "Attribute"
 msgstr "Attribut"
 
-#: index.docbook:164
+#. Tag: entry
+#: toolset_guide.xml:164
+#, no-c-format
 msgid "Values"
 msgstr "Valeur"
 
-#: index.docbook:165
+#. Tag: entry
+#: toolset_guide.xml:165
+#, no-c-format
 msgid "Interpretation"
 msgstr "Interprétation"
 
-#: index.docbook:170
+#. Tag: literal
+#: toolset_guide.xml:170
+#, no-c-format
 msgid "length"
 msgstr "length"
 
-#: index.docbook:171, index.docbook:176, index.docbook:181
+#. Tag: entry
+#: toolset_guide.xml:171 toolset_guide.xml:176 toolset_guide.xml:181
+#, no-c-format
 msgid "number"
 msgstr "numérique"
 
-#: index.docbook:172
+#. Tag: entry
+#: toolset_guide.xml:172
+#, no-c-format
 msgid "column length"
 msgstr "taille d'une colonne"
 
-#: index.docbook:175
+#. Tag: literal
+#: toolset_guide.xml:175
+#, no-c-format
 msgid "precision"
 msgstr "precision"
 
-#: index.docbook:177
+#. Tag: entry
+#: toolset_guide.xml:177
+#, no-c-format
 msgid "column decimal precision"
 msgstr "précision décimale de la colonne"
 
-#: index.docbook:180
+#. Tag: literal
+#: toolset_guide.xml:180
+#, no-c-format
 msgid "scale"
 msgstr "scale"
 
-#: index.docbook:182
+#. Tag: entry
+#: toolset_guide.xml:182
+#, no-c-format
 msgid "column decimal scale"
 msgstr "scale décimale de la colonne"
 
-#: index.docbook:185
+#. Tag: literal
+#: toolset_guide.xml:185
+#, no-c-format
 msgid "not-null"
 msgstr "not-null"
 
-#: index.docbook:186, index.docbook:191
+#. Tag: literal
+#: toolset_guide.xml:186 toolset_guide.xml:191
+#, no-c-format
 msgid "true|false"
 msgstr "true|false"
 
-#: index.docbook:187
+#. Tag: entry
+#: toolset_guide.xml:187
+#, no-c-format
 msgid "specfies that the column should be non-nullable"
 msgstr "spécifie que la colonne doit être non-nulle"
 
-#: index.docbook:190
+#. Tag: literal
+#: toolset_guide.xml:190
+#, no-c-format
 msgid "unique"
 msgstr "unique"
 
-#: index.docbook:192
+#. Tag: entry
+#: toolset_guide.xml:192
+#, no-c-format
 msgid "specifies that the column should have a unique constraint"
 msgstr "spécifie que la colonne doit avoir une contrainte d'unicité"
 
-#: index.docbook:195
+#. Tag: literal
+#: toolset_guide.xml:195
+#, no-c-format
 msgid "index"
 msgstr "index"
 
-#: index.docbook:196
+#. Tag: literal
+#: toolset_guide.xml:196
+#, no-c-format
 msgid "index_name"
 msgstr "index_name"
 
-#: index.docbook:197
+#. Tag: entry
+#: toolset_guide.xml:197
+#, no-c-format
 msgid "specifies the name of a (multi-column) index"
 msgstr "spécifie le nom d'un index (multi-colonnes)"
 
-#: index.docbook:200
+#. Tag: literal
+#: toolset_guide.xml:200
+#, no-c-format
 msgid "unique-key"
 msgstr "unique-key"
 
-#: index.docbook:201
+#. Tag: literal
+#: toolset_guide.xml:201
+#, no-c-format
 msgid "unique_key_name"
 msgstr "unique_key_name"
 
-#: index.docbook:202
+#. Tag: entry
+#: toolset_guide.xml:202
+#, no-c-format
 msgid "specifies the name of a multi-column unique constraint"
 msgstr "spécifie le nom d'une contrainte d'unicité multi-colonnes"
 
-#: index.docbook:205
+#. Tag: literal
+#: toolset_guide.xml:205
+#, no-c-format
 msgid "foreign-key"
 msgstr "foreign-key"
 
-#: index.docbook:206
+#. Tag: literal
+#: toolset_guide.xml:206
+#, no-c-format
 msgid "foreign_key_name"
 msgstr "foreign_key_name"
 
-#: index.docbook:207
-msgid "specifies the name of the foreign key constraint generated for an association, for a <literal>&lt;one-to-one&gt;</literal>, <literal>&lt;many-to-one&gt;</literal>, <literal>&lt;key&gt;</literal>, or <literal>&lt;many-to-many&gt;</literal> mapping element. Note that <literal>inverse=\"true\"</literal> sides will not be considered by <literal>SchemaExport</literal>."
-msgstr "spécifie le nom d'une contrainte de clé étrangère générée pour une association, utilisez-la avec les éléments de mapping &lt;one-to-one&gt;, &lt;many-to-one&gt;, &lt;key&gt;, et &lt;many-to-many&gt; Notez que les extrêmités <literal>inverse=\"true\"</literal> se seront pas prises en compte par <literal>SchemaExport</literal>."
+#. Tag: entry
+#: toolset_guide.xml:207
+#, fuzzy, no-c-format
+msgid ""
+"specifies the name of the foreign key constraint generated for an "
+"association, for a <literal>&lt;one-to-one&gt;</literal>, <literal>&lt;many-"
+"to-one&gt;</literal>, <literal>&lt;key&gt;</literal>, or <literal>&lt;many-"
+"to-many&gt;</literal> mapping element. Note that <literal>inverse=\"true\"</"
+"literal> sides will not be considered by <literal>SchemaExport</literal>."
+msgstr ""
+"spécifie le nom d'une contrainte de clé étrangère générée pour une "
+"association, utilisez-la avec les éléments de mapping <placeholder-1/>, "
+"<placeholder-2/>, <placeholder-3/>, or <placeholder-4/> Notez que les "
+"extrêmités <placeholder-5/> se seront pas prises en compte par <placeholder-"
+"6/>."
 
-#: index.docbook:217
+#. Tag: literal
+#: toolset_guide.xml:217
+#, no-c-format
 msgid "sql-type"
 msgstr "sql-type"
 
-#: index.docbook:218
+#. Tag: literal
+#: toolset_guide.xml:218
+#, no-c-format
 msgid "SQL column type"
 msgstr "SQL column_type"
 
-#: index.docbook:219
-msgid "overrides the default column type (attribute of <literal>&lt;column&gt;</literal> element only)"
-msgstr "surcharge le type par défaut (attribut de l'élément <literal>&lt;column&gt;</literal> uniquement)"
+#. Tag: entry
+#: toolset_guide.xml:219
+#, fuzzy, no-c-format
+msgid ""
+"overrides the default column type (attribute of <literal>&lt;column&gt;</"
+"literal> element only)"
+msgstr ""
+"surcharge le type par défaut (attribut de l'élément <placeholder-1/> "
+"uniquement)"
 
-#: index.docbook:225
+#. Tag: literal
+#: toolset_guide.xml:225
+#, no-c-format
 msgid "default"
 msgstr "default"
 
-#: index.docbook:226, index.docbook:233
+#. Tag: entry
+#: toolset_guide.xml:226 toolset_guide.xml:233
+#, fuzzy, no-c-format
 msgid "SQL expression"
-msgstr "expression SQL"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"expression SQL\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"SQL expression"
 
-#: index.docbook:227
+#. Tag: entry
+#: toolset_guide.xml:227
+#, no-c-format
 msgid "specify a default value for the column"
 msgstr "spécifie une valeur par défaut pour la colonne"
 
-#: index.docbook:232
+#. Tag: literal
+#: toolset_guide.xml:232
+#, no-c-format
 msgid "check"
 msgstr "check"
 
-#: index.docbook:234
+#. Tag: entry
+#: toolset_guide.xml:234
+#, no-c-format
 msgid "create an SQL check constraint on either column or table"
 msgstr "crée une contrainte de vérification sur la table ou la colonne"
 
-#: index.docbook:242
-msgid "The <literal>&lt;comment&gt;</literal> element allows you to specify comments for the generated schema."
-msgstr "L'élément <literal>&lt;comment&gt;</literal> vous permet de spécifier un commentaire pour le schéma généré."
+#. Tag: para
+#: toolset_guide.xml:242
+#, no-c-format
+msgid ""
+"The <literal>&lt;comment&gt;</literal> element allows you to specify "
+"comments for the generated schema."
+msgstr ""
+"L'élément <literal>&lt;comment&gt;</literal> vous permet de spécifier un "
+"commentaire pour le schéma généré."
 
-#: index.docbook:247
+#. Tag: programlisting
+#: toolset_guide.xml:247
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"Customer\" table=\"CurCust\">\n"
-      "    <comment>Current customers only</comment>\n"
-      "    ...\n"
-      "</class>]]>"
+"<![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>]]>"
 
-#: index.docbook:249
+#. Tag: programlisting
+#: toolset_guide.xml:249
+#, no-c-format
 msgid ""
-      "<![CDATA[<property name=\"balance\">\n"
-      "    <column name=\"bal\">\n"
-      "        <comment>Balance in USD</comment>\n"
-      "    </column>\n"
-      "</property>]]>"
+"<![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>]]>"
 
-#: index.docbook:251
-msgid "This results in a <literal>comment on table</literal> or <literal>comment on column</literal> statement in the generated DDL (where supported)."
-msgstr "Ceci a pour résultat une expression <literal>comment on table</literal> ou <literal>comment on column</literal> dans la DDL générée (où supportée)."
+#. Tag: para
+#: toolset_guide.xml:251
+#, 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 ""
+"Ceci a pour résultat une expression <literal>comment on table</literal> ou "
+"<literal>comment on column</literal> dans la DDL générée (où supportée)."
 
-#: index.docbook:260
+#. Tag: title
+#: toolset_guide.xml:260
+#, no-c-format
 msgid "Running the tool"
 msgstr "Exécuter l'outil"
 
-#: index.docbook:262
-msgid "The <literal>SchemaExport</literal> tool writes a DDL script to standard out and/or executes the DDL statements."
-msgstr "L'outil <literal>SchemaExport</literal> génère un script DDL vers la sortie standard et/ou exécute les ordres DDL."
+#. Tag: para
+#: toolset_guide.xml:262
+#, no-c-format
+msgid ""
+"The <literal>SchemaExport</literal> tool writes a DDL script to standard out "
+"and/or executes the DDL statements."
+msgstr ""
+"L'outil <literal>SchemaExport</literal> génère un script DDL vers la sortie "
+"standard et/ou exécute les ordres DDL."
 
-#: index.docbook:267
-msgid "<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> <literal>org.hibernate.tool.hbm2ddl.SchemaExport</literal> <emphasis>options mapping_files</emphasis>"
-msgstr "<literal>java -cp </literal><emphasis>classpath_hibernate</emphasis> <literal>net.sf.hibernate.tool.hbm2ddl.SchemaExport</literal> <emphasis>options fichiers_de_mapping</emphasis>"
+#. Tag: para
+#: toolset_guide.xml:267
+#, 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 ""
 
-#: index.docbook:273
+#. Tag: title
+#: toolset_guide.xml:273
+#, no-c-format
 msgid "<literal>SchemaExport</literal> Command Line Options"
 msgstr "<literal>SchemaExport</literal> Options de la ligne de commande"
 
-#: index.docbook:279, index.docbook:429, index.docbook:498
+#. Tag: entry
+#: toolset_guide.xml:279 toolset_guide.xml:429 toolset_guide.xml:498
+#, no-c-format
 msgid "Option"
 msgstr "Option"
 
-#: index.docbook:280, index.docbook:367, index.docbook:430, index.docbook:499
+#. Tag: entry
+#: toolset_guide.xml:280 toolset_guide.xml:367 toolset_guide.xml:430
+#: toolset_guide.xml:499
+#, no-c-format
 msgid "Description"
 msgstr "Description"
 
-#: index.docbook:285, index.docbook:435
+#. Tag: literal
+#: toolset_guide.xml:285 toolset_guide.xml:435
+#, no-c-format
 msgid "--quiet"
 msgstr "--quiet"
 
-#: index.docbook:286, index.docbook:436
+#. Tag: entry
+#: toolset_guide.xml:286 toolset_guide.xml:436
+#, fuzzy, no-c-format
 msgid "don't output the script to stdout"
-msgstr "ne pas écrire le script vers la sortie standard"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"ne pas écrire le script vers la sortie standard\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"ne pas écrire vers la sortie standard"
 
-#: index.docbook:289
+#. Tag: literal
+#: toolset_guide.xml:289
+#, no-c-format
 msgid "--drop"
 msgstr "--drop"
 
-#: index.docbook:290
+#. Tag: entry
+#: toolset_guide.xml:290
+#, no-c-format
 msgid "only drop the tables"
 msgstr "supprime seuleument les tables"
 
-#: index.docbook:293
+#. Tag: literal
+#: toolset_guide.xml:293
+#, no-c-format
 msgid "--create"
 msgstr "--create"
 
-#: index.docbook:294
+#. Tag: entry
+#: toolset_guide.xml:294
+#, no-c-format
 msgid "only create the tables"
 msgstr "ne créé que les tables"
 
-#: index.docbook:297, index.docbook:439
+#. Tag: literal
+#: toolset_guide.xml:297 toolset_guide.xml:439
+#, no-c-format
 msgid "--text"
 msgstr "--text"
 
-#: index.docbook:298
+#. Tag: entry
+#: toolset_guide.xml:298
+#, no-c-format
 msgid "don't export to the database"
 msgstr "ne pas exécuter sur la base de données"
 
-#: index.docbook:301
+#. Tag: literal
+#: toolset_guide.xml:301
+#, no-c-format
 msgid "--output=my_schema.ddl"
 msgstr "--output=my_schema.ddl"
 
-#: index.docbook:302
+#. Tag: entry
+#: toolset_guide.xml:302
+#, no-c-format
 msgid "output the ddl script to a file"
 msgstr "écrit le script ddl vers un fichier"
 
-#: index.docbook:305, index.docbook:443, index.docbook:504
+#. Tag: literal
+#: toolset_guide.xml:305 toolset_guide.xml:443 toolset_guide.xml:504
+#, no-c-format
 msgid "--naming=eg.MyNamingStrategy"
 msgstr "--naming=eg.MyNamingStrategy"
 
-#: index.docbook:306, index.docbook:444, index.docbook:505
+#. Tag: entry
+#: toolset_guide.xml:306 toolset_guide.xml:444 toolset_guide.xml:505
+#, fuzzy, no-c-format
 msgid "select a <literal>NamingStrategy</literal>"
-msgstr "sélectionne une <literal>NamingStrategy</literal>"
+msgstr "dans <literal>hibernate.properties</literal>"
 
-#: index.docbook:309, index.docbook:451, index.docbook:512
+#. Tag: literal
+#: toolset_guide.xml:309 toolset_guide.xml:451 toolset_guide.xml:512
+#, no-c-format
 msgid "--config=hibernate.cfg.xml"
 msgstr "--config=hibernate.cfg.xml"
 
-#: index.docbook:310
+#. Tag: entry
+#: toolset_guide.xml:310
+#, no-c-format
 msgid "read Hibernate configuration from an XML file"
 msgstr "lit la configuration Hibernate à partir d'un fichier XML"
 
-#: index.docbook:313, index.docbook:447, index.docbook:508
+#. Tag: literal
+#: toolset_guide.xml:313 toolset_guide.xml:447 toolset_guide.xml:508
+#, no-c-format
 msgid "--properties=hibernate.properties"
 msgstr "--properties=hibernate.properties"
 
-#: index.docbook:314, index.docbook:448, index.docbook:509
+#. Tag: entry
+#: toolset_guide.xml:314 toolset_guide.xml:448 toolset_guide.xml:509
+#, fuzzy, no-c-format
 msgid "read database properties from a file"
-msgstr "lit les propriétés de la base de données à partir d'un fichier"
+msgstr ""
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"lit les propriétés de la base de données à partir d'un fichier\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"lire les propriétés de la base de données à partir d'un fichier\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"lit les propriétés dela base de données depuis un fichier de propriétés"
 
-#: index.docbook:317
+#. Tag: literal
+#: toolset_guide.xml:317
+#, no-c-format
 msgid "--format"
 msgstr "--format"
 
-#: index.docbook:318
+#. Tag: entry
+#: toolset_guide.xml:318
+#, no-c-format
 msgid "format the generated SQL nicely in the script"
 msgstr "formatte proprement le SQL généré dans le script"
 
-#: index.docbook:321
+#. Tag: literal
+#: toolset_guide.xml:321
+#, no-c-format
 msgid "--delimiter=;"
 msgstr "--delimiter=x"
 
-#: index.docbook:322
+#. Tag: entry
+#: toolset_guide.xml:322
+#, no-c-format
 msgid "set an end of line delimiter for the script"
 msgstr "paramètre un délimiteur de fin de ligne pour le script"
 
-#: index.docbook:328
+#. Tag: para
+#: toolset_guide.xml:328
+#, no-c-format
 msgid "You may even embed <literal>SchemaExport</literal> in your application:"
-msgstr "Vous pouvez même intégrer <literal>SchemaExport</literal> dans votre application :"
+msgstr ""
+"Vous pouvez même intégrer <literal>SchemaExport</literal> dans votre "
+"application :"
 
-#: index.docbook:332
+#. Tag: programlisting
+#: toolset_guide.xml:332
+#, no-c-format
 msgid ""
-      "<![CDATA[Configuration cfg = ....;\n"
-      "new SchemaExport(cfg).create(false, true);]]>"
+"<![CDATA[Configuration cfg = ....;\n"
+"new SchemaExport(cfg).create(false, true);]]>"
 msgstr ""
-      "<![CDATA[Configuration cfg = ....;\n"
-      "new SchemaExport(cfg).create(false, true);]]>"
 
-#: index.docbook:337
+#. Tag: title
+#: toolset_guide.xml:337
+#, no-c-format
 msgid "Properties"
 msgstr "Propriétés"
 
-#: index.docbook:339
+#. Tag: para
+#: toolset_guide.xml:339
+#, no-c-format
 msgid "Database properties may be specified"
 msgstr "Les propriétés de la base de données peuvent être spécifiées"
 
-#: index.docbook:345
-msgid "as system properties with <literal>-D</literal><emphasis>&lt;property&gt;</emphasis>"
-msgstr "comme propriétés système avec <literal>-D</literal><emphasis>&lt;property&gt;</emphasis>"
+#. Tag: para
+#: toolset_guide.xml:345
+#, no-c-format
+msgid ""
+"as system properties with <literal>-D</literal><emphasis>&lt;property&gt;</"
+"emphasis>"
+msgstr ""
+"comme propriétés système avec <literal>-D</literal><emphasis>&lt;property&gt;"
+"</emphasis>"
 
-#: index.docbook:348
+#. Tag: para
+#: toolset_guide.xml:348
+#, no-c-format
 msgid "in <literal>hibernate.properties</literal>"
 msgstr "dans <literal>hibernate.properties</literal>"
 
-#: index.docbook:351
+#. Tag: para
+#: toolset_guide.xml:351
+#, no-c-format
 msgid "in a named properties file with <literal>--properties</literal>"
-msgstr "dans un fichier de propriétés déclaré avec <literal>--properties</literal>"
+msgstr ""
+"dans un fichier de propriétés déclaré avec <literal>--properties</literal>"
 
-#: index.docbook:355
+#. Tag: para
+#: toolset_guide.xml:355
+#, no-c-format
 msgid "The needed properties are:"
 msgstr "Les propriétés nécessaires sont :"
 
-#: index.docbook:360
+#. Tag: title
+#: toolset_guide.xml:360
+#, no-c-format
 msgid "SchemaExport Connection Properties"
 msgstr "SchemaExport Connection Properties"
 
-#: index.docbook:366
+#. Tag: entry
+#: toolset_guide.xml:366
+#, no-c-format
 msgid "Property Name"
 msgstr "Nom de la propriété"
 
-#: index.docbook:372
+#. Tag: literal
+#: toolset_guide.xml:372
+#, no-c-format
 msgid "hibernate.connection.driver_class"
 msgstr "hibernate.connection.driver_class"
 
-#: index.docbook:373
+#. Tag: entry
+#: toolset_guide.xml:373
+#, no-c-format
 msgid "jdbc driver class"
 msgstr "classe du driver JDBC"
 
-#: index.docbook:376
+#. Tag: literal
+#: toolset_guide.xml:376
+#, no-c-format
 msgid "hibernate.connection.url"
 msgstr "hibernate.connection.url"
 
-#: index.docbook:377
+#. Tag: entry
+#: toolset_guide.xml:377
+#, no-c-format
 msgid "jdbc url"
 msgstr "URL JDBC"
 
-#: index.docbook:380
+#. Tag: literal
+#: toolset_guide.xml:380
+#, no-c-format
 msgid "hibernate.connection.username"
 msgstr "hibernate.connection.username"
 
-#: index.docbook:381
+#. Tag: entry
+#: toolset_guide.xml:381
+#, no-c-format
 msgid "database user"
 msgstr "utilisateur de la base de données"
 
-#: index.docbook:384
+#. Tag: literal
+#: toolset_guide.xml:384
+#, no-c-format
 msgid "hibernate.connection.password"
 msgstr "hibernate.connection.password"
 
-#: index.docbook:385
+#. Tag: entry
+#: toolset_guide.xml:385
+#, no-c-format
 msgid "user password"
 msgstr "mot de passe de l'utilisateur"
 
-#: index.docbook:388
+#. Tag: literal
+#: toolset_guide.xml:388
+#, no-c-format
 msgid "hibernate.dialect"
 msgstr "hibernate.dialect"
 
-#: index.docbook:389
+#. Tag: entry
+#: toolset_guide.xml:389
+#, no-c-format
 msgid "dialect"
 msgstr "dialecte"
 
-#: index.docbook:398
+#. Tag: title
+#: toolset_guide.xml:398
+#, no-c-format
 msgid "Using Ant"
 msgstr "Utiliser Ant"
 
-#: index.docbook:400
-msgid "You can call <literal>SchemaExport</literal> from your Ant build script:"
-msgstr "Vous pouvez appeler <literal>SchemaExport</literal> depuis votre script de construction Ant :"
+#. Tag: para
+#: toolset_guide.xml:400
+#, no-c-format
+msgid ""
+"You can call <literal>SchemaExport</literal> from your Ant build script:"
+msgstr ""
+"Vous pouvez appeler <literal>SchemaExport</literal> depuis votre script de "
+"construction Ant :"
 
-#: index.docbook:404
+#. Tag: programlisting
+#: toolset_guide.xml:404
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:409
+#. Tag: title
+#: toolset_guide.xml:409
+#, no-c-format
 msgid "Incremental schema updates"
 msgstr "Mises à jour incrémentales du schéma"
 
-#: index.docbook:411
-msgid "The <literal>SchemaUpdate</literal> tool will update an existing schema with \"incremental\" changes. Note that <literal>SchemaUpdate</literal> depends heavily upon the JDBC metadata API, so it will not work with all JDBC drivers."
-msgstr "L'outil <literal>SchemaUpdate</literal> mettra à jour un schéma existant en effectuant les changement par \"incrément\". Notez que <literal>SchemaUpdate</literal> dépends beaucoup de l'API JDBC metadata, il ne fonctionnera donc pas avec tous les drivers JDBC."
+#. Tag: para
+#: toolset_guide.xml:411
+#, no-c-format
+msgid ""
+"The <literal>SchemaUpdate</literal> tool will update an existing schema with "
+"\"incremental\" changes. Note that <literal>SchemaUpdate</literal> depends "
+"heavily upon the JDBC metadata API, so it will not work with all JDBC "
+"drivers."
+msgstr ""
+"L'outil <literal>SchemaUpdate</literal> mettra à jour un schéma existant en "
+"effectuant les changement par \"incrément\". Notez que "
+"<literal>SchemaUpdate</literal> dépends beaucoup de l'API JDBC metadata, il "
+"ne fonctionnera donc pas avec tous les drivers JDBC."
 
-#: index.docbook:417
-msgid "<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> <literal>org.hibernate.tool.hbm2ddl.SchemaUpdate</literal> <emphasis>options mapping_files</emphasis>"
-msgstr "<literal>java -cp </literal><emphasis>classpath_hibernate</emphasis> <literal>net.sf.hibernate.tool.hbm2ddl.SchemaUpdate</literal> <emphasis>options fichiers_de_mapping</emphasis>"
+#. Tag: para
+#: toolset_guide.xml:417
+#, 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 ""
 
-#: index.docbook:423
+#. Tag: title
+#: toolset_guide.xml:423
+#, no-c-format
 msgid "<literal>SchemaUpdate</literal> Command Line Options"
 msgstr "<literal>SchemaUpdate</literal> Options de ligne de commande"
 
-#: index.docbook:440
+#. Tag: entry
+#: toolset_guide.xml:440
+#, no-c-format
 msgid "don't export the script to the database"
 msgstr "ne pas exporter vers la base de données"
 
-#: index.docbook:452, index.docbook:513
+#. Tag: entry
+#: toolset_guide.xml:452 toolset_guide.xml:513
+#, fuzzy, no-c-format
 msgid "specify a <literal>.cfg.xml</literal> file"
 msgstr ""
-      "<![CDATA[Configuration cfg = ....;\n"
-      "new SchemaUpdate(cfg).execute(false);]]>"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"specify a <placeholder-1/> file\n"
+"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+"indique un fichier <placeholder-1/>"
 
-#: index.docbook:458
+#. Tag: para
+#: toolset_guide.xml:458
+#, no-c-format
 msgid "You may embed <literal>SchemaUpdate</literal> in your application:"
-msgstr "Utiliser Ant pour des mises à jour de schéma par incrément"
+msgstr ""
+"Vous pouvez intégrer <literal>SchemaUpdate</literal> dans votre application :"
 
-#: index.docbook:462
+#. Tag: programlisting
+#: toolset_guide.xml:462
+#, no-c-format
 msgid ""
-      "<![CDATA[Configuration cfg = ....;\n"
-      "new SchemaUpdate(cfg).execute(false);]]>"
-msgstr "Vous pouvez appeler <literal>SchemaUpdate</literal> depuis le script Ant :"
+"<![CDATA[Configuration cfg = ....;\n"
+"new SchemaUpdate(cfg).execute(false);]]>"
+msgstr ""
 
-#: index.docbook:467
+#. Tag: title
+#: toolset_guide.xml:467
+#, no-c-format
 msgid "Using Ant for incremental schema updates"
-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>]]>"
+msgstr "Utiliser Ant pour des mises à jour de schéma par incrément"
 
-#: index.docbook:469
+#. Tag: para
+#: toolset_guide.xml:469
+#, no-c-format
 msgid "You can call <literal>SchemaUpdate</literal> from the Ant script:"
-msgstr "Validation du schéma"
+msgstr ""
+"Vous pouvez appeler <literal>SchemaUpdate</literal> depuis le script Ant :"
 
-#: index.docbook:473
+#. Tag: programlisting
+#: toolset_guide.xml:473
+#, 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 "L'outil <literal>SchemaValidator</literal> validera que le schéma existant correspond à vos documents de mapping. Notez que le <literal>SchemaValidator</literal> dépends de l'API metadata de JDBC, il ne fonctionnera donc pas avec tous les drivers JDBC. Cet outil est extrêmement utile pour tester."
+"<![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 ""
 
-#: index.docbook:478
+#. Tag: title
+#: toolset_guide.xml:478
+#, no-c-format
 msgid "Schema validation"
-msgstr "<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> <literal>org.hibernate.tool.hbm2ddl.SchemaValidator</literal> <emphasis>options mapping_files</emphasis>"
+msgstr "Validation du schéma"
 
-#: index.docbook:480
-msgid "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."
-msgstr "<literal>SchemaValidator</literal> Options de ligne de commande"
+#. Tag: para
+#: toolset_guide.xml:480
+#, no-c-format
+msgid ""
+"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."
+msgstr ""
+"L'outil <literal>SchemaValidator</literal> validera que le schéma existant "
+"correspond à vos documents de mapping. Notez que le "
+"<literal>SchemaValidator</literal> dépends de l'API metadata de JDBC, il ne "
+"fonctionnera donc pas avec tous les drivers JDBC. Cet outil est extrêmement "
+"utile pour tester."
 
-#: index.docbook:486
-msgid "<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> <literal>org.hibernate.tool.hbm2ddl.SchemaValidator</literal> <emphasis>options mapping_files</emphasis>"
-msgstr "Option"
+#. Tag: para
+#: toolset_guide.xml:486
+#, no-c-format
+msgid ""
+"<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> "
+"<literal>org.hibernate.tool.hbm2ddl.SchemaValidator</literal> "
+"<emphasis>options mapping_files</emphasis>"
+msgstr ""
 
-#: index.docbook:492
+#. Tag: title
+#: toolset_guide.xml:492
+#, no-c-format
 msgid "<literal>SchemaValidator</literal> Command Line Options"
-msgstr "Description"
+msgstr "<literal>SchemaValidator</literal> Options de ligne de commande"
 
-#: index.docbook:519
+#. Tag: para
+#: toolset_guide.xml:519
+#, no-c-format
 msgid "You may embed <literal>SchemaValidator</literal> in your application:"
-msgstr "Utiliser Ant pour la validation du Schéma"
+msgstr ""
+"Vous pouvez inclure <literal>SchemaValidator</literal> dans votre "
+"application:"
 
-#: index.docbook:523
+#. Tag: programlisting
+#: toolset_guide.xml:523
+#, no-c-format
 msgid ""
-      "<![CDATA[Configuration cfg = ....;\n"
-      "new SchemaValidator(cfg).validate();]]>"
-msgstr "Vous pouvez appeler <literal>SchemaValidator</literal> depuis le script Ant:"
+"<![CDATA[Configuration cfg = ....;\n"
+"new SchemaValidator(cfg).validate();]]>"
+msgstr ""
 
-#: index.docbook:528
+#. Tag: title
+#: toolset_guide.xml:528
+#, no-c-format
 msgid "Using Ant for schema validation"
-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>]]>"
+msgstr "Utiliser Ant pour la validation du Schéma"
 
-#: index.docbook:530
+#. Tag: para
+#: toolset_guide.xml:530
+#, no-c-format
 msgid "You can call <literal>SchemaValidator</literal> from the Ant script:"
 msgstr ""
+"Vous pouvez appeler <literal>SchemaValidator</literal> depuis le script Ant:"
 
-#: index.docbook:534
+#. Tag: programlisting
+#: toolset_guide.xml:534
+#, 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>]]>"
+"<![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 ""
 
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid "&lt;one-to-one&gt;"
+#~ msgstr "&lt;one-to-one&gt;"
 
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
+#~ msgid "&lt;many-to-one&gt;"
+#~ msgstr "&lt;many-to-one&gt;"
 
+#~ msgid "&lt;key&gt;"
+#~ msgstr "&lt;key&gt;"
+
+#~ msgid "&lt;many-to-many&gt;"
+#~ msgstr "&lt;many-to-many&gt;"
+
+#~ msgid "inverse=\"true\""
+#~ msgstr "inverse=\"true\""
+
+#~ msgid "SchemaExport"
+#~ msgstr "SchemaExport"
+
+#~ msgid "&lt;column&gt;"
+#~ msgstr "&lt;column&gt;"
+
+#~ msgid "java -cp"
+#~ msgstr "java -cp"
+
+#, fuzzy
+#~ msgid "hibernate_classpaths"
+#~ msgstr ""
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "classpath_hibernate\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "hibernate_classpaths\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "hibernate_classpaths"
+
+#~ msgid "org.hibernate.tool.hbm2ddl.SchemaExport"
+#~ msgstr "net.sf.hibernate.tool.hbm2ddl.SchemaExport"
+
+#, fuzzy
+#~ msgid "options mapping_files"
+#~ msgstr ""
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "options fichiers_de_mapping\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "options mapping_files\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "options mapping_files"
+
+#~ msgid "NamingStrategy"
+#~ msgstr "NamingStrategy"
+
+#, fuzzy
+#~ msgid "select a <placeholder-1/>"
+#~ msgstr ""
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "sélectionne une <placeholder-1/>\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "choisit une <placeholder-1/>\n"
+#~ "#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
+#~ "Indique une <placeholder-1/>"
+
+#~ msgid "org.hibernate.tool.hbm2ddl.SchemaUpdate"
+#~ msgstr "org.hibernate.tool.hbm2ddl.SchemaUpdate"
+
+#~ msgid ".cfg.xml"
+#~ msgstr ".cfg.xml"
+
+#~ msgid "org.hibernate.tool.hbm2ddl.SchemaValidator"
+#~ msgstr "org.hibernate.tool.hbm2ddl.SchemaValidator"

Modified: core/trunk/documentation/manual/translations/fr-FR/content/transactions.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/transactions.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/transactions.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,791 +1,2173 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: transactions.xml:5
+#, no-c-format
 msgid "Transactions And Concurrency"
 msgstr "Transactions et accès concurrents"
 
-#: index.docbook:7
-msgid "The most important point about Hibernate and concurrency control is that it is very easy to understand. Hibernate directly uses JDBC connections and JTA resources without adding any additional locking behavior. We highly recommend you spend some time with the JDBC, ANSI, and transaction isolation specification of your database management system."
-msgstr "L'un des principaux avantages du mécanisme de contrôle des accès concurrents d'Hibernate est qu'il est très facile à comprendre. Hibernate utilise directement les connexions JDBC ainsi que les ressources JTA sans y ajouter davantage de mécanisme de blocage. Nous vous recommandons de vous familiariser avec les spécifications JDBC, ANSI et d'isolement de transaction de la base de données que vous utilisez."
+#. Tag: para
+#: transactions.xml:7
+#, no-c-format
+msgid ""
+"The most important point about Hibernate and concurrency control is that it "
+"is very easy to understand. Hibernate directly uses JDBC connections and JTA "
+"resources without adding any additional locking behavior. We highly "
+"recommend you spend some time with the JDBC, ANSI, and transaction isolation "
+"specification of your database management system."
+msgstr ""
+"L'un des principaux avantages du mécanisme de contrôle des accès concurrents "
+"d'Hibernate est qu'il est très facile à comprendre. Hibernate utilise "
+"directement les connexions JDBC ainsi que les ressources JTA sans y ajouter "
+"davantage de mécanisme de blocage. Nous vous recommandons de vous "
+"familiariser avec les spécifications JDBC, ANSI et d'isolement de "
+"transaction de la base de données que vous utilisez."
 
-#: index.docbook:14
-msgid "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)."
-msgstr "Hibernate ne vérouille pas vos objets en mémoire. Votre application peut suivre le comportement défini par le niveau d'isolation de vos transactions de base de données. Notez que grâce à la <literal>Session</literal>, qui est aussi un cache de scope transaction, Hibernate fournit des lectures répétées pour les récupération par identifiants et les requêtes d'entités (pas celle de valeurs scalaires)."
+#. Tag: para
+#: transactions.xml:14
+#, 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. "
+"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)."
+msgstr ""
+"Hibernate ne vérouille pas vos objets en mémoire. Votre application peut "
+"suivre le comportement défini par le niveau d'isolation de vos transactions "
+"de base de données. Notez que grâce à la <literal>Session</literal>, qui est "
+"aussi un cache de scope transaction, Hibernate fournit des lectures répétées "
+"pour les récupération par identifiants et les requêtes d'entités (pas celle "
+"de valeurs scalaires)."
 
-#: index.docbook:22
-msgid "In addition to versioning for automatic optimistic concurrency control, Hibernate also offers a (minor) API for pessimistic locking of rows, using the <literal>SELECT FOR UPDATE</literal> syntax. Optimistic concurrency control and this API are discussed later in this chapter."
-msgstr "En addition au versionning pour le controle automatique de concurrence, Hibernate fournit une API (mineure) pour le verrouillage perssimiste des enregistrements, en générant une syntaxe <literal>SELECT FOR UPDATE</literal>. Le controle de concurrence optimiste et cette API seront détaillés plus tard dans ce chapitre."
+#. Tag: para
+#: transactions.xml:22
+#, no-c-format
+msgid ""
+"In addition to versioning for automatic optimistic concurrency control, "
+"Hibernate also offers a (minor) API for pessimistic locking of rows, using "
+"the <literal>SELECT FOR UPDATE</literal> syntax. Optimistic concurrency "
+"control and this API are discussed later in this chapter."
+msgstr ""
+"En addition au versionning pour le controle automatique de concurrence, "
+"Hibernate fournit une API (mineure) pour le verrouillage perssimiste des "
+"enregistrements, en générant une syntaxe <literal>SELECT FOR UPDATE</"
+"literal>. Le controle de concurrence optimiste et cette API seront détaillés "
+"plus tard dans ce chapitre."
 
-#: index.docbook:29
-msgid "We start the discussion of concurrency control in Hibernate with the granularity of <literal>Configuration</literal>, <literal>SessionFactory</literal>, and <literal>Session</literal>, as well as database transactions and long conversations."
-msgstr "Nous aborderons la gestion des accès concurrents en discutant de la granularité des objets <literal>Configuration</literal>, <literal>SessionFactory</literal>, et <literal>Session</literal>, ainsi que de certains concepts relatifs à la base de données et aux longues transactions applicatives."
+#. Tag: para
+#: transactions.xml:29
+#, no-c-format
+msgid ""
+"We start the discussion of concurrency control in Hibernate with the "
+"granularity of <literal>Configuration</literal>, <literal>SessionFactory</"
+"literal>, and <literal>Session</literal>, as well as database transactions "
+"and long conversations."
+msgstr ""
+"Nous aborderons la gestion des accès concurrents en discutant de la "
+"granularité des objets <literal>Configuration</literal>, "
+"<literal>SessionFactory</literal>, et <literal>Session</literal>, ainsi que "
+"de certains concepts relatifs à la base de données et aux longues "
+"transactions applicatives."
 
-#: index.docbook:36
+#. Tag: title
+#: transactions.xml:36
+#, no-c-format
 msgid "Session and transaction scopes"
 msgstr "Gestion de session et délimitation de transactions"
 
-#: index.docbook:38
-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 "Il est important de savoir qu'un objet <literal>SessionFactory</literal> est un objet complexe et optimisé pour fonctionner avec les threads(thread- safe). Il est coûteux à créer et est ainsi prévu pour n'être instancié qu?une seule fois via un objet <literal>Configuration</literal> au démarrage de l'application, et être partagé par tous les threads d'une application."
+#. Tag: para
+#: transactions.xml:38
+#, 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 ""
+"Il est important de savoir qu'un objet <literal>SessionFactory</literal> est "
+"un objet complexe et optimisé pour fonctionner avec les threads(thread- "
+"safe). Il est coûteux à créer et est ainsi prévu pour n'être instancié qu?"
+"une seule fois via un objet <literal>Configuration</literal> au démarrage de "
+"l'application, et être partagé par tous les threads d'une application."
 
-#: index.docbook:44
-msgid "A <literal>Session</literal> is an inexpensive, non-threadsafe object that should be used once, for a single request, a conversation, single unit of work, and then discarded. A <literal>Session</literal> will not obtain a JDBC <literal>Connection</literal> (or a <literal>Datasource</literal>) unless it is needed, hence consume no resources until used."
-msgstr "Un objet <literal>Session</literal> est relativement simple et n'est threadsafe. Il est également peu coûteux à créer. Il devrait n'être utilisé qu'une seule fois, pour un processus d'affaire ou une unité de travail ou une conversation et ensuite être relâché. Un objet <literal>Session</literal> ne tentera pas d'obtenir de connexion ( <literal>Connection</literal> ) JDBC (ou de <literal>Datasource</literal> ) si ce n'est pas nécessaire."
+#. Tag: para
+#: transactions.xml:44
+#, no-c-format
+msgid ""
+"A <literal>Session</literal> is an inexpensive, non-threadsafe object that "
+"should be used once, for a single request, a conversation, single unit of "
+"work, and then discarded. A <literal>Session</literal> will not obtain a "
+"JDBC <literal>Connection</literal> (or a <literal>Datasource</literal>) "
+"unless it is needed, hence consume no resources until used."
+msgstr ""
+"Un objet <literal>Session</literal> est relativement simple et n'est "
+"threadsafe. Il est également peu coûteux à créer. Il devrait n'être utilisé "
+"qu'une seule fois, pour un processus d'affaire ou une unité de travail ou "
+"une conversation et ensuite être relâché. Un objet <literal>Session</"
+"literal> ne tentera pas d'obtenir de connexion ( <literal>Connection</"
+"literal> ) JDBC (ou de <literal>Datasource</literal> ) si ce n'est pas "
+"nécessaire."
 
-#: index.docbook:52
-msgid "To complete this picture you also have to think about database transactions. A database transaction has to be as short as possible, to reduce lock contention in the database. Long database transactions will prevent your application from scaling to highly concurrent load. Hence, it is almost never good design to hold a database transaction open during user think time, until the unit of work is complete."
-msgstr "Afin de compléter ce tableau, vous devez également penser aux transactions de base de données. Une transaction de base de données se doit d'être la plus courte possible afin de réduire les risques de collision sur des enregistrements verrouillés. De longues transactions à la base de données nuiront à l'extensibilité de vos applications lorsque confrontées à de hauts niveaux de charge. Par conséquent, il n'est jamais bon de maintenir une transaction ouverte pendant la durée de reflexion de l'utilisateur, jusqu'a ce que l'unité de travail soit achevée."
+#. Tag: para
+#: transactions.xml:52
+#, no-c-format
+msgid ""
+"To complete this picture you also have to think about database transactions. "
+"A database transaction has to be as short as possible, to reduce lock "
+"contention in the database. Long database transactions will prevent your "
+"application from scaling to highly concurrent load. Hence, it is almost "
+"never good design to hold a database transaction open during user think "
+"time, until the unit of work is complete."
+msgstr ""
+"Afin de compléter ce tableau, vous devez également penser aux transactions "
+"de base de données. Une transaction de base de données se doit d'être la "
+"plus courte possible afin de réduire les risques de collision sur des "
+"enregistrements verrouillés. De longues transactions à la base de données "
+"nuiront à l'extensibilité de vos applications lorsque confrontées à de hauts "
+"niveaux de charge. Par conséquent, il n'est jamais bon de maintenir une "
+"transaction ouverte pendant la durée de reflexion de l'utilisateur, jusqu'a "
+"ce que l'unité de travail soit achevée."
 
-#: index.docbook:61
-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 one-to-one relationship of scopes? When should you open and close a <literal>Session</literal> and how do you demarcate the database transaction boundaries?"
-msgstr "Maintenant, comment délimiter une unité de travail? Est-ce qu'une instance de <literal>Session</literal> peut avoir une durée de vie dépassant plusieurs transactions à la base de données, ou bien est-ce que celles-ci doivent être liées une à une? Quand faut-il ouvrir et fermer une <literal>Session</literal> ? Comment définir la démarcation de vos transactions à la base de données?"
+#. Tag: para
+#: transactions.xml:61
+#, 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 "
+"one-to-one relationship of scopes? When should you open and close a "
+"<literal>Session</literal> and how do you demarcate the database transaction "
+"boundaries?"
+msgstr ""
+"Maintenant, comment délimiter une unité de travail? Est-ce qu'une instance "
+"de <literal>Session</literal> peut avoir une durée de vie dépassant "
+"plusieurs transactions à la base de données, ou bien est-ce que celles-ci "
+"doivent être liées une à une? Quand faut-il ouvrir et fermer une "
+"<literal>Session</literal> ? Comment définir la démarcation de vos "
+"transactions à la base de données?"
 
-#: index.docbook:69
+#. Tag: title
+#: transactions.xml:69
+#, no-c-format
 msgid "Unit of work"
 msgstr "Unité de travail"
 
-#: index.docbook:71
-msgid "First, don't use the <emphasis>session-per-operation</emphasis> antipattern, that is, don't open and close a <literal>Session</literal> for every simple database call in a single thread! Of course, the same is true for database transactions. Database calls in an application are made using a planned sequence, they are grouped into atomic units of work. (Note that this also means that auto-commit after every single SQL statement is useless in an application, this mode is intended for ad-hoc SQL console work. Hibernate disables, or expects the application server to do so, auto-commit mode immediately.) Database transactions are never optional, all communication with a database has to occur inside a transaction, no matter if you read or write data. As explained, auto-commit behavior for reading data should be avoided, as many small transactions are unlikely to perform better than one clearly defined unit of work. The latter is also much more maintainable and extensible."
-msgstr "Il est important de mentionner que d'utiliser un paradigme <emphasis>session-par-operation</emphasis> est un anti-pattern. Autrement dit: n'ouvrez et ne fermez pas la <literal>Session</literal> à chacun de vos accès simples à la base de données dans un même thread! Bien sûr, le même raisonnement s'applique sur la gestion des transactions à la base de données. Les appels à la base de données devraient être faits en ordre et selon une séquence définie. Ils devraient également être regroupés en des unités de travail atomiques. (Notez que l?utilisation d?une connexion auto-commit constitue le même anti-pattern. Ce mode de fonctionnement existe pour les applications émettant des commandes SQL à partir d?une console. Hibernate désengage le mode auto-commit et s'attend à ce qu'un serveur d'applications le fasse également.) Les transactions avec la base de données ne sont jamais optionnelles, toute communication avec une base de données doit se dé!
 rouler dans une transaction, peu importe si vous lisez ou écrivez des données. Comme évoqué, le comportement auto-commit pour lire les données devrait être évité, puisque plusieurs petites transactions ne seront jamais aussi efficaces qu'une seule plus grosse clairement définie comme unité de travail. Ce dernier choix et en plus beaucoup plus facile a maintenir et à faire évoluer."
+#. Tag: para
+#: transactions.xml:71
+#, no-c-format
+msgid ""
+"First, don't use the <emphasis>session-per-operation</emphasis> antipattern, "
+"that is, don't open and close a <literal>Session</literal> for every simple "
+"database call in a single thread! Of course, the same is true for database "
+"transactions. Database calls in an application are made using a planned "
+"sequence, they are grouped into atomic units of work. (Note that this also "
+"means that auto-commit after every single SQL statement is useless in an "
+"application, this mode is intended for ad-hoc SQL console work. Hibernate "
+"disables, or expects the application server to do so, auto-commit mode "
+"immediately.) Database transactions are never optional, all communication "
+"with a database has to occur inside a transaction, no matter if you read or "
+"write data. As explained, auto-commit behavior for reading data should be "
+"avoided, as many small transactions are unlikely to perform better than one "
+"clearly defined unit of work. The latter is also much more maintainable and "
+"extensible."
+msgstr ""
+"Il est important de mentionner que d'utiliser un paradigme <emphasis>session-"
+"par-operation</emphasis> est un anti-pattern. Autrement dit: n'ouvrez et ne "
+"fermez pas la <literal>Session</literal> à chacun de vos accès simples à la "
+"base de données dans un même thread! Bien sûr, le même raisonnement "
+"s'applique sur la gestion des transactions à la base de données. Les appels "
+"à la base de données devraient être faits en ordre et selon une séquence "
+"définie. Ils devraient également être regroupés en des unités de travail "
+"atomiques. (Notez que l?utilisation d?une connexion auto-commit constitue le "
+"même anti-pattern. Ce mode de fonctionnement existe pour les applications "
+"émettant des commandes SQL à partir d?une console. Hibernate désengage le "
+"mode auto-commit et s'attend à ce qu'un serveur d'applications le fasse "
+"également.) Les transactions avec la base de données ne sont jamais "
+"optionnelles, toute communication avec une base de données doit se dérouler "
+"dans une transaction, peu importe si vous lisez ou écrivez des données. "
+"Comme évoqué, le comportement auto-commit pour lire les données devrait être "
+"évité, puisque plusieurs petites transactions ne seront jamais aussi "
+"efficaces qu'une seule plus grosse clairement définie comme unité de "
+"travail. Ce dernier choix et en plus beaucoup plus facile a maintenir et à "
+"faire évoluer."
 
-#: index.docbook:87
-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 client is send to the server (where the Hibernate persistence layer runs), a new Hibernate <literal>Session</literal> is opened, and all database operations are executed in this unit of work. Once the work has been completed (and the response for the client has been prepared), the session is flushed and closed. You would also use a single database transaction to serve the clients request, starting and committing it when you open and close the <literal>Session</literal>. The relationship between the two is one-to-one and this model is a perfect fit for many applications."
-msgstr "Le pattern d'utilisation le plus fréquemment rencontré dans des applications clients serveur multi-usagers est le <emphasis>session-per-request</emphasis> (littéralement : Session par requête). Dans ce modèle, la requête d'un client est envoyée à un serveur (Où la couche de persistance est implémentée via Hibernate), une nouvelle <literal>Session</literal> est ouverte et toutes les opérations d'accès à la base de données sont exécutées à l'intérieur de celle-ci. Lorsque le travail est terminé (et que les réponses à envoyer au client ont été préparées), la session est flushée et fermée. Une seule transaction à la base de données peut être utilisée pour répondre à la requête du client. La transaction est démarrée et validée au même moment où la Session est ouverte et fermée. La relation entre la <literal>Session</literal> et la <literal>Transaction</literal> est donc one-to-one. Ce modèle permet de répondre parfaitement aux a!
 ttentes de la grande majorité des applications."
+#. Tag: para
+#: transactions.xml:87
+#, 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 "
+"client is send to the server (where the Hibernate persistence layer runs), a "
+"new Hibernate <literal>Session</literal> is opened, and all database "
+"operations are executed in this unit of work. Once the work has been "
+"completed (and the response for the client has been prepared), the session "
+"is flushed and closed. You would also use a single database transaction to "
+"serve the clients request, starting and committing it when you open and "
+"close the <literal>Session</literal>. The relationship between the two is "
+"one-to-one and this model is a perfect fit for many applications."
+msgstr ""
+"Le pattern d'utilisation le plus fréquemment rencontré dans des applications "
+"clients serveur multi-usagers est le <emphasis>session-per-request</"
+"emphasis> (littéralement : Session par requête). Dans ce modèle, la requête "
+"d'un client est envoyée à un serveur (Où la couche de persistance est "
+"implémentée via Hibernate), une nouvelle <literal>Session</literal> est "
+"ouverte et toutes les opérations d'accès à la base de données sont exécutées "
+"à l'intérieur de celle-ci. Lorsque le travail est terminé (et que les "
+"réponses à envoyer au client ont été préparées), la session est flushée et "
+"fermée. Une seule transaction à la base de données peut être utilisée pour "
+"répondre à la requête du client. La transaction est démarrée et validée au "
+"même moment où la Session est ouverte et fermée. La relation entre la "
+"<literal>Session</literal> et la <literal>Transaction</literal> est donc one-"
+"to-one. Ce modèle permet de répondre parfaitement aux attentes de la grande "
+"majorité des applications."
 
-#: index.docbook:99
-msgid "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."
-msgstr "Le défi réside dans l'implémentation. Hibernate fournit une fonction de gestion de la \"session courante\" pour simplifier ce pattern. Tout ce que vous devez faire est démarrer une transaction lorsqu'une requête est traitée par le serveur, et la terminer avant que la réponse ne soit envoyée au client. Vous pouvez le faire de la manière que vous voulez, les solutions communes sont un <literal>ServletFilter</literal>, l'interception via AOP avec une pointcut sur les méthodes de type \"service\", ou un conteneur avec interception/proxy. Un conteneur EJB est un moyen standard d'implémenter ce genre d'acpect tranverse comme la démarcation des transactions sur les EJBs session, de manière déclarative avec CMT. Si vous décidez d'utiliser la démarcation programmatique des transactions, préferrez l'API Hibernate <literal>Transaction</literal> détaillée plus tard dans ce chapitre, afin de facilité l'utilisation et la portabilité du code."
+#. Tag: para
+#: transactions.xml:99
+#, no-c-format
+msgid ""
+"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."
+msgstr ""
+"Le défi réside dans l'implémentation. Hibernate fournit une fonction de "
+"gestion de la \"session courante\" pour simplifier ce pattern. Tout ce que "
+"vous devez faire est démarrer une transaction lorsqu'une requête est traitée "
+"par le serveur, et la terminer avant que la réponse ne soit envoyée au "
+"client. Vous pouvez le faire de la manière que vous voulez, les solutions "
+"communes sont un <literal>ServletFilter</literal>, l'interception via AOP "
+"avec une pointcut sur les méthodes de type \"service\", ou un conteneur avec "
+"interception/proxy. Un conteneur EJB est un moyen standard d'implémenter ce "
+"genre d'acpect tranverse comme la démarcation des transactions sur les EJBs "
+"session, de manière déclarative avec CMT. Si vous décidez d'utiliser la "
+"démarcation programmatique des transactions, préferrez l'API Hibernate "
+"<literal>Transaction</literal> détaillée plus tard dans ce chapitre, afin de "
+"facilité l'utilisation et la portabilité du code."
 
-#: index.docbook:112
-msgid "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\"/>."
-msgstr "Votre application peut accéder la \"session courante\" pour exécuter une requête en invoquant simplement <literal>sessionFactory.getCurrentSession()</literal> n'importe où et autant de fois que souhaité. Vous obtiendrez toujours une <literal>Session</literal> dont le scope est la transaction courante avec la base de données. Ceci doit être configuré soit dans les ressources local ou dans l'environnement JTA, voir <xref linkend=\"architecture-current-session\"/>."
+#. Tag: para
+#: transactions.xml:112
+#, no-c-format
+msgid ""
+"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\"/>."
+msgstr ""
+"Votre application peut accéder la \"session courante\" pour exécuter une "
+"requête en invoquant simplement <literal>sessionFactory.getCurrentSession()</"
+"literal> n'importe où et autant de fois que souhaité. Vous obtiendrez "
+"toujours une <literal>Session</literal> dont le scope est la transaction "
+"courante avec la base de données. Ceci doit être configuré soit dans les "
+"ressources local ou dans l'environnement JTA, voir <xref linkend="
+"\"architecture-current-session\"/>."
 
-#: index.docbook:120
-msgid "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."
-msgstr "Il est parfois utile d'étendre le scope d'une <literal>Session</literal> et d'une transaction à la base de données jusqu'à ce que \"la vue soit rendue\". Ceci est particulièrement utile dans des applications à base de servlet qui utilisent une phase de rendue séparée une fois que la réponse a été préparée. Etendre la transaction avec la base de données jusqu'à la fin du rendering de la vue est aisé si vous implémentez votre propre intercepteur. Cependant, ce n'est pas facile si vous vous appuyez sur les EJBs avec CMT, puisqu'une transaction sera achevée au retour de la méthode EJB, avant le rendu de la vue. Rendez vous sur le site Hibernate et sur le forum pour des astuces et des exemples sur le pattern <emphasis>Open Session in View</emphasis> pattern.."
+#. Tag: para
+#: transactions.xml:120
+#, no-c-format
+msgid ""
+"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."
+msgstr ""
+"Il est parfois utile d'étendre le scope d'une <literal>Session</literal> et "
+"d'une transaction à la base de données jusqu'à ce que \"la vue soit rendue"
+"\". Ceci est particulièrement utile dans des applications à base de servlet "
+"qui utilisent une phase de rendue séparée une fois que la réponse a été "
+"préparée. Etendre la transaction avec la base de données jusqu'à la fin du "
+"rendering de la vue est aisé si vous implémentez votre propre intercepteur. "
+"Cependant, ce n'est pas facile si vous vous appuyez sur les EJBs avec CMT, "
+"puisqu'une transaction sera achevée au retour de la méthode EJB, avant le "
+"rendu de la vue. Rendez vous sur le site Hibernate et sur le forum pour des "
+"astuces et des exemples sur le pattern <emphasis>Open Session in View</"
+"emphasis> pattern.."
 
-#: index.docbook:135
+#. Tag: title
+#: transactions.xml:135
+#, no-c-format
 msgid "Long conversations"
 msgstr "Longue conversation"
 
-#: index.docbook:137
-msgid "The session-per-request pattern is not the only useful concept you can use to design units of work. Many business processes require a whole series of interactions with the user interleaved with database accesses. In web and enterprise applications it is not acceptable for a database transaction to span a user interaction. Consider the following example:"
-msgstr "Le paradigme <emphasis>session-per-request</emphasis> n'est pas le seul élément à utiliser dans le design de vos unités de travail. Plusieurs processus d'affaire requièrent toute une série d'interactions avec l'utilisateur, entrelacées d'accès à la base de donnée. Dans une application Web ou une application d'entreprise, il serait inacceptable que la durée de vie d'une transaction s'étale sur plusieurs interactions avec l'usager. Considérez l'exemple suivant:"
+#. Tag: para
+#: transactions.xml:137
+#, no-c-format
+msgid ""
+"The session-per-request pattern is not the only useful concept you can use "
+"to design units of work. Many business processes require a whole series of "
+"interactions with the user interleaved with database accesses. In web and "
+"enterprise applications it is not acceptable for a database transaction to "
+"span a user interaction. Consider the following example:"
+msgstr ""
+"Le paradigme <emphasis>session-per-request</emphasis> n'est pas le seul "
+"élément à utiliser dans le design de vos unités de travail. Plusieurs "
+"processus d'affaire requièrent toute une série d'interactions avec "
+"l'utilisateur, entrelacées d'accès à la base de donnée. Dans une application "
+"Web ou une application d'entreprise, il serait inacceptable que la durée de "
+"vie d'une transaction s'étale sur plusieurs interactions avec l'usager. "
+"Considérez l'exemple suivant:"
 
-#: index.docbook:147
-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 "Un écran s'affiche. Les données vues par l'usager ont été chargées dans l'instance d'un objet <literal>Session</literal> , dans le cadre d'une transaction de base de données. L'usager est libre de modifier ces objets."
+#. Tag: para
+#: transactions.xml:147
+#, 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 ""
+"Un écran s'affiche. Les données vues par l'usager ont été chargées dans "
+"l'instance d'un objet <literal>Session</literal> , dans le cadre d'une "
+"transaction de base de données. L'usager est libre de modifier ces objets."
 
-#: index.docbook:154
-msgid "The user clicks \"Save\" after 5 minutes and expects his modifications to be made persistent; he also expects that he was the only person editing this information and that no conflicting modification can occur."
-msgstr "L'usager clique \"Sauvegarder\" après 5 minutes et souhaite persister les modifications qu'il a apportées. Il s'attend à être la seule personne a avoir modifié ces données et qu'aucune modification conflictuelle ne se soit produite durant ce laps de temps."
+#. Tag: para
+#: transactions.xml:154
+#, no-c-format
+msgid ""
+"The user clicks \"Save\" after 5 minutes and expects his modifications to be "
+"made persistent; he also expects that he was the only person editing this "
+"information and that no conflicting modification can occur."
+msgstr ""
+"L'usager clique \"Sauvegarder\" après 5 minutes et souhaite persister les "
+"modifications qu'il a apportées. Il s'attend à être la seule personne a "
+"avoir modifié ces données et qu'aucune modification conflictuelle ne se soit "
+"produite durant ce laps de temps."
 
-#: index.docbook:162
-msgid "We call this unit of work, from the point of view of the user, a long running <emphasis>conversation</emphasis> (or <emphasis>application transaction</emphasis>). There are many ways how you can implement this in your application."
-msgstr "Ceci s'appelle une unité de travail. Du point de vue de l'utilisateur: une <emphasis>conversation</emphasis> (ou <emphasis>transaction d'application</emphasis>). Il y a plusieurs façon de mettre ceci en place dans votre application."
+#. Tag: para
+#: transactions.xml:162
+#, no-c-format
+msgid ""
+"We call this unit of work, from the point of view of the user, a long "
+"running <emphasis>conversation</emphasis> (or <emphasis>application "
+"transaction</emphasis>). There are many ways how you can implement this in "
+"your application."
+msgstr ""
+"Ceci s'appelle une unité de travail. Du point de vue de l'utilisateur: une "
+"<emphasis>conversation</emphasis> (ou <emphasis>transaction d'application</"
+"emphasis>). Il y a plusieurs façon de mettre ceci en place dans votre "
+"application."
 
-#: index.docbook:168
-msgid "A first naive implementation might keep the <literal>Session</literal> and database transaction open during user think time, with locks held in the database to prevent concurrent modification, and to guarantee isolation and atomicity. This is of course an anti-pattern, since lock contention would not allow the application to scale with the number of concurrent users."
-msgstr "Une première implémentation naïve pourrait consister à garder la <literal>Session</literal> et la transaction à la base de données ouvertes durant le temps de travail de l'usager, à maintenir les enregistrements verrouillés dans la base de données afin d'éviter des modifications concurrentes et de maintenir l'isolation et l'atomicité de la transaction de l'usager. Ceci est un anti-pattern à éviter, puisque le verrouillage des enregistrements dans la base de données ne permettrait pas à l'application de gérer un grand nombre d'usagers concurrents."
+#. Tag: para
+#: transactions.xml:168
+#, 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 "
+"database to prevent concurrent modification, and to guarantee isolation and "
+"atomicity. This is of course an anti-pattern, since lock contention would "
+"not allow the application to scale with the number of concurrent users."
+msgstr ""
+"Une première implémentation naïve pourrait consister à garder la "
+"<literal>Session</literal> et la transaction à la base de données ouvertes "
+"durant le temps de travail de l'usager, à maintenir les enregistrements "
+"verrouillés dans la base de données afin d'éviter des modifications "
+"concurrentes et de maintenir l'isolation et l'atomicité de la transaction de "
+"l'usager. Ceci est un anti-pattern à éviter, puisque le verrouillage des "
+"enregistrements dans la base de données ne permettrait pas à l'application "
+"de gérer un grand nombre d'usagers concurrents."
 
-#: index.docbook:176
-msgid "Clearly, we have to use several database transactions to implement the converastion. In this case, maintaining isolation of business processes becomes the partial responsibility of the application tier. A single conversation usually spans several database transactions. It will be atomic if only one of these database transactions (the last one) stores the updated data, all others simply read data (e.g. in a wizard-style dialog spanning several request/response cycles). This is easier to implement than it might sound, especially if you use Hibernate's features:"
-msgstr "Il apparaît donc évident qu'il faille utiliser plusieurs transactions BDD afin d'implémenter la conversation. Dans ce cas, maintenir l'isolation des processus d'affaire devient partiellement la responsabilité de la couche applicative. Ainsi, la durée de vie d'une conversation devrait englober celle d'une ou de plusieurs transactions de base de données. Celle-ci sera atomique seulement si l'écriture des données mises à jour est faite exclusivement par la dernière transaction BDD la composant. Toutes les autres sous transactions BD ne doivent faire que la lecture de données. Ceci est relativement facile à mettre en place, surtout avec l'utilisation de certaines fonctionnalités d'Hibernate:"
+#. Tag: para
+#: transactions.xml:176
+#, no-c-format
+msgid ""
+"Clearly, we have to use several database transactions to implement the "
+"converastion. In this case, maintaining isolation of business processes "
+"becomes the partial responsibility of the application tier. A single "
+"conversation usually spans several database transactions. It will be atomic "
+"if only one of these database transactions (the last one) stores the updated "
+"data, all others simply read data (e.g. in a wizard-style dialog spanning "
+"several request/response cycles). This is easier to implement than it might "
+"sound, especially if you use Hibernate's features:"
+msgstr ""
+"Il apparaît donc évident qu'il faille utiliser plusieurs transactions BDD "
+"afin d'implémenter la conversation. Dans ce cas, maintenir l'isolation des "
+"processus d'affaire devient partiellement la responsabilité de la couche "
+"applicative. Ainsi, la durée de vie d'une conversation devrait englober "
+"celle d'une ou de plusieurs transactions de base de données. Celle-ci sera "
+"atomique seulement si l'écriture des données mises à jour est faite "
+"exclusivement par la dernière transaction BDD la composant. Toutes les "
+"autres sous transactions BD ne doivent faire que la lecture de données. Ceci "
+"est relativement facile à mettre en place, surtout avec l'utilisation de "
+"certaines fonctionnalités d'Hibernate:"
 
-#: index.docbook:189
-msgid "<emphasis>Automatic Versioning</emphasis> - Hibernate can do automatic optimistic concurrency control for you, it can automatically detect if a concurrent modification occured during user think time. Usually we only check at the end of the conversation."
-msgstr "<emphasis>Versionnage Automatique</emphasis> - Hibernate peut gérer automatiquement les accès concurrents de manière optimiste et détecter si une modification concurrente s'est produite durant le temps de réflexion d'un usager."
+#. Tag: para
+#: transactions.xml:189
+#, no-c-format
+msgid ""
+"<emphasis>Automatic Versioning</emphasis> - Hibernate can do automatic "
+"optimistic concurrency control for you, it can automatically detect if a "
+"concurrent modification occured during user think time. Usually we only "
+"check at the end of the conversation."
+msgstr ""
+"<emphasis>Versionnage Automatique</emphasis> - Hibernate peut gérer "
+"automatiquement les accès concurrents de manière optimiste et détecter si "
+"une modification concurrente s'est produite durant le temps de réflexion "
+"d'un usager."
 
-#: index.docbook:197
-msgid "<emphasis>Detached Objects</emphasis> - If you decide to use the already discussed <emphasis>session-per-request</emphasis> pattern, all loaded instances will be in detached state during user think time. Hibernate allows you to reattach the objects and persist the modifications, the pattern is called <emphasis>session-per-request-with-detached-objects</emphasis>. Automatic versioning is used to isolate concurrent modifications."
-msgstr "<emphasis>Objets Détachés</emphasis> - Si vous décidez d'utiliser le paradigme <emphasis>session-par-requête</emphasis> discuté plus haut, toutes les entités chargées en mémoire deviendront des objets détachés durant le temps de réflexion de l'usager. Hibernate vous permet de rattacher ces objets et de persister les modifications y ayant été apportées. Ce pattern est appelé: <emphasis>session-per- request-with-detached-objects</emphasis> (littéralement: session- par-requête-avec-objets-détachés). Le versionnage automatique est utilisé afin d'isoler les modifications concurrentes."
+#. Tag: para
+#: transactions.xml:197
+#, no-c-format
+msgid ""
+"<emphasis>Detached Objects</emphasis> - If you decide to use the already "
+"discussed <emphasis>session-per-request</emphasis> pattern, all loaded "
+"instances will be in detached state during user think time. Hibernate allows "
+"you to reattach the objects and persist the modifications, the pattern is "
+"called <emphasis>session-per-request-with-detached-objects</emphasis>. "
+"Automatic versioning is used to isolate concurrent modifications."
+msgstr ""
+"<emphasis>Objets Détachés</emphasis> - Si vous décidez d'utiliser le "
+"paradigme <emphasis>session-par-requête</emphasis> discuté plus haut, toutes "
+"les entités chargées en mémoire deviendront des objets détachés durant le "
+"temps de réflexion de l'usager. Hibernate vous permet de rattacher ces "
+"objets et de persister les modifications y ayant été apportées. Ce pattern "
+"est appelé: <emphasis>session-per- request-with-detached-objects</emphasis> "
+"(littéralement: session- par-requête-avec-objets-détachés). Le versionnage "
+"automatique est utilisé afin d'isoler les modifications concurrentes."
 
-#: index.docbook:207
-msgid "<emphasis>Extended (or Long) Session</emphasis> - The Hibernate <literal>Session</literal> may be disconnected from the underlying JDBC connection after the database transaction has been committed, and reconnected when a new client request occurs. This pattern is known as <emphasis>session-per-conversation</emphasis> and makes even reattachment unnecessary. Automatic versioning is used to isolate concurrent modifications and the <literal>Session</literal> is usually not allowed to be flushed automatically, but explicitely."
-msgstr "<emphasis>Session Longues (conversation)</emphasis> - Une <literal>Session</literal> Hibernate peut être déconnectée de la couche JDBC sous-jacente après que commit() ait été appelé sur une transaction à la base de données et reconnectée lors d'une nouvelle requête-client. Ce pattern s'appelle: <emphasis>session-per-conversation</emphasis> (Littéralement: session-par- conversation) et rend superflu le rattachement des objets. Le versionnage automatique est utilisé afin d'isoler les modifications concurrentes."
+#. Tag: para
+#: transactions.xml:207
+#, no-c-format
+msgid ""
+"<emphasis>Extended (or Long) Session</emphasis> - The Hibernate "
+"<literal>Session</literal> may be disconnected from the underlying JDBC "
+"connection after the database transaction has been committed, and "
+"reconnected when a new client request occurs. This pattern is known as "
+"<emphasis>session-per-conversation</emphasis> and makes even reattachment "
+"unnecessary. Automatic versioning is used to isolate concurrent "
+"modifications and the <literal>Session</literal> is usually not allowed to "
+"be flushed automatically, but explicitely."
+msgstr ""
+"<emphasis>Session Longues (conversation)</emphasis> - Une <literal>Session</"
+"literal> Hibernate peut être déconnectée de la couche JDBC sous-jacente "
+"après que commit() ait été appelé sur une transaction à la base de données "
+"et reconnectée lors d'une nouvelle requête-client. Ce pattern s'appelle: "
+"<emphasis>session-per-conversation</emphasis> (Littéralement: session-par- "
+"conversation) et rend superflu le rattachement des objets. Le versionnage "
+"automatique est utilisé afin d'isoler les modifications concurrentes."
 
-#: index.docbook:220
-msgid "Both <emphasis>session-per-request-with-detached-objects</emphasis> and <emphasis>session-per-conversation</emphasis> have advantages and disadvantages, we discuss them later in this chapter in the context of optimistic concurrency control."
-msgstr "Les deux patterns <emphasis>session-per-request-with- detached- objects</emphasis> (session-par-requête-avec-objets- détachés) et <emphasis>session-per-conversation</emphasis> (session-par-conversation) ont chacun leurs avantages et désavantages qui seront exposés dans ce même chapitre, dans la section au sujet du contrôle optimiste de concurrence."
+#. Tag: para
+#: transactions.xml:220
+#, no-c-format
+msgid ""
+"Both <emphasis>session-per-request-with-detached-objects</emphasis> and "
+"<emphasis>session-per-conversation</emphasis> have advantages and "
+"disadvantages, we discuss them later in this chapter in the context of "
+"optimistic concurrency control."
+msgstr ""
+"Les deux patterns <emphasis>session-per-request-with- detached- objects</"
+"emphasis> (session-par-requête-avec-objets- détachés) et <emphasis>session-"
+"per-conversation</emphasis> (session-par-conversation) ont chacun leurs "
+"avantages et désavantages qui seront exposés dans ce même chapitre, dans la "
+"section au sujet du contrôle optimiste de concurrence."
 
-#: index.docbook:229
+#. Tag: title
+#: transactions.xml:229
+#, no-c-format
 msgid "Considering object identity"
 msgstr "L'identité des objets"
 
-#: index.docbook:231
-msgid "An application may 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. Hence there are two different notions of identity:"
-msgstr "Une application peut accéder à la même entité persistante de manière concurrente dans deux <literal>Session</literal> s différentes. Toutefois, une instance d'une classe persistante n'est jamais partagée par deux instances distinctes de la classe <literal>Session</literal> . Il existe donc deux notions de l'identité d'un objet:"
+#. Tag: para
+#: transactions.xml:231
+#, no-c-format
+msgid ""
+"An application may 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. "
+"Hence there are two different notions of identity:"
+msgstr ""
+"Une application peut accéder à la même entité persistante de manière "
+"concurrente dans deux <literal>Session</literal> s différentes. Toutefois, "
+"une instance d'une classe persistante n'est jamais partagée par deux "
+"instances distinctes de la classe <literal>Session</literal> . Il existe "
+"donc deux notions de l'identité d'un objet:"
 
-#: index.docbook:240
+#. Tag: term
+#: transactions.xml:240
+#, no-c-format
 msgid "Database Identity"
 msgstr "Identité BD"
 
-#: index.docbook:243
+#. Tag: literal
+#: transactions.xml:243
+#, no-c-format
 msgid "foo.getId().equals( bar.getId() )"
 msgstr "foo.getId().equals( bar.getId() )"
 
-#: index.docbook:248
+#. Tag: term
+#: transactions.xml:248
+#, no-c-format
 msgid "JVM Identity"
 msgstr "Identité JVM"
 
-#: index.docbook:251
+#. Tag: literal
+#: transactions.xml:251
+#, no-c-format
 msgid "foo==bar"
 msgstr "foo==bar"
 
-#: index.docbook:257
-msgid "Then for objects attached to a <emphasis>particular</emphasis> <literal>Session</literal> (i.e. in the scope of a <literal>Session</literal>) the two notions are equivalent, and JVM identity for database identity is guaranteed by Hibernate. However, while the application might concurrently access the \"same\" (persistent identity) business object in two different sessions, the two instances will actually be \"different\" (JVM identity). Conflicts are resolved using (automatic versioning) at flush/commit time, using an optimistic approach."
-msgstr "Ainsi, pour des objets attachés à une <literal>Session</literal> <emphasis>précise</emphasis> (dans la cadre d'exécution (scope) d'une instance de <literal>Session</literal> ), ces deux notions d'identité sont équivalentes et garanties par Hibernate. Par contre, si une application peut accéder de manière concurrente à la même entité persistante dans deux sessions différentes, les deux instances seront en fait différentes (en ce qui a trait à l'identité JVM). Les conflits sont résolus automatiquement par approche optimiste grâce au système de versionnage automatique lorsque <literal>Session.flush()</literal> ou <literal>Transaction.commit()</literal> est appelé."
+#. Tag: para
+#: transactions.xml:257
+#, fuzzy, no-c-format
+msgid ""
+"Then for objects attached to a <emphasis>particular</emphasis> "
+"<literal>Session</literal> (i.e. in the scope of a <literal>Session</"
+"literal>) the two notions are equivalent, and JVM identity for database "
+"identity is guaranteed by Hibernate. However, while the application might "
+"concurrently access the \"same\" (persistent identity) business object in "
+"two different sessions, the two instances will actually be \"different"
+"\" (JVM identity). Conflicts are resolved using (automatic versioning) at "
+"flush/commit time, using an optimistic approach."
+msgstr ""
+"Ainsi, pour des objets attachés à une <literal>Session</"
+"literal><emphasis>précise</emphasis> (dans la cadre d'exécution (scope) "
+"d'une instance de <literal>Session</literal> ), ces deux notions d'identité "
+"sont équivalentes et garanties par Hibernate. Par contre, si une application "
+"peut accéder de manière concurrente à la même entité persistante dans deux "
+"sessions différentes, les deux instances seront en fait différentes (en ce "
+"qui a trait à l'identité JVM). Les conflits sont résolus automatiquement par "
+"approche optimiste grâce au système de versionnage automatique lorsque "
+"<literal>Session.flush()</literal> ou <literal>Transaction.commit()</"
+"literal> est appelé."
 
-#: index.docbook:266
-msgid "This approach leaves Hibernate and the database to worry about concurrency; it also provides the best scalability, since guaranteeing identity in single-threaded units of work only doesn't need expensive locking or other means of synchronization. The application never needs to synchronize on any business object, as long as it sticks to a single thread per <literal>Session</literal>. Within a <literal>Session</literal> the application may safely use <literal>==</literal> to compare objects."
-msgstr "Cette approche permet de reléguer à Hibernate et à la base de données sous-jacente le soin de gérer les problèmes d'accès concurrents. Cette manière de faire assure également une meilleure extensibilité de l'application puisque assurer l'identité JVM dans un thread ne nécessite pas de mécanismes de verrouillage coûteux ou d'autres dispositifs de synchronisation. Une application n'aura jamais le besoin de synchroniser des objets d'affaire tant qu'elle peut garantir qu'un seul thread aura accès à une instance de <literal>Session</literal> . Dans le cadre d'exécution d'un objet <literal>Session</literal> , l'application peut utiliser en toute sécurité <literal>== </literal> pour comparer des objets."
+#. Tag: para
+#: transactions.xml:266
+#, 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-"
+"threaded units of work only doesn't need expensive locking or other means of "
+"synchronization. The application never needs to synchronize on any business "
+"object, as long as it sticks to a single thread per <literal>Session</"
+"literal>. Within a <literal>Session</literal> the application may safely use "
+"<literal>==</literal> to compare objects."
+msgstr ""
+"Cette approche permet de reléguer à Hibernate et à la base de données sous-"
+"jacente le soin de gérer les problèmes d'accès concurrents. Cette manière de "
+"faire assure également une meilleure extensibilité de l'application puisque "
+"assurer l'identité JVM dans un thread ne nécessite pas de mécanismes de "
+"verrouillage coûteux ou d'autres dispositifs de synchronisation. Une "
+"application n'aura jamais le besoin de synchroniser des objets d'affaire "
+"tant qu'elle peut garantir qu'un seul thread aura accès à une instance de "
+"<literal>Session</literal> . Dans le cadre d'exécution d'un objet "
+"<literal>Session</literal> , l'application peut utiliser en toute sécurité "
+"<literal>== </literal> pour comparer des objets."
 
-#: index.docbook:275
-msgid "However, an application that uses <literal>==</literal> outside of a <literal>Session</literal>, might see unexpected results. This might occur even in some unexpected places, for example, if you put two detached instances into the same <literal>Set</literal>. Both might have the same database identity (i.e. they represent the same row), but JVM identity is by definition not guaranteed for instances in detached state. The developer has to override the <literal>equals()</literal> and <literal>hashCode()</literal> methods in persistent classes and implement his own notion of object equality. There is one caveat: Never use the database identifier to implement equality, use a business key, a combination of unique, usually immutable, attributes. The database identifier will change if a transient object is made persistent. If the transient instance (usually together with detached instances) is held in a <literal>Set</literal>, changing the hashcode breaks the contract of t!
 he <literal>Set</literal>. Attributes for business keys don't have to be as stable as database primary keys, you only have to guarantee stability as long as the objects are in the same <literal>Set</literal>. See the Hibernate website for a more thorough discussion of this issue. Also note that this is not a Hibernate issue, but simply how Java object identity and equality has to be implemented."
-msgstr "Une application qui utiliserait <literal>==</literal> à l'extérieur du cadre d'exécution d'une <literal>Session</literal> pourrait obtenir des résultats inattendus et causer certains effets de bords. Par exemple, si vous mettez 2 objets dans le même <literal>Set</literal> , ceux-ci pourraient avoir la même identité BD (i.e. ils représentent le même enregistrement), mais leur identité JVM pourrait être différente (elle ne peut, par définition, pas être garantie sur deux objets détachés). Le développeur doit donc redéfinir l'implémentation des méthodes <literal>equals()</literal> et <literal>hashcode()</literal> dans les classes persistantes et y adjoindre sa propre notion d'identité. Il existe toutefois une restriction: Il ne faut jamais utiliser uniquement l'identifiant de la base de données dans l'implémentation de l'égalité; Il faut utiliser une clé d'affaire, généralement une combinaison de plusieurs attributs uniques, si possible immu!
 ables. Les identifiants de base de données vont changer si un objet transitoire (transient) devient persistant. Si une instance transitoire est contenue dans un <literal>Set</literal> , changer le hashcode brisera le contrat du <literal>Set</literal> . Les attributs pour les clés d'affaire n'ont pas à être aussi stables que des clés primaires de bases de données. Il suffit simplement qu'elles soient stables tant et aussi longtemps que les objets sont dans le même <literal>Set</literal> . Veuillez consulter le site web Hibernate pour des discussions plus pointues à ce sujet. Notez que ce concept n'est pas propre à Hibernate mais bien général à l'implémentation de l'identité et de l'égalité en Java."
+#. Tag: para
+#: transactions.xml:275
+#, no-c-format
+msgid ""
+"However, an application that uses <literal>==</literal> outside of a "
+"<literal>Session</literal>, might see unexpected results. This might occur "
+"even in some unexpected places, for example, if you put two detached "
+"instances into the same <literal>Set</literal>. Both might have the same "
+"database identity (i.e. they represent the same row), but JVM identity is by "
+"definition not guaranteed for instances in detached state. The developer has "
+"to override the <literal>equals()</literal> and <literal>hashCode()</"
+"literal> methods in persistent classes and implement his own notion of "
+"object equality. There is one caveat: Never use the database identifier to "
+"implement equality, use a business key, a combination of unique, usually "
+"immutable, attributes. The database identifier will change if a transient "
+"object is made persistent. If the transient instance (usually together with "
+"detached instances) is held in a <literal>Set</literal>, changing the "
+"hashcode breaks the contract of the <literal>Set</literal>. Attributes for "
+"business keys don't have to be as stable as database primary keys, you only "
+"have to guarantee stability as long as the objects are in the same "
+"<literal>Set</literal>. See the Hibernate website for a more thorough "
+"discussion of this issue. Also note that this is not a Hibernate issue, but "
+"simply how Java object identity and equality has to be implemented."
+msgstr ""
+"Une application qui utiliserait <literal>==</literal> à l'extérieur du cadre "
+"d'exécution d'une <literal>Session</literal> pourrait obtenir des résultats "
+"inattendus et causer certains effets de bords. Par exemple, si vous mettez 2 "
+"objets dans le même <literal>Set</literal> , ceux-ci pourraient avoir la "
+"même identité BD (i.e. ils représentent le même enregistrement), mais leur "
+"identité JVM pourrait être différente (elle ne peut, par définition, pas "
+"être garantie sur deux objets détachés). Le développeur doit donc redéfinir "
+"l'implémentation des méthodes <literal>equals()</literal> et "
+"<literal>hashcode()</literal> dans les classes persistantes et y adjoindre "
+"sa propre notion d'identité. Il existe toutefois une restriction: Il ne faut "
+"jamais utiliser uniquement l'identifiant de la base de données dans "
+"l'implémentation de l'égalité; Il faut utiliser une clé d'affaire, "
+"généralement une combinaison de plusieurs attributs uniques, si possible "
+"immuables. Les identifiants de base de données vont changer si un objet "
+"transitoire (transient) devient persistant. Si une instance transitoire est "
+"contenue dans un <literal>Set</literal> , changer le hashcode brisera le "
+"contrat du <literal>Set</literal> . Les attributs pour les clés d'affaire "
+"n'ont pas à être aussi stables que des clés primaires de bases de données. "
+"Il suffit simplement qu'elles soient stables tant et aussi longtemps que les "
+"objets sont dans le même <literal>Set</literal> . Veuillez consulter le site "
+"web Hibernate pour des discussions plus pointues à ce sujet. Notez que ce "
+"concept n'est pas propre à Hibernate mais bien général à l'implémentation de "
+"l'identité et de l'égalité en Java."
 
-#: index.docbook:296
+#. Tag: title
+#: transactions.xml:296
+#, no-c-format
 msgid "Common issues"
 msgstr "Problèmes communs"
 
-#: index.docbook:298
-msgid "Never use the anti-patterns <emphasis>session-per-user-session</emphasis> or <emphasis>session-per-application</emphasis> (of course, there are rare exceptions to this rule). Note that some of the following issues might also appear with the recommended patterns, make sure you understand the implications before making a design decision:"
-msgstr "Bien qu'il puisse y avoir quelques rares exceptions à cette règle, il est recommandé de ne jamais utiliser les anti-patterns <emphasis>session-per- user-session</emphasis> et <emphasis>session-per-application</emphasis> . Vous trouverez ici- bas quelques problèmes que vous risquez de rencontrer si vous en faite l?utilisation. (Ces problèmes pourraient quand même survenir avec des patterns recommandés) Assurez-vous de bien comprendre les implications de chacun des patterns avant de prendre votre décision."
+#. Tag: para
+#: transactions.xml:298
+#, no-c-format
+msgid ""
+"Never use the anti-patterns <emphasis>session-per-user-session</emphasis> or "
+"<emphasis>session-per-application</emphasis> (of course, there are rare "
+"exceptions to this rule). Note that some of the following issues might also "
+"appear with the recommended patterns, make sure you understand the "
+"implications before making a design decision:"
+msgstr ""
+"Bien qu'il puisse y avoir quelques rares exceptions à cette règle, il est "
+"recommandé de ne jamais utiliser les anti-patterns <emphasis>session-per- "
+"user-session</emphasis> et <emphasis>session-per-application</emphasis> . "
+"Vous trouverez ici- bas quelques problèmes que vous risquez de rencontrer si "
+"vous en faite l?utilisation. (Ces problèmes pourraient quand même survenir "
+"avec des patterns recommandés) Assurez-vous de bien comprendre les "
+"implications de chacun des patterns avant de prendre votre décision."
 
-#: index.docbook:307
-msgid "A <literal>Session</literal> is not thread-safe. Things which are supposed to work concurrently, like HTTP requests, session beans, or Swing workers, will cause race conditions if a <literal>Session</literal> instance would be shared. If you keep your Hibernate <literal>Session</literal> in your <literal>HttpSession</literal> (discussed later), you should consider synchronizing access to your Http session. Otherwise, a user that clicks reload fast enough may use the same <literal>Session</literal> in two concurrently running threads."
-msgstr "L'objet <literal>Session</literal> n?est pas conçu pour être utilisé par de multiples threads. En conséquence, les objets potentiellement multi-thread comme les requêtes HTTP, les EJB Session et Swing Worker, risquent de provoquer des conditions de course dans la <literal>Session</literal> si celle-ci est partagée. Dans un environnement web classique, il serait préférable de synchroniser les accès à la session http afin d?éviter qu?un usager ne recharge une page assez rapidement pour que deux requêtes s?exécutant dans des threads concurrents n?utilisent la même <literal>Session</literal> ."
+#. Tag: para
+#: transactions.xml:307
+#, no-c-format
+msgid ""
+"A <literal>Session</literal> is not thread-safe. Things which are supposed "
+"to work concurrently, like HTTP requests, session beans, or Swing workers, "
+"will cause race conditions if a <literal>Session</literal> instance would be "
+"shared. If you keep your Hibernate <literal>Session</literal> in your "
+"<literal>HttpSession</literal> (discussed later), you should consider "
+"synchronizing access to your Http session. Otherwise, a user that clicks "
+"reload fast enough may use the same <literal>Session</literal> in two "
+"concurrently running threads."
+msgstr ""
+"L'objet <literal>Session</literal> n?est pas conçu pour être utilisé par de "
+"multiples threads. En conséquence, les objets potentiellement multi-thread "
+"comme les requêtes HTTP, les EJB Session et Swing Worker, risquent de "
+"provoquer des conditions de course dans la <literal>Session</literal> si "
+"celle-ci est partagée. Dans un environnement web classique, il serait "
+"préférable de synchroniser les accès à la session http afin d?éviter qu?un "
+"usager ne recharge une page assez rapidement pour que deux requêtes s?"
+"exécutant dans des threads concurrents n?utilisent la même <literal>Session</"
+"literal> ."
 
-#: index.docbook:318
-msgid "An exception thrown by Hibernate means you have to rollback your database transaction and close the <literal>Session</literal> immediately (discussed later in more detail). If your <literal>Session</literal> is bound to the application, you have to stop the application. Rolling back the database transaction doesn't put your business objects back into the state they were at the start of the transaction. This means the database state and the business objects do get out of sync. Usually this is not a problem, because exceptions are not recoverable and you have to start over after rollback anyway."
-msgstr "Lorsque Hibernate lance une exception, le roll back de la transaction en cours doit être effectué et la <literal>Session</literal> doit être immédiatement fermée. (Ceci sera exploré plus tard dans le chapitre.) Si la <literal>Session</literal> est directement associée à une application, il faut arrêter l?application. Le roll back de la transaction ne remettra pas les objets dans leur état du début de la transaction. Ainsi, ceux-ci pourraient être désynchronisés d?avec les enregistrements. (Généralement, cela ne cause pas de réels problèmes puisque la plupart des exceptions sont non traitables et requièrent la reprise du processus d?affaire ayant échoué.)"
+#. Tag: para
+#: transactions.xml:318
+#, no-c-format
+msgid ""
+"An exception thrown by Hibernate means you have to rollback your database "
+"transaction and close the <literal>Session</literal> immediately (discussed "
+"later in more detail). If your <literal>Session</literal> is bound to the "
+"application, you have to stop the application. Rolling back the database "
+"transaction doesn't put your business objects back into the state they were "
+"at the start of the transaction. This means the database state and the "
+"business objects do get out of sync. Usually this is not a problem, because "
+"exceptions are not recoverable and you have to start over after rollback "
+"anyway."
+msgstr ""
+"Lorsque Hibernate lance une exception, le roll back de la transaction en "
+"cours doit être effectué et la <literal>Session</literal> doit être "
+"immédiatement fermée. (Ceci sera exploré plus tard dans le chapitre.) Si la "
+"<literal>Session</literal> est directement associée à une application, il "
+"faut arrêter l?application. Le roll back de la transaction ne remettra pas "
+"les objets dans leur état du début de la transaction. Ainsi, ceux-ci "
+"pourraient être désynchronisés d?avec les enregistrements. (Généralement, "
+"cela ne cause pas de réels problèmes puisque la plupart des exceptions sont "
+"non traitables et requièrent la reprise du processus d?affaire ayant échoué.)"
 
-#: index.docbook:330
-msgid "The <literal>Session</literal> caches every object that is in persistent state (watched and checked for dirty state by Hibernate). This means it grows endlessly until you get an OutOfMemoryException, if you keep it open for a long time or simply load too much data. One solution for this is to call <literal>clear()</literal> and <literal>evict()</literal> to manage the <literal>Session</literal> cache, but you most likely should consider a Stored Procedure if you need mass 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 high probability of stale data."
-msgstr "La <literal>Session</literal> met en mémoire cache tous les objets persistants (les objets surveillés et dont l'état est géré par Hibernate.) Si la <literal>Session</literal> est ouverte indéfiniment ou si une trop grande quantité d'objets y est chargée, l?utilisation de la mémoire peut potentiellement croître jusqu?à atteindre le maximum allouable à l?application (java.lang.OutOfMemoryError.) Une solution à ce problème est d?appeler les méthodes <literal>Session.clear()</literal> et <literal>Session.evict()</literal> pour gérer la mémoire cache de la <literal>Session</literal> . Vous pouvez également utiliser des stored procedures si vous devez lancer des traitements sur de grandes quantités d?informations. Certaines solutions sont décrites ici : <xref linkend=\"batch\"/> . Garder une <literal>Session</literal> ouverte pour toute la durée d?une session usager augmente également considérablement le risque de travailler avec de l?information pÃ!
 ©rimée."
+#. Tag: para
+#: transactions.xml:330
+#, no-c-format
+msgid ""
+"The <literal>Session</literal> caches every object that is in persistent "
+"state (watched and checked for dirty state by Hibernate). This means it "
+"grows endlessly until you get an OutOfMemoryException, if you keep it open "
+"for a long time or simply load too much data. One solution for this is to "
+"call <literal>clear()</literal> and <literal>evict()</literal> to manage the "
+"<literal>Session</literal> cache, but you most likely should consider a "
+"Stored Procedure if you need mass 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 high probability of stale data."
+msgstr ""
+"La <literal>Session</literal> met en mémoire cache tous les objets "
+"persistants (les objets surveillés et dont l'état est géré par Hibernate.) "
+"Si la <literal>Session</literal> est ouverte indéfiniment ou si une trop "
+"grande quantité d'objets y est chargée, l?utilisation de la mémoire peut "
+"potentiellement croître jusqu?à atteindre le maximum allouable à l?"
+"application (java.lang.OutOfMemoryError.) Une solution à ce problème est d?"
+"appeler les méthodes <literal>Session.clear()</literal> et <literal>Session."
+"evict()</literal> pour gérer la mémoire cache de la <literal>Session</"
+"literal> . Vous pouvez également utiliser des stored procedures si vous "
+"devez lancer des traitements sur de grandes quantités d?informations. "
+"Certaines solutions sont décrites ici : <xref linkend=\"batch\"/> . Garder "
+"une <literal>Session</literal> ouverte pour toute la durée d?une session "
+"usager augmente également considérablement le risque de travailler avec de l?"
+"information périmée."
 
-#: index.docbook:348
+#. Tag: title
+#: transactions.xml:348
+#, no-c-format
 msgid "Database transaction demarcation"
 msgstr "Démarcation des transactions"
 
-#: index.docbook:350
-msgid "Datatabase (or system) transaction boundaries are always necessary. No communication with the database can occur outside of a database transaction (this seems to confuse many developers who are used to the auto-commit mode). Always use clear transaction boundaries, even for read-only operations. Depending on your isolation level and database capabilities this might not be required but there is no downside if you always demarcate transactions explicitly. Certainly, a single database transaction is going to perform better than many small transactions, even for reading data."
-msgstr "La démarcation des transactions est importante dans le design d?une application. Aucune communication avec la base de données ne peut être effectuée à l?extérieur du cadre d?une transaction. (Il semble que ce concept soit mal compris par plusieurs développeurs trop habitués à utiliser le mode auto-commit.) Même si certains niveaux d'isolation et certaines possibilités offertes par les bases de données permettent de l?éviter, il n'est jamais désavantageux de toujours explicitement indiquer les bornes de transaction pour les opérations complexes comme pour les opérations simples de lecture."
+#. Tag: para
+#: transactions.xml:350
+#, no-c-format
+msgid ""
+"Datatabase (or system) transaction boundaries are always necessary. No "
+"communication with the database can occur outside of a database transaction "
+"(this seems to confuse many developers who are used to the auto-commit "
+"mode). Always use clear transaction boundaries, even for read-only "
+"operations. Depending on your isolation level and database capabilities this "
+"might not be required but there is no downside if you always demarcate "
+"transactions explicitly. Certainly, a single database transaction is going "
+"to perform better than many small transactions, even for reading data."
+msgstr ""
+"La démarcation des transactions est importante dans le design d?une "
+"application. Aucune communication avec la base de données ne peut être "
+"effectuée à l?extérieur du cadre d?une transaction. (Il semble que ce "
+"concept soit mal compris par plusieurs développeurs trop habitués à utiliser "
+"le mode auto-commit.) Même si certains niveaux d'isolation et certaines "
+"possibilités offertes par les bases de données permettent de l?éviter, il "
+"n'est jamais désavantageux de toujours explicitement indiquer les bornes de "
+"transaction pour les opérations complexes comme pour les opérations simples "
+"de lecture."
 
-#: index.docbook:360
-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 environment, Hibernate is usually responsible for its own database connection pool. The application developer has to manually set transaction boundaries, in other words, begin, commit, or rollback database transactions himself. A managed environment usually provides container-managed transactions (CMT), with the transaction assembly defined declaratively in deployment descriptors of EJB session beans, for example. Programmatic transaction demarcation is then no longer necessary."
-msgstr "Une application utilisant Hibernate peut s'exécuter dans un environnement léger n?offrant pas la gestion automatique des transactions (application autonome, application web simple ou applications Swing) ou dans un environnement J2EE offrant des services de gestion automatique des transactions JTA. Dans un environnement simple, Hibernate a généralement la responsabilité de la gestion de son propre pool de connexions à la base de données. Le développeur de l'application doit manuellement délimiter les transactions. En d'autres mots, il appartient au développeur de gérer les appels à <literal>Transaction.begin()</literal> , <literal>Transaction.commit()</literal> et <literal>Transaction.rollback()</literal> . Un environnement transactionnel J2EE (serveur d'application J2EE) doit offrir la gestion des transactions au niveau du container J2EE. Les bornes de transaction peuvent normalement être définies de manière déclarative dans les descripteurs de dépl!
 oiement d'EJB Session, par exemple. La gestion programmatique des transactions n'y est donc pas nécessaire. Même les appels à <literal>Session.flush()</literal> sont faits automatiquement."
+#. Tag: para
+#: transactions.xml:360
+#, 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 "
+"environment, Hibernate is usually responsible for its own database "
+"connection pool. The application developer has to manually set transaction "
+"boundaries, in other words, begin, commit, or rollback database transactions "
+"himself. A managed environment usually provides container-managed "
+"transactions (CMT), with the transaction assembly defined declaratively in "
+"deployment descriptors of EJB session beans, for example. Programmatic "
+"transaction demarcation is then no longer necessary."
+msgstr ""
+"Une application utilisant Hibernate peut s'exécuter dans un environnement "
+"léger n?offrant pas la gestion automatique des transactions (application "
+"autonome, application web simple ou applications Swing) ou dans un "
+"environnement J2EE offrant des services de gestion automatique des "
+"transactions JTA. Dans un environnement simple, Hibernate a généralement la "
+"responsabilité de la gestion de son propre pool de connexions à la base de "
+"données. Le développeur de l'application doit manuellement délimiter les "
+"transactions. En d'autres mots, il appartient au développeur de gérer les "
+"appels à <literal>Transaction.begin()</literal> , <literal>Transaction.commit"
+"()</literal> et <literal>Transaction.rollback()</literal> . Un environnement "
+"transactionnel J2EE (serveur d'application J2EE) doit offrir la gestion des "
+"transactions au niveau du container J2EE. Les bornes de transaction peuvent "
+"normalement être définies de manière déclarative dans les descripteurs de "
+"déploiement d'EJB Session, par exemple. La gestion programmatique des "
+"transactions n'y est donc pas nécessaire. Même les appels à <literal>Session."
+"flush()</literal> sont faits automatiquement."
 
-#: index.docbook:370
-msgid "However, it is often desirable to keep your persistence layer portable between non-managed resource-local environments, and systems that can rely on JTA but use BMT instead of CMT. In both cases you'd use programmatic transaction demaracation. Hibernate offers a wrapper API called <literal>Transaction</literal> that translates into the native transaction 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 "Il peut être requis d'avoir une couche de persistance portable. Hibernate offre donc une API appelée <literal>Transaction</literal> qui sert d'enveloppe pour le système de transaction natif de l'environnement de déploiement. Il n'est pas obligatoire d'utiliser cette API mais il est fortement conseillé de le faire, sauf lors de l'utilisation de CMT Session Bean (EJB avec transactions gérées automatiquement par le container EJB)."
+#. Tag: para
+#: transactions.xml:370
+#, 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 "
+"on JTA but use BMT instead of CMT. In both cases you'd use programmatic "
+"transaction demaracation. Hibernate offers a wrapper API called "
+"<literal>Transaction</literal> that translates into the native transaction "
+"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 ""
+"Il peut être requis d'avoir une couche de persistance portable. Hibernate "
+"offre donc une API appelée <literal>Transaction</literal> qui sert "
+"d'enveloppe pour le système de transaction natif de l'environnement de "
+"déploiement. Il n'est pas obligatoire d'utiliser cette API mais il est "
+"fortement conseillé de le faire, sauf lors de l'utilisation de CMT Session "
+"Bean (EJB avec transactions gérées automatiquement par le container EJB)."
 
-#: index.docbook:379
-msgid "Usually, ending a <literal>Session</literal> involves four distinct phases:"
-msgstr "Il existe quatre étapes disctinctes lors de la fermeture d'une <literal>Session</literal>"
+#. Tag: para
+#: transactions.xml:379
+#, no-c-format
+msgid ""
+"Usually, ending a <literal>Session</literal> involves four distinct phases:"
+msgstr ""
+"Il existe quatre étapes disctinctes lors de la fermeture d'une "
+"<literal>Session</literal>"
 
-#: index.docbook:385
+#. Tag: para
+#: transactions.xml:385
+#, no-c-format
 msgid "flush the session"
 msgstr "flush de la session"
 
-#: index.docbook:390
+#. Tag: para
+#: transactions.xml:390
+#, no-c-format
 msgid "commit the transaction"
 msgstr "commit de la transaction"
 
-#: index.docbook:395
+#. Tag: para
+#: transactions.xml:395
+#, no-c-format
 msgid "close the session"
 msgstr "Fermeture de la session (Close)"
 
-#: index.docbook:400
+#. Tag: para
+#: transactions.xml:400
+#, no-c-format
 msgid "handle exceptions"
-msgstr "<para>Gestion des exceptions</para>"
+msgstr "Gestion des exceptions"
 
-#: index.docbook:406
-msgid "Flushing the session has been discussed earlier, we'll now have a closer look at transaction demarcation and exception handling in both managed- and non-managed environments."
-msgstr "La synchronisation de bdd depuis la session (flush) a déjà été expliqué, nous nous attarderons maintenant à la démarcation des transactions et à la gestion des exceptions dans les environnements légers et les environnements J2EE."
+#. Tag: para
+#: transactions.xml:406
+#, no-c-format
+msgid ""
+"Flushing the session has been discussed earlier, we'll now have a closer "
+"look at transaction demarcation and exception handling in both managed- and "
+"non-managed environments."
+msgstr ""
+"La synchronisation de bdd depuis la session (flush) a déjà été expliqué, "
+"nous nous attarderons maintenant à la démarcation des transactions et à la "
+"gestion des exceptions dans les environnements légers et les environnements "
+"J2EE."
 
-#: index.docbook:413
+#. Tag: title
+#: transactions.xml:413
+#, no-c-format
 msgid "Non-managed environment"
 msgstr "Environnement non managé"
 
-#: index.docbook:415
-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 la couche de persistance Hibernate s'exécute dans un environnement non managé, les connexions à la base de données seront généralement prises en charge par le mécanisme de pool d'Hibernate. La gestion de la session et de la transaction se fera donc de la manière suivante:"
+#. Tag: para
+#: transactions.xml:415
+#, 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 la couche de persistance Hibernate s'exécute dans un environnement non "
+"managé, les connexions à la base de données seront généralement prises en "
+"charge par le mécanisme de pool d'Hibernate. La gestion de la session et de "
+"la transaction se fera donc de la manière suivante:"
 
-#: index.docbook:422
+#. Tag: programlisting
+#: transactions.xml:422
+#, 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"
-      "}]]>"
+"<![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 ""
-      "<![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"
-      "}]]>"
 
-#: index.docbook:424
-msgid "You don't have to <literal>flush()</literal> the <literal>Session</literal> explicitly - the call to <literal>commit()</literal> automatically triggers the synchronization (depending upon the <xref linkend=\"objectstate-flushing\"/>FlushMode for the session. 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 "Vous n'avez pas à invoquer <literal>flush()</literal> explicitement sur la <literal>Session</literal> - l'appel de <literal>commit()</literal> déclenchera automatiquement la synchronisation (selon le <xref linkend=\"objectstate-flushing\"/>FlushMode de la session. Un appel à <literal>close()</literal> marque la fin de la session. La conséquence directe est que la connexion à la base de données sera relachée par la session. Ce code est portable est fonctionne dans les environnements non managé ET les environnements JTA."
+#. Tag: para
+#: transactions.xml:424
+#, no-c-format
+msgid ""
+"You don't have to <literal>flush()</literal> the <literal>Session</literal> "
+"explicitly - the call to <literal>commit()</literal> automatically triggers "
+"the synchronization (depending upon the <link linkend=\"objectstate-flushing"
+"\">FlushMode</link> for the session. 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 ""
+"Vous n'avez pas à invoquer <literal>flush()</literal> explicitement sur la "
+"<literal>Session</literal> - l'appel de <literal>commit()</literal> "
+"déclenchera automatiquement la synchronisation (selon le <xref linkend="
+"\"objectstate-flushing\">FlushMode</xref> de la session. Un appel à "
+"<literal>close()</literal> marque la fin de la session. La conséquence "
+"directe est que la connexion à la base de données sera relachée par la "
+"session. Ce code est portable est fonctionne dans les environnements non "
+"managé ET les environnements JTA."
 
-#: index.docbook:433
-msgid "A much more flexible solution is Hibernate's built-in \"current session\" context management, as described earlier:"
-msgstr "Une solution plus flexible est la gestion par contexte fourni par Hibernate que nous avons déjà rencontré:"
+#. Tag: para
+#: transactions.xml:433
+#, no-c-format
+msgid ""
+"A much more flexible solution is Hibernate's built-in \"current session\" "
+"context management, as described earlier:"
+msgstr ""
+"Une solution plus flexible est la gestion par contexte fourni par Hibernate "
+"que nous avons déjà rencontré:"
 
-#: index.docbook:438
+#. Tag: programlisting
+#: transactions.xml:438
+#, 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"
-      "}]]>"
+"<![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 ""
-      "<![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"
-      "}]]>"
 
-#: index.docbook:440
-msgid "You will very likely never 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 code that handles <literal>RuntimeException</literal> (and usually can only clean up and exit) are in different layers. The current context management by Hibernate can significantly simplify this design, as all you need is access to a <literal>SessionFactory</literal>. Exception handling is discussed later in this chapter."
-msgstr "Vous ne verrez probablement jamais ces exemples de code dans les applications; les exceptions fatales (exceptions du système) ne devraient être traitées que dans la couche la plus \"haute\". En d'autres termes, le code qui exécute les appels à Hibernate (à la couche de persistance) et le code qui gère les <literal>RuntimeException</literal> (qui ne peut généralement effectuer qu'un nettoyage et une sortie) sont dans des couches différentes. La gestion du contexte courant par Hibernate peut simplifier notablement ce design, puisque vous devez accéder à la gestion des exceptions de la <literal>SessionFactory</literal>, ce qui est décrit plus tard dans ce chapitre."
+#. Tag: para
+#: transactions.xml:440
+#, no-c-format
+msgid ""
+"You will very likely never 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 code that handles <literal>RuntimeException</literal> (and usually can "
+"only clean up and exit) are in different layers. The current context "
+"management by Hibernate can significantly simplify this design, as all you "
+"need is access to a <literal>SessionFactory</literal>. Exception handling is "
+"discussed later in this chapter."
+msgstr ""
+"Vous ne verrez probablement jamais ces exemples de code dans les "
+"applications; les exceptions fatales (exceptions du système) ne devraient "
+"être traitées que dans la couche la plus \"haute\". En d'autres termes, le "
+"code qui exécute les appels à Hibernate (à la couche de persistance) et le "
+"code qui gère les <literal>RuntimeException</literal> (qui ne peut "
+"généralement effectuer qu'un nettoyage et une sortie) sont dans des couches "
+"différentes. La gestion du contexte courant par Hibernate peut simplifier "
+"notablement ce design, puisque vous devez accéder à la gestion des "
+"exceptions de la <literal>SessionFactory</literal>, ce qui est décrit plus "
+"tard dans ce chapitre."
 
-#: index.docbook:450
-msgid "Note that you should select <literal>org.hibernate.transaction.JDBCTransactionFactory</literal> (which is the default), and for the second example <literal>\"thread\"</literal> as your <literal>hibernate.current_session_context_class</literal>."
-msgstr "Notez que vous devriez sélectionner <literal>org.hibernate.transaction.JDBCTransactionFactory</literal> (le défaut), pour le second exemple <literal>\"thread\"</literal> comme <literal>hibernate.current_session_context_class</literal>."
+#. Tag: para
+#: transactions.xml:450
+#, no-c-format
+msgid ""
+"Note that you should select <literal>org.hibernate.transaction."
+"JDBCTransactionFactory</literal> (which is the default), and for the second "
+"example <literal>\"thread\"</literal> as your <literal>hibernate."
+"current_session_context_class</literal>."
+msgstr ""
+"Notez que vous devriez sélectionner <literal>org.hibernate.transaction."
+"JDBCTransactionFactory</literal> (le défaut), pour le second exemple "
+"<literal>\"thread\"</literal> comme <literal>hibernate."
+"current_session_context_class</literal>."
 
-#: index.docbook:459
+#. Tag: title
+#: transactions.xml:459
+#, no-c-format
 msgid "Using JTA"
 msgstr "Utilisation de JTA"
 
-#: index.docbook:461
-msgid "If your persistence layer runs in an application server (e.g. behind EJB session beans), every datasource connection obtained by Hibernate will automatically be part of the global JTA transaction. You can also install a standalone JTA implementation and use it without EJB. Hibernate offers two strategies for JTA integration."
-msgstr "Si votre couche de persistance s'exécute dans un serveur d'application (par exemple, derrière un EJB Session Bean), toutes les datasource utilisées par Hibernate feront automatiquement partie de transactions JTA globales. Hibernate propose deux stratégies pour réussir cette intégration."
+#. Tag: para
+#: transactions.xml:461
+#, no-c-format
+msgid ""
+"If your persistence layer runs in an application server (e.g. behind EJB "
+"session beans), every datasource connection obtained by Hibernate will "
+"automatically be part of the global JTA transaction. You can also install a "
+"standalone JTA implementation and use it without EJB. Hibernate offers two "
+"strategies for JTA integration."
+msgstr ""
+"Si votre couche de persistance s'exécute dans un serveur d'application (par "
+"exemple, derrière un EJB Session Bean), toutes les datasource utilisées par "
+"Hibernate feront automatiquement partie de transactions JTA globales. "
+"Hibernate propose deux stratégies pour réussir cette intégration."
 
-#: index.docbook:468
-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. So, the transaction management code is identical to the non-managed environment."
-msgstr "Si vous utilisez des transactions gérées par un EJB (bean managed transactions - BMT), Hibernate informera le serveur d'application du début et de la fin des transactions si vous utilisez l'API <literal>Transaction</literal> . Ainsi, le code de gestion des transactions sera identique dans les deux types d'environnements."
+#. Tag: para
+#: transactions.xml:468
+#, 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. So, the transaction management code is "
+"identical to the non-managed environment."
+msgstr ""
+"Si vous utilisez des transactions gérées par un EJB (bean managed "
+"transactions - BMT), Hibernate informera le serveur d'application du début "
+"et de la fin des transactions si vous utilisez l'API <literal>Transaction</"
+"literal> . Ainsi, le code de gestion des transactions sera identique dans "
+"les deux types d'environnements."
 
-#: index.docbook:474
+#. Tag: programlisting
+#: transactions.xml:474
+#, 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"
-      "}]]>"
+"<![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 ""
-      "<![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"
-      "}]]>"
 
-#: index.docbook:476
-msgid "If you want to use a transaction-bound <literal>Session</literal>, that is, the <literal>getCurrentSession()</literal> functionality for easy context propagation, you will have to use the JTA <literal>UserTransaction</literal> API directly:"
+#. Tag: para
+#: transactions.xml:476
+#, 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, you will have to use the JTA <literal>UserTransaction</literal> "
+"API directly:"
 msgstr "Ou encore, avec la gestion automatique de contexte:"
 
-#: index.docbook:482
+#. Tag: programlisting
+#: transactions.xml:482
+#, 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"
-      "}]]>"
+"<![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 ""
-      "<![CDATA[// BMT 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"
-      "}]]>"
 
-#: index.docbook:484
-msgid "With CMT, transaction demarcation is done in session bean deployment descriptors, not programatically, hence, the code is reduced to:"
-msgstr "Avec CMT, la démarcation des transactions est faite dans les descripteurs de déploiement des Beans Sessions et non de manière programmmatique, ceci réduit le code:"
+#. Tag: para
+#: transactions.xml:484
+#, no-c-format
+msgid ""
+"With CMT, transaction demarcation is done in session bean deployment "
+"descriptors, not programatically, hence, the code is reduced to:"
+msgstr ""
+"Avec CMT, la démarcation des transactions est faite dans les descripteurs de "
+"déploiement des Beans Sessions et non de manière programmmatique, ceci "
+"réduit le code:"
 
-#: index.docbook:489
+#. Tag: programlisting
+#: transactions.xml:489
+#, no-c-format
 msgid ""
-      "<![CDATA[// CMT idiom\n"
-      " Session sess = factory.getCurrentSession();\n"
-      "\n"
-      " // do some work\n"
-      " ...\n"
-      "]]>"
+"<![CDATA[// CMT idiom\n"
+" Session sess = factory.getCurrentSession();\n"
+"\n"
+" // do some work\n"
+" ...\n"
+"]]>"
 msgstr ""
-      "<![CDATA[// CMT idiom\n"
-      " Session sess = factory.getCurrentSession();\n"
-      "\n"
-      " // do some work\n"
-      " ...\n"
-      "]]>"
 
-#: index.docbook:491
-msgid "In a CMT/EJB even rollback happens automatically, since an unhandled <literal>RuntimeException</literal> thrown by a session bean method tells the container to set the global transaction to rollback. <emphasis>This means you do not need to use the Hibernate <literal>Transaction</literal> API at all with BMT or CMT, and you get automatic propagation of the \"current\" Session bound to the transaction.</emphasis>"
-msgstr "Dans un EJB CMT même le rollback intervient automatiquement, puisqu'une <literal>RuntimeException</literal> non traitée et soulevée par une méthode d'un bean session indique au conteneur d'annuler la transaction globale. <emphasis>Ceci veut donc dire que vous n'avez pas à utiliser l'API <literal>Transaction</literal> d'Hibernate dans CMT.</emphasis>"
+#. Tag: para
+#: transactions.xml:491
+#, no-c-format
+msgid ""
+"In a CMT/EJB even rollback happens automatically, since an unhandled "
+"<literal>RuntimeException</literal> thrown by a session bean method tells "
+"the container to set the global transaction to rollback. <emphasis>This "
+"means you do not need to use the Hibernate <literal>Transaction</literal> "
+"API at all with BMT or CMT, and you get automatic propagation of the "
+"\"current\" Session bound to the transaction.</emphasis>"
+msgstr ""
+"Dans un EJB CMT même le rollback intervient automatiquement, puisqu'une "
+"<literal>RuntimeException</literal> non traitée et soulevée par une méthode "
+"d'un bean session indique au conteneur d'annuler la transaction globale. "
+"<emphasis>Ceci veut donc dire que vous n'avez pas à utiliser l'API "
+"<literal>Transaction</literal> d'Hibernate dans CMT.</emphasis>"
 
-#: index.docbook:499
-msgid "Note that you should choose <literal>org.hibernate.transaction.JTATransactionFactory</literal> if you use JTA directly (BMT), and <literal>org.hibernate.transaction.CMTTransactionFactory</literal> in a CMT session bean, when you configure Hibernate's transaction factory. Remember to also set <literal>hibernate.transaction.manager_lookup_class</literal>. Furthermore, make sure that your <literal>hibernate.current_session_context_class</literal> is either unset (backwards compatiblity), or set to <literal>\"jta\"</literal>."
-msgstr "Notez que le fichier de configuration Hibernate devrait contenir les valeurs <literal>org.hibernate.transaction.JTATransactionFactory</literal> dans un environnement BMT ou <literal>org.hibernate.transaction.CMTTransactionFactory</literal> dans un environnement CMT là où vous configurez votre transaction factory Hibernate. N'oubliez pas non plus de spécifier le paramètre <literal>org.hibernate.transaction.manager_lookup_class</literal> . De plus, assurez vous de fixez votre <literal>hibernate.current_session_context_class</literal> soit à <literal>\"jta\"</literal> ou de ne pas le configurer (compatibilité avec les versions précédentes)."
+#. Tag: para
+#: transactions.xml:499
+#, no-c-format
+msgid ""
+"Note that you should choose <literal>org.hibernate.transaction."
+"JTATransactionFactory</literal> if you use JTA directly (BMT), and "
+"<literal>org.hibernate.transaction.CMTTransactionFactory</literal> in a CMT "
+"session bean, when you configure Hibernate's transaction factory. Remember "
+"to also set <literal>hibernate.transaction.manager_lookup_class</literal>. "
+"Furthermore, make sure that your <literal>hibernate."
+"current_session_context_class</literal> is either unset (backwards "
+"compatiblity), or set to <literal>\"jta\"</literal>."
+msgstr ""
+"Notez que le fichier de configuration Hibernate devrait contenir les valeurs "
+"<literal>org.hibernate.transaction.JTATransactionFactory</literal> dans un "
+"environnement BMT ou <literal>org.hibernate.transaction."
+"CMTTransactionFactory</literal> dans un environnement CMT là où vous "
+"configurez votre transaction factory Hibernate. N'oubliez pas non plus de "
+"spécifier le paramètre <literal>org.hibernate.transaction."
+"manager_lookup_class</literal> . De plus, assurez vous de fixez votre "
+"<literal>hibernate.current_session_context_class</literal> soit à <literal>"
+"\"jta\"</literal> ou de ne pas le configurer (compatibilité avec les "
+"versions précédentes)."
 
-#: index.docbook:508
-msgid "The <literal>getCurrentSession()</literal> operation has one downside in a JTA environment. There is one caveat to the use of <literal>after_statement</literal> connection release mode, which is then used by default. Due to a silly limitation of the JTA spec, it is not possible for Hibernate to automatically clean up any unclosed <literal>ScrollableResults</literal> or <literal>Iterator</literal> instances returned by <literal>scroll()</literal> or <literal>iterate()</literal>. You <emphasis>must</emphasis> release the underlying database cursor by calling <literal>ScrollableResults.close()</literal> or <literal>Hibernate.close(Iterator)</literal> explicity from a <literal>finally</literal> block. (Of course, most applications can easily avoid using <literal>scroll()</literal> or <literal>iterate()</literal> at all from the JTA or CMT code.)"
-msgstr "La méthode <literal>getCurrentSession()</literal> a un inconvénient dans les environnement JTA. Il y a une astuce qui est d'utiliser un mode de libération de connexion <literal>after_statement</literal> , qui est alors utilisé par défaut. Du à une étrange limitation de la spec JTA, il n'est pas possible pour Hibernate de nettoyer et ferme automatiquement un <literal>ScrollableResults</literal> ouvert ou une instance d'<literal>Iterator</literal> retournés <literal>scroll()</literal> ou <literal>iterate()</literal>. Vous <emphasis>devez</emphasis> libérer le curseur base de données sous jacent ou invoquer <literal>Hibernate.close(Iterator)</literal> explicitement depuis un bloc <literal>finally</literal>. (Bien sur, la plupart des applications peuvent éviter d'uiliser <literal>scroll()</literal> ou <literal>iterate()</literal> dans un code CMT.)"
+#. Tag: para
+#: transactions.xml:508
+#, 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</"
+"literal> connection release mode, which is then used by default. Due to a "
+"silly limitation of the JTA spec, it is not possible for Hibernate to "
+"automatically clean up any unclosed <literal>ScrollableResults</literal> or "
+"<literal>Iterator</literal> instances returned by <literal>scroll()</"
+"literal> or <literal>iterate()</literal>. You <emphasis>must</emphasis> "
+"release the underlying database cursor by calling <literal>ScrollableResults."
+"close()</literal> or <literal>Hibernate.close(Iterator)</literal> explicity "
+"from a <literal>finally</literal> block. (Of course, most applications can "
+"easily avoid using <literal>scroll()</literal> or <literal>iterate()</"
+"literal> at all from the JTA or CMT code.)"
+msgstr ""
+"La méthode <literal>getCurrentSession()</literal> a un inconvénient dans les "
+"environnement JTA. Il y a une astuce qui est d'utiliser un mode de "
+"libération de connexion <literal>after_statement</literal> , qui est alors "
+"utilisé par défaut. Du à une étrange limitation de la spec JTA, il n'est pas "
+"possible pour Hibernate de nettoyer et ferme automatiquement un "
+"<literal>ScrollableResults</literal> ouvert ou une instance "
+"d'<literal>Iterator</literal> retournés <literal>scroll()</literal> ou "
+"<literal>iterate()</literal>. Vous <emphasis>devez</emphasis> libérer le "
+"curseur base de données sous jacent ou invoquer <literal>Hibernate.close"
+"(Iterator)</literal> explicitement depuis un bloc <literal>finally</"
+"literal>. (Bien sur, la plupart des applications peuvent éviter d'uiliser "
+"<literal>scroll()</literal> ou <literal>iterate()</literal> dans un code "
+"CMT.)"
 
-#: index.docbook:524
+#. Tag: title
+#: transactions.xml:524
+#, no-c-format
 msgid "Exception handling"
-msgstr "<title>Gestion des exceptions</title>"
+msgstr "Gestion des exceptions"
 
-#: index.docbook:526
-msgid "If the <literal>Session</literal> throws an exception (including any <literal>SQLException</literal>), you should immediately rollback the database transaction, call <literal>Session.close()</literal> and discard the <literal>Session</literal> instance. Certain methods of <literal>Session</literal> will <emphasis>not</emphasis> leave the session in a consistent state. No exception thrown by Hibernate can be treated as recoverable. Ensure that the <literal>Session</literal> will be closed by calling <literal>close()</literal> in a <literal>finally</literal> block."
-msgstr "Si une <literal>Session</literal> lance une exception (incluant les exceptions du type <literal>SQLException</literal> ou d'un sous-type), vous devez immédiatement faire le rollback de la transaction, appeler <literal>Session.close()</literal> et relâcher les références sur l'objet <literal>Session</literal> . La <literal>Session</literal> contient des méthodes pouvant la mettre dans un état inutilisable. Vous devez considérer qu'<emphasis>aucune</emphasis> exception lancée par Hibernate n'est traitable. Assurez-vous de fermer la session en faisant l'appel à <literal>close()</literal> dans un bloc <literal>finally</literal> ."
+#. Tag: para
+#: transactions.xml:526
+#, no-c-format
+msgid ""
+"If the <literal>Session</literal> throws an exception (including any "
+"<literal>SQLException</literal>), you should immediately rollback the "
+"database transaction, call <literal>Session.close()</literal> and discard "
+"the <literal>Session</literal> instance. Certain methods of "
+"<literal>Session</literal> will <emphasis>not</emphasis> leave the session "
+"in a consistent state. No exception thrown by Hibernate can be treated as "
+"recoverable. Ensure that the <literal>Session</literal> will be closed by "
+"calling <literal>close()</literal> in a <literal>finally</literal> block."
+msgstr ""
+"Si une <literal>Session</literal> lance une exception (incluant les "
+"exceptions du type <literal>SQLException</literal> ou d'un sous-type), vous "
+"devez immédiatement faire le rollback de la transaction, appeler "
+"<literal>Session.close()</literal> et relâcher les références sur l'objet "
+"<literal>Session</literal> . La <literal>Session</literal> contient des "
+"méthodes pouvant la mettre dans un état inutilisable. Vous devez considérer "
+"qu'<emphasis>aucune</emphasis> exception lancée par Hibernate n'est "
+"traitable. Assurez-vous de fermer la session en faisant l'appel à "
+"<literal>close()</literal> dans un bloc <literal>finally</literal> ."
 
-#: index.docbook:537
-msgid "The <literal>HibernateException</literal>, which wraps most of the errors that can occur in a Hibernate persistence layer, is an unchecked exception (it wasn't in older versions of Hibernate). In our opinion, we shouldn't force the application developer to catch an unrecoverable exception at a low layer. In most systems, unchecked and fatal exceptions are handled in one of the first frames of the method call stack (i.e. in higher layers) and an error message is presented to the application user (or some other appropriate action is taken). Note that Hibernate might also throw other unchecked exceptions which are not a <literal>HibernateException</literal>. These are, again, not recoverable and appropriate action should be taken."
-msgstr "L'exception <literal>HibernateException</literal> , qui englobe la plupart des exceptions pouvant survenir dans la couche de persistance Hibernate, est une exception non vérifiée (Ceci n'était pas le cas dans certaines versions antérieures de Hibernate.) Il est de notre avis que nous ne devrions pas forcer un développeur à gérer une exception qu'il ne peut de toute façon pas traiter dans une couche technique. Dans la plupart des applications, les exceptions non vérifiées et les exceptions fatales sont gérées en amont du processus (dans les couches hautes) et un message d'erreur est alors affiché à l'usager (ou un traitement alternatif est invoqué.) Veuillez noter qu'Hibernate peut également lancer des exceptions non vérifiées d'un autre type que <literal>HibernateException</literal> . Celles-ci sont également non traitables et vous devez les traiter comme telles."
+#. Tag: para
+#: transactions.xml:537
+#, 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 "
+"(it wasn't in older versions of Hibernate). In our opinion, we shouldn't "
+"force the application developer to catch an unrecoverable exception at a low "
+"layer. In most systems, unchecked and fatal exceptions are handled in one of "
+"the first frames of the method call stack (i.e. in higher layers) and an "
+"error message is presented to the application user (or some other "
+"appropriate action is taken). Note that Hibernate might also throw other "
+"unchecked exceptions which are not a <literal>HibernateException</literal>. "
+"These are, again, not recoverable and appropriate action should be taken."
+msgstr ""
+"L'exception <literal>HibernateException</literal> , qui englobe la plupart "
+"des exceptions pouvant survenir dans la couche de persistance Hibernate, est "
+"une exception non vérifiée (Ceci n'était pas le cas dans certaines versions "
+"antérieures de Hibernate.) Il est de notre avis que nous ne devrions pas "
+"forcer un développeur à gérer une exception qu'il ne peut de toute façon pas "
+"traiter dans une couche technique. Dans la plupart des applications, les "
+"exceptions non vérifiées et les exceptions fatales sont gérées en amont du "
+"processus (dans les couches hautes) et un message d'erreur est alors affiché "
+"à l'usager (ou un traitement alternatif est invoqué.) Veuillez noter "
+"qu'Hibernate peut également lancer des exceptions non vérifiées d'un autre "
+"type que <literal>HibernateException</literal> . Celles-ci sont également "
+"non traitables et vous devez les traiter comme telles."
 
-#: index.docbook:549
-msgid "Hibernate wraps <literal>SQLException</literal>s thrown while interacting with the database in a <literal>JDBCException</literal>. In fact, Hibernate will attempt to convert the eexception into a more meningful subclass of <literal>JDBCException</literal>. The underlying <literal>SQLException</literal> is always available via <literal>JDBCException.getCause()</literal>. Hibernate converts the <literal>SQLException</literal> into an appropriate <literal>JDBCException</literal> subclass using the <literal>SQLExceptionConverter</literal> attached to the <literal>SessionFactory</literal>. By default, the <literal>SQLExceptionConverter</literal> is defined by the configured dialect; however, it is also possible to plug in a custom implementation (see the javadocs for the <literal>SQLExceptionConverterFactory</literal> class for details). The standard <literal>JDBCException</literal> subtypes are:"
-msgstr "Hibernate englobe les <literal>SQLException</literal> s lancées lors des interactions directes avec la base de données dans des exceptions de type: <literal>JDBCException</literal> . En fait, Hibernate essaiera de convertir l'exception dans un sous-type plus significatif de <literal>JDBCException</literal> . L'exception <literal>SQLException</literal> sous-jacente est toujours disponible via la méthode <literal>JDBCException.getCause()</literal> . Cette conversion est faite par un objet de type <literal>SQLExceptionConverter</literal> , qui est rattaché à l'objet <literal>SessionFactory</literal> . Par défaut, le <literal>SQLExceptionConverter</literal> est associé au dialecte de BD configuré dans Hibernate. Toutefois, il est possible de fournir sa propre implémentation de l'interface. (Veuillez vous référer à la javadoc sur la classe <literal>SQLExceptionConverterFactory</literal> pour plus de détails. Les sous-types standard de <literal>JDBCException<!
 /literal> sont:"
+#. Tag: para
+#: transactions.xml:549
+#, no-c-format
+msgid ""
+"Hibernate wraps <literal>SQLException</literal>s thrown while interacting "
+"with the database in a <literal>JDBCException</literal>. In fact, Hibernate "
+"will attempt to convert the eexception into a more meningful subclass of "
+"<literal>JDBCException</literal>. The underlying <literal>SQLException</"
+"literal> is always available via <literal>JDBCException.getCause()</"
+"literal>. Hibernate converts the <literal>SQLException</literal> into an "
+"appropriate <literal>JDBCException</literal> subclass using the "
+"<literal>SQLExceptionConverter</literal> attached to the "
+"<literal>SessionFactory</literal>. By default, the "
+"<literal>SQLExceptionConverter</literal> is defined by the configured "
+"dialect; however, it is also possible to plug in a custom implementation "
+"(see the javadocs for the <literal>SQLExceptionConverterFactory</literal> "
+"class for details). The standard <literal>JDBCException</literal> subtypes "
+"are:"
+msgstr ""
+"Hibernate englobe les <literal>SQLException</literal> s lancées lors des "
+"interactions directes avec la base de données dans des exceptions de type: "
+"<literal>JDBCException</literal> . En fait, Hibernate essaiera de convertir "
+"l'exception dans un sous-type plus significatif de <literal>JDBCException</"
+"literal> . L'exception <literal>SQLException</literal> sous-jacente est "
+"toujours disponible via la méthode <literal>JDBCException.getCause()</"
+"literal> . Cette conversion est faite par un objet de type "
+"<literal>SQLExceptionConverter</literal> , qui est rattaché à l'objet "
+"<literal>SessionFactory</literal> . Par défaut, le "
+"<literal>SQLExceptionConverter</literal> est associé au dialecte de BD "
+"configuré dans Hibernate. Toutefois, il est possible de fournir sa propre "
+"implémentation de l'interface. (Veuillez vous référer à la javadoc sur la "
+"classe <literal>SQLExceptionConverterFactory</literal> pour plus de détails. "
+"Les sous-types standard de <literal>JDBCException</literal> sont:"
 
-#: index.docbook:565
-msgid "<literal>JDBCConnectionException</literal> - indicates an error with the underlying JDBC communication."
-msgstr "<literal>JDBCConnectionException</literal> - Indique une erreur de communication avec la couche JDBC sous-jacente."
+#. Tag: para
+#: transactions.xml:565
+#, no-c-format
+msgid ""
+"<literal>JDBCConnectionException</literal> - indicates an error with the "
+"underlying JDBC communication."
+msgstr ""
+"<literal>JDBCConnectionException</literal> - Indique une erreur de "
+"communication avec la couche JDBC sous-jacente."
 
-#: index.docbook:571
-msgid "<literal>SQLGrammarException</literal> - indicates a grammar or syntax problem with the issued SQL."
-msgstr "<literal>SQLGrammarException</literal> - Indique un problème de grammaire ou de syntaxe avec la requête SQL envoyée."
+#. Tag: para
+#: transactions.xml:571
+#, no-c-format
+msgid ""
+"<literal>SQLGrammarException</literal> - indicates a grammar or syntax "
+"problem with the issued SQL."
+msgstr ""
+"<literal>SQLGrammarException</literal> - Indique un problème de grammaire ou "
+"de syntaxe avec la requête SQL envoyée."
 
-#: index.docbook:577
-msgid "<literal>ConstraintViolationException</literal> - indicates some form of integrity constraint violation."
-msgstr "<literal>ConstraintViolationException</literal> - Indique une violation de contrainte d'intégrité."
+#. Tag: para
+#: transactions.xml:577
+#, no-c-format
+msgid ""
+"<literal>ConstraintViolationException</literal> - indicates some form of "
+"integrity constraint violation."
+msgstr ""
+"<literal>ConstraintViolationException</literal> - Indique une violation de "
+"contrainte d'intégrité."
 
-#: index.docbook:583
-msgid "<literal>LockAcquisitionException</literal> - indicates an error acquiring a lock level necessary to perform the requested operation."
-msgstr "<literal>LockAcquisitionException</literal> - Indique une erreur de verrouillage lors de l'éxécution de la requête."
+#. Tag: para
+#: transactions.xml:583
+#, no-c-format
+msgid ""
+"<literal>LockAcquisitionException</literal> - indicates an error acquiring a "
+"lock level necessary to perform the requested operation."
+msgstr ""
+"<literal>LockAcquisitionException</literal> - Indique une erreur de "
+"verrouillage lors de l'éxécution de la requête."
 
-#: index.docbook:589
-msgid "<literal>GenericJDBCException</literal> - a generic exception which did not fall into any of the other categories."
-msgstr "<literal>GenericJDBCException</literal> - Indique une erreur générique JDBC d'une autre catégorie."
+#. Tag: para
+#: transactions.xml:589
+#, no-c-format
+msgid ""
+"<literal>GenericJDBCException</literal> - a generic exception which did not "
+"fall into any of the other categories."
+msgstr ""
+"<literal>GenericJDBCException</literal> - Indique une erreur générique JDBC "
+"d'une autre catégorie."
 
-#: index.docbook:599
+#. Tag: title
+#: transactions.xml:599
+#, no-c-format
 msgid "Transaction timeout"
 msgstr "Timeout de transaction"
 
-#: index.docbook:601
-msgid "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."
-msgstr "L'un des avantages fournis par les environnements transactionnels JTA (tels les containers EJB) est la gestion du timeout de transaction. La gestion des dépassements de temps de transaction vise à s'assurer qu'une transaction agissant incorrectement ne viendra pas bloquer indéfiniment les ressources de l'application. Hibernate ne peut fournir cette fonctionnalité dans un environnement transactionnel non-JTA. Par contre, Hibernate gère les opérations d'accès aux données en allouant un temps maximal aux requêtes pour s'exécuter. Ainsi, une requête créant de l'inter blocage ou retournant de très grandes quantités d'information pourrait être interrompue. Dans un environnement transactionnel JTA, Hibernate peut déléguer au gestionnaire de transaction le soin de gérer les dépassements de temps. Cette fonctionnalité est abstraite par l'objet <literal>Transaction</literal> ."
+#. Tag: para
+#: transactions.xml:601
+#, no-c-format
+msgid ""
+"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."
+msgstr ""
+"L'un des avantages fournis par les environnements transactionnels JTA (tels "
+"les containers EJB) est la gestion du timeout de transaction. La gestion des "
+"dépassements de temps de transaction vise à s'assurer qu'une transaction "
+"agissant incorrectement ne viendra pas bloquer indéfiniment les ressources "
+"de l'application. Hibernate ne peut fournir cette fonctionnalité dans un "
+"environnement transactionnel non-JTA. Par contre, Hibernate gère les "
+"opérations d'accès aux données en allouant un temps maximal aux requêtes "
+"pour s'exécuter. Ainsi, une requête créant de l'inter blocage ou retournant "
+"de très grandes quantités d'information pourrait être interrompue. Dans un "
+"environnement transactionnel JTA, Hibernate peut déléguer au gestionnaire de "
+"transaction le soin de gérer les dépassements de temps. Cette fonctionnalité "
+"est abstraite par l'objet <literal>Transaction</literal> ."
 
-#: index.docbook:614
+#. Tag: programlisting
+#: transactions.xml:614
+#, 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"
-      "}]]>"
+"<![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 ""
-      "<![CDATA[\n"
-      "        Session sess = factory.openSession();\n"
-      "        try {\n"
-      "            //mettre le timeout à 3 secondes.\n"
-      "            sess.getTransaction().setTimeout(3);\n"
-      "            sess.getTransaction().begin();\n"
-      "\n"
-      "            // Effectuer le travail ...\n"
-      "\n"
-      "            sess.getTransaction().commit()\n"
-      "        }\n"
-      "        catch (RuntimeException e) {\n"
-      "            if ( sess.getTransaction().isActive() ) {\n"
-      "                sess.getTransaction().rollback();\n"
-      "            }\n"
-      "            throw e;\n"
-      "            // ou afficher le message d'erreur.\n"
-      "        }\n"
-      "        finally {\n"
-      "            sess.close();\n"
-      "        }]]>"
 
-#: index.docbook:616
-msgid "Note that <literal>setTimeout()</literal> may not be called in a CMT bean, where transaction timeouts must be defined declaratively."
-msgstr "Notez que <literal>setTimeout()</literal> ne peut pas être appelé d'un EJB CMT, puisque le timeout des transaction doit être spécifié de manière déclarative."
+#. Tag: para
+#: transactions.xml:616
+#, no-c-format
+msgid ""
+"Note that <literal>setTimeout()</literal> may not be called in a CMT bean, "
+"where transaction timeouts must be defined declaratively."
+msgstr ""
+"Notez que <literal>setTimeout()</literal> ne peut pas être appelé d'un EJB "
+"CMT, puisque le timeout des transaction doit être spécifié de manière "
+"déclarative."
 
-#: index.docbook:626
+#. Tag: title
+#: transactions.xml:626
+#, no-c-format
 msgid "Optimistic concurrency control"
 msgstr "Contrôle de consurrence optimiste"
 
-#: index.docbook:628
-msgid "The only approach that is consistent with high concurrency and high scalability is optimistic concurrency control with versioning. Version checking uses version numbers, or timestamps, to detect conflicting updates (and to prevent lost updates). Hibernate provides for three possible approaches to writing application code that uses optimistic concurrency. The use cases we show are in the context of long conversations, but version checking also has the benefit of preventing lost updates in single database transactions."
-msgstr "La gestion optimiste des accès concurrents avec versionnage est la seule approche pouvant garantir l'extensibilité des applications à haut niveau de charge. Le système de versionnage utilise des numéros de version ou l'horodatage pour détecter les mises à jour causant des conflits avec d'autres actualisations antérieures. Hibernate propose trois approches pour l'écriture de code applicatif utilisant la gestion optimiste d'accès concurrents. Le cas d'utilisation décrit plus bas fait mention de conversation, mais le versionnage peut également améliorer la qualité d'une application en prévenant la perte de mises à jour."
+#. Tag: para
+#: transactions.xml:628
+#, no-c-format
+msgid ""
+"The only approach that is consistent with high concurrency and high "
+"scalability is optimistic concurrency control with versioning. Version "
+"checking uses version numbers, or timestamps, to detect conflicting updates "
+"(and to prevent lost updates). Hibernate provides for three possible "
+"approaches to writing application code that uses optimistic concurrency. The "
+"use cases we show are in the context of long conversations, but version "
+"checking also has the benefit of preventing lost updates in single database "
+"transactions."
+msgstr ""
+"La gestion optimiste des accès concurrents avec versionnage est la seule "
+"approche pouvant garantir l'extensibilité des applications à haut niveau de "
+"charge. Le système de versionnage utilise des numéros de version ou "
+"l'horodatage pour détecter les mises à jour causant des conflits avec "
+"d'autres actualisations antérieures. Hibernate propose trois approches pour "
+"l'écriture de code applicatif utilisant la gestion optimiste d'accès "
+"concurrents. Le cas d'utilisation décrit plus bas fait mention de "
+"conversation, mais le versionnage peut également améliorer la qualité d'une "
+"application en prévenant la perte de mises à jour."
 
-#: index.docbook:639
+#. Tag: title
+#: transactions.xml:639
+#, no-c-format
 msgid "Application version checking"
 msgstr "Gestion du versionnage au niveau applicatif"
 
-#: index.docbook:641
-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 responsible for reloading all persistent instances from the database before manipulating them. This approach forces the application to carry out its own version checking to ensure conversation transaction isolation. This approach is the least efficient in terms of database access. It is the approach most similar to entity EJBs."
-msgstr "Dans cet exemple d'implémentation utilisant peu les fonctionnalités d'Hibernate, chaque interaction avec la base de données se fait en utilisant une nouvelle <literal>Session</literal> et le développeur doit recharger les données persistantes à partir de la BD avant de les manipuler. Cette implémentation force l'application à vérifier la version des objets afin de maintenir l'isolation transactionnelle. Cette approche, semblable à celle retrouvée pour les EJB, est la moins efficace de celles présentées dans ce chapitre."
+#. Tag: para
+#: transactions.xml:641
+#, 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 "
+"responsible for reloading all persistent instances from the database before "
+"manipulating them. This approach forces the application to carry out its own "
+"version checking to ensure conversation transaction isolation. This approach "
+"is the least efficient in terms of database access. It is the approach most "
+"similar to entity EJBs."
+msgstr ""
+"Dans cet exemple d'implémentation utilisant peu les fonctionnalités "
+"d'Hibernate, chaque interaction avec la base de données se fait en utilisant "
+"une nouvelle <literal>Session</literal> et le développeur doit recharger les "
+"données persistantes à partir de la BD avant de les manipuler. Cette "
+"implémentation force l'application à vérifier la version des objets afin de "
+"maintenir l'isolation transactionnelle. Cette approche, semblable à celle "
+"retrouvée pour les EJB, est la moins efficace de celles présentées dans ce "
+"chapitre."
 
-#: index.docbook:650
+#. Tag: programlisting
+#: transactions.xml:650
+#, 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();]]>"
+"<![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 ""
-      "<![CDATA[// foo est une instance chargée antérieurement par une autre\n"
-      "            Session session = factory.openSession();\n"
-      "            Transaction t = session.beginTransaction();\n"
-      "\n"
-      "            int oldVersion = foo.getVersion();\n"
-      "            session.load( foo, foo.getKey() ); // Charger l'état courant\n"
-      "\n"
-      "            if ( oldVersion != foo.getVersion() )\n"
-      "                throw new StaleObjectStateException();\n"
-      "\n"
-      "            foo.setProperty(\"bar\");\n"
-      "            t.commit();\n"
-      "            session.close();]]>"
 
-#: index.docbook:652
-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 "Le mapping de la propriété <literal>version</literal> est fait via <literal>&lt;version&gt;</literal> et Hibernate l'incrémentera automatiquement à chaque flush() si l'entité doit être mise à jour."
+#. Tag: para
+#: transactions.xml:652
+#, 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 ""
+"Le mapping de la propriété <literal>version</literal> est fait via "
+"<literal>&lt;version&gt;</literal> et Hibernate l'incrémentera "
+"automatiquement à chaque flush() si l'entité doit être mise à jour."
 
-#: index.docbook:658
-msgid "Of course, if you are operating in a low-data-concurrency environment and don't require version checking, you may use this approach and just skip the version check. In that case, <emphasis>last commit wins</emphasis> will be the default strategy for your long conversations. Keep in mind that this might confuse the users of the application, as they might experience lost updates without error messages or a chance to merge conflicting changes."
-msgstr "Bien sûr, si votre application ne fait pas face à beaucoup d'accès concurrents et ne nécessite pas l'utilisation du versionnage, cette approche peut également être utilisée, il n'y a qu'à ignorer le code relié au versionnage. Dans ce cas, la stratégie du <emphasis>last commit wins</emphasis> (littéralement: le dernier commit l'emporte) sera utilisée pour les conversations (longues transactions applicatives). Gardez à l'esprit que cette approche pourrait rendre perplexe les utilisateurs de l'application car ils pourraient perdre des données mises à jour sans qu'aucun message d'erreur ne leur soit présenté et sans avoir la possibilité de fusionner les données."
+#. Tag: para
+#: transactions.xml:658
+#, no-c-format
+msgid ""
+"Of course, if you are operating in a low-data-concurrency environment and "
+"don't require version checking, you may use this approach and just skip the "
+"version check. In that case, <emphasis>last commit wins</emphasis> will be "
+"the default strategy for your long conversations. Keep in mind that this "
+"might confuse the users of the application, as they might experience lost "
+"updates without error messages or a chance to merge conflicting changes."
+msgstr ""
+"Bien sûr, si votre application ne fait pas face à beaucoup d'accès "
+"concurrents et ne nécessite pas l'utilisation du versionnage, cette approche "
+"peut également être utilisée, il n'y a qu'à ignorer le code relié au "
+"versionnage. Dans ce cas, la stratégie du <emphasis>last commit wins</"
+"emphasis> (littéralement: le dernier commit l'emporte) sera utilisée pour "
+"les conversations (longues transactions applicatives). Gardez à l'esprit que "
+"cette approche pourrait rendre perplexe les utilisateurs de l'application "
+"car ils pourraient perdre des données mises à jour sans qu'aucun message "
+"d'erreur ne leur soit présenté et sans avoir la possibilité de fusionner les "
+"données."
 
-#: index.docbook:667
-msgid "Clearly, manual version checking is only feasible in very trivial circumstances and not practical for most applications. Often not only single instances, but complete graphs of modified ojects have to be checked. Hibernate offers automatic version checking with either an extended <literal>Session</literal> or detached instances as the design paradigm."
-msgstr "Il est clair que la gestion manuelle de la vérification du versionnage des objets ne peut être effectuée que dans certains cas triviaux et que cette approche n'est pas valable pour la plupart des applications. De manière générale, les applications ne cherchent pas à actualiser de simples objets sans relations, elles le font généralement pour de larges graphes d'objets. Pour toute application utilisant le paradigme des conversations ou des objets détachés, Hibernate peut gérer automatiquement la vérification des versions d'objets."
+#. Tag: para
+#: transactions.xml:667
+#, no-c-format
+msgid ""
+"Clearly, manual version checking is only feasible in very trivial "
+"circumstances and not practical for most applications. Often not only single "
+"instances, but complete graphs of modified ojects have to be checked. "
+"Hibernate offers automatic version checking with either an extended "
+"<literal>Session</literal> or detached instances as the design paradigm."
+msgstr ""
+"Il est clair que la gestion manuelle de la vérification du versionnage des "
+"objets ne peut être effectuée que dans certains cas triviaux et que cette "
+"approche n'est pas valable pour la plupart des applications. De manière "
+"générale, les applications ne cherchent pas à actualiser de simples objets "
+"sans relations, elles le font généralement pour de larges graphes d'objets. "
+"Pour toute application utilisant le paradigme des conversations ou des "
+"objets détachés, Hibernate peut gérer automatiquement la vérification des "
+"versions d'objets."
 
-#: index.docbook:678
+#. Tag: title
+#: transactions.xml:678
+#, no-c-format
 msgid "Extended session and automatic versioning"
 msgstr "Les sessions longues et le versionnage automatique."
 
-#: index.docbook:680
-msgid "A single <literal>Session</literal> instance and its persistent instances are used for the whole conversation, known as <emphasis>session-per-conversation</emphasis>. Hibernate checks instance versions at flush time, throwing an exception if concurrent modification is detected. It's up to the developer to catch and handle this exception (common options are the opportunity for the user to merge changes or to restart the business conversation with non-stale data)."
-msgstr "Dans ce scénario, une seule instance de <literal>Session</literal> et des objets persistants est utilisée pour toute l'application. Hibernate vérifie la version des objets persistants avant d'effectuer le flush() et lance une exception si une modification concurrente est détectée. Il appartient alors au développeur de gérer l'exception. Les traitements alternatifs généralement proposés sont alors de permettre à l'usager de faire la fusion des données ou de lui offrir de recommencer son travail à partie des données les plus récentes dans la BD."
+#. Tag: para
+#: transactions.xml:680
+#, no-c-format
+msgid ""
+"A single <literal>Session</literal> instance and its persistent instances "
+"are used for the whole conversation, known as <emphasis>session-per-"
+"conversation</emphasis>. Hibernate checks instance versions at flush time, "
+"throwing an exception if concurrent modification is detected. It's up to the "
+"developer to catch and handle this exception (common options are the "
+"opportunity for the user to merge changes or to restart the business "
+"conversation with non-stale data)."
+msgstr ""
+"Dans ce scénario, une seule instance de <literal>Session</literal> et des "
+"objets persistants est utilisée pour toute l'application. Hibernate vérifie "
+"la version des objets persistants avant d'effectuer le flush() et lance une "
+"exception si une modification concurrente est détectée. Il appartient alors "
+"au développeur de gérer l'exception. Les traitements alternatifs "
+"généralement proposés sont alors de permettre à l'usager de faire la fusion "
+"des données ou de lui offrir de recommencer son travail à partie des données "
+"les plus récentes dans la BD."
 
-#: index.docbook:689
-msgid "The <literal>Session</literal> is disconnected from any underlying JDBC connection when waiting for user interaction. This approach is the most efficient in terms of database access. The application need not concern itself with version checking or with reattaching detached instances, nor does it have to reload instances in every database transaction."
-msgstr "Il est à noter que lorsqu'une application est en attente d'une action de la part de l?usager, La <literal>Session</literal> n'est pas connectée à la couche JDBC sous-jacente. C'est la manière la plus efficace de gérer les accès à la base de données. L'application ne devrait pas se préoccuper du versionnage des objets, de la réassociation des objets détachés, ni du rechargement de tous les objets à chaque transaction."
+#. Tag: para
+#: transactions.xml:689
+#, 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 "
+"efficient in terms of database access. The application need not concern "
+"itself with version checking or with reattaching detached instances, nor "
+"does it have to reload instances in every database transaction."
+msgstr ""
+"Il est à noter que lorsqu'une application est en attente d'une action de la "
+"part de l?usager, La <literal>Session</literal> n'est pas connectée à la "
+"couche JDBC sous-jacente. C'est la manière la plus efficace de gérer les "
+"accès à la base de données. L'application ne devrait pas se préoccuper du "
+"versionnage des objets, de la réassociation des objets détachés, ni du "
+"rechargement de tous les objets à chaque transaction."
 
-#: index.docbook:697
+#. Tag: programlisting
+#: transactions.xml:697
+#, 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]]>"
+"<![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 ""
-      "<![CDATA[// foo est une instance chargée antérieurement par une autre session\n"
-      "\n"
-      "            session.reconnect();// Obtention d'une nouvelle connexion JDBC\n"
-      "            Transaction t = session.beginTransaction();\n"
-      "            foo.setProperty(\"bar\");\n"
-      "            t.commit(); //Terminer la transaction, propager les changements et vérifier les versions.\n"
-      "            session.disconnect(); // Retourner la connexion JDBC\n"
-      "            ]]>"
 
-#: index.docbook:698
-msgid "The <literal>foo</literal> object still 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 transaction disconnects a session from the JDBC connection and returns the connection to the pool. After reconnection, to force a version check on data you aren't updating, you may call <literal>Session.lock()</literal> with <literal>LockMode.READ</literal> on any objects that might have been updated by another transaction. You don't need to lock any data that you <emphasis>are</emphasis> updating. Usually you would set <literal>FlushMode.MANUAL</literal> on an extended <literal>Session</literal>, so that only the last database transaction cycle is allowed to actually persist all modifications made in this conversation. Hence, only this last database transaction would include the <literal>flush()</literal> operation, and then also <literal>close()!
 </literal> the session to end the conversation."
-msgstr "L'objet <literal>foo</literal> sait quel objet <literal>Session</literal> l'a chargé. <literal>Session.reconnect()</literal> obtient une nouvelle connexion (celle-ci peut être également fournie) et permet à la session de continuer son travail. La méthode <literal>Session.disconnect()</literal> déconnecte la session de la connexion JDBC et retourne celle-ci au pool de connexion (à moins que vous ne lui ayez fourni vous même la connexion.) Après la reconnexion, afin de forcer la vérification du versionnage de certaines entités que vous ne cherchez pas à actualiser, vous pouvez faire un appel à <literal>Session.lock()</literal> en mode <literal>LockMode.READ</literal> pour tout objet ayant pu être modifié par une autre transaction. Il n'est pas nécessaire de verrouiller les données que vous désirez mettre à jour."
+#. Tag: para
+#: transactions.xml:698
+#, no-c-format
+msgid ""
+"The <literal>foo</literal> object still 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 transaction disconnects a session from the JDBC connection and "
+"returns the connection to the pool. After reconnection, to force a version "
+"check on data you aren't updating, you may call <literal>Session.lock()</"
+"literal> with <literal>LockMode.READ</literal> on any objects that might "
+"have been updated by another transaction. You don't need to lock any data "
+"that you <emphasis>are</emphasis> updating. Usually you would set "
+"<literal>FlushMode.MANUAL</literal> on an extended <literal>Session</"
+"literal>, so that only the last database transaction cycle is allowed to "
+"actually persist all modifications made in this conversation. Hence, only "
+"this last database transaction would include the <literal>flush()</literal> "
+"operation, and then also <literal>close()</literal> the session to end the "
+"conversation."
+msgstr ""
+"L'objet <literal>foo</literal> sait quel objet <literal>Session</literal> "
+"l'a chargé. <literal>Session.reconnect()</literal> obtient une nouvelle "
+"connexion (celle-ci peut être également fournie) et permet à la session de "
+"continuer son travail. La méthode <literal>Session.disconnect()</literal> "
+"déconnecte la session de la connexion JDBC et retourne celle-ci au pool de "
+"connexion (à moins que vous ne lui ayez fourni vous même la connexion.) "
+"Après la reconnexion, afin de forcer la vérification du versionnage de "
+"certaines entités que vous ne cherchez pas à actualiser, vous pouvez faire "
+"un appel à <literal>Session.lock()</literal> en mode <literal>LockMode.READ</"
+"literal> pour tout objet ayant pu être modifié par une autre transaction. Il "
+"n'est pas nécessaire de verrouiller les données que vous désirez mettre à "
+"jour."
 
-#: index.docbook:713
-msgid "This pattern is problematic if the <literal>Session</literal> is too big to be stored during user think time, e.g. an <literal>HttpSession</literal> should be kept as small as possible. As the <literal>Session</literal> is also the (mandatory) first-level cache and contains all loaded objects, we can probably use this strategy only for a few request/response cycles. You should use a <literal>Session</literal> only for a single conversation, as it will soon also have stale data."
-msgstr "Si des appels implicites aux méthodes <literal>disconnect()</literal> et <literal>reconnect()</literal> sont trop coûteux, vous pouvez les éviter en utilisant <literal>hibernate.connection.release_mode</literal> ."
+#. Tag: para
+#: transactions.xml:713
+#, no-c-format
+msgid ""
+"This pattern is problematic if the <literal>Session</literal> is too big to "
+"be stored during user think time, e.g. an <literal>HttpSession</literal> "
+"should be kept as small as possible. As the <literal>Session</literal> is "
+"also the (mandatory) first-level cache and contains all loaded objects, we "
+"can probably use this strategy only for a few request/response cycles. You "
+"should use a <literal>Session</literal> only for a single conversation, as "
+"it will soon also have stale data."
+msgstr ""
+"Si des appels implicites aux méthodes <literal>disconnect()</literal> et "
+"<literal>reconnect()</literal> sont trop coûteux, vous pouvez les éviter en "
+"utilisant <literal>hibernate.connection.release_mode</literal> ."
 
-#: index.docbook:723
-msgid "(Note that earlier Hibernate versions 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 "Ce pattern peut présenter des problèmes si la <literal>Session</literal> est trop volumineuse pour être stockée entre les actions de l'usager. Plus spécifiquement, une session <literal>HttpSession</literal> se doit d'être la plus petite possible. Puisque la <literal>Session</literal> joue obligatoirement le rôle de mémoire cache de premier niveau et contient à ce titre tous les objets chargés, il est préférable de n'utiliser cette stratégie que pour quelques cycles de requêtes car les objets risquent d'y être rapidement périmés."
+#. Tag: para
+#: transactions.xml:723
+#, no-c-format
+msgid ""
+"(Note that earlier Hibernate versions 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 ""
+"Ce pattern peut présenter des problèmes si la <literal>Session</literal> est "
+"trop volumineuse pour être stockée entre les actions de l'usager. Plus "
+"spécifiquement, une session <literal>HttpSession</literal> se doit d'être la "
+"plus petite possible. Puisque la <literal>Session</literal> joue "
+"obligatoirement le rôle de mémoire cache de premier niveau et contient à ce "
+"titre tous les objets chargés, il est préférable de n'utiliser cette "
+"stratégie que pour quelques cycles de requêtes car les objets risquent d'y "
+"être rapidement périmés."
 
-#: index.docbook:729
-msgid "Also note that you should keep the disconnected <literal>Session</literal> close to the persistence layer. In other words, use an EJB stateful session bean to hold the <literal>Session</literal> in a three-tier environment, and don't transfer it to the web layer (or even serialize it to a separate tier) to store it in the <literal>HttpSession</literal>."
-msgstr "Notez que la <literal>Session</literal> déconnectée devrait être conservée près de la couche de persistance. Autrement dit, utilisez un EJB stateful pour conserver la <literal>Session</literal> et évitez de la sérialiser et de la transférer à la couche de présentation (i.e. Il est préférable de ne pas la conserver dans la session <literal>HttpSession</literal> .)"
+#. Tag: para
+#: transactions.xml:729
+#, no-c-format
+msgid ""
+"Also note that you should keep the disconnected <literal>Session</literal> "
+"close to the persistence layer. In other words, use an EJB stateful session "
+"bean to hold the <literal>Session</literal> in a three-tier environment, and "
+"don't transfer it to the web layer (or even serialize it to a separate tier) "
+"to store it in the <literal>HttpSession</literal>."
+msgstr ""
+"Notez que la <literal>Session</literal> déconnectée devrait être conservée "
+"près de la couche de persistance. Autrement dit, utilisez un EJB stateful "
+"pour conserver la <literal>Session</literal> et évitez de la sérialiser et "
+"de la transférer à la couche de présentation (i.e. Il est préférable de ne "
+"pas la conserver dans la session <literal>HttpSession</literal> .)"
 
-#: index.docbook:737
-msgid "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."
-msgstr "Les objets détachés et le versionnage automatique"
+#. Tag: para
+#: transactions.xml:737
+#, no-c-format
+msgid ""
+"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."
+msgstr ""
+"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."
 
-#: index.docbook:747
+#. Tag: title
+#: transactions.xml:747
+#, no-c-format
 msgid "Detached objects and automatic versioning"
-msgstr "Chaque interaction avec le système de persistance se fait via une nouvelle <literal>Session</literal> . Toutefois, les mêmes instances d'objets persistants sont réutilisées pour chacune de ces interactions. L'application doit pouvoir manipuler l'état des instances détachées ayant été chargées antérieurement via une autre session. Pour ce faire, ces objets persistants doivent être rattachés à la <literal>Session</literal> courante en utilisant <literal>Session.update()</literal> , <literal>Session.saveOrUpdate()</literal> , ou <literal>Session.merge()</literal> ."
+msgstr "Les objets détachés et le versionnage automatique"
 
-#: index.docbook:749
-msgid "Each interaction with the persistent store occurs in a new <literal>Session</literal>. However, the same persistent instances are reused for each interaction with the database. The application manipulates the state of detached instances originally loaded in another <literal>Session</literal> and then reattaches them using <literal>Session.update()</literal>, <literal>Session.saveOrUpdate()</literal>, or <literal>Session.merge()</literal>."
+#. Tag: para
+#: transactions.xml:749
+#, no-c-format
+msgid ""
+"Each interaction with the persistent store occurs in a new <literal>Session</"
+"literal>. However, the same persistent instances are reused for each "
+"interaction with the database. The application manipulates the state of "
+"detached instances originally loaded in another <literal>Session</literal> "
+"and then reattaches them using <literal>Session.update()</literal>, "
+"<literal>Session.saveOrUpdate()</literal>, or <literal>Session.merge()</"
+"literal>."
 msgstr ""
-      "<![CDATA[// foo est une instance chargée antérieurement par une autre session\n"
-      "\n"
-      "            foo.setProperty(\"bar\");\n"
-      "            session = factory.openSession();\n"
-      "            Transaction t = session.beginTransaction();\n"
-      "            session.saveOrUpdate(foo);  //Utiliser merge() si \"foo\" pourrait avoir été chargé précédement\n"
-      "            t.commit();\n"
-      "            session.close();]]>"
+"Chaque interaction avec le système de persistance se fait via une nouvelle "
+"<literal>Session</literal> . Toutefois, les mêmes instances d'objets "
+"persistants sont réutilisées pour chacune de ces interactions. L'application "
+"doit pouvoir manipuler l'état des instances détachées ayant été chargées "
+"antérieurement via une autre session. Pour ce faire, ces objets persistants "
+"doivent être rattachés à la <literal>Session</literal> courante en utilisant "
+"<literal>Session.update()</literal> , <literal>Session.saveOrUpdate()</"
+"literal> , ou <literal>Session.merge()</literal> ."
 
-#: index.docbook:757
+#. Tag: programlisting
+#: transactions.xml:757
+#, 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 "Encore une fois, Hibernate vérifiera la version des instances devant être actualisées durant le flush(). Une exception sera lancée si des conflits sont détectés."
+"<![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 ""
 
-#: index.docbook:759
-msgid "Again, Hibernate will check instance versions during flush, throwing an exception if conflicting updates occured."
-msgstr "Vous pouvez également utiliser <literal>lock()</literal> au lieu de <literal>update()</literal> et utiliser le mode <literal>LockMode.READ</literal> (qui lancera une vérification de version, en ignorant tous les niveaux de mémoire cache) si vous êtes certain que l'objet n'a pas été modifié."
+#. Tag: para
+#: transactions.xml:759
+#, no-c-format
+msgid ""
+"Again, Hibernate will check instance versions during flush, throwing an "
+"exception if conflicting updates occured."
+msgstr ""
+"Encore une fois, Hibernate vérifiera la version des instances devant être "
+"actualisées durant le flush(). Une exception sera lancée si des conflits "
+"sont détectés."
 
-#: index.docbook:764
-msgid "You may also call <literal>lock()</literal> instead of <literal>update()</literal> and use <literal>LockMode.READ</literal> (performing a version check, bypassing all caches) if you are sure that the object has not been modified."
-msgstr "Personnaliser le versionnage automatique"
+#. Tag: para
+#: transactions.xml:764
+#, no-c-format
+msgid ""
+"You may also call <literal>lock()</literal> instead of <literal>update()</"
+"literal> and use <literal>LockMode.READ</literal> (performing a version "
+"check, bypassing all caches) if you are sure that the object has not been "
+"modified."
+msgstr ""
+"Vous pouvez également utiliser <literal>lock()</literal> au lieu de "
+"<literal>update()</literal> et utiliser le mode <literal>LockMode.READ</"
+"literal> (qui lancera une vérification de version, en ignorant tous les "
+"niveaux de mémoire cache) si vous êtes certain que l'objet n'a pas été "
+"modifié."
 
-#: index.docbook:773
+#. Tag: title
+#: transactions.xml:773
+#, no-c-format
 msgid "Customizing automatic versioning"
-msgstr "Vous pouvez désactiver l'incrémentation automatique du numéro de version de certains attributs et collections en mettant la valeur du paramètre de mapping <literal>optimistic-lock</literal> à false. Hibernate cessera ainsi d'incrémenter leur numéro de version s'ils sont mis à jour."
+msgstr "Personnaliser le versionnage automatique"
 
-#: index.docbook:775
-msgid "You may 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 "Certaines entreprises possèdent de vieux systèmes dont les schémas de bases de données sont statiques et ne peuvent être modifiés. Il existe aussi des cas où plusieurs applications doivent accéder à la même base de données, mais certaines d'entre elles ne peuvent gérer les numéros de version ou les champs horodatés. Dans les deux cas, le versionnage ne peut être implanté par le rajout d'une colonne dans la base de données. Afin de forcer la vérification de version dans un système sans en faire le mapping, mais en forçant une comparaison des états de tous les attributs d'une entité, vous pouvez utiliser l'attribut <literal>optimistic- lock=\"all\"</literal> sous l'élément <literal>&lt;class&gt;</literal> . Veuillez noter que cette manière de gérer le versionnage ne peut être utilisée que si l'application utilises de longues sessions, lui permettant de comparer l'ancien état et le nouvel état d'une entité. L'utilisation d'un pattern <lit!
 eral>session-per-request-with-detached- objects</literal> devient alors impossible."
+#. Tag: para
+#: transactions.xml:775
+#, no-c-format
+msgid ""
+"You may 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 ""
+"Vous pouvez désactiver l'incrémentation automatique du numéro de version de "
+"certains attributs et collections en mettant la valeur du paramètre de "
+"mapping <literal>optimistic-lock</literal> à false. Hibernate cessera ainsi "
+"d'incrémenter leur numéro de version s'ils sont mis à jour."
 
-#: index.docbook:782
-msgid "Legacy database schemas are often static and can't be modified. Or, other applications might also access the same database and don't know how to handle version numbers or even timestamps. In both cases, versioning can't rely on a particular column in a table. To force a version check without a version or timestamp property mapping, with a comparison of the state of all fields in a row, turn on <literal>optimistic-lock=\"all\"</literal> in the <literal>&lt;class&gt;</literal> mapping. Note that this concepetually only works if Hibernate can compare the old and new state, i.e. if you use a single long <literal>Session</literal> and not session-per-request-with-detached-objects."
-msgstr "Il peut être souhaitable de permettre les modifications concurrentes lorsque des champs distincts sont modifiés. En mettant la propriété <literal>optimistic-lock=\"dirty\"</literal> dans l'élément <literal>&lt;class&gt;</literal> , Hibernate ne fera la comparaison que des champs devant être actualisés lors du flush()."
+#. Tag: para
+#: transactions.xml:782
+#, no-c-format
+msgid ""
+"Legacy database schemas are often static and can't be modified. Or, other "
+"applications might also access the same database and don't know how to "
+"handle version numbers or even timestamps. In both cases, versioning can't "
+"rely on a particular column in a table. To force a version check without a "
+"version or timestamp property mapping, with a comparison of the state of all "
+"fields in a row, turn on <literal>optimistic-lock=\"all\"</literal> in the "
+"<literal>&lt;class&gt;</literal> mapping. Note that this concepetually only "
+"works if Hibernate can compare the old and new state, i.e. if you use a "
+"single long <literal>Session</literal> and not session-per-request-with-"
+"detached-objects."
+msgstr ""
+"Certaines entreprises possèdent de vieux systèmes dont les schémas de bases "
+"de données sont statiques et ne peuvent être modifiés. Il existe aussi des "
+"cas où plusieurs applications doivent accéder à la même base de données, "
+"mais certaines d'entre elles ne peuvent gérer les numéros de version ou les "
+"champs horodatés. Dans les deux cas, le versionnage ne peut être implanté "
+"par le rajout d'une colonne dans la base de données. Afin de forcer la "
+"vérification de version dans un système sans en faire le mapping, mais en "
+"forçant une comparaison des états de tous les attributs d'une entité, vous "
+"pouvez utiliser l'attribut <literal>optimistic- lock=\"all\"</literal> sous "
+"l'élément <literal>&lt;class&gt;</literal> . Veuillez noter que cette "
+"manière de gérer le versionnage ne peut être utilisée que si l'application "
+"utilises de longues sessions, lui permettant de comparer l'ancien état et le "
+"nouvel état d'une entité. L'utilisation d'un pattern <literal>session-per-"
+"request-with-detached- objects</literal> devient alors impossible."
 
-#: index.docbook:793
-msgid "Sometimes concurrent modification can be permitted as long as the changes that have been made don't 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 "Dans les deux cas: en utilisant une colonne de version/horodatée ou via la comparaison de l'état complet de l'objet ou de ses champs modifiés, Hibernate ne créera qu'une seule commande d'UPDATE par entité avec la clause WHERE appropriée pour mettre à jour l'entité <emphasis>ET</emphasis> en vérifier la version. Si vous utilisez la persistance transitive pour propager l'évènement de rattachement à des entités associées, il est possible qu'Hibernate génère des commandes d'UPDATE inutiles. Ceci n'est généralement pas un problème, mais certains déclencheurs <emphasis>on update</emphasis> dans la base de données pourraient être activés même si aucun changement n'était réellement persisté sur des objets associés. Vous pouvez personnaliser ce comportement en indiquant <literal>select-before- update=\"true\"</literal> dans l'élément de mapping <literal>&lt;class&gt;</literal> . Ceci forcera Hibernate à faire le SELECT de l'instance afin de s'a!
 ssurer que l'entité doit réellement être actualisée avant de lancer la commande d'UPDATE."
+#. Tag: para
+#: transactions.xml:793
+#, no-c-format
+msgid ""
+"Sometimes concurrent modification can be permitted as long as the changes "
+"that have been made don't 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 ""
+"Il peut être souhaitable de permettre les modifications concurrentes lorsque "
+"des champs distincts sont modifiés. En mettant la propriété "
+"<literal>optimistic-lock=\"dirty\"</literal> dans l'élément <literal>&lt;"
+"class&gt;</literal> , Hibernate ne fera la comparaison que des champs devant "
+"être actualisés lors du flush()."
 
-#: index.docbook:799
-msgid "In both cases, with dedicated version/timestamp columns or with full/dirty field comparison, Hibernate uses a single <literal>UPDATE</literal> statement (with an appropriate <literal>WHERE</literal> clause) per entity to execute the version check and update the information. If you use transitive persistence to cascade reattachment to associated entities, Hibernate might execute uneccessary updates. This is usually not a problem, but <emphasis>on update</emphasis> triggers in the database might be executed even when no changes have been made to detached instances. You can customize this behavior by setting <literal>select-before-update=\"true\"</literal> in the <literal>&lt;class&gt;</literal> mapping, forcing Hibernate to <literal>SELECT</literal> the instance to ensure that changes did actually occur, before updating the row."
-msgstr "Verouillage pessimiste"
+#. Tag: para
+#: transactions.xml:799
+#, no-c-format
+msgid ""
+"In both cases, with dedicated version/timestamp columns or with full/dirty "
+"field comparison, Hibernate uses a single <literal>UPDATE</literal> "
+"statement (with an appropriate <literal>WHERE</literal> clause) per entity "
+"to execute the version check and update the information. If you use "
+"transitive persistence to cascade reattachment to associated entities, "
+"Hibernate might execute uneccessary updates. This is usually not a problem, "
+"but <emphasis>on update</emphasis> triggers in the database might be "
+"executed even when no changes have been made to detached instances. You can "
+"customize this behavior by setting <literal>select-before-update=\"true\"</"
+"literal> in the <literal>&lt;class&gt;</literal> mapping, forcing Hibernate "
+"to <literal>SELECT</literal> the instance to ensure that changes did "
+"actually occur, before updating the row."
+msgstr ""
+"Dans les deux cas: en utilisant une colonne de version/horodatée ou via la "
+"comparaison de l'état complet de l'objet ou de ses champs modifiés, "
+"Hibernate ne créera qu'une seule commande d'UPDATE par entité avec la clause "
+"WHERE appropriée pour mettre à jour l'entité <emphasis>ET</emphasis> en "
+"vérifier la version. Si vous utilisez la persistance transitive pour "
+"propager l'évènement de rattachement à des entités associées, il est "
+"possible qu'Hibernate génère des commandes d'UPDATE inutiles. Ceci n'est "
+"généralement pas un problème, mais certains déclencheurs <emphasis>on "
+"update</emphasis> dans la base de données pourraient être activés même si "
+"aucun changement n'était réellement persisté sur des objets associés. Vous "
+"pouvez personnaliser ce comportement en indiquant <literal>select-before- "
+"update=\"true\"</literal> dans l'élément de mapping <literal>&lt;class&gt;</"
+"literal> . Ceci forcera Hibernate à faire le SELECT de l'instance afin de "
+"s'assurer que l'entité doit réellement être actualisée avant de lancer la "
+"commande d'UPDATE."
 
-#: index.docbook:817
+#. Tag: title
+#: transactions.xml:817
+#, no-c-format
 msgid "Pessimistic Locking"
-msgstr "Il n'est nécessaire de s'attarder à la stratégie de verrouillage des entités dans une application utilisant Hibernate. Il est généralement suffisant de définir le niveau d'isolation pour les connexions JDBC et de laisser ensuite la base de donnée effectuer son travail. Toutefois, certains utilisateurs avancés peuvent vouloir obtenir un verrouillage pessimiste exclusif sur un enregistrement et le réobtenir au lancement d'une nouvelle transaction."
+msgstr "Verouillage pessimiste"
 
-#: index.docbook:819
-msgid "It is not intended that users spend much time worring about locking strategies. Its usually enough to specify an isolation level for the JDBC connections and then simply let the database do all the work. However, advanced users may sometimes wish to obtain exclusive pessimistic locks, or re-obtain locks at the start of a new transaction."
-msgstr "Hibernate utilisera toujours le mécanisme de verrouillage de la base de données et ne verrouillera jamais les objets en mémoire!"
+#. Tag: para
+#: transactions.xml:819
+#, no-c-format
+msgid ""
+"It is not intended that users spend much time worring about locking "
+"strategies. Its usually enough to specify an isolation level for the JDBC "
+"connections and then simply let the database do all the work. However, "
+"advanced users may sometimes wish to obtain exclusive pessimistic locks, or "
+"re-obtain locks at the start of a new transaction."
+msgstr ""
+"Il n'est nécessaire de s'attarder à la stratégie de verrouillage des entités "
+"dans une application utilisant Hibernate. Il est généralement suffisant de "
+"définir le niveau d'isolation pour les connexions JDBC et de laisser ensuite "
+"la base de donnée effectuer son travail. Toutefois, certains utilisateurs "
+"avancés peuvent vouloir obtenir un verrouillage pessimiste exclusif sur un "
+"enregistrement et le réobtenir au lancement d'une nouvelle transaction."
 
-#: index.docbook:826
-msgid "Hibernate will always use the locking mechanism of the database, never lock objects in memory!"
-msgstr "La classe <literal>LockMode</literal> définit les différents niveaux de verrouillage pouvant être obtenus par Hibernate. Le verrouillage est obtenu par les mécanismes suivants:"
+#. Tag: para
+#: transactions.xml:826
+#, no-c-format
+msgid ""
+"Hibernate will always use the locking mechanism of the database, never lock "
+"objects in memory!"
+msgstr ""
+"Hibernate utilisera toujours le mécanisme de verrouillage de la base de "
+"données et ne verrouillera jamais les objets en mémoire!"
 
-#: index.docbook:831
-msgid "The <literal>LockMode</literal> class defines the different lock levels that may be acquired by Hibernate. A lock is obtained by the following mechanisms:"
-msgstr "<literal>LockMode.WRITE</literal> est obtenu automatiquement quand Hibernate actualise ou insert un enregistrement."
+#. Tag: para
+#: transactions.xml:831
+#, no-c-format
+msgid ""
+"The <literal>LockMode</literal> class defines the different lock levels that "
+"may be acquired by Hibernate. A lock is obtained by the following mechanisms:"
+msgstr ""
+"La classe <literal>LockMode</literal> définit les différents niveaux de "
+"verrouillage pouvant être obtenus par Hibernate. Le verrouillage est obtenu "
+"par les mécanismes suivants:"
 
-#: index.docbook:838
-msgid "<literal>LockMode.WRITE</literal> is acquired automatically when Hibernate updates or inserts a row."
-msgstr "<literal>LockMode.UPGRADE</literal> peut être obtenu de manière explicite via la requête en utilisant <literal>SELECT ... FOR UPDATE</literal> sur une base de données supportant cette syntaxe."
+#. Tag: para
+#: transactions.xml:838
+#, no-c-format
+msgid ""
+"<literal>LockMode.WRITE</literal> is acquired automatically when Hibernate "
+"updates or inserts a row."
+msgstr ""
+"<literal>LockMode.WRITE</literal> est obtenu automatiquement quand Hibernate "
+"actualise ou insert un enregistrement."
 
-#: index.docbook:844
-msgid "<literal>LockMode.UPGRADE</literal> may be acquired upon explicit user request using <literal>SELECT ... FOR UPDATE</literal> on databases which support that syntax."
-msgstr "<literal>LockMode.UPGRADE_NOWAIT</literal> peut être obtenu de manière explicite en utilisant <literal>SELECT ... FOR UPDATE NOWAIT</literal> sur Oracle."
+#. Tag: para
+#: transactions.xml:844
+#, no-c-format
+msgid ""
+"<literal>LockMode.UPGRADE</literal> may be acquired upon explicit user "
+"request using <literal>SELECT ... FOR UPDATE</literal> on databases which "
+"support that syntax."
+msgstr ""
+"<literal>LockMode.UPGRADE</literal> peut être obtenu de manière explicite "
+"via la requête en utilisant <literal>SELECT ... FOR UPDATE</literal> sur une "
+"base de données supportant cette syntaxe."
 
-#: index.docbook:850
-msgid "<literal>LockMode.UPGRADE_NOWAIT</literal> may be acquired upon explicit user request using a <literal>SELECT ... FOR UPDATE NOWAIT</literal> under Oracle."
-msgstr "<literal>LockMode.READ</literal> est obtenu automatiquement quand Hibernate lit des données dans un contexte d'isolation <literal>Repeatable Read</literal> ou <literal>Serializable</literal> . Peut être réobtenu explicitement via une requête."
+#. Tag: para
+#: transactions.xml:850
+#, no-c-format
+msgid ""
+"<literal>LockMode.UPGRADE_NOWAIT</literal> may be acquired upon explicit "
+"user request using a <literal>SELECT ... FOR UPDATE NOWAIT</literal> under "
+"Oracle."
+msgstr ""
+"<literal>LockMode.UPGRADE_NOWAIT</literal> peut être obtenu de manière "
+"explicite en utilisant <literal>SELECT ... FOR UPDATE NOWAIT</literal> sur "
+"Oracle."
 
-#: index.docbook:856
-msgid "<literal>LockMode.READ</literal> is acquired automatically when Hibernate reads data under Repeatable Read or Serializable isolation level. May be re-acquired by explicit user request."
-msgstr "<literal>LockMode.NONE</literal> représente l'absence de verouillage. Tous les objets migrent vers ce mode a la fin d'une <literal>Transaction</literal> . Les objets associés à une session via un appel à <literal>saveOrUpdate()</literal> commencent également leur cycle de vie dans cet état."
+#. Tag: para
+#: transactions.xml:856
+#, no-c-format
+msgid ""
+"<literal>LockMode.READ</literal> is acquired automatically when Hibernate "
+"reads data under Repeatable Read or Serializable isolation level. May be re-"
+"acquired by explicit user request."
+msgstr ""
+"<literal>LockMode.READ</literal> est obtenu automatiquement quand Hibernate "
+"lit des données dans un contexte d'isolation <literal>Repeatable Read</"
+"literal> ou <literal>Serializable</literal> . Peut être réobtenu "
+"explicitement via une requête."
 
-#: index.docbook:863
-msgid "<literal>LockMode.NONE</literal> represents the absence of a lock. All objects switch to this lock mode at the end of a <literal>Transaction</literal>. Objects associated with the session via a call to <literal>update()</literal> or <literal>saveOrUpdate()</literal> also start out in this lock mode."
-msgstr "Les niveaux de verrouillage peuvent être explicitement obtenus de l'une des manières suivantes:"
+#. Tag: para
+#: transactions.xml:863
+#, no-c-format
+msgid ""
+"<literal>LockMode.NONE</literal> represents the absence of a lock. All "
+"objects switch to this lock mode at the end of a <literal>Transaction</"
+"literal>. Objects associated with the session via a call to <literal>update()"
+"</literal> or <literal>saveOrUpdate()</literal> also start out in this lock "
+"mode."
+msgstr ""
+"<literal>LockMode.NONE</literal> représente l'absence de verouillage. Tous "
+"les objets migrent vers ce mode a la fin d'une <literal>Transaction</"
+"literal> . Les objets associés à une session via un appel à "
+"<literal>saveOrUpdate()</literal> commencent également leur cycle de vie "
+"dans cet état."
 
-#: index.docbook:872
-msgid "The \"explicit user request\" is expressed in one of the following ways:"
-msgstr "Un appel à <literal>Session.load()</literal> , en spécifiant un niveau verrouillage <literal>LockMode</literal> ."
+#. Tag: para
+#: transactions.xml:872
+#, no-c-format
+msgid ""
+"The \"explicit user request\" is expressed in one of the following ways:"
+msgstr ""
+"Les niveaux de verrouillage peuvent être explicitement obtenus de l'une des "
+"manières suivantes:"
 
-#: index.docbook:878
-msgid "A call to <literal>Session.load()</literal>, specifying a <literal>LockMode</literal>."
-msgstr "Un appel à <literal>Session.lock()</literal> ."
+#. Tag: para
+#: transactions.xml:878
+#, no-c-format
+msgid ""
+"A call to <literal>Session.load()</literal>, specifying a <literal>LockMode</"
+"literal>."
+msgstr ""
+"Un appel à <literal>Session.load()</literal> , en spécifiant un niveau "
+"verrouillage <literal>LockMode</literal> ."
 
-#: index.docbook:883
+#. Tag: para
+#: transactions.xml:883
+#, no-c-format
 msgid "A call to <literal>Session.lock()</literal>."
-msgstr "Une appel à <literal>Query.setLockMode()</literal> ."
+msgstr "Un appel à <literal>Session.lock()</literal> ."
 
-#: index.docbook:888
+#. Tag: para
+#: transactions.xml:888
+#, no-c-format
 msgid "A call to <literal>Query.setLockMode()</literal>."
-msgstr "Si <literal>Session.load()</literal> est appelé avec le paramètre de niveau de verouillage <literal>UPGRADE</literal> ou <literal>UPGRADE_NOWAIT</literal> et que l'objet demandé n'est pas présent dans la session, celui-ci sera chargé à l'aide d'une requête <literal>SELECT ... FOR UPDATE</literal> . Si la méthode <literal>load()</literal> est appelée pour un objet déjà en session avec un verrouillage moindre que celui demandé, Hibernate appellera la méthode <literal>lock()</literal> pour cet objet."
+msgstr "Une appel à <literal>Query.setLockMode()</literal> ."
 
-#: index.docbook:894
-msgid "If <literal>Session.load()</literal> is called with <literal>UPGRADE</literal> or <literal>UPGRADE_NOWAIT</literal>, and the requested object was not yet loaded by the session, the object is loaded using <literal>SELECT ... FOR UPDATE</literal>. If <literal>load()</literal> is called for an object that is already loaded with a less restrictive lock than the one requested, Hibernate calls <literal>lock()</literal> for that object."
-msgstr "<literal>Session.lock()</literal> effectue une vérification de version si le niveau de verrouillage est <literal>READ</literal> , <literal>UPGRADE</literal> ou <literal>UPGRADE_NOWAIT</literal> . (Dans le cas des niveaux <literal>UPGRADE</literal> ou <literal>UPGRADE_NOWAIT</literal> , une requête <literal>SELECT ... FOR UPDATE</literal> sera utilisée.)"
+#. Tag: para
+#: transactions.xml:894
+#, no-c-format
+msgid ""
+"If <literal>Session.load()</literal> is called with <literal>UPGRADE</"
+"literal> or <literal>UPGRADE_NOWAIT</literal>, and the requested object was "
+"not yet loaded by the session, the object is loaded using "
+"<literal>SELECT ... FOR UPDATE</literal>. If <literal>load()</literal> is "
+"called for an object that is already loaded with a less restrictive lock "
+"than the one requested, Hibernate calls <literal>lock()</literal> for that "
+"object."
+msgstr ""
+"Si <literal>Session.load()</literal> est appelé avec le paramètre de niveau "
+"de verouillage <literal>UPGRADE</literal> ou <literal>UPGRADE_NOWAIT</"
+"literal> et que l'objet demandé n'est pas présent dans la session, celui-ci "
+"sera chargé à l'aide d'une requête <literal>SELECT ... FOR UPDATE</"
+"literal> . Si la méthode <literal>load()</literal> est appelée pour un objet "
+"déjà en session avec un verrouillage moindre que celui demandé, Hibernate "
+"appellera la méthode <literal>lock()</literal> pour cet objet."
 
-#: index.docbook:903
-msgid "<literal>Session.lock()</literal> performs a version number check if the specified lock mode is <literal>READ</literal>, <literal>UPGRADE</literal> or <literal>UPGRADE_NOWAIT</literal>. (In the case of <literal>UPGRADE</literal> or <literal>UPGRADE_NOWAIT</literal>, <literal>SELECT ... FOR UPDATE</literal> is used.)"
-msgstr "Si une base de données ne supporte pas le niveau de verrouillage demandé, Hibernate utilisera un niveau alternatif convenable au lieux de lancer une exception. Ceci assurera la portabilité de votre application."
+#. Tag: para
+#: transactions.xml:903
+#, 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> "
+"or <literal>UPGRADE_NOWAIT</literal>. (In the case of <literal>UPGRADE</"
+"literal> or <literal>UPGRADE_NOWAIT</literal>, <literal>SELECT ... FOR "
+"UPDATE</literal> is used.)"
+msgstr ""
+"<literal>Session.lock()</literal> effectue une vérification de version si le "
+"niveau de verrouillage est <literal>READ</literal> , <literal>UPGRADE</"
+"literal> ou <literal>UPGRADE_NOWAIT</literal> . (Dans le cas des niveaux "
+"<literal>UPGRADE</literal> ou <literal>UPGRADE_NOWAIT</literal> , une "
+"requête <literal>SELECT ... FOR UPDATE</literal> sera utilisée.)"
 
-#: index.docbook:910
-msgid "If the database does not support the requested lock mode, Hibernate will use an appropriate alternate mode (instead of throwing an exception). This ensures that applications will be portable."
-msgstr "Mode de libération de Connection"
+#. Tag: para
+#: transactions.xml:910
+#, no-c-format
+msgid ""
+"If the database does not support the requested lock mode, Hibernate will use "
+"an appropriate alternate mode (instead of throwing an exception). This "
+"ensures that applications will be portable."
+msgstr ""
+"Si une base de données ne supporte pas le niveau de verrouillage demandé, "
+"Hibernate utilisera un niveau alternatif convenable au lieux de lancer une "
+"exception. Ceci assurera la portabilité de votre application."
 
-#: index.docbook:919
+#. Tag: title
+#: transactions.xml:919
+#, no-c-format
 msgid "Connection Release Modes"
-msgstr "Le comportement original (2.x) d'Hibernate pour la gestion des connexions JDBC était que la <literal>Session</literal> obtenait une connexion dès qu'elle en avait besoin et la libérait une fois la session fermée. Hibernate 3 a introduit les modes de libération de connexion pour indiquer à la session comment gérer les transactions JDBC. Notez que la discussion suivante n'est pertinente que pour des connexions fournies par un <literal>ConnectionProvider</literal>, celles gérées par l'utilisateur sont en dehors du scope de cette discussion. Les différents modes sont définies par <literal>org.hibernate.ConnectionReleaseMode</literal>:"
+msgstr "Mode de libération de Connection"
 
-#: index.docbook:921
-msgid "The legacy (2.x) behavior of Hibernate in regards to JDBC connection management was that a <literal>Session</literal> would obtain a connection when it was first needed and then hold unto that connection until the session was closed. Hibernate 3.x introduced the notion of connection release modes to tell a session how to handle its JDBC connections. Note that the following discussion is pertinent only to connections provided through a configured <literal>ConnectionProvider</literal>; user-supplied connections are outside the breadth of this discussion. The different release modes are identified by the enumerated values of <literal>org.hibernate.ConnectionReleaseMode</literal>:"
-msgstr "<literal>ON_CLOSE</literal> - est essentiellement le comportement passé. La session Hibernate obtient une connexion lorsqu'elle en a besoin et la garde jusqu'à ce que la session se ferme."
+#. Tag: para
+#: transactions.xml:921
+#, no-c-format
+msgid ""
+"The legacy (2.x) behavior of Hibernate in regards to JDBC connection "
+"management was that a <literal>Session</literal> would obtain a connection "
+"when it was first needed and then hold unto that connection until the "
+"session was closed. Hibernate 3.x introduced the notion of connection "
+"release modes to tell a session how to handle its JDBC connections. Note "
+"that the following discussion is pertinent only to connections provided "
+"through a configured <literal>ConnectionProvider</literal>; user-supplied "
+"connections are outside the breadth of this discussion. The different "
+"release modes are identified by the enumerated values of <literal>org."
+"hibernate.ConnectionReleaseMode</literal>:"
+msgstr ""
+"Le comportement original (2.x) d'Hibernate pour la gestion des connexions "
+"JDBC était que la <literal>Session</literal> obtenait une connexion dès "
+"qu'elle en avait besoin et la libérait une fois la session fermée. Hibernate "
+"3 a introduit les modes de libération de connexion pour indiquer à la "
+"session comment gérer les transactions JDBC. Notez que la discussion "
+"suivante n'est pertinente que pour des connexions fournies par un "
+"<literal>ConnectionProvider</literal>, celles gérées par l'utilisateur sont "
+"en dehors du scope de cette discussion. Les différents modes sont définies "
+"par <literal>org.hibernate.ConnectionReleaseMode</literal>:"
 
-#: index.docbook:935
-msgid "<literal>ON_CLOSE</literal> - is essentially the legacy behavior described above. The Hibernate session obatins a connection when it first needs to perform some JDBC access and holds unto that connection until the session is closed."
-msgstr "<literal>AFTER_TRANSACTION</literal> - indique de relacher la connexion après qu'une <literal>org.hibernate.Transaction</literal> se soit achevée."
+#. Tag: para
+#: transactions.xml:935
+#, no-c-format
+msgid ""
+"<literal>ON_CLOSE</literal> - is essentially the legacy behavior described "
+"above. The Hibernate session obatins a connection when it first needs to "
+"perform some JDBC access and holds unto that connection until the session is "
+"closed."
+msgstr ""
+"<literal>ON_CLOSE</literal> - est essentiellement le comportement passé. La "
+"session Hibernate obtient une connexion lorsqu'elle en a besoin et la garde "
+"jusqu'à ce que la session se ferme."
 
-#: index.docbook:942
-msgid "<literal>AFTER_TRANSACTION</literal> - says to release connections after a <literal>org.hibernate.Transaction</literal> has completed."
-msgstr "<literal>AFTER_STATEMENT</literal> (aussi appelé libération brutale) - indique de relacher les connexions après chaque exécution d'un statement. Ce relachement aggressif est annulé si ce statement laisse des ressources associées à une session donnée ouvertes, actuellement ceci n'arrive que lors de l'utilisation de <literal>org.hibernate.ScrollableResults</literal>."
+#. Tag: para
+#: transactions.xml:942
+#, no-c-format
+msgid ""
+"<literal>AFTER_TRANSACTION</literal> - says to release connections after a "
+"<literal>org.hibernate.Transaction</literal> has completed."
+msgstr ""
+"<literal>AFTER_TRANSACTION</literal> - indique de relacher la connexion "
+"après qu'une <literal>org.hibernate.Transaction</literal> se soit achevée."
 
-#: index.docbook:948
-msgid "<literal>AFTER_STATEMENT</literal> (also referred to as aggressive release) - says to release connections after each and every statement execution. This aggressive releasing is skipped if that statement leaves open resources associated with the given session; currently the only situation where this occurs is through the use of <literal>org.hibernate.ScrollableResults</literal>."
-msgstr "Le paramètre de configuration <literal>hibernate.connection.release_mode</literal> est utilisé pour spécifier quel mode de libération doit être utiliser. Les valeurs possibles sont:"
+#. Tag: para
+#: transactions.xml:948
+#, no-c-format
+msgid ""
+"<literal>AFTER_STATEMENT</literal> (also referred to as aggressive release) "
+"- says to release connections after each and every statement execution. This "
+"aggressive releasing is skipped if that statement leaves open resources "
+"associated with 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> (aussi appelé libération brutale) - "
+"indique de relacher les connexions après chaque exécution d'un statement. Ce "
+"relachement aggressif est annulé si ce statement laisse des ressources "
+"associées à une session donnée ouvertes, actuellement ceci n'arrive que lors "
+"de l'utilisation de <literal>org.hibernate.ScrollableResults</literal>."
 
-#: index.docbook:958
-msgid "The configuration parameter <literal>hibernate.connection.release_mode</literal> is used to specify which release mode to use. The possible values:"
-msgstr "<literal>auto</literal> (valeur par défaut) - ce choix délègue le choix de libération à la méthode <literal>org.hibernate.transaction.TransactionFactory.getDefaultReleaseMode()</literal> Pour la JTATransactionFactory, elle retourne ConnectionReleaseMode.AFTER_STATEMENT; pour JDBCTransactionFactory, elle retourne ConnectionReleaseMode.AFTER_TRANSACTION. C'est rarement une bonne idée de changer ce comportement par défaut puisque les erreurs soulevées par ce paramétrage tend à prouver une erreur dans le code de l'utilisateur."
+#. Tag: para
+#: transactions.xml:958
+#, 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:"
+msgstr ""
+"Le paramètre de configuration <literal>hibernate.connection.release_mode</"
+"literal> est utilisé pour spécifier quel mode de libération doit être "
+"utiliser. Les valeurs possibles sont:"
 
-#: index.docbook:965
-msgid "<literal>auto</literal> (the default) - this choice delegates to the release mode returned by the <literal>org.hibernate.transaction.TransactionFactory.getDefaultReleaseMode()</literal> method. For JTATransactionFactory, this returns ConnectionReleaseMode.AFTER_STATEMENT; for JDBCTransactionFactory, this returns ConnectionReleaseMode.AFTER_TRANSACTION. It is rarely a good idea to change this default behavior as failures due to the value of this setting tend to indicate bugs and/or invalid assumptions in user code."
-msgstr "<literal>on_close</literal> - indique d'utiliser ConnectionReleaseMode.ON_CLOSE. Ce paramétrage existe pour garantir la compatibilité avec les versions précédentes, mais ne devrait plus être utilisé."
+#. Tag: para
+#: transactions.xml:965
+#, no-c-format
+msgid ""
+"<literal>auto</literal> (the default) - this choice delegates to the release "
+"mode returned by the <literal>org.hibernate.transaction.TransactionFactory."
+"getDefaultReleaseMode()</literal> method. For JTATransactionFactory, this "
+"returns ConnectionReleaseMode.AFTER_STATEMENT; for JDBCTransactionFactory, "
+"this returns ConnectionReleaseMode.AFTER_TRANSACTION. It is rarely a good "
+"idea to change this 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> (valeur par défaut) - ce choix délègue le choix de "
+"libération à la méthode <literal>org.hibernate.transaction."
+"TransactionFactory.getDefaultReleaseMode()</literal> Pour la "
+"JTATransactionFactory, elle retourne ConnectionReleaseMode.AFTER_STATEMENT; "
+"pour JDBCTransactionFactory, elle retourne ConnectionReleaseMode."
+"AFTER_TRANSACTION. C'est rarement une bonne idée de changer ce comportement "
+"par défaut puisque les erreurs soulevées par ce paramétrage tend à prouver "
+"une erreur dans le code de l'utilisateur."
 
-#: index.docbook:975
-msgid "<literal>on_close</literal> - says to use ConnectionReleaseMode.ON_CLOSE. This setting is left for backwards compatibility, but its use is highly discouraged."
-msgstr "<literal>after_transaction</literal> - indique d'utiliser ConnectionReleaseMode.AFTER_TRANSACTION. Ne devrait pas être utilisé dans les environnements JTA. Notez aussi qu'avec ConnectionReleaseMode.AFTER_TRANSACTION, si une session est considérée comme étant en mode auto-commit les connexions seront relachées comme si le mode était AFTER_STATEMENT."
+#. Tag: para
+#: transactions.xml:975
+#, no-c-format
+msgid ""
+"<literal>on_close</literal> - says to use ConnectionReleaseMode.ON_CLOSE. "
+"This setting is left for backwards compatibility, but its use is highly "
+"discouraged."
+msgstr ""
+"<literal>on_close</literal> - indique d'utiliser ConnectionReleaseMode."
+"ON_CLOSE. Ce paramétrage existe pour garantir la compatibilité avec les "
+"versions précédentes, mais ne devrait plus être utilisé."
 
-#: index.docbook:981
-msgid "<literal>after_transaction</literal> - says to use ConnectionReleaseMode.AFTER_TRANSACTION. This setting should not be used in JTA environments. Also note that with ConnectionReleaseMode.AFTER_TRANSACTION, if a session is considered to be in auto-commit mode connections will be released as if the release mode were AFTER_STATEMENT."
-msgstr "<literal>after_statement</literal> - indique d'utiliser ConnectionReleaseMode.AFTER_STATEMENT. Additonnellement, le <literal>ConnectionProvider</literal> utilisé est consulté pour savoir s'il supporte ce paramétrage (<literal>supportsAggressiveRelease()</literal>). Si ce n'est pas le cas, le mode de libération est ré initialisé à ConnectionReleaseMode.AFTER_TRANSACTION. Ce paramétrage n'est sûr que dans les environnements où il est possible d'obtenir à nouveau la même connexion JDBC à chaque fois que l'on fait un appel de <literal>ConnectionProvider.getConnection()</literal> ou dans les envrionnements auto-commit où il n'est pas important d'obtenir plusieurs fois la même connexion."
+#. Tag: para
+#: transactions.xml:981
+#, no-c-format
+msgid ""
+"<literal>after_transaction</literal> - says to use ConnectionReleaseMode."
+"AFTER_TRANSACTION. This setting should not be used in JTA environments. Also "
+"note that with ConnectionReleaseMode.AFTER_TRANSACTION, if a session is "
+"considered to be in auto-commit mode connections will be released as if the "
+"release mode were AFTER_STATEMENT."
+msgstr ""
+"<literal>after_transaction</literal> - indique d'utiliser "
+"ConnectionReleaseMode.AFTER_TRANSACTION. Ne devrait pas être utilisé dans "
+"les environnements JTA. Notez aussi qu'avec ConnectionReleaseMode."
+"AFTER_TRANSACTION, si une session est considérée comme étant en mode auto-"
+"commit les connexions seront relachées comme si le mode était "
+"AFTER_STATEMENT."
 
-#: index.docbook:989
-msgid "<literal>after_statement</literal> - says to use ConnectionReleaseMode.AFTER_STATEMENT. Additionally, the configured <literal>ConnectionProvider</literal> is consulted to see if it supports this setting (<literal>supportsAggressiveRelease()</literal>). If not, the release mode is reset to ConnectionReleaseMode.AFTER_TRANSACTION. This setting is only safe in environments where we can either re-acquire the same underlying JDBC connection each time we make a call into <literal>ConnectionProvider.getConnection()</literal> or in auto-commit environments where it does not matter whether we get back the same connection."
+#. Tag: para
+#: transactions.xml:989
+#, no-c-format
+msgid ""
+"<literal>after_statement</literal> - says to use ConnectionReleaseMode."
+"AFTER_STATEMENT. Additionally, the configured <literal>ConnectionProvider</"
+"literal> is consulted to see if it supports this setting "
+"(<literal>supportsAggressiveRelease()</literal>). If not, the release mode "
+"is reset to ConnectionReleaseMode.AFTER_TRANSACTION. This setting is only "
+"safe in environments where we can either re-acquire the same underlying JDBC "
+"connection each time we make a call into <literal>ConnectionProvider."
+"getConnection()</literal> or in auto-commit environments where it does not "
+"matter whether we get back the same connection."
 msgstr ""
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+"<literal>after_statement</literal> - indique d'utiliser "
+"ConnectionReleaseMode.AFTER_STATEMENT. Additonnellement, le "
+"<literal>ConnectionProvider</literal> utilisé est consulté pour savoir s'il "
+"supporte ce paramétrage (<literal>supportsAggressiveRelease()</literal>). Si "
+"ce n'est pas le cas, le mode de libération est ré initialisé à "
+"ConnectionReleaseMode.AFTER_TRANSACTION. Ce paramétrage n'est sûr que dans "
+"les environnements où il est possible d'obtenir à nouveau la même connexion "
+"JDBC à chaque fois que l'on fait un appel de <literal>ConnectionProvider."
+"getConnection()</literal> ou dans les envrionnements auto-commit où il n'est "
+"pas important d'obtenir plusieurs fois la même connexion."

Modified: core/trunk/documentation/manual/translations/fr-FR/content/tutorial.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/tutorial.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/tutorial.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,1891 +1,2850 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:48+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:7
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: tutorial.xml:7
+#, no-c-format
 msgid "Introduction to Hibernate"
 msgstr "Introduction à Hibernate"
 
-#: index.docbook:10
+#. Tag: title
+#: tutorial.xml:10
+#, no-c-format
 msgid "Preface"
 msgstr "Préface"
 
-#: index.docbook:12
-msgid "This chapter is an introductory tutorial for new users of Hibernate. We start with a simple command line application using an in-memory database and develop it in easy to understand steps."
-msgstr "Ce chapitre est un didacticiel introductif destiné aux nouveaux utilisateurs d'Hibernate. Nous commençons avec une simple application en ligne de commande utilisant une base de données en mémoire, et la développons en étapes faciles à comprendre."
+#. Tag: para
+#: tutorial.xml:12
+#, no-c-format
+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 ""
+"Ce chapitre est un didacticiel introductif destiné aux nouveaux utilisateurs "
+"d'Hibernate. Nous commençons avec une simple application en ligne de "
+"commande utilisant une base de données en mémoire, et la développons en "
+"étapes faciles à comprendre."
 
-#: index.docbook:18
-msgid "This tutorial is intended for new users of Hibernate but requires Java and SQL knowledge. It is based on a tutorial by Michael Gloegl, the third-party libraries we name are for JDK 1.4 and 5.0. You might need others for JDK 1.3."
-msgstr "Ce didacticiel est destiné aux nouveaux utilisateurs d'Hibernate mais requiert des connaissances Java et SQL. Il est basé sur un didacticiel de Michael Gloegl, les bibliothèques tierces que nous nommons sont pour les JDK 1.4 et 5.0. Vous pourriez avoir besoin d'autres bibliothèques pour le JDK 1.3."
+#. Tag: para
+#: tutorial.xml:18
+#, no-c-format
+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 ""
+"Ce didacticiel est destiné aux nouveaux utilisateurs d'Hibernate mais "
+"requiert des connaissances Java et SQL. Il est basé sur un didacticiel de "
+"Michael Gloegl, les bibliothèques tierces que nous nommons sont pour les JDK "
+"1.4 et 5.0. Vous pourriez avoir besoin d'autres bibliothèques pour le JDK "
+"1.3."
 
-#: index.docbook:24
-msgid "The source code for the tutorial is included in the distribution in the <literal>doc/reference/tutorial/</literal> directory."
-msgstr "Le code source de ce tutoriel est inclus dans la distribution dans le répertoire <literal>doc/reference/tutorial/</literal>."
+#. Tag: para
+#: tutorial.xml:24
+#, no-c-format
+msgid ""
+"The source code for the tutorial is included in the distribution in the "
+"<literal>doc/reference/tutorial/</literal> directory."
+msgstr ""
+"Le code source de ce tutoriel est inclus dans la distribution dans le "
+"répertoire <literal>doc/reference/tutorial/</literal>."
 
-#: index.docbook:32
+#. Tag: title
+#: tutorial.xml:32
+#, no-c-format
 msgid "Part 1 - The first Hibernate Application"
 msgstr "Partie 1 - Première application Hibernate"
 
-#: index.docbook:34
-msgid "First, we'll create a simple console-based Hibernate application. We use an Java database (HSQL DB), so we do not have to install any database server."
-msgstr "D'abord, nous créerons une simple application Hibernate en console. Nous utilisons une base de données en mémoire (HSQL DB), donc nous n'avons pas à installer de serveur de base de données."
+#. Tag: para
+#: tutorial.xml:34
+#, no-c-format
+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 ""
+"D'abord, nous créerons une simple application Hibernate en console. Nous "
+"utilisons une base de données en mémoire (HSQL DB), donc nous n'avons pas à "
+"installer de serveur de base de données."
 
-#: index.docbook:39
-msgid "Let's assume we need a small database application that can store events we want to attend, and information about the hosts of these events."
-msgstr "Supposons que nous ayons besoin d'une petite application de base de données qui puisse stocker des événements que nous voulons suivre, et des informations à propos des hôtes de ces événements."
+#. Tag: para
+#: tutorial.xml:39
+#, no-c-format
+msgid ""
+"Let's assume we need a small database application that can store events we "
+"want to attend, and information about the hosts of these events."
+msgstr ""
+"Supposons que nous ayons besoin d'une petite application de base de données "
+"qui puisse stocker des événements que nous voulons suivre, et des "
+"informations à propos des hôtes de ces événements."
 
-#: index.docbook:44
-msgid "The first thing we do, is set up our development directory and put all the Java libraries we need into it. Download the Hibernate distribution from the 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 première chose que nous faisons est de configurer notre répertoire de développement et de mettre toutes les bibliothèques dont nous avons besoin dedans. Téléchargez la distribution Hibernate à partir du site web d'Hibernate. Extrayez le paquet et placez toutes les bibliothèques requises trouvées dans <literal>/lib</literal> dans le répertoire <literal>/lib</literal> de votre nouveau répertoire de travail. Il devrait ressembler à ça :"
+#. Tag: para
+#: tutorial.xml:44
+#, no-c-format
+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 première chose que nous faisons est de configurer notre répertoire de "
+"développement et de mettre toutes les bibliothèques dont nous avons besoin "
+"dedans. Téléchargez la distribution Hibernate à partir du site web "
+"d'Hibernate. Extrayez le paquet et placez toutes les bibliothèques requises "
+"trouvées dans <literal>/lib</literal> dans le répertoire <literal>/lib</"
+"literal> de votre nouveau répertoire de travail. Il devrait ressembler à ça :"
 
-#: index.docbook:52
+#. Tag: programlisting
+#: tutorial.xml:52
+#, no-c-format
 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 ]]>"
+"<![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 ]]>"
 
-#: index.docbook:54
-msgid "This is the minimum set of required libraries (note that we also copied hibernate3.jar, the main archive) for Hibernate <emphasis>at the time of 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 "Ceci est l'ensemble minimum de bibliothèques requises (notez que nous avons aussi copié hibernate3.jar, l'archive principale) pour Hibernate. Lisez le fichier <literal>README.txt</literal> dans le répertoire <literal>lib/</literal> de la distribution Hibernate pour plus d'informations à propos des biliothèques tierces requises et optionnelles. (En fait, log4j n'est pas requis mais préféré par beaucoup de développeurs.)"
+#. Tag: para
+#: tutorial.xml:54
+#, no-c-format
+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 ""
+"Ceci est l'ensemble minimum de bibliothèques requises (notez que nous avons "
+"aussi copié hibernate3.jar, l'archive principale) pour Hibernate. Lisez le "
+"fichier <literal>README.txt</literal> dans le répertoire <literal>lib/</"
+"literal> de la distribution Hibernate pour plus d'informations à propos des "
+"biliothèques tierces requises et optionnelles. (En fait, log4j n'est pas "
+"requis mais préféré par beaucoup de développeurs.)"
 
-#: index.docbook:63
-msgid "Next we create a class that represents the event we want to store in database."
-msgstr "Ensuite, nous créons une classe qui réprésente l'événement que nous voulons stocker dans notre base de données."
+#. Tag: para
+#: tutorial.xml:63
+#, no-c-format
+msgid ""
+"Next we create a class that represents the event we want to store in "
+"database."
+msgstr ""
+"Ensuite, nous créons une classe qui réprésente l'événement que nous voulons "
+"stocker dans notre base de données."
 
-#: index.docbook:68
+#. Tag: title
+#: tutorial.xml:68
+#, no-c-format
 msgid "The first class"
 msgstr "La première classe"
 
-#: index.docbook:70
-msgid "Our first persistent class is a simple JavaBean class with some properties:"
-msgstr "Notre première classe persistante est une simple classe JavaBean avec quelques propriétés :"
+#. Tag: para
+#: tutorial.xml:70
+#, no-c-format
+msgid ""
+"Our first persistent class is a simple JavaBean class with some properties:"
+msgstr ""
+"Notre première classe persistante est une simple classe JavaBean avec "
+"quelques propriétés :"
 
-#: index.docbook:74
+#. Tag: programlisting
+#: tutorial.xml:74
+#, no-c-format
 msgid ""
-      "<![CDATA[package events;\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"
-      "}]]>"
+"<![CDATA[package events;\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[package events;\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"
-      "}]]>"
 
-#: index.docbook:76
-msgid "You can see that this class uses standard JavaBean naming conventions for property getter and setter methods, as well as private visibility for the fields. This is a recommended design - but not required. Hibernate can also access fields directly, the benefit of accessor methods is robustness for refactoring. The no-argument constructor is required to instantiate an object of this class through reflection."
-msgstr "Vous pouvez voir que cette classe utilise les conventions de nommage standard JavaBean pour les méthodes getter/setter des propriétés, ainsi qu'une visibilité privée pour les champs. Ceci est la conception recommandée - mais pas obligatoire. Hibernate peut aussi accéder aux champs directement, le bénéfice des méthodes d'accès est la robustesse pour la refonte de code. Le constructeur sans argument est requis pour instancier un objet de cette classe via reflexion."
+#. Tag: para
+#: tutorial.xml:76
+#, no-c-format
+msgid ""
+"You can see that this class uses standard JavaBean naming conventions for "
+"property getter and setter methods, as well as private visibility for the "
+"fields. This is a recommended design - but not required. Hibernate can also "
+"access fields directly, the benefit of accessor methods is robustness for "
+"refactoring. The no-argument constructor is required to instantiate an "
+"object of this class through reflection."
+msgstr ""
+"Vous pouvez voir que cette classe utilise les conventions de nommage "
+"standard JavaBean pour les méthodes getter/setter des propriétés, ainsi "
+"qu'une visibilité privée pour les champs. Ceci est la conception recommandée "
+"- mais pas obligatoire. Hibernate peut aussi accéder aux champs directement, "
+"le bénéfice des méthodes d'accès est la robustesse pour la refonte de code. "
+"Le constructeur sans argument est requis pour instancier un objet de cette "
+"classe via reflexion."
 
-#: index.docbook:84
-msgid "The <literal>id</literal> property holds a unique identifier value for a particular event. All persistent entity classes (there are less important dependent classes as well) will need such an identifier property if we want to use the full feature set of Hibernate. In fact, most applications (esp. web applications) need to distinguish objects by identifier, so you should consider this a feature rather than a limitation. However, we usually don't manipulate the identity of an object, hence the setter method should be private. Only Hibernate will assign identifiers when an object is saved. You can see that Hibernate can access public, private, and protected accessor methods, as well as (public, private, protected) fields directly. The choice is up to you and you can match it to fit your application design."
-msgstr "La propriété <literal>id</literal> contient la valeur d'un identifiant unique pour un événement particulier. Toutes les classes d'entités persistantes (ainsi que les classes dépendantes de moindre importance) auront besoin d'une telle propriété identifiante si nous voulons utiliser l'ensemble complet des fonctionnalités d'Hibernate. En fait, la plupart des applications (surtout les applications web) ont besoin de distinguer des objets par des identifiants, donc vous devriez considérer ça comme une fonctionnalité plutôt que comme une limitation. Cependant, nous ne manipulons généralement pas l'identité d'un objet, dorénavant la méthode setter devrait être privée. Seul Hibernate assignera les identifiants lorsqu'un objet est sauvegardé. Vous pouvez voir qu'Hibernate peut accéder aux méthodes publiques, privées et protégées, ainsi qu'aux champs (publics, privés, protégés) directement. Le choix vous est laissé, et vous pouvez l'ajuster à l!
 a conception de votre application."
+#. Tag: para
+#: tutorial.xml:84
+#, 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 "
+"dependent classes as well) will need such an identifier property if we want "
+"to use the full feature set of Hibernate. In fact, most applications (esp. "
+"web applications) need to distinguish objects by identifier, so you should "
+"consider this a feature rather than a limitation. However, we usually don't "
+"manipulate the identity of an object, hence the setter method should be "
+"private. Only Hibernate will assign identifiers when an object is saved. You "
+"can see that Hibernate can access public, private, and protected accessor "
+"methods, as well as (public, private, protected) fields directly. The choice "
+"is up to you and you can match it to fit your application design."
+msgstr ""
+"La propriété <literal>id</literal> contient la valeur d'un identifiant "
+"unique pour un événement particulier. Toutes les classes d'entités "
+"persistantes (ainsi que les classes dépendantes de moindre importance) "
+"auront besoin d'une telle propriété identifiante si nous voulons utiliser "
+"l'ensemble complet des fonctionnalités d'Hibernate. En fait, la plupart des "
+"applications (surtout les applications web) ont besoin de distinguer des "
+"objets par des identifiants, donc vous devriez considérer ça comme une "
+"fonctionnalité plutôt que comme une limitation. Cependant, nous ne "
+"manipulons généralement pas l'identité d'un objet, dorénavant la méthode "
+"setter devrait être privée. Seul Hibernate assignera les identifiants "
+"lorsqu'un objet est sauvegardé. Vous pouvez voir qu'Hibernate peut accéder "
+"aux méthodes publiques, privées et protégées, ainsi qu'aux champs (publics, "
+"privés, protégés) directement. Le choix vous est laissé, et vous pouvez "
+"l'ajuster à la conception de votre application."
 
-#: index.docbook:96
-msgid "The no-argument constructor is a requirement for all persistent classes; Hibernate has to create objects for you, using Java Reflection. The constructor can be private, however, package visibility is required for runtime proxy generation and efficient data retrieval without bytecode instrumentation."
-msgstr "Le constructeur sans argument est requis pour toutes les classes persistantes ; Hibernate doit créer des objets pour vous en utilisant la réflexion Java. Le constructeur peut être privé, cependant, la visibilité du paquet est requise pour la génération de proxy à l'exécution et une récupération des données efficaces sans instrumentation du bytecode."
+#. Tag: para
+#: tutorial.xml:96
+#, 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 "
+"constructor can be private, however, package visibility is required for "
+"runtime proxy generation and efficient data retrieval without bytecode "
+"instrumentation."
+msgstr ""
+"Le constructeur sans argument est requis pour toutes les classes "
+"persistantes ; Hibernate doit créer des objets pour vous en utilisant la "
+"réflexion Java. Le constructeur peut être privé, cependant, la visibilité du "
+"paquet est requise pour la génération de proxy à l'exécution et une "
+"récupération des données efficaces sans instrumentation du bytecode."
 
-#: index.docbook:103
-msgid "Place this Java source file in a directory called <literal>src</literal> in the development folder, and in its correct package. The directory should now look like this:"
-msgstr "Placez ce fichier source Java dans un répertoire appelé <literal>src</literal> dans le dossier de développement. Ce répertoire devrait maintenant ressembler à ça :"
+#. Tag: para
+#: tutorial.xml:103
+#, no-c-format
+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 ""
+"Placez ce fichier source Java dans un répertoire appelé <literal>src</"
+"literal> dans le dossier de développement. Ce répertoire devrait maintenant "
+"ressembler à ça :"
 
-#: index.docbook:108
+#. Tag: programlisting
+#: tutorial.xml:108
+#, no-c-format
 msgid ""
-      "<![CDATA[.\n"
-      "+lib\n"
-      "  <Hibernate and third-party libraries>\n"
-      "+src\n"
-      "  +events\n"
-      "    Event.java]]>"
+"<![CDATA[.\n"
+"+lib\n"
+"  <Hibernate and third-party libraries>\n"
+"+src\n"
+"  +events\n"
+"    Event.java]]>"
 msgstr ""
-      "<![CDATA[.\n"
-      "+lib\n"
-      "  <Hibernate et bibliothèques tierces>\n"
-      "+src\n"
-      "  +events\n"
-      "    Event.java]]>"
 
-#: index.docbook:110
+#. Tag: para
+#: tutorial.xml:110
+#, no-c-format
 msgid "In the next step, we tell Hibernate about this persistent class."
-msgstr "Dans la prochaine étape, nous informons Hibernate de cette classe persistante."
+msgstr ""
+"Dans la prochaine étape, nous informons Hibernate de cette classe "
+"persistante."
 
-#: index.docbook:117
+#. Tag: title
+#: tutorial.xml:117
+#, no-c-format
 msgid "The mapping file"
 msgstr "Le fichier de mapping"
 
-#: index.docbook:119
-msgid "Hibernate needs to know how to load and store objects of the persistent class. This is where the Hibernate mapping file comes into play. The mapping file tells Hibernate what table in the database it has to access, and what columns in that table it should use."
-msgstr "Hibernate a besoin de savoir comment charger et stocker des objets d'une classe persistante. C'est là qu'intervient le fichier de mapping Hibernate. Le fichier de mapping indique à Hibernate à quelle table dans la base de données il doit accéder, et quelles colonnes de cette table il devra utiliser."
+#. Tag: para
+#: tutorial.xml:119
+#, no-c-format
+msgid ""
+"Hibernate needs to know how to load and store objects of the persistent "
+"class. This is where the Hibernate mapping file comes into play. The mapping "
+"file tells Hibernate what table in the database it has to access, and what "
+"columns in that table it should use."
+msgstr ""
+"Hibernate a besoin de savoir comment charger et stocker des objets d'une "
+"classe persistante. C'est là qu'intervient le fichier de mapping Hibernate. "
+"Le fichier de mapping indique à Hibernate à quelle table dans la base de "
+"données il doit accéder, et quelles colonnes de cette table il devra "
+"utiliser."
 
-#: index.docbook:126
+#. Tag: para
+#: tutorial.xml:126
+#, no-c-format
 msgid "The basic structure of a mapping file looks like this:"
 msgstr "La structure basique de ce fichier de mapping ressemble à ça :"
 
-#: index.docbook:130
+#. Tag: programlisting
+#: tutorial.xml:130
+#, 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>\n"
-      "[...]\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+"        \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+"        \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping>\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>]]>"
 
-#: index.docbook:132
-msgid "Note that the Hibernate DTD is very sophisticated. You can use it for auto-completion of XML mapping elements and attributes in your editor or IDE. You also should open up the DTD file in your text editor - it's the easiest way to get an overview of all elements and attributes and to see the defaults, as well as some comments. Note that Hibernate will not load the DTD file from the web, but first look it up from the classpath of the application. The DTD file is included in <literal>hibernate3.jar</literal> as well as in the <literal>src/</literal> directory of the Hibernate distribution."
-msgstr "Notez que la DTD Hibernate est très sophistiquée. Vous pouvez l'utiliser pour l'auto-complétement des éléments et des attributs de mapping XML dans votre éditeur ou votre IDE. Vous devriez aussi ouvrir le fichier DTD dans votre éditeur de texte - c'est le moyen le plus facile d'obtenir une vue d'ensemble de tous les éléments et attributs, et de voir les valeurs par défaut, ainsi que quelques commentaires. Notez qu'Hibernate ne chargera pas le fichier DTD à partir du web, mais regardera d'abord dans le classpath de l'application. Le fichier DTD est inclus dans <literal>hibernate3.jar</literal> ainsi que dans le répertoire <literal>src</literal> de la distribution Hibernate."
+#. Tag: para
+#: tutorial.xml:132
+#, no-c-format
+msgid ""
+"Note that the Hibernate DTD is very sophisticated. You can use it for auto-"
+"completion of XML mapping elements and attributes in your editor or IDE. You "
+"also should open up the DTD file in your text editor - it's the easiest way "
+"to get an overview of all elements and attributes and to see the defaults, "
+"as well as some comments. Note that Hibernate will not load the DTD file "
+"from the web, but first look it up from the classpath of the application. "
+"The DTD file is included in <literal>hibernate3.jar</literal> as well as in "
+"the <literal>src/</literal> directory of the Hibernate distribution."
+msgstr ""
+"Notez que la DTD Hibernate est très sophistiquée. Vous pouvez l'utiliser "
+"pour l'auto-complétement des éléments et des attributs de mapping XML dans "
+"votre éditeur ou votre IDE. Vous devriez aussi ouvrir le fichier DTD dans "
+"votre éditeur de texte - c'est le moyen le plus facile d'obtenir une vue "
+"d'ensemble de tous les éléments et attributs, et de voir les valeurs par "
+"défaut, ainsi que quelques commentaires. Notez qu'Hibernate ne chargera pas "
+"le fichier DTD à partir du web, mais regardera d'abord dans le classpath de "
+"l'application. Le fichier DTD est inclus dans <literal>hibernate3.jar</"
+"literal> ainsi que dans le répertoire <literal>src</literal> de la "
+"distribution Hibernate."
 
-#: index.docbook:143
-msgid "We will omit the DTD declaration in future examples to shorten the code. It is of course not optional."
-msgstr "Nous omettrons la déclaration de la DTD dans les exemples futurs pour raccourcir le code. Bien sûr il n'est pas optionnel."
+#. Tag: para
+#: tutorial.xml:143
+#, no-c-format
+msgid ""
+"We will omit the DTD declaration in future examples to shorten the code. It "
+"is of course not optional."
+msgstr ""
+"Nous omettrons la déclaration de la DTD dans les exemples futurs pour "
+"raccourcir le code. Bien sûr il n'est pas optionnel."
 
-#: index.docbook:148
-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 such a mapping, to a table in the SQL database:"
-msgstr "Entre les deux balises <literal>hibernate-mapping</literal>, incluez un élément <literal>class</literal>. Toutes les classes d'entités persistantes (encore une fois, il pourrait y avoir des classes dépendantes plus tard, qui ne sont pas des entités mère) ont besoin d'un mapping vers une table de la base de données SQL :"
+#. Tag: para
+#: tutorial.xml:148
+#, 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 such a mapping, to a table in the SQL database:"
+msgstr ""
+"Entre les deux balises <literal>hibernate-mapping</literal>, incluez un "
+"élément <literal>class</literal>. Toutes les classes d'entités persistantes "
+"(encore une fois, il pourrait y avoir des classes dépendantes plus tard, qui "
+"ne sont pas des entités mère) ont besoin d'un mapping vers une table de la "
+"base de données SQL :"
 
-#: index.docbook:155
+#. Tag: programlisting
+#: tutorial.xml:155
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"events.Event\" table=\"EVENTS\">\n"
-      "\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+"    <class name=\"events.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>]]>"
 
-#: index.docbook:157
-msgid "So far we told Hibernate how to persist and load object of class <literal>Event</literal> to the table <literal>EVENTS</literal>, each instance represented by a row in that table. Now we continue with a mapping of the unique identifier property to the tables primary key. In addition, as we don't want to care about handling this identifier, we configure Hibernate's identifier generation strategy for a surrogate primary key column:"
-msgstr "Plus loin, nous disons à Hibernate comment persister et charger un objet de la classe <literal>Event</literal> dans la table <literal>EVENTS</literal>, chaque instance est représentée par une ligne dans cette table. Maintenant nous continuons avec le mapping de la propriété de l'identifiant unique vers la clef primaire de la table. De plus, comme nous ne voulons pas nous occuper de la gestion de cet identifiant, nous utilisons une stratégie de génération d'identifiant d'Hibernate pour la colonne de la clef primaire subrogée :"
+#. Tag: para
+#: tutorial.xml:157
+#, no-c-format
+msgid ""
+"So far we told Hibernate how to persist and load object of class "
+"<literal>Event</literal> to the table <literal>EVENTS</literal>, each "
+"instance represented by a row in that table. Now we continue with a mapping "
+"of the unique identifier property to the tables primary key. In addition, as "
+"we don't want to care about handling this identifier, we configure "
+"Hibernate's identifier generation strategy for a surrogate primary key "
+"column:"
+msgstr ""
+"Plus loin, nous disons à Hibernate comment persister et charger un objet de "
+"la classe <literal>Event</literal> dans la table <literal>EVENTS</literal>, "
+"chaque instance est représentée par une ligne dans cette table. Maintenant "
+"nous continuons avec le mapping de la propriété de l'identifiant unique vers "
+"la clef primaire de la table. De plus, comme nous ne voulons pas nous "
+"occuper de la gestion de cet identifiant, nous utilisons une stratégie de "
+"génération d'identifiant d'Hibernate pour la colonne de la clef primaire "
+"subrogée :"
 
-#: index.docbook:165
+#. Tag: programlisting
+#: tutorial.xml:165
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"events.Event\" table=\"EVENTS\">\n"
-      "        <id name=\"id\" column=\"EVENT_ID\">\n"
-      "            <generator class=\"native\"/>\n"
-      "        </id>\n"
-      "    </class>\n"
-      "\n"
-      "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+"    <class name=\"events.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>]]>"
 
-#: index.docbook:167
-msgid "The <literal>id</literal> element is the declaration of the identifer property, <literal>name=\"id\"</literal> declares the name of the Java 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 "L'élément <literal>id</literal> est la déclaration de la propriété de l'identifiant, <literal>name=\"id\"</literal> déclare le nom de la propriété Java - Hibernate utilisera les méthodes getter et setter pour accéder à la propriété. L'attribut <literal>column</literal> indique à Hibernate quelle colonne de la table <literal>EVENTS</literal> nous utilisons pour cette clef primaire. L'élément <literal>generator</literal> imbriqué spécifie la stratégie de génération de l'identifiant, dans ce cas nous avons utilisé <literal>increment</literal>, laquelle est une méthode très simple utile surtout pour les tests (et didacticiels). Hibernate supporte aussi les identifiants générés par les bases de données, globalement uniques, ainsi que les identifiants assignés par l'application (ou n'importe quelle stratégie que vous avez écrit en extension)."
+#. Tag: para
+#: tutorial.xml:167
+#, no-c-format
+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 ""
+"L'élément <literal>id</literal> est la déclaration de la propriété de "
+"l'identifiant, <literal>name=\"id\"</literal> déclare le nom de la propriété "
+"Java - Hibernate utilisera les méthodes getter et setter pour accéder à la "
+"propriété. L'attribut <literal>column</literal> indique à Hibernate quelle "
+"colonne de la table <literal>EVENTS</literal> nous utilisons pour cette clef "
+"primaire. L'élément <literal>generator</literal> imbriqué spécifie la "
+"stratégie de génération de l'identifiant, dans ce cas nous avons utilisé "
+"<literal>increment</literal>, laquelle est une méthode très simple utile "
+"surtout pour les tests (et didacticiels). Hibernate supporte aussi les "
+"identifiants générés par les bases de données, globalement uniques, ainsi "
+"que les identifiants assignés par l'application (ou n'importe quelle "
+"stratégie que vous avez écrit en extension)."
 
-#: index.docbook:180
-msgid "Finally we include declarations for the persistent properties of the class in the mapping file. By default, no properties of the class are considered persistent:"
-msgstr "Finalement nous incluons des déclarations pour les propriétés persistantes de la classe dans le fichier de mapping. Par défaut, aucune propriété de la classe n'est considérée comme persistante :"
+#. Tag: para
+#: tutorial.xml:180
+#, no-c-format
+msgid ""
+"Finally we include declarations for the persistent properties of the class "
+"in the mapping file. By default, no properties of the class are considered "
+"persistent:"
+msgstr ""
+"Finalement nous incluons des déclarations pour les propriétés persistantes "
+"de la classe dans le fichier de mapping. Par défaut, aucune propriété de la "
+"classe n'est considérée comme persistante :"
 
-#: index.docbook:186
+#. Tag: programlisting
+#: tutorial.xml:186
+#, no-c-format
 msgid ""
-      "<![CDATA[\n"
-      "<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"events.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>]]>"
+"<![CDATA[\n"
+"<hibernate-mapping>\n"
+"\n"
+"    <class name=\"events.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>]]>"
 
-#: index.docbook:188
-msgid "Just as with the <literal>id</literal> element, the <literal>name</literal> attribute of the <literal>property</literal> element tells Hibernate which getter and setter methods to use. So, in this case, Hibernate will look for <literal>getDate()/setDate()</literal>, as well as <literal>getTitle()/setTitle()</literal>."
-msgstr "Comme avec l'élément <literal>id</literal>, l'attribut <literal>name</literal> de l'élément <literal>property</literal> indique à Hibernate quels getters/setters utiliser."
+#. Tag: para
+#: tutorial.xml:188
+#, no-c-format
+msgid ""
+"Just as with the <literal>id</literal> element, the <literal>name</literal> "
+"attribute of the <literal>property</literal> element tells Hibernate which "
+"getter and setter methods to use. So, in this case, Hibernate will look for "
+"<literal>getDate()/setDate()</literal>, as well as <literal>getTitle()/"
+"setTitle()</literal>."
+msgstr ""
+"Comme avec l'élément <literal>id</literal>, l'attribut <literal>name</"
+"literal> de l'élément <literal>property</literal> indique à Hibernate quels "
+"getters/setters utiliser."
 
-#: index.docbook:195
-msgid "Why does the <literal>date</literal> property mapping include the <literal>column</literal> attribute, but the <literal>title</literal> doesn't? Without the <literal>column</literal> attribute Hibernate by default uses the property name as the column name. This works fine for <literal>title</literal>. However, <literal>date</literal> is a reserved keyword in most database, so we better map it to a different name."
-msgstr "Pourquoi le mapping de la propriété <literal>date</literal> inclut l'attribut <literal>column</literal>, mais pas <literal>title</literal> ? Sans l'attribut <literal>column</literal> Hibernate utilise par défaut le nom de la propriété comme nom de colonne. Ca fonctionne bien pour <literal>title</literal>. Cependant, <literal>date</literal> est un mot clef réservé dans la plupart des bases de données, donc nous utilisons un nom différent pour le mapping."
+#. Tag: para
+#: tutorial.xml:195
+#, no-c-format
+msgid ""
+"Why does the <literal>date</literal> property mapping include the "
+"<literal>column</literal> attribute, but the <literal>title</literal> "
+"doesn't? Without the <literal>column</literal> attribute Hibernate by "
+"default uses the property name as the column name. This works fine for "
+"<literal>title</literal>. However, <literal>date</literal> is a reserved "
+"keyword in most database, so we better map it to a different name."
+msgstr ""
+"Pourquoi le mapping de la propriété <literal>date</literal> inclut "
+"l'attribut <literal>column</literal>, mais pas <literal>title</literal> ? "
+"Sans l'attribut <literal>column</literal> Hibernate utilise par défaut le "
+"nom de la propriété comme nom de colonne. Ca fonctionne bien pour "
+"<literal>title</literal>. Cependant, <literal>date</literal> est un mot clef "
+"réservé dans la plupart des bases de données, donc nous utilisons un nom "
+"différent pour le mapping."
 
-#: index.docbook:204
-msgid "The next interesting thing is that the <literal>title</literal> mapping also lacks a <literal>type</literal> attribute. The types we declare and use in the mapping files are not, as you might expect, Java data types. They are also not SQL database types. These types are so called <emphasis>Hibernate mapping types</emphasis>, converters which can translate from Java to SQL data types and vice versa. Again, Hibernate will try to determine the correct conversion and mapping type itself if the <literal>type</literal> attribute is not present in the mapping. In some cases this automatic detection (using Reflection on the Java class) might not have the default you expect or need. This is the case with the <literal>date</literal> property. Hibernate can't know if the property (which is of <literal>java.util.Date</literal>) should map to a SQL <literal>date</literal>, <literal>timestamp</literal>, or <literal>time</literal> column. We preserve full date and time information !
 by mapping the property with a <literal>timestamp</literal> converter."
-msgstr "La prochaine chose intéressante est que le mapping de <literal>title</literal> manque aussi d'un attribut <literal>type</literal>. Les types que nous déclarons et utilisons dans les fichiers de mapping ne sont pas, comme vous pourriez vous y attendre, des types de données Java. Ce ne sont pas, non plus, des types de base de données SQL. Ces types sont donc appelés des <emphasis>types de mapping Hibernate</emphasis>, des convertisseurs qui peuvent traduire des types Java en types SQL et vice versa. De plus, Hibernate tentera de déterminer la bonne conversion et le type de mapping lui-même si l'attribut <literal>type</literal> n'est pas présent dans le mapping. Dans certains cas, cette détection automatique (utilisant la réflexion sur la classe Java) pourrait ne pas donner la valeur attendue ou dont vous avez besoin. C'est le cas avec la propriété <literal>date</literal>. Hibernate ne peut pas savoir si la propriété \"mappera\" une colonne SQL de type <l!
 iteral>date</literal>, <literal>timestamp</literal> ou <literal>time</literal>. Nous déclarons que nous voulons conserver des informations avec une date complète et l'heure en mappant la propriété avec un <literal>timestamp</literal>."
+#. Tag: para
+#: tutorial.xml:204
+#, no-c-format
+msgid ""
+"The next interesting thing is that the <literal>title</literal> mapping also "
+"lacks a <literal>type</literal> attribute. The types we declare and use in "
+"the mapping files are not, as you might expect, Java data types. They are "
+"also not SQL database types. These types are so called <emphasis>Hibernate "
+"mapping types</emphasis>, converters which can translate from Java to SQL "
+"data types and vice versa. Again, Hibernate will try to determine the "
+"correct conversion and mapping type itself if the <literal>type</literal> "
+"attribute is not present in the mapping. In some cases this automatic "
+"detection (using Reflection on the Java class) might not have the default "
+"you expect or need. This is the case with the <literal>date</literal> "
+"property. Hibernate can't know if the property (which is of <literal>java."
+"util.Date</literal>) should map to a SQL <literal>date</literal>, "
+"<literal>timestamp</literal>, or <literal>time</literal> column. We preserve "
+"full date and time information by mapping the property with a "
+"<literal>timestamp</literal> converter."
+msgstr ""
+"La prochaine chose intéressante est que le mapping de <literal>title</"
+"literal> manque aussi d'un attribut <literal>type</literal>. Les types que "
+"nous déclarons et utilisons dans les fichiers de mapping ne sont pas, comme "
+"vous pourriez vous y attendre, des types de données Java. Ce ne sont pas, "
+"non plus, des types de base de données SQL. Ces types sont donc appelés des "
+"<emphasis>types de mapping Hibernate</emphasis>, des convertisseurs qui "
+"peuvent traduire des types Java en types SQL et vice versa. De plus, "
+"Hibernate tentera de déterminer la bonne conversion et le type de mapping "
+"lui-même si l'attribut <literal>type</literal> n'est pas présent dans le "
+"mapping. Dans certains cas, cette détection automatique (utilisant la "
+"réflexion sur la classe Java) pourrait ne pas donner la valeur attendue ou "
+"dont vous avez besoin. C'est le cas avec la propriété <literal>date</"
+"literal>. Hibernate ne peut pas savoir si la propriété \"mappera\" une "
+"colonne SQL de type <literal>date</literal>, <literal>timestamp</literal> ou "
+"<literal>time</literal>. Nous déclarons que nous voulons conserver des "
+"informations avec une date complète et l'heure en mappant la propriété avec "
+"un <literal>timestamp</literal>."
 
-#: index.docbook:220
-msgid "This mapping file should be saved as <literal>Event.hbm.xml</literal>, right in the directory next to the <literal>Event</literal> Java class source 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 "Ce fichier de mapping devrait être sauvegardé en tant que <literal>Event.hbm.xml</literal>, juste dans le répertoire à côté du fichier source de la classe Java <literal>Event</literal>. Le nommage des fichiers de mapping peut être arbitraire, cependant le suffixe <literal>hbm.xml</literal> est devenu une convention dans la communauté des développeurs Hibernate. La structure du répertoire devrait ressembler à ça :"
+#. Tag: para
+#: tutorial.xml:220
+#, no-c-format
+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 ""
+"Ce fichier de mapping devrait être sauvegardé en tant que <literal>Event.hbm."
+"xml</literal>, juste dans le répertoire à côté du fichier source de la "
+"classe Java <literal>Event</literal>. Le nommage des fichiers de mapping "
+"peut être arbitraire, cependant le suffixe <literal>hbm.xml</literal> est "
+"devenu une convention dans la communauté des développeurs Hibernate. La "
+"structure du répertoire devrait ressembler à ça :"
 
-#: index.docbook:228
+#. Tag: programlisting
+#: tutorial.xml:228
+#, no-c-format
 msgid ""
-      "<![CDATA[.\n"
-      "+lib\n"
-      "  <Hibernate and third-party libraries>\n"
-      "+src\n"
-      "  +events\n"
-      "    Event.java\n"
-      "    Event.hbm.xml]]>"
+"<![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 et bibliothèques tierces>\n"
-      "+src\n"
-      "  Event.java\n"
-      "  Event.hbm.xml]]>"
 
-#: index.docbook:230
+#. Tag: para
+#: tutorial.xml:230
+#, no-c-format
 msgid "We continue with the main configuration of Hibernate."
 msgstr "Nous poursuivons avec la configuration principale d'Hibernate."
 
-#: index.docbook:237
+#. Tag: title
+#: tutorial.xml:237
+#, no-c-format
 msgid "Hibernate configuration"
 msgstr "Configuration d'Hibernate"
 
-#: index.docbook:239
-msgid "We now have a persistent class and its mapping file in place. It is time to configure Hibernate. Before we do this, we will need a database. HSQL DB, a 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 "Nous avons maintenant une classe persistante et son fichier de mapping. Il est temps de configurer Hibernate. Avant ça, nous avons besoin d'une base de données. HSQL DB, un SGBD SQL basé sur Java et travaillant en mémoire, peut être téléchargé à partir du site web de HSQL. En fait, vous avez seulement besoin de <literal>hsqldb.jar</literal>. Placez ce fichier dans le répertoire <literal>lib/</literal> du dossier de développement."
+#. Tag: para
+#: tutorial.xml:239
+#, no-c-format
+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 ""
+"Nous avons maintenant une classe persistante et son fichier de mapping. Il "
+"est temps de configurer Hibernate. Avant ça, nous avons besoin d'une base de "
+"données. HSQL DB, un SGBD SQL basé sur Java et travaillant en mémoire, peut "
+"être téléchargé à partir du site web de HSQL. En fait, vous avez seulement "
+"besoin de <literal>hsqldb.jar</literal>. Placez ce fichier dans le "
+"répertoire <literal>lib/</literal> du dossier de développement."
 
-#: index.docbook:247
-msgid "Create a directory called <literal>data</literal> in the root of the development directory - this is where HSQL DB will store its data files. Now start the database by running <literal>java -classpath ../lib/hsqldb.jar org.hsqldb.Server</literal> in this data directory. You can see it start up and bind to a TCP/IP socket, this is where our application will connect later. If you want to start with a fresh database during this tutorial, shutdown HSQL DB (press <literal>CTRL + C</literal> in the window), delete all files in the <literal>data/</literal> directory, and start HSQL DB again."
-msgstr "Créez un répertoire appelé <literal>data</literal> à la racine du répertoire de développement - c'est là que HSQL DB stockera ses fichiers de données. Démarrez maintenant votre base de données en exécutant <literal>java -classpath lib/hsqldb.jar org.hsqldb.Server</literal> dans votre répertoire de travail. Vous observez qu'elle démarre et ouvre une socket TCP/IP, c'est là que notre application se connectera plus tard. Si vous souhaitez démarrez à partir d'une nouvelle base de données pour ce tutoriel (faites <literal>CTRL + C</literal> dans la fenêtre the window), effacez le répertoire <literal>data/</literal> et redémarrez HSQL DB à nouveau."
+#. Tag: para
+#: tutorial.xml:247
+#, no-c-format
+msgid ""
+"Create a directory called <literal>data</literal> in the root of the "
+"development directory - this is where HSQL DB will store its data files. Now "
+"start the database by running <literal>java -classpath ../lib/hsqldb.jar org."
+"hsqldb.Server</literal> in this data directory. You can see it start up and "
+"bind to a TCP/IP socket, this is where our application will connect later. "
+"If you want to start with a fresh database during this tutorial, shutdown "
+"HSQL DB (press <literal>CTRL + C</literal> in the window), delete all files "
+"in the <literal>data/</literal> directory, and start HSQL DB again."
+msgstr ""
+"Créez un répertoire appelé <literal>data</literal> à la racine du répertoire "
+"de développement - c'est là que HSQL DB stockera ses fichiers de données. "
+"Démarrez maintenant votre base de données en exécutant <literal>java -"
+"classpath lib/hsqldb.jar org.hsqldb.Server</literal> dans votre répertoire "
+"de travail. Vous observez qu'elle démarre et ouvre une socket TCP/IP, c'est "
+"là que notre application se connectera plus tard. Si vous souhaitez démarrez "
+"à partir d'une nouvelle base de données pour ce tutoriel (faites "
+"<literal>CTRL + C</literal> dans la fenêtre the window), effacez le "
+"répertoire <literal>data/</literal> et redémarrez HSQL DB à nouveau."
 
-#: index.docbook:257
-msgid "Hibernate is the layer in your application which connects to this database, so it needs connection information. The connections are made through a JDBC 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 est la couche de votre application qui se connecte à cette base de données, donc il a besoin des informations de connexion. Les connexions sont établies à travers un pool de connexions JDBC, que nous devons aussi configurer. La distribution Hibernate contient différents outils de gestion de pools de connexions JDBC open source, mais pour ce didacticiel nous utiliserons le pool de connexions intégré à Hibernate. Notez que vous devez copier les bibliothèques requises dans votre classpath et utiliser une configuration de pool de connexions différente si vous voulez utiliser un logiciel de gestion de pools JDBC tiers avec une qualité de production."
+#. Tag: para
+#: tutorial.xml:257
+#, no-c-format
+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 est la couche de votre application qui se connecte à cette base de "
+"données, donc il a besoin des informations de connexion. Les connexions sont "
+"établies à travers un pool de connexions JDBC, que nous devons aussi "
+"configurer. La distribution Hibernate contient différents outils de gestion "
+"de pools de connexions JDBC open source, mais pour ce didacticiel nous "
+"utiliserons le pool de connexions intégré à Hibernate. Notez que vous devez "
+"copier les bibliothèques requises dans votre classpath et utiliser une "
+"configuration de pool de connexions différente si vous voulez utiliser un "
+"logiciel de gestion de pools JDBC tiers avec une qualité de production."
 
-#: index.docbook:267
-msgid "For Hibernate's configuration, we can use a simple <literal>hibernate.properties</literal> file, a slightly more sophisticated <literal>hibernate.cfg.xml</literal> file, or even complete programmatic setup. Most users prefer the XML configuration file:"
-msgstr "Pour la configuration d'Hibernate, nous pouvons utiliser un simple fichier <literal>hibernate.properties</literal>, un fichier <literal>hibernate.cfg.xml</literal> légèrement plus sophistiqué, ou même une configuration complète par programmation. La plupart des utilisateurs préfèrent le fichier de configuration XML :"
+#. Tag: para
+#: tutorial.xml:267
+#, no-c-format
+msgid ""
+"For Hibernate's configuration, we can use a simple <literal>hibernate."
+"properties</literal> file, a slightly more sophisticated <literal>hibernate."
+"cfg.xml</literal> file, or even complete programmatic setup. Most users "
+"prefer the XML configuration file:"
+msgstr ""
+"Pour la configuration d'Hibernate, nous pouvons utiliser un simple fichier "
+"<literal>hibernate.properties</literal>, un fichier <literal>hibernate.cfg."
+"xml</literal> légèrement plus sophistiqué, ou même une configuration "
+"complète par programmation. La plupart des utilisateurs préfèrent le fichier "
+"de configuration XML :"
 
-#: index.docbook:273
+#. Tag: programlisting
+#: tutorial.xml:273
+#, 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\">create</property>\n"
-      "\n"
-      "        <mapping resource=\"events/Event.hbm.xml\"/>\n"
-      "\n"
-      "    </session-factory>\n"
-      "\n"
-      "</hibernate-configuration>]]>"
+"<![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\">create</property>\n"
+"\n"
+"        <mapping resource=\"events/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: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\">create</property>\n"
-      "\n"
-      "        <mapping resource=\"events/Event.hbm.xml\"/>\n"
-      "\n"
-      "    </session-factory>\n"
-      "\n"
-      "</hibernate-configuration>]]>"
 
-#: index.docbook:275
-msgid "Note that this XML configuration uses a different DTD. We configure Hibernate's <literal>SessionFactory</literal> - a global factory responsible for a particular database. If you have several databases, use several <literal>&lt;session-factory&gt;</literal> configurations, usually in several configuration files (for easier startup)."
-msgstr "Notez que cette configuration XML utilise une DTD différente. Nous configurons une <literal>SessionFactory</literal> d'Hibernate - une fabrique globale responsable d'une base de données particulière. Si vous avez plusieurs base de données, utilisez plusieurs configurations <literal>&lt;session-factory&gt;</literal>, généralement dans des fichiers de configuration différents (pour un démarrage plus facile)."
+#. Tag: para
+#: tutorial.xml:275
+#, no-c-format
+msgid ""
+"Note that this XML configuration uses a different DTD. We configure "
+"Hibernate's <literal>SessionFactory</literal> - a global factory responsible "
+"for a particular database. If you have several databases, use several "
+"<literal>&lt;session-factory&gt;</literal> configurations, usually in "
+"several configuration files (for easier startup)."
+msgstr ""
+"Notez que cette configuration XML utilise une DTD différente. Nous "
+"configurons une <literal>SessionFactory</literal> d'Hibernate - une fabrique "
+"globale responsable d'une base de données particulière. Si vous avez "
+"plusieurs base de données, utilisez plusieurs configurations <literal>&lt;"
+"session-factory&gt;</literal>, généralement dans des fichiers de "
+"configuration différents (pour un démarrage plus facile)."
 
-#: index.docbook:283
-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. Hibernate's automatic session management for persistence contexts will come in handy as you will soon see. The <literal>hbm2ddl.auto</literal> option turns on automatic generation of database schemas - directly into the database. This can of course also be turned off (by removing the config option) or redirected to a file with the help of the <literal>SchemaExport</literal> Ant task. Finally, we add the mapping file(s) for persistent classes to the configuration."
-msgstr "Les quatre premiers éléments <literal>property</literal> contiennent la configuration nécessaire pour la connexion JDBC. L'élément <literal>property</literal> du dialecte spécifie quelle variante du SQL Hibernate va générer. La gestion automatique des sessions d'Hibernate pour les contextes de persistance sera détaillée très vite. L'option <literal>hbm2ddl.auto</literal> active la génération automatique des schémas de base de données - directement dans la base de données. Cela peut bien sûr aussi être désactivé (en supprimant l'option de configuration) ou redirigé vers un fichier avec l'aide de la tâche Ant <literal>SchemaExport</literal>. Finalement, nous ajoutons le(s) fichier(s) de mapping pour les classes persistantes."
+#. Tag: para
+#: tutorial.xml:283
+#, 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. "
+"Hibernate's automatic session management for persistence contexts will come "
+"in handy as you will soon see. The <literal>hbm2ddl.auto</literal> option "
+"turns on automatic generation of database schemas - directly into the "
+"database. This can of course also be turned off (by removing the config "
+"option) or redirected to a file with the help of the <literal>SchemaExport</"
+"literal> Ant task. Finally, we add the mapping file(s) for persistent "
+"classes to the configuration."
+msgstr ""
+"Les quatre premiers éléments <literal>property</literal> contiennent la "
+"configuration nécessaire pour la connexion JDBC. L'élément "
+"<literal>property</literal> du dialecte spécifie quelle variante du SQL "
+"Hibernate va générer. La gestion automatique des sessions d'Hibernate pour "
+"les contextes de persistance sera détaillée très vite. L'option "
+"<literal>hbm2ddl.auto</literal> active la génération automatique des schémas "
+"de base de données - directement dans la base de données. Cela peut bien sûr "
+"aussi être désactivé (en supprimant l'option de configuration) ou redirigé "
+"vers un fichier avec l'aide de la tâche Ant <literal>SchemaExport</literal>. "
+"Finalement, nous ajoutons le(s) fichier(s) de mapping pour les classes "
+"persistantes."
 
-#: index.docbook:296
-msgid "Copy this file into the source directory, so it will end up in the root of the classpath. Hibernate automatically looks for a file called <literal>hibernate.cfg.xml</literal> in the root of the classpath, on startup."
-msgstr "Copiez ce fichier dans le répertoire source, il terminera dans la racine du classpath. Hibernate cherchera automatiquement, au démarrage, un fichier appelé <literal>hibernate.cfg.xml</literal> dans la racine du classpath."
+#. Tag: para
+#: tutorial.xml:296
+#, no-c-format
+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 ""
+"Copiez ce fichier dans le répertoire source, il terminera dans la racine du "
+"classpath. Hibernate cherchera automatiquement, au démarrage, un fichier "
+"appelé <literal>hibernate.cfg.xml</literal> dans la racine du classpath."
 
-#: index.docbook:305
+#. Tag: title
+#: tutorial.xml:305
+#, no-c-format
 msgid "Building with Ant"
 msgstr "Construction avec Ant"
 
-#: index.docbook:307
-msgid "We'll now build the tutorial with Ant. You will need to have Ant installed - get it from the <ulink url=\"http://ant.apache.org/bindownload.cgi\">Ant 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 "Nous allons maintenant construire le didacticiel avec Ant. Vous aurez besoin d'avoir Ant d'installé - récupérez-le à partir de <ulink url=\"http://ant.apache.org/bindownload.cgi\"> la page de téléchargement de Ant</ulink>. Comment installer Ant ne sera pas couvert ici. Référez-vous au <ulink url=\"http://ant.apache.org/manual/index.html\">manuel d'Ant</ulink>. Après que vous aurez installé Ant, nous pourrons commencer à créer le fichier de construction. Il s'appellera <literal>build.xml</literal> et sera placé directement dans le répertoire de développement."
+#. Tag: para
+#: tutorial.xml:307
+#, no-c-format
+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 ""
+"Nous allons maintenant construire le didacticiel avec Ant. Vous aurez besoin "
+"d'avoir Ant d'installé - récupérez-le à partir de <ulink url=\"http://ant."
+"apache.org/bindownload.cgi\"> la page de téléchargement de Ant</ulink>. "
+"Comment installer Ant ne sera pas couvert ici. Référez-vous au <ulink url="
+"\"http://ant.apache.org/manual/index.html\">manuel d'Ant</ulink>. Après que "
+"vous aurez installé Ant, nous pourrons commencer à créer le fichier de "
+"construction. Il s'appellera <literal>build.xml</literal> et sera placé "
+"directement dans le répertoire de développement."
 
-#: index.docbook:316
+#. Tag: para
+#: tutorial.xml:316
+#, no-c-format
 msgid "A basic build file looks like this:"
 msgstr "Un fichier de construction basique ressemble à ça :"
 
-#: index.docbook:320
+#. Tag: programlisting
+#: tutorial.xml:320
+#, no-c-format
 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>]]>"
+"<![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 ""
-      "<![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>]]>"
 
-#: index.docbook:322
-msgid "This will tell Ant to add all files in the lib directory ending with <literal>.jar</literal> to the classpath used for compilation. It will also copy all non-Java source files to the target directory, e.g. configuration and Hibernate mapping files. If you now run Ant, you should get this output:"
-msgstr "Cela dira à Ant d'ajouter tous les fichiers du répertoire lib finissant par <literal>.jar</literal> dans le classpath utilisé pour la compilation. Cela copiera aussi tous les fichiers source non Java dans le répertoire cible, par exemple les fichiers de configuration et de mapping d'Hibernate. Si vous lancez Ant maintenant, vous devriez obtenir cette sortie :"
+#. Tag: para
+#: tutorial.xml:322
+#, no-c-format
+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 ""
+"Cela dira à Ant d'ajouter tous les fichiers du répertoire lib finissant par "
+"<literal>.jar</literal> dans le classpath utilisé pour la compilation. Cela "
+"copiera aussi tous les fichiers source non Java dans le répertoire cible, "
+"par exemple les fichiers de configuration et de mapping d'Hibernate. Si vous "
+"lancez Ant maintenant, vous devriez obtenir cette sortie :"
 
-#: index.docbook:329
+#. Tag: programlisting
+#: tutorial.xml:329
+#, no-c-format
 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 ]]>"
+"<![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[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 ]]>"
 
-#: index.docbook:334
+#. Tag: title
+#: tutorial.xml:334
+#, no-c-format
 msgid "Startup and helpers"
 msgstr "Démarrage et aides"
 
-#: index.docbook:336
-msgid "It's time to load and store some <literal>Event</literal> objects, but first we have to complete the setup with some infrastructure code. We have to startup Hibernate. This startup includes building a global <literal>SessionFactory</literal> object and to store it somewhere for easy access in application code. A <literal>SessionFactory</literal> can open up new <literal>Session</literal>'s. A <literal>Session</literal> represents a single-threaded unit of work, the <literal>SessionFactory</literal> is a thread-safe global object, instantiated once."
-msgstr "Il est temps de charger et de stocker quelques objets <literal>Event</literal>, mais d'abord nous devons compléter la configuration avec du code d'infrastructure. Nous devons démarrer Hibernate. Ce démarrage inclut la construction d'un objet <literal>SessionFactory</literal> global et le stocker quelque part facile d'accès dans le code de l'application. Une <literal>SessionFactory</literal> peut ouvrir des nouvelles <literal>Session</literal>s. Une <literal>Session</literal> représente une unité de travail simplement \"threadée\", la <literal>SessionFactory</literal> est un objet global \"thread-safe\", instancié une seule fois."
+#. Tag: para
+#: tutorial.xml:336
+#, no-c-format
+msgid ""
+"It's time to load and store some <literal>Event</literal> objects, but first "
+"we have to complete the setup with some infrastructure code. We have to "
+"startup Hibernate. This startup includes building a global "
+"<literal>SessionFactory</literal> object and to store it somewhere for easy "
+"access in application code. A <literal>SessionFactory</literal> can open up "
+"new <literal>Session</literal>'s. A <literal>Session</literal> represents a "
+"single-threaded unit of work, the <literal>SessionFactory</literal> is a "
+"thread-safe global object, instantiated once."
+msgstr ""
+"Il est temps de charger et de stocker quelques objets <literal>Event</"
+"literal>, mais d'abord nous devons compléter la configuration avec du code "
+"d'infrastructure. Nous devons démarrer Hibernate. Ce démarrage inclut la "
+"construction d'un objet <literal>SessionFactory</literal> global et le "
+"stocker quelque part facile d'accès dans le code de l'application. Une "
+"<literal>SessionFactory</literal> peut ouvrir des nouvelles "
+"<literal>Session</literal>s. Une <literal>Session</literal> représente une "
+"unité de travail simplement \"threadée\", la <literal>SessionFactory</"
+"literal> est un objet global \"thread-safe\", instancié une seule fois."
 
-#: index.docbook:346
-msgid "We'll create a <literal>HibernateUtil</literal> helper class which takes care of startup and makes accessing a <literal>SessionFactory</literal> convenient. Let's have a look at the implementation:"
-msgstr "Nous créerons une classe d'aide <literal>HibernateUtil</literal> qui s'occupe du démarrage et rend la gestion des <literal>Session</literal>s plus facile. Regardons l'implémentation :"
+#. Tag: para
+#: tutorial.xml:346
+#, no-c-format
+msgid ""
+"We'll create a <literal>HibernateUtil</literal> helper class which takes "
+"care of startup and makes accessing a <literal>SessionFactory</literal> "
+"convenient. Let's have a look at the implementation:"
+msgstr ""
+"Nous créerons une classe d'aide <literal>HibernateUtil</literal> qui "
+"s'occupe du démarrage et rend la gestion des <literal>Session</literal>s "
+"plus facile. Regardons l'implémentation :"
 
-#: index.docbook:352
+#. Tag: programlisting
+#: tutorial.xml:352
+#, no-c-format
 msgid ""
-      "<![CDATA[package util;\n"
-      "\n"
-      "import org.hibernate.*;\n"
-      "import org.hibernate.cfg.*;\n"
-      "\n"
-      "public class HibernateUtil {\n"
-      "\n"
-      "    private 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 SessionFactory getSessionFactory() {\n"
-      "        return sessionFactory;\n"
-      "    }\n"
-      "\n"
-      "}]]>"
+"<![CDATA[package util;\n"
+"\n"
+"import org.hibernate.*;\n"
+"import org.hibernate.cfg.*;\n"
+"\n"
+"public class HibernateUtil {\n"
+"\n"
+"    private 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 SessionFactory getSessionFactory() {\n"
+"        return sessionFactory;\n"
+"    }\n"
+"\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[package util;\n"
-      "\n"
-      "import org.hibernate.*;\n"
-      "import org.hibernate.cfg.*;\n"
-      "\n"
-      "public class HibernateUtil {\n"
-      "    public static final SessionFactory sessionFactory;\n"
-      "\n"
-      "    static {\n"
-      "        try {\n"
-      "            // Création de la SessionFactory à partir de 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 SessionFactory getSessionFactory() {\n"
-      "        return sessionFactory;\n"
-      "    }\n"
-      "}]]>"
 
-#: index.docbook:354
-msgid "This class does not only produce the global <literal>SessionFactory</literal> in its static initializer (called once by the JVM when the class is loaded), but also hides the fact that it uses a static singleton. It might as well lookup the <literal>SessionFactory</literal> from JNDI in an application server."
-msgstr "Cette classe ne produit pas seulement la <literal>SessionFactory</literal> globale dans un initialiseur statique (appelé une seule fois par la JVM lorsque la classe est chargée), elle masque le fait qu'elle exploite un singleton. Elle pourrait aussi obtenir la <literal>SessionFactory</literal> depuis JNDI dans un serveur d'applications."
+#. Tag: para
+#: tutorial.xml:354
+#, no-c-format
+msgid ""
+"This class does not only produce the global <literal>SessionFactory</"
+"literal> in its static initializer (called once by the JVM when the class is "
+"loaded), but also hides the fact that it uses a static singleton. It might "
+"as well lookup the <literal>SessionFactory</literal> from JNDI in an "
+"application server."
+msgstr ""
+"Cette classe ne produit pas seulement la <literal>SessionFactory</literal> "
+"globale dans un initialiseur statique (appelé une seule fois par la JVM "
+"lorsque la classe est chargée), elle masque le fait qu'elle exploite un "
+"singleton. Elle pourrait aussi obtenir la <literal>SessionFactory</literal> "
+"depuis JNDI dans un serveur d'applications."
 
-#: index.docbook:361
-msgid "If you give the <literal>SessionFactory</literal> a name in your configuration file, Hibernate will in fact try to bind it to JNDI after it has been built. To avoid this code completely you could also use JMX deployment and let the JMX-capable container instantiate and bind a <literal>HibernateService</literal> to JNDI. These advanced options are discussed in the Hibernate reference documentation."
-msgstr "Si vous nommez la <literal>SessionFactory</literal> dans votre fichier de configuration, Hibernate tentera la récupération depuis JNDI. Pour éviter ce code, vous pouvez aussi utiliser un déploiement JMX et laisser le conteneur (compatible JMX) instancier et lier un <literal>HibernateService</literal> à JNDI. Ces options avancées sont détaillées dans la documentation de référence Hibernate."
+#. Tag: para
+#: tutorial.xml:361
+#, no-c-format
+msgid ""
+"If you give the <literal>SessionFactory</literal> a name in your "
+"configuration file, Hibernate will in fact try to bind it to JNDI after it "
+"has been built. To avoid this code completely you could also use JMX "
+"deployment and let the JMX-capable container instantiate and bind a "
+"<literal>HibernateService</literal> to JNDI. These advanced options are "
+"discussed in the Hibernate reference documentation."
+msgstr ""
+"Si vous nommez la <literal>SessionFactory</literal> dans votre fichier de "
+"configuration, Hibernate tentera la récupération depuis JNDI. Pour éviter ce "
+"code, vous pouvez aussi utiliser un déploiement JMX et laisser le conteneur "
+"(compatible JMX) instancier et lier un <literal>HibernateService</literal> à "
+"JNDI. Ces options avancées sont détaillées dans la documentation de "
+"référence Hibernate."
 
-#: index.docbook:370
-msgid "Place <literal>HibernateUtil.java</literal> in the development source directory, in a package next to <literal>events</literal>:"
-msgstr "Placez <literal>HibernateUtil.java</literal> dans le répertoire source de développement, et ensuite <literal>Event.java</literal> :"
+#. Tag: para
+#: tutorial.xml:370
+#, no-c-format
+msgid ""
+"Place <literal>HibernateUtil.java</literal> in the development source "
+"directory, in a package next to <literal>events</literal>:"
+msgstr ""
+"Placez <literal>HibernateUtil.java</literal> dans le répertoire source de "
+"développement, et ensuite <literal>Event.java</literal> :"
 
-#: index.docbook:375
+#. Tag: programlisting
+#: tutorial.xml:375
+#, no-c-format
 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]]>"
+"<![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 ""
-      "<![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]]>"
 
-#: index.docbook:377
-msgid "This should again compile without problems. We finally need to configure a logging system - Hibernate uses commons logging and leaves you the choice between Log4j and JDK 1.4 logging. Most developers prefer Log4j: copy <literal>log4j.properties</literal> from the Hibernate distribution (it's in the <literal>etc/</literal> directory) to your <literal>src</literal> directory, next to <literal>hibernate.cfg.xml</literal>. Have a look at the example configuration and change the settings if you like to have more verbose output. By default, only Hibernate startup message are shown on stdout."
-msgstr "Cela devrait encore compiler sans problème. Nous avons finalement besoin de configurer le système de \"logs\" - Hibernate utilise commons-logging et vous laisse le choix entre log4j et le système de logs du JDK 1.4. La plupart des développeurs préfèrent log4j : copiez <literal>log4j.properties</literal> de la distribution d'Hibernate (il est dans le répertoire <literal>etc/</literal>) dans votre répertoire <literal>src</literal>, puis faites de même avec <literal>hibernate.cfg.xml</literal>. Regardez la configuration d'exemple et changez les paramètres si vous voulez une sortie plus verbeuse. Par défaut, seul le message de démarrage d'Hibernate est affiché sur la sortie standard."
+#. Tag: para
+#: tutorial.xml:377
+#, no-c-format
+msgid ""
+"This should again compile without problems. We finally need to configure a "
+"logging system - Hibernate uses commons logging and leaves you the choice "
+"between Log4j and JDK 1.4 logging. Most developers prefer Log4j: copy "
+"<literal>log4j.properties</literal> from the Hibernate distribution (it's in "
+"the <literal>etc/</literal> directory) to your <literal>src</literal> "
+"directory, next to <literal>hibernate.cfg.xml</literal>. Have a look at the "
+"example configuration and change the settings if you like to have more "
+"verbose output. By default, only Hibernate startup message are shown on "
+"stdout."
+msgstr ""
+"Cela devrait encore compiler sans problème. Nous avons finalement besoin de "
+"configurer le système de \"logs\" - Hibernate utilise commons-logging et "
+"vous laisse le choix entre log4j et le système de logs du JDK 1.4. La "
+"plupart des développeurs préfèrent log4j : copiez <literal>log4j.properties</"
+"literal> de la distribution d'Hibernate (il est dans le répertoire "
+"<literal>etc/</literal>) dans votre répertoire <literal>src</literal>, puis "
+"faites de même avec <literal>hibernate.cfg.xml</literal>. Regardez la "
+"configuration d'exemple et changez les paramètres si vous voulez une sortie "
+"plus verbeuse. Par défaut, seul le message de démarrage d'Hibernate est "
+"affiché sur la sortie standard."
 
-#: index.docbook:387
-msgid "The tutorial infrastructure is complete - and we are ready to do some real work with Hibernate."
-msgstr "L'infrastructure de ce didacticiel est complète - et nous sommes prêts à effectuer un travail réel avec Hibernate."
+#. Tag: para
+#: tutorial.xml:387
+#, no-c-format
+msgid ""
+"The tutorial infrastructure is complete - and we are ready to do some real "
+"work with Hibernate."
+msgstr ""
+"L'infrastructure de ce didacticiel est complète - et nous sommes prêts à "
+"effectuer un travail réel avec Hibernate."
 
-#: index.docbook:395
+#. Tag: title
+#: tutorial.xml:395
+#, no-c-format
 msgid "Loading and storing objects"
 msgstr "Charger et stocker des objets"
 
-#: index.docbook:397
-msgid "Finally, we can use Hibernate to load and store objects. We write an <literal>EventManager</literal> class with a <literal>main()</literal> method:"
-msgstr "Finalement nous pouvons utiliser Hibernate pour charger et stocker des objets. Nous écrivons une classe <literal>EventManager</literal> avec une méthode <literal>main()</literal> :"
+#. Tag: para
+#: tutorial.xml:397
+#, no-c-format
+msgid ""
+"Finally, we can use Hibernate to load and store objects. We write an "
+"<literal>EventManager</literal> class with a <literal>main()</literal> "
+"method:"
+msgstr ""
+"Finalement nous pouvons utiliser Hibernate pour charger et stocker des "
+"objets. Nous écrivons une classe <literal>EventManager</literal> avec une "
+"méthode <literal>main()</literal> :"
 
-#: index.docbook:402
+#. Tag: programlisting
+#: tutorial.xml:402
+#, no-c-format
 msgid ""
-      "<![CDATA[package events;\n"
-      "import org.hibernate.Session;\n"
-      "\n"
-      "import java.util.Date;\n"
-      "\n"
-      "import 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"
-      "\n"
-      "        Session session = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "\n"
-      "        session.beginTransaction();\n"
-      "\n"
-      "        Event theEvent = new Event();\n"
-      "        theEvent.setTitle(title);\n"
-      "        theEvent.setDate(theDate);\n"
-      "\n"
-      "        session.save(theEvent);\n"
-      "\n"
-      "        session.getTransaction().commit();\n"
-      "    }\n"
-      "\n"
-      "}]]>"
+"<![CDATA[package events;\n"
+"import org.hibernate.Session;\n"
+"\n"
+"import java.util.Date;\n"
+"\n"
+"import 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"
+"\n"
+"        Session session = HibernateUtil.getSessionFactory().getCurrentSession"
+"();\n"
+"\n"
+"        session.beginTransaction();\n"
+"\n"
+"        Event theEvent = new Event();\n"
+"        theEvent.setTitle(title);\n"
+"        theEvent.setDate(theDate);\n"
+"\n"
+"        session.save(theEvent);\n"
+"\n"
+"        session.getTransaction().commit();\n"
+"    }\n"
+"\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[package events;\n"
-      "import org.hibernate.Session;\n"
-      "\n"
-      "import java.util.Date;\n"
-      "\n"
-      "import 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"
-      "\n"
-      "        Session session = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "\n"
-      "        session.beginTransaction();\n"
-      "\n"
-      "        Event theEvent = new Event();\n"
-      "        theEvent.setTitle(title);\n"
-      "        theEvent.setDate(theDate);\n"
-      "\n"
-      "        session.save(theEvent);\n"
-      "\n"
-      "        session.getTransaction().commit();\n"
-      "    }]]>"
 
-#: index.docbook:404
-msgid "We create a new <literal>Event</literal> object, and hand it over to Hibernate. Hibernate now takes care of the SQL and executes <literal>INSERT</literal>s on the database. Let's have a look at the <literal>Session</literal> and <literal>Transaction</literal>-handling code before we run this."
-msgstr "Nous créons un nouvel objet <literal>Event</literal>, et le remettons à Hibernate. Hibernate s'occupe maintenant du SQL et exécute les <literal>INSERT</literal>s dans la base de données. Regardons le code de gestion de la <literal>Session</literal> et de la <literal>Transaction</literal> avant de lancer ça."
+#. Tag: para
+#: tutorial.xml:404
+#, no-c-format
+msgid ""
+"We create a new <literal>Event</literal> object, and hand it over to "
+"Hibernate. Hibernate now takes care of the SQL and executes <literal>INSERT</"
+"literal>s on the database. Let's have a look at the <literal>Session</"
+"literal> and <literal>Transaction</literal>-handling code before we run this."
+msgstr ""
+"Nous créons un nouvel objet <literal>Event</literal>, et le remettons à "
+"Hibernate. Hibernate s'occupe maintenant du SQL et exécute les "
+"<literal>INSERT</literal>s dans la base de données. Regardons le code de "
+"gestion de la <literal>Session</literal> et de la <literal>Transaction</"
+"literal> avant de lancer ça."
 
-#: index.docbook:411
-msgid "A <literal>Session</literal> is a single unit of work. For now we'll keep things simple and assume a one-to-one granularity between a Hibernate <literal>Session</literal> and a database transaction. To shield our code from the actual underlying transaction system (in this case plain JDBC, but it could also run with JTA) we use the <literal>Transaction</literal> API that is available on the Hibernate <literal>Session</literal>."
-msgstr "Une <literal>Session</literal> est une unité de travail. Pour le moment, nous allons faire les choses simplement et assumer une granularité un-un entre une <literal>Session</literal> hibernate et une transaction à la base de données. Pour isoler notre code du système de transaction sous-jacent (dans notre cas, du pure JDBC, mais cela pourrait être JTA), nous utilisons l'API <literal>Transaction</literal> qui est disponible depuis la <literal>Session</literal> Hibernate."
+#. Tag: para
+#: tutorial.xml:411
+#, no-c-format
+msgid ""
+"A <literal>Session</literal> is a single unit of work. For now we'll keep "
+"things simple and assume a one-to-one granularity between a Hibernate "
+"<literal>Session</literal> and a database transaction. To shield our code "
+"from the actual underlying transaction system (in this case plain JDBC, but "
+"it could also run with JTA) we use the <literal>Transaction</literal> API "
+"that is available on the Hibernate <literal>Session</literal>."
+msgstr ""
+"Une <literal>Session</literal> est une unité de travail. Pour le moment, "
+"nous allons faire les choses simplement et assumer une granularité un-un "
+"entre une <literal>Session</literal> hibernate et une transaction à la base "
+"de données. Pour isoler notre code du système de transaction sous-jacent "
+"(dans notre cas, du pure JDBC, mais cela pourrait être JTA), nous utilisons "
+"l'API <literal>Transaction</literal> qui est disponible depuis la "
+"<literal>Session</literal> Hibernate."
 
-#: index.docbook:419
-msgid "What does <literal>sessionFactory.getCurrentSession()</literal> do? First, you can call it as many times and anywhere you like, once you get hold of your <literal>SessionFactory</literal> (easy thanks to <literal>HibernateUtil</literal>). The <literal>getCurrentSession()</literal> method always returns the \"current\" unit of work. Remember that we switched the configuration option for this mechanism to \"thread\" in <literal>hibernate.cfg.xml</literal>? Hence, the current unit of work is bound to the current Java thread that executes our application. However, this is not the full picture, you also have to consider scope, when a unit of work begins and when it ends."
-msgstr "Que fait <literal>sessionFactory.getCurrentSession()</literal> ? Premièrement, vous pouvez l'invoquer autant de fois que vous le voulez et n'importe où du moment que vous avez votre <literal>SessionFactory</literal> (facile grâce à <literal>HibernateUtil</literal>). La méthode <literal>getCurrentSession()</literal> renvoie toujours l'unité de travail courante. Souvenez vous que nous avons basculé notre option de configuration au mécanisme basé sur le \"thread\" dans <literal>hibernate.cfg.xml</literal>. Par conséquent, le scope de l'unité de travail courante est le thread java courant d'exécution. Ceci n'est pas totalement vrai. Une <literal>Session</literal> commence lorsqu'elle est vraiment utilisée la première fois, Lorsque nous appelons pour la première fois <literal>getCurrentSession()</literal>. Ensuite, elle est liée, par Hibernate, au thread courant. Lorsque la transaction s'achève (commit ou rollback), Hibernate délie la <literal>Session</!
 literal> du thread et la ferme pour vous. Si vous invoquez <literal>getCurrentSession()</literal> une autre fois, vous obtenez une nouvelle <literal>Session</literal> et pouvez entamer une nouvelle unité de travail. Ce modèle de programmation \"<emphasis>thread-bound</emphasis>\" est le moyen le plus populaire d'utiliser Hibernate."
+#. Tag: para
+#: tutorial.xml:419
+#, 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 "
+"your <literal>SessionFactory</literal> (easy thanks to "
+"<literal>HibernateUtil</literal>). The <literal>getCurrentSession()</"
+"literal> method always returns the \"current\" unit of work. Remember that "
+"we switched the configuration option for this mechanism to \"thread\" in "
+"<literal>hibernate.cfg.xml</literal>? Hence, the current unit of work is "
+"bound to the current Java thread that executes our application. However, "
+"this is not the full picture, you also have to consider scope, when a unit "
+"of work begins and when it ends."
+msgstr ""
+"Que fait <literal>sessionFactory.getCurrentSession()</literal> ? "
+"Premièrement, vous pouvez l'invoquer autant de fois que vous le voulez et "
+"n'importe où du moment que vous avez votre <literal>SessionFactory</literal> "
+"(facile grâce à <literal>HibernateUtil</literal>). La méthode "
+"<literal>getCurrentSession()</literal> renvoie toujours l'unité de travail "
+"courante. Souvenez vous que nous avons basculé notre option de configuration "
+"au mécanisme basé sur le \"thread\" dans <literal>hibernate.cfg.xml</"
+"literal>. Par conséquent, le scope de l'unité de travail courante est le "
+"thread java courant d'exécution. Ceci n'est pas totalement vrai."
 
-#: index.docbook:430
-msgid "A <literal>Session</literal> begins when it is first needed, when the first call to <literal>getCurrentSession()</literal> is made. It is then bound by Hibernate to the current thread. When the transaction ends, either through commit or rollback, Hibernate automatically unbinds the <literal>Session</literal> from the thread and closes it for you. If you call <literal>getCurrentSession()</literal> again, you get a new <literal>Session</literal> and can start a new unit of work. This <emphasis>thread-bound</emphasis> programming model is the most popular way of using Hibernate, as it allows flexible layering of your code (transaction demarcation code can be separated from data access code, we'll do this later in this tutorial)."
-msgstr "Lisez <xref linkend=\"transactions\"/> pour plus d'informations sur la gestion des transactions et leur démarcations. Nous n'avons pas géré les erreurs et rollback sur l'exemple précédent."
+#. Tag: para
+#: tutorial.xml:430
+#, no-c-format
+msgid ""
+"A <literal>Session</literal> begins when it is first needed, when the first "
+"call to <literal>getCurrentSession()</literal> is made. It is then bound by "
+"Hibernate to the current thread. When the transaction ends, either through "
+"commit or rollback, Hibernate automatically unbinds the <literal>Session</"
+"literal> from the thread and closes it for you. If you call "
+"<literal>getCurrentSession()</literal> again, you get a new "
+"<literal>Session</literal> and can start a new unit of work. This "
+"<emphasis>thread-bound</emphasis> programming model is the most popular way "
+"of using Hibernate, as it allows flexible layering of your code (transaction "
+"demarcation code can be separated from data access code, we'll do this later "
+"in this tutorial)."
+msgstr ""
+"Une <literal>Session</literal> commence lorsqu'elle est vraiment utilisée la "
+"première fois, Lorsque nous appelons pour la première fois "
+"<literal>getCurrentSession()</literal>. Ensuite, elle est liée, par "
+"Hibernate, au thread courant. Lorsque la transaction s'achève (commit ou "
+"rollback), Hibernate délie la <literal>Session</literal> du thread et la "
+"ferme pour vous. Si vous invoquez <literal>getCurrentSession()</literal> une "
+"autre fois, vous obtenez une nouvelle <literal>Session</literal> et pouvez "
+"entamer une nouvelle unité de travail. Ce modèle de programmation "
+"\"<emphasis>thread-bound</emphasis>\" est le moyen le plus populaire "
+"d'utiliser Hibernate."
 
-#: index.docbook:441
-msgid "Related to the unit of work scope, should the Hibernate <literal>Session</literal> be used to execute one or several database operations? The above example uses one <literal>Session</literal> for one operation. This is pure coincidence, the example is just not complex enough to show any other approach. The scope of a Hibernate <literal>Session</literal> is flexible but you should never design your application to use a new Hibernate <literal>Session</literal> for <emphasis>every</emphasis> database operation. So even if you see it a few more times in the following (very trivial) examples, consider <emphasis>session-per-operation</emphasis> an anti-pattern. A real (web) application is shown later in this tutorial."
-msgstr "Pour lancer cette première routine, nous devons ajouter une cible appelable dans le fichier de construction de Ant :"
+#. Tag: para
+#: tutorial.xml:441
+#, no-c-format
+msgid ""
+"Related to the unit of work scope, should the Hibernate <literal>Session</"
+"literal> be used to execute one or several database operations? The above "
+"example uses one <literal>Session</literal> for one operation. This is pure "
+"coincidence, the example is just not complex enough to show any other "
+"approach. The scope of a Hibernate <literal>Session</literal> is flexible "
+"but you should never design your application to use a new Hibernate "
+"<literal>Session</literal> for <emphasis>every</emphasis> database "
+"operation. So even if you see it a few more times in the following (very "
+"trivial) examples, consider <emphasis>session-per-operation</emphasis> an "
+"anti-pattern. A real (web) application is shown later in this tutorial."
+msgstr ""
+"UNTRANSLATED ! Related to the unit of work scope, should the Hibernate "
+"<literal>Session</literal> be used to execute one or several database "
+"operations? The above example uses one <literal>Session</literal> for one "
+"operation. This is pure coincidence, the example is just not complex enough "
+"to show any other approach. The scope of a Hibernate <literal>Session</"
+"literal> is flexible but you should never design your application to use a "
+"new Hibernate <literal>Session</literal> for <emphasis>every</emphasis> "
+"database operation. So even if you see it a few more times in the following "
+"(very trivial) examples, consider <emphasis>session-per-operation</emphasis> "
+"an anti-pattern. A real (web) application is shown later in this tutorial."
 
-#: index.docbook:452
-msgid "Have a look at <xref linkend=\"transactions\"/> for more information about transaction handling and demarcation. We also skipped any error handling and rollback in the previous example."
+#. Tag: para
+#: tutorial.xml:452
+#, no-c-format
+msgid ""
+"Have a look at <xref linkend=\"transactions\"/> for more information about "
+"transaction handling and demarcation. We also skipped any error handling and "
+"rollback in the previous example."
 msgstr ""
-      "<![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>]]>"
+"Lisez <xref linkend=\"transactions\"/> pour plus d'informations sur la "
+"gestion des transactions et leur démarcations. Nous n'avons pas géré les "
+"erreurs et rollback sur l'exemple précédent."
 
-#: index.docbook:458
-msgid "To run this first routine we have to add a callable target to the Ant build file:"
-msgstr "La valeur de l'argument <literal>action</literal> correspond à la ligne de commande qui appelle la cible :"
+#. Tag: para
+#: tutorial.xml:458
+#, no-c-format
+msgid ""
+"To run this first routine we have to add a callable target to the Ant build "
+"file:"
+msgstr ""
+"Pour lancer cette première routine, nous devons ajouter une cible appelable "
+"dans le fichier de construction de Ant :"
 
-#: index.docbook:462
+#. Tag: programlisting
+#: tutorial.xml:462
+#, no-c-format
 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 "<![CDATA[C:\\hibernateTutorial\\>ant run -Daction=store]]>"
+"<![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 ""
 
-#: index.docbook:464
-msgid "The value of the <literal>action</literal> argument is set on the command line when calling the target:"
-msgstr "Vous devriez voir, après la compilation, Hibernate démarrer et, en fonction de votre configuration, beaucoup de traces sur la sortie. À la fin vous trouverez la ligne suivante :"
+#. Tag: para
+#: tutorial.xml:464
+#, no-c-format
+msgid ""
+"The value of the <literal>action</literal> argument is set on the command "
+"line when calling the target:"
+msgstr ""
+"La valeur de l'argument <literal>action</literal> correspond à la ligne de "
+"commande qui appelle la cible :"
 
-#: index.docbook:469
+#. Tag: programlisting
+#: tutorial.xml:469
+#, no-c-format
 msgid "<![CDATA[C:\\hibernateTutorial\\>ant run -Daction=store]]>"
-msgstr "<![CDATA[[java] Hibernate: insert into EVENTS (EVENT_DATE, title, EVENT_ID) values (?, ?, ?)]]>"
+msgstr ""
 
-#: index.docbook:471
-msgid "You should see, after compilation, Hibernate starting up and, depending on your configuration, lots of log output. At the end you will find the following line:"
-msgstr "C'est l'<literal>INSERT</literal> exécuté par Hibernate, les points d'interrogation représentent les paramètres JDBC liés. Pour voir les valeurs liées aux arguments, ou pour réduire la verbosité des traces, vérifier votre <literal>log4j.properties</literal>."
+#. Tag: para
+#: tutorial.xml:471
+#, no-c-format
+msgid ""
+"You should see, after compilation, Hibernate starting up and, depending on "
+"your configuration, lots of log output. At the end you will find the "
+"following line:"
+msgstr ""
+"Vous devriez voir, après la compilation, Hibernate démarrer et, en fonction "
+"de votre configuration, beaucoup de traces sur la sortie. À la fin vous "
+"trouverez la ligne suivante :"
 
-#: index.docbook:476
-msgid "<![CDATA[[java] Hibernate: insert into EVENTS (EVENT_DATE, title, EVENT_ID) values (?, ?, ?)]]>"
-msgstr "Maintenant nous aimerions aussi lister les événements stockés, donc nous ajoutons une option à la méthode principale :"
+#. Tag: programlisting
+#: tutorial.xml:476
+#, no-c-format
+msgid ""
+"<![CDATA[[java] Hibernate: insert into EVENTS (EVENT_DATE, title, EVENT_ID) "
+"values (?, ?, ?)]]>"
+msgstr ""
 
-#: index.docbook:478
-msgid "This is the <literal>INSERT</literal> executed by Hibernate, the question marks represent JDBC bind parameters. To see the values bound as arguments, or to reduce the verbosity of the log, check your <literal>log4j.properties</literal>."
+#. Tag: para
+#: tutorial.xml:478
+#, no-c-format
+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[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"
-      "}]]>"
+"C'est l'<literal>INSERT</literal> exécuté par Hibernate, les points "
+"d'interrogation représentent les paramètres JDBC liés. Pour voir les valeurs "
+"liées aux arguments, ou pour réduire la verbosité des traces, vérifier votre "
+"<literal>log4j.properties</literal>."
 
-#: index.docbook:484
-msgid "Now we'd like to list stored events as well, so we add an option to the main method:"
-msgstr "Nous ajoutons aussi une nouvelle méthode <literal>listEvents()</literal> :"
+#. Tag: para
+#: tutorial.xml:484
+#, no-c-format
+msgid ""
+"Now we'd like to list stored events as well, so we add an option to the main "
+"method:"
+msgstr ""
+"Maintenant nous aimerions aussi lister les événements stockés, donc nous "
+"ajoutons une option à la méthode principale :"
 
-#: index.docbook:488
+#. Tag: programlisting
+#: tutorial.xml:488
+#, 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(\"Event: \" + theEvent.getTitle() +\n"
-      "                           \" Time: \" + theEvent.getDate());\n"
-      "    }\n"
-      "}]]>"
+"<![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 ""
-      "<![CDATA[private List listEvents() {\n"
-      "\n"
-      "    Session session = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "\n"
-      "    session.beginTransaction();\n"
-      "\n"
-      "    List result = session.createQuery(\"from Event\").list();\n"
-      "\n"
-      "    session.getTransaction().commit();\n"
-      "\n"
-      "    return result;\n"
-      "}]]>"
 
-#: index.docbook:490
+#. Tag: para
+#: tutorial.xml:490
+#, no-c-format
 msgid "We also add a new <literal>listEvents() method</literal>:"
-msgstr "Ce que nous faisons ici c'est utiliser une requête HQL (Hibernate Query Language) pour charger tous les objets <literal>Event</literal> existants de la base de données. Hibernate générera le SQL approprié, l'enverra à la base de données et peuplera des objets <literal>Event</literal> avec les données. Vous pouvez créer des requêtes plus complexes avec HQL, bien sûr."
+msgstr ""
+"Nous ajoutons aussi une nouvelle méthode <literal>listEvents()</literal> :"
 
-#: index.docbook:494
+#. Tag: programlisting
+#: tutorial.xml:494
+#, no-c-format
 msgid ""
-      "<![CDATA[private List listEvents() {\n"
-      "\n"
-      "    Session session = HibernateUtil.getSessionFactory().getCurrentSession();\n"
-      "\n"
-      "    session.beginTransaction();\n"
-      "\n"
-      "    List result = session.createQuery(\"from Event\").list();\n"
-      "\n"
-      "    session.getTransaction().commit();\n"
-      "\n"
-      "    return result;\n"
-      "}]]>"
-msgstr "Maintenant, pour exécuter et tester tout ça, suivez ces étapes :"
+"<![CDATA[private List listEvents() {\n"
+"\n"
+"    Session session = HibernateUtil.getSessionFactory().getCurrentSession"
+"();\n"
+"\n"
+"    session.beginTransaction();\n"
+"\n"
+"    List result = session.createQuery(\"from Event\").list();\n"
+"\n"
+"    session.getTransaction().commit();\n"
+"\n"
+"    return result;\n"
+"}]]>"
+msgstr ""
 
-#: index.docbook:496
-msgid "What we do here is use an HQL (Hibernate Query Language) query to load all existing <literal>Event</literal> objects from the database. Hibernate will 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, of course."
-msgstr "Exécutez <literal>ant run -Daction=store</literal> pour stocker quelque chose dans la base de données et, bien sûr, pour générer, avant, le schéma de la base de données grâce à hbm2ddl."
+#. Tag: para
+#: tutorial.xml:496
+#, no-c-format
+msgid ""
+"What we do here is use an HQL (Hibernate Query Language) query to load all "
+"existing <literal>Event</literal> objects from the database. Hibernate will "
+"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, of course."
+msgstr ""
+"Ce que nous faisons ici c'est utiliser une requête HQL (Hibernate Query "
+"Language) pour charger tous les objets <literal>Event</literal> existants de "
+"la base de données. Hibernate générera le SQL approprié, l'enverra à la base "
+"de données et peuplera des objets <literal>Event</literal> avec les données. "
+"Vous pouvez créer des requêtes plus complexes avec HQL, bien sûr."
 
-#: index.docbook:503
+#. Tag: para
+#: tutorial.xml:503
+#, no-c-format
 msgid "Now, to execute and test all of this, follow these steps:"
-msgstr "Maintenant désactivez hbm2ddl en commentant la propriété dans votre fichier <literal>hibernate.cfg.xml</literal>. Généralement vous la laissez seulement activée dans des tests unitaires en continu, mais une autre exécution de hbm2ddl <emphasis>effacerait</emphasis> tout ce que vous avez stocké - le paramètre de configuration <literal>create</literal> se traduit en fait par \"supprimer toutes les tables du schéma, puis re-créer toutes les tables, lorsque la SessionFactory est construite\"."
+msgstr "Maintenant, pour exécuter et tester tout ça, suivez ces étapes :"
 
-#: index.docbook:509
-msgid "Run <literal>ant run -Daction=store</literal> to store something into the database and, of course, to generate the database schema before through hbm2ddl."
-msgstr "Si maintenant vous appelez Ant avec <literal>-Daction=list</literal>, vous devriez voir les événements que vous avez stockés jusque là. Vous pouvez bien sûr aussi appeler l'action <literal>store</literal> plusieurs fois."
+#. Tag: para
+#: tutorial.xml:509
+#, no-c-format
+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 ""
+"Exécutez <literal>ant run -Daction=store</literal> pour stocker quelque "
+"chose dans la base de données et, bien sûr, pour générer, avant, le schéma "
+"de la base de données grâce à hbm2ddl."
 
-#: index.docbook:515
-msgid "Now disable hbm2ddl by commenting out the property in your <literal>hibernate.cfg.xml</literal> file. Usually you only leave it turned 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 "Partie 2 - Mapper des associations"
+#. Tag: para
+#: tutorial.xml:515
+#, no-c-format
+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 ""
+"Maintenant désactivez hbm2ddl en commentant la propriété dans votre fichier "
+"<literal>hibernate.cfg.xml</literal>. Généralement vous la laissez seulement "
+"activée dans des tests unitaires en continu, mais une autre exécution de "
+"hbm2ddl <emphasis>effacerait</emphasis> tout ce que vous avez stocké - le "
+"paramètre de configuration <literal>create</literal> se traduit en fait par "
+"\"supprimer toutes les tables du schéma, puis re-créer toutes les tables, "
+"lorsque la SessionFactory est construite\"."
 
-#: index.docbook:525
-msgid "If you now call Ant with <literal>-Daction=list</literal>, you should see the events you have stored so far. You can of course also call the <literal>store</literal> action a few times more."
-msgstr "Nous avons mappé une classe d'une entité persistante vers une table. Partons de là et ajoutons quelques associations de classe. D'abord nous ajouterons des gens à notre application, et stockerons une liste d'événements auxquels ils participent."
+#. Tag: para
+#: tutorial.xml:525
+#, no-c-format
+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 ""
+"Si maintenant vous appelez Ant avec <literal>-Daction=list</literal>, vous "
+"devriez voir les événements que vous avez stockés jusque là. Vous pouvez "
+"bien sûr aussi appeler l'action <literal>store</literal> plusieurs fois."
 
-#: index.docbook:531
-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 "Mapper la classe Person"
+#. Tag: para
+#: tutorial.xml:531
+#, no-c-format
+msgid ""
+"Note: Most new Hibernate users fail at this point and we see questions about "
+"<emphasis>Table not found</emphasis> error messages regularly. However, if "
+"you follow the steps outlined above you will not have this problem, as "
+"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 ""
+"UNTRANSLATED! 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."
 
-#: index.docbook:544
+#. Tag: title
+#: tutorial.xml:544
+#, no-c-format
 msgid "Part 2 - Mapping associations"
-msgstr "La première version de la classe <literal>Person</literal> est simple :"
+msgstr "Partie 2 - Mapper des associations"
 
-#: index.docbook:546
-msgid "We mapped a persistent entity class to a table. Let's build on this and add some class associations. First we'll add people to our application, and store a list of events they participate in."
+#. Tag: para
+#: tutorial.xml:546
+#, no-c-format
+msgid ""
+"We mapped a persistent entity class to a table. Let's build on this and add "
+"some class associations. First we'll add people to our application, and "
+"store a list of events they participate in."
 msgstr ""
-      "<![CDATA[package events;\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"
-      "}]]>"
+"Nous avons mappé une classe d'une entité persistante vers une table. Partons "
+"de là et ajoutons quelques associations de classe. D'abord nous ajouterons "
+"des gens à notre application, et stockerons une liste d'événements auxquels "
+"ils participent."
 
-#: index.docbook:552
+#. Tag: title
+#: tutorial.xml:552
+#, no-c-format
 msgid "Mapping the Person class"
-msgstr "Créez un nouveau fichier de mapping appelé <literal>Person.hbm.xml</literal> (n'oubliez pas la référence à la DTD)"
+msgstr "Mapper la classe Person"
 
-#: index.docbook:554
+#. Tag: para
+#: tutorial.xml:554
+#, no-c-format
 msgid "The first cut of the <literal>Person</literal> class is simple:"
 msgstr ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"events.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>]]>"
+"La première version de la classe <literal>Person</literal> est simple :"
 
-#: index.docbook:558
+#. Tag: programlisting
+#: tutorial.xml:558
+#, no-c-format
 msgid ""
-      "<![CDATA[package events;\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 "Finalement, ajoutez la nouveau mapping à la configuration d'Hibernate :"
+"<![CDATA[package events;\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 ""
 
-#: index.docbook:560
-msgid "Create a new mapping file called <literal>Person.hbm.xml</literal> (don't forget the DTD reference at the top):"
+#. Tag: para
+#: tutorial.xml:560
+#, no-c-format
+msgid ""
+"Create a new mapping file called <literal>Person.hbm.xml</literal> (don't "
+"forget the DTD reference at the top):"
 msgstr ""
-      "<![CDATA[<mapping resource=\"events/Event.hbm.xml\"/>\n"
-      "<mapping resource=\"events/Person.hbm.xml\"/>]]>"
+"Créez un nouveau fichier de mapping appelé <literal>Person.hbm.xml</literal> "
+"(n'oubliez pas la référence à la DTD)"
 
-#: index.docbook:565
+#. Tag: programlisting
+#: tutorial.xml:565
+#, no-c-format
 msgid ""
-      "<![CDATA[<hibernate-mapping>\n"
-      "\n"
-      "    <class name=\"events.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 "Nous allons maintenant créer une association entre ces deux entités. Évidemment, des personnes peuvent participer aux événements, et des événements ont des participants. Les questions de conception que nous devons traiter sont : direction, cardinalité et comportement de la collection."
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+"    <class name=\"events.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 ""
 
-#: index.docbook:567
+#. Tag: para
+#: tutorial.xml:567
+#, no-c-format
 msgid "Finally, add the new mapping to Hibernate's configuration:"
-msgstr "Une association unidirectionnelle basée sur Set"
+msgstr ""
+"Finalement, ajoutez la nouveau mapping à la configuration d'Hibernate :"
 
-#: index.docbook:571
+#. Tag: programlisting
+#: tutorial.xml:571
+#, no-c-format
 msgid ""
-      "<![CDATA[<mapping resource=\"events/Event.hbm.xml\"/>\n"
-      "<mapping resource=\"events/Person.hbm.xml\"/>]]>"
-msgstr "Nous allons ajouter une collection d'événements à la classe <literal>Person</literal>. De cette manière nous pouvons facilement naviguer dans les événements d'une personne particulière, sans exécuter une requête explicite - en appelant <literal>aPerson.getEvents()</literal>. Nous utilisons une collection Java, un <literal>Set</literal>, parce que la collection ne contiendra pas d'éléments dupliqués et l'ordre ne nous importe pas."
+"<![CDATA[<mapping resource=\"events/Event.hbm.xml\"/>\n"
+"<mapping resource=\"events/Person.hbm.xml\"/>]]>"
+msgstr ""
 
-#: index.docbook:573
-msgid "We'll now create an association between these two entities. Obviously, persons can participate in events, and events have participants. The design questions we have to deal with are: directionality, multiplicity, and collection behavior."
-msgstr "Nous avons besoin d'une association unidirectionnelle, pluri-valuée, implémentée avec un <literal>Set</literal>. Écrivons le code pour ça dans les classes Java et mappons les :"
+#. Tag: para
+#: tutorial.xml:573
+#, no-c-format
+msgid ""
+"We'll now create an association between these two entities. Obviously, "
+"persons can participate in events, and events have participants. The design "
+"questions we have to deal with are: directionality, multiplicity, and "
+"collection behavior."
+msgstr ""
+"Nous allons maintenant créer une association entre ces deux entités. "
+"Évidemment, des personnes peuvent participer aux événements, et des "
+"événements ont des participants. Les questions de conception que nous devons "
+"traiter sont : direction, cardinalité et comportement de la collection."
 
-#: index.docbook:583
+#. Tag: title
+#: tutorial.xml:583
+#, no-c-format
 msgid "A unidirectional Set-based association"
+msgstr "Une association unidirectionnelle basée sur Set"
+
+#. Tag: para
+#: tutorial.xml:585
+#, no-c-format
+msgid ""
+"We'll add a collection of events to the <literal>Person</literal> class. "
+"That way we can easily navigate to the events for a particular person, "
+"without executing an explicit query - by calling <literal>aPerson.getEvents()"
+"</literal>. We use a Java collection, a <literal>Set</literal>, because the "
+"collection will not contain duplicate elements and the ordering is not "
+"relevant for us."
 msgstr ""
-      "<![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"
-      "}]]>"
+"Nous allons ajouter une collection d'événements à la classe <literal>Person</"
+"literal>. De cette manière nous pouvons facilement naviguer dans les "
+"événements d'une personne particulière, sans exécuter une requête explicite "
+"- en appelant <literal>aPerson.getEvents()</literal>. Nous utilisons une "
+"collection Java, un <literal>Set</literal>, parce que la collection ne "
+"contiendra pas d'éléments dupliqués et l'ordre ne nous importe pas."
 
-#: index.docbook:585
-msgid "We'll add a collection of events to the <literal>Person</literal> class. That way we can easily navigate to the events for a particular person, without executing an explicit query - by calling <literal>aPerson.getEvents()</literal>. We use a Java collection, a <literal>Set</literal>, because the collection will not contain duplicate elements and the ordering is not relevant for us."
-msgstr "D'abord nous mappons cette association, mais pensez à l'autre côté. Clairement, nous pouvons la laisser unidirectionnelle. Ou alors, nous pourrions créer une autre collection sur <literal>Event</literal>, si nous voulons être capable de la parcourir de manière bidirectionnelle, c'est-à-dire avoir <literal>anEvent.getParticipants()</literal>. Ce n'est pas nécessaire d'un point de vue fonctionnel. Vous pourrez toujours exécuter une requête explicite pour récupérer les participants d'un \"event\" particulier. Ce choix de conception vous est laissé, mais ce qui reste certains est la cardinalité de l'association: \"plusieurs\" des deux côtés, nous appelons cela une association <emphasis>many-to-many</emphasis>. Par conséquent nous utilisons un mapping Hibernate many-to-many:"
+#. Tag: para
+#: tutorial.xml:592
+#, no-c-format
+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 ""
+"Nous avons besoin d'une association unidirectionnelle, pluri-valuée, "
+"implémentée avec un <literal>Set</literal>. Écrivons le code pour ça dans "
+"les classes Java et mappons les :"
 
-#: index.docbook:592
-msgid "We need a unidirectional, many-valued associations, implemented with a <literal>Set</literal>. Let's write the code for this in the Java classes and then map it:"
+#. Tag: programlisting
+#: tutorial.xml:597
+#, 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 ""
-      "<![CDATA[<class name=\"events.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>]]>"
 
-#: index.docbook:597
+#. Tag: para
+#: tutorial.xml:599
+#, 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 "Hibernate supporte toutes sortes de mapping de collection, un <literal>&lt;set&gt;</literal> étant le plus commun. Pour une association many-to-many (ou une relation d'entité <emphasis>n:m</emphasis>), une table d'association est requise. Chaque ligne dans cette table représente un lien entre une personne et un événement. Le nom de la table est configuré avec l'attribut <literal>table</literal> de l'élément <literal>set</literal>. Le nom de la colonne identifiant dans l'association, du côté de la personne, est défini avec l'élément <literal>&lt;key&gt;</literal>, et le nom de la colonne pour l'événement dans l'attribut <literal>column</literal> de <literal>&lt;many-to-many&gt;</literal>. Vous devez aussi donner à Hibernate la classe des objets de votre collection (c'est-à-dire : la classe de l'autre côté de la collection)."
+"Before we map this association, think about the other side. Clearly, we "
+"could just keep this unidirectional. Or, we could create another collection "
+"on the <literal>Event</literal>, if we want to be able to navigate it bi-"
+"directional, i.e. <literal>anEvent.getParticipants()</literal>. This is not "
+"necessary, from a functional perspective. You could always execute an "
+"explicit query to retrieve the participants for a particular event. This is "
+"a design choice left to you, but what is clear from this discussion is the "
+"multiplicity of the association: \"many\" valued on both sides, we call this "
+"a <emphasis>many-to-many</emphasis> association. Hence, we use Hibernate's "
+"many-to-many mapping:"
+msgstr ""
+"D'abord nous mappons cette association, mais pensez à l'autre côté. "
+"Clairement, nous pouvons la laisser unidirectionnelle. Ou alors, nous "
+"pourrions créer une autre collection sur <literal>Event</literal>, si nous "
+"voulons être capable de la parcourir de manière bidirectionnelle, c'est-à-"
+"dire avoir <literal>anEvent.getParticipants()</literal>. Ce n'est pas "
+"nécessaire d'un point de vue fonctionnel. Vous pourrez toujours exécuter une "
+"requête explicite pour récupérer les participants d'un \"event\" "
+"particulier. Ce choix de conception vous est laissé, mais ce qui reste "
+"certains est la cardinalité de l'association: \"plusieurs\" des deux côtés, "
+"nous appelons cela une association <emphasis>many-to-many</emphasis>. Par "
+"conséquent nous utilisons un mapping Hibernate many-to-many:"
 
-#: index.docbook:599
-msgid "Before we map this association, think about the other side. Clearly, we could just keep this unidirectional. Or, we could create another collection on the <literal>Event</literal>, if we want to be able to navigate it bi-directional, i.e. <literal>anEvent.getParticipants()</literal>. This is not necessary, from a functional perspective. You could always execute an explicit query to retrieve the participants for a particular event. This is a design choice left to you, but what is clear from this discussion is the multiplicity of the association: \"many\" valued on both sides, we call this a <emphasis>many-to-many</emphasis> association. Hence, we use Hibernate's many-to-many mapping:"
-msgstr "Le schéma de base de données pour ce mapping est donc :"
+#. Tag: programlisting
+#: tutorial.xml:610
+#, no-c-format
+msgid ""
+"<![CDATA[<class name=\"events.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=\"events.Event\"/>\n"
+"    </set>\n"
+"\n"
+"</class>]]>"
+msgstr ""
 
-#: index.docbook:610
+#. Tag: para
+#: tutorial.xml:612
+#, no-c-format
 msgid ""
-      "<![CDATA[<class name=\"events.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=\"events.Event\"/>\n"
-      "    </set>\n"
-      "\n"
-      "</class>]]>"
+"Hibernate supports all kinds of collection mappings, a <literal>&lt;set&gt;</"
+"literal> being most common. For a many-to-many association (or <emphasis>n:"
+"m</emphasis> entity relationship), an association table is needed. Each row "
+"in this table represents a link between a person and an event. The table "
+"name is configured with the <literal>table</literal> attribute of the "
+"<literal>set</literal> element. The identifier column name in the "
+"association, for the person's side, is defined with the <literal>&lt;key&gt;"
+"</literal> element, the column name for the event's side with the "
+"<literal>column</literal> attribute of the <literal>&lt;many-to-many&gt;</"
+"literal>. You also have to tell Hibernate the class of the objects in your "
+"collection (correct: the class on the other side of the collection of "
+"references)."
 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"
-      " ]]>"
+"Hibernate supporte toutes sortes de mapping de collection, un <literal>&lt;"
+"set&gt;</literal> étant le plus commun. Pour une association many-to-many "
+"(ou une relation d'entité <emphasis>n:m</emphasis>), une table d'association "
+"est requise. Chaque ligne dans cette table représente un lien entre une "
+"personne et un événement. Le nom de la table est configuré avec l'attribut "
+"<literal>table</literal> de l'élément <literal>set</literal>. Le nom de la "
+"colonne identifiant dans l'association, du côté de la personne, est défini "
+"avec l'élément <literal>&lt;key&gt;</literal>, et le nom de la colonne pour "
+"l'événement dans l'attribut <literal>column</literal> de <literal>&lt;many-"
+"to-many&gt;</literal>. Vous devez aussi donner à Hibernate la classe des "
+"objets de votre collection (c'est-à-dire : la classe de l'autre côté de la "
+"collection)."
 
-#: index.docbook:612
-msgid "Hibernate supports all kinds of collection mappings, a <literal>&lt;set&gt;</literal> being most common. For a many-to-many association (or <emphasis>n:m</emphasis> entity relationship), an association table is needed. Each row in this table represents a link between a person and an event. The table name is configured with the <literal>table</literal> attribute of the <literal>set</literal> element. The identifier column name in the association, for the person's side, is defined with the <literal>&lt;key&gt;</literal> element, the column name for the event's side with the <literal>column</literal> attribute of the <literal>&lt;many-to-many&gt;</literal>. You also have to tell Hibernate the class of the objects in your collection (correct: the class on the other side of the collection of references)."
-msgstr "Travailler avec l'association"
-
-#: index.docbook:624
+#. Tag: para
+#: tutorial.xml:624
+#, no-c-format
 msgid "The database schema for this mapping is therefore:"
-msgstr "Réunissons quelques personnes et quelques événements dans une nouvelle méthode dans <literal>EventManager</literal> :"
+msgstr "Le schéma de base de données pour ce mapping est donc :"
 
-#: index.docbook:628
+#. Tag: programlisting
+#: tutorial.xml:628
+#, 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"
-      " ]]>"
+"<![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 ""
-      "<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
-      "\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"
-      "\n"
-      "    aPerson.getEvents().add(anEvent);\n"
-      "\n"
-      "    session.getTransaction().commit();\n"
-      "}]]>"
 
-#: index.docbook:633
+#. Tag: title
+#: tutorial.xml:633
+#, no-c-format
 msgid "Working the association"
-msgstr "Après le chargement d'une <literal>Person</literal> et d'un <literal>Event</literal>, modifiez simplement la collection en utilisant les méthodes normales de la collection. Comme vous pouvez le voir, il n'y a pas d'appel explicite à <literal>update()</literal> ou <literal>save()</literal>, Hibernate détecte automatiquement que la collection a été modifiée et a besoin d'être mise à jour. Ceci est appelé <emphasis>la vérification sale automatique</emphasis> (NdT : \"automatic dirty checking\"), et vous pouvez aussi l'essayer en modifiant le nom ou la propriété date de n'importe lequel de vos objets. Tant qu'ils sont dans un état <emphasis>persistant</emphasis>, c'est-à-dire, liés à une <literal>Session</literal> Hibernate particulière (c-à-d qu'ils ont juste été chargés ou sauvegardés dans une unité de travail), Hibernate surveille les changements et exécute le SQL correspondant. Le processus de synchronisation de l'état de la mémoire avec l!
 a base de données, généralement seulement à la fin d'une unité de travail, est appelé <emphasis>flushing</emphasis>. Dans notre code, l'unité de travail s'achève par un commit (ou rollback) de la transaction avec la base de données - comme défini par notre option <literal>thread</literal> de configuration pour la classe <literal>CurrentSessionContext</literal>."
+msgstr "Travailler avec l'association"
 
-#: index.docbook:635
-msgid "Let's bring some people and events together in a new method in <literal>EventManager</literal>:"
-msgstr "Vous pourriez bien sûr charger une personne et un événement dans différentes unités de travail. Ou vous modifiez un objet à l'extérieur d'une <literal>Session</literal>, s'il n'est pas dans un état persistant (s'il était persistant avant, nous appelons cet état <emphasis>détaché</emphasis>). Vous pouvez même modifier une collection lorsqu'elle est détachée:"
+#. Tag: para
+#: tutorial.xml:635
+#, no-c-format
+msgid ""
+"Let's bring some people and events together in a new method in "
+"<literal>EventManager</literal>:"
+msgstr ""
+"Réunissons quelques personnes et quelques événements dans une nouvelle "
+"méthode dans <literal>EventManager</literal> :"
 
-#: index.docbook:639
+#. Tag: programlisting
+#: tutorial.xml:639
+#, no-c-format
 msgid ""
-      "<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
-      "\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"
-      "\n"
-      "    aPerson.getEvents().add(anEvent);\n"
-      "\n"
-      "    session.getTransaction().commit();\n"
-      "}]]>"
+"<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
+"\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"
+"\n"
+"    aPerson.getEvents().add(anEvent);\n"
+"\n"
+"    session.getTransaction().commit();\n"
+"}]]>"
 msgstr ""
-      "<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
-      "\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"
-      "\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"
-      "\n"
-      "    session2.update(aPerson); // Reattachment of aPerson\n"
-      "\n"
-      "    session2.getTransaction().commit();\n"
-      "}]]>"
 
-#: index.docbook:641
-msgid "After loading a <literal>Person</literal> and an <literal>Event</literal>, simply modify the collection using the normal collection methods. As you can see, there is no explicit call to <literal>update()</literal> or <literal>save()</literal>, Hibernate automatically detects that the collection has been modified and needs to be updated. This is called <emphasis>automatic dirty checking</emphasis>, and you can also try it by modifying the name or the date property of any of your objects. As long as they are in <emphasis>persistent</emphasis> state, that is, bound to a particular Hibernate <literal>Session</literal> (i.e. they have been just loaded or saved in a unit of work), Hibernate monitors any changes and executes SQL in a write-behind fashion. The process of synchronizing the memory state with the database, usually only at the end 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 dat!
 abase transaction - as defined by the <literal>thread</literal> configuration option for the <literal>CurrentSessionContext</literal> class."
-msgstr "L'appel à <literal>update</literal> rend un objet détaché à nouveau persistant, vous pourriez dire qu'il le lie à une unité de travail, ainsi toutes les modifications (ajout, suppression) que vous avez faites pendant qu'il était détaché peuvent être sauvegardées dans la base de données (il se peut que vous ayez besoin de modifier quelques unes des méthodes précédentes pour retourner cet identifiant)."
+#. Tag: para
+#: tutorial.xml:641
+#, no-c-format
+msgid ""
+"After loading a <literal>Person</literal> and an <literal>Event</literal>, "
+"simply modify the collection using the normal collection methods. As you can "
+"see, there is no explicit call to <literal>update()</literal> or "
+"<literal>save()</literal>, Hibernate automatically detects that the "
+"collection has been modified and needs to be updated. This is called "
+"<emphasis>automatic dirty checking</emphasis>, and you can also try it by "
+"modifying the name or the date property of any of your objects. As long as "
+"they are in <emphasis>persistent</emphasis> state, that is, bound to a "
+"particular Hibernate <literal>Session</literal> (i.e. they have been just "
+"loaded or saved in a unit of work), Hibernate monitors any changes and "
+"executes SQL in a write-behind fashion. The process of synchronizing the "
+"memory state with the database, usually only at the end 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 - as defined by the "
+"<literal>thread</literal> configuration option for the "
+"<literal>CurrentSessionContext</literal> class."
+msgstr ""
+"Après le chargement d'une <literal>Person</literal> et d'un <literal>Event</"
+"literal>, modifiez simplement la collection en utilisant les méthodes "
+"normales de la collection. Comme vous pouvez le voir, il n'y a pas d'appel "
+"explicite à <literal>update()</literal> ou <literal>save()</literal>, "
+"Hibernate détecte automatiquement que la collection a été modifiée et a "
+"besoin d'être mise à jour. Ceci est appelé <emphasis>la vérification sale "
+"automatique</emphasis> (NdT : \"automatic dirty checking\"), et vous pouvez "
+"aussi l'essayer en modifiant le nom ou la propriété date de n'importe lequel "
+"de vos objets. Tant qu'ils sont dans un état <emphasis>persistant</"
+"emphasis>, c'est-à-dire, liés à une <literal>Session</literal> Hibernate "
+"particulière (c-à-d qu'ils ont juste été chargés ou sauvegardés dans une "
+"unité de travail), Hibernate surveille les changements et exécute le SQL "
+"correspondant. Le processus de synchronisation de l'état de la mémoire avec "
+"la base de données, généralement seulement à la fin d'une unité de travail, "
+"est appelé <emphasis>flushing</emphasis>. Dans notre code, l'unité de "
+"travail s'achève par un commit (ou rollback) de la transaction avec la base "
+"de données - comme défini par notre option <literal>thread</literal> de "
+"configuration pour la classe <literal>CurrentSessionContext</literal>."
 
-#: index.docbook:656
-msgid "You might of course load person and event in different units of work. Or you modify an object outside of a <literal>Session</literal>, when it is not in persistent state (if it was persistent before, we call this state <emphasis>detached</emphasis>). You can even modify a collection when it is detached:"
+#. Tag: para
+#: tutorial.xml:656
+#, no-c-format
+msgid ""
+"You might of course load person and event in different units of work. Or you "
+"modify an object outside of a <literal>Session</literal>, when it is not in "
+"persistent state (if it was persistent before, we call this state "
+"<emphasis>detached</emphasis>). You can even modify a collection when it is "
+"detached:"
 msgstr ""
-      "<![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);]]>"
+"Vous pourriez bien sûr charger une personne et un événement dans différentes "
+"unités de travail. Ou vous modifiez un objet à l'extérieur d'une "
+"<literal>Session</literal>, s'il n'est pas dans un état persistant (s'il "
+"était persistant avant, nous appelons cet état <emphasis>détaché</"
+"emphasis>). Vous pouvez même modifier une collection lorsqu'elle est "
+"détachée:"
 
-#: index.docbook:663
+#. Tag: programlisting
+#: tutorial.xml:663
+#, no-c-format
 msgid ""
-      "<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
-      "\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"
-      "\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"
-      "\n"
-      "    session2.update(aPerson); // Reattachment of aPerson\n"
-      "\n"
-      "    session2.getTransaction().commit();\n"
-      "}]]>"
-msgstr "Ce n'est pas très utile dans notre situation actuelle, mais c'est un concept important que vous pouvez mettre dans votre propre application. Pour le moment, complétez cet exercice en ajoutant une nouvelle action à la méthode principale des <literal>EventManager</literal>s et appelez la à partir de la ligne de commande. Si vous avez besoin des identifiants d'une personne et d'un événement - la méthode <literal>save()</literal> les retourne."
+"<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
+"\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"
+"\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"
+"\n"
+"    session2.update(aPerson); // Reattachment of aPerson\n"
+"\n"
+"    session2.getTransaction().commit();\n"
+"}]]>"
+msgstr ""
 
-#: index.docbook:665
-msgid "The call to <literal>update</literal> makes a detached object persistent again, you could say it binds it to a new unit of work, so any modifications you made to it while detached can be saved to the database. This includes any modifications (additions/deletions) you made to a collection of that entity object."
-msgstr "C'était un exemple d'une association entre deux classes de même importance, deux entités. Comme mentionné plus tôt, il y a d'autres classes et d'autres types dans un modèle typique, généralement \"moins importants\". Vous en avez déjà vu certains, comme un <literal>int</literal> ou une <literal>String</literal>. Nous appelons ces classes des <emphasis>types de valeur</emphasis>, et leurs instances <emphasis>dépendent</emphasis> d'une entité particulière. Des instances de ces types n'ont pas leur propre identité, elles ne sont pas non plus partagées entre des entités (deux personnes ne référencent pas le même objet <literal>firstname</literal>, même si elles ont le même prénom). Bien sûr, des types de valeur ne peuvent pas seulement être trouvés dans le JDK (en fait, dans une application Hibernate toutes les classes du JDK sont considérées comme des types de valeur), vous pouvez aussi écrire vous-même des classes dépendantes, <literal>Ad!
 dress</literal> ou <literal>MonetaryAmount</literal>, par exemple."
+#. Tag: para
+#: tutorial.xml:665
+#, no-c-format
+msgid ""
+"The call to <literal>update</literal> makes a detached object persistent "
+"again, you could say it binds it to a new unit of work, so any modifications "
+"you made to it while detached can be saved to the database. This includes "
+"any modifications (additions/deletions) you made to a collection of that "
+"entity object."
+msgstr ""
+"L'appel à <literal>update</literal> rend un objet détaché à nouveau "
+"persistant, vous pourriez dire qu'il le lie à une unité de travail, ainsi "
+"toutes les modifications (ajout, suppression) que vous avez faites pendant "
+"qu'il était détaché peuvent être sauvegardées dans la base de données (il se "
+"peut que vous ayez besoin de modifier quelques unes des méthodes précédentes "
+"pour retourner cet identifiant)."
 
-#: index.docbook:672
-msgid "Well, this is not much use in our current situation, but it's an important concept you can design into your own application. For now, complete this exercise by adding a new action to the <literal>EventManager</literal>'s main method and call it from the command line. If you need the identifiers of a person and an event - the <literal>save()</literal> method returns it (you might have to modify some of the previous methods to return that identifier):"
-msgstr "Vous pouvez aussi concevoir une collection de types de valeur. C'est conceptuellement très différent d'une collection de références vers d'autres entités, mais très ressemblant en Java."
+#. Tag: para
+#: tutorial.xml:672
+#, no-c-format
+msgid ""
+"Well, this is not much use in our current situation, but it's an important "
+"concept you can design into your own application. For now, complete this "
+"exercise by adding a new action to the <literal>EventManager</literal>'s "
+"main method and call it from the command line. If you need the identifiers "
+"of a person and an event - the <literal>save()</literal> method returns it "
+"(you might have to modify some of the previous methods to return that "
+"identifier):"
+msgstr ""
+"Ce n'est pas très utile dans notre situation actuelle, mais c'est un concept "
+"important que vous pouvez mettre dans votre propre application. Pour le "
+"moment, complétez cet exercice en ajoutant une nouvelle action à la méthode "
+"principale des <literal>EventManager</literal>s et appelez la à partir de la "
+"ligne de commande. Si vous avez besoin des identifiants d'une personne et "
+"d'un événement - la méthode <literal>save()</literal> les retourne."
 
-#: index.docbook:680
+#. Tag: programlisting
+#: tutorial.xml:680
+#, 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 "Collection de valeurs"
+"<![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 ""
 
-#: index.docbook:682
-msgid "This was an example of an association between two equally important classes, two entities. As mentioned earlier, there are other classes and types in a typical model, usually \"less important\". Some you have already seen, like an <literal>int</literal> or a <literal>String</literal>. We call these classes <emphasis>value types</emphasis>, and their instances <emphasis>depend</emphasis> on a particular entity. Instances of these types don't have their own identity, nor are they shared between entities (two persons don't reference the same <literal>firstname</literal> object, even if they have the same first name). Of course, value types can not only be found in the JDK (in fact, in a Hibernate application all JDK classes are considered value types), but you can also write dependent classes yourself, <literal>Address</literal> or <literal>MonetaryAmount</literal>, for example."
-msgstr "Nous ajoutons une collection d'objets de type de valeur à l'entité <literal>Person</literal>. Nous voulons stocker des adresses email, donc le type que nous utilisons est <literal>String</literal>, et la collection est encore un <literal>Set</literal> :"
+#. Tag: para
+#: tutorial.xml:682
+#, no-c-format
+msgid ""
+"This was an example of an association between two equally important classes, "
+"two entities. As mentioned earlier, there are other classes and types in a "
+"typical model, usually \"less important\". Some you have already seen, like "
+"an <literal>int</literal> or a <literal>String</literal>. We call these "
+"classes <emphasis>value types</emphasis>, and their instances "
+"<emphasis>depend</emphasis> on a particular entity. Instances of these types "
+"don't have their own identity, nor are they shared between entities (two "
+"persons don't reference the same <literal>firstname</literal> object, even "
+"if they have the same first name). Of course, value types can not only be "
+"found in the JDK (in fact, in a Hibernate application all JDK classes are "
+"considered value types), but you can also write dependent classes yourself, "
+"<literal>Address</literal> or <literal>MonetaryAmount</literal>, for example."
+msgstr ""
+"C'était un exemple d'une association entre deux classes de même importance, "
+"deux entités. Comme mentionné plus tôt, il y a d'autres classes et d'autres "
+"types dans un modèle typique, généralement \"moins importants\". Vous en "
+"avez déjà vu certains, comme un <literal>int</literal> ou une "
+"<literal>String</literal>. Nous appelons ces classes des <emphasis>types de "
+"valeur</emphasis>, et leurs instances <emphasis>dépendent</emphasis> d'une "
+"entité particulière. Des instances de ces types n'ont pas leur propre "
+"identité, elles ne sont pas non plus partagées entre des entités (deux "
+"personnes ne référencent pas le même objet <literal>firstname</literal>, "
+"même si elles ont le même prénom). Bien sûr, des types de valeur ne peuvent "
+"pas seulement être trouvés dans le JDK (en fait, dans une application "
+"Hibernate toutes les classes du JDK sont considérées comme des types de "
+"valeur), vous pouvez aussi écrire vous-même des classes dépendantes, "
+"<literal>Address</literal> ou <literal>MonetaryAmount</literal>, par exemple."
 
-#: index.docbook:695
-msgid "You can also design a collection of value types. This is conceptually very different from a collection of references to other entities, but looks almost the same in Java."
+#. Tag: para
+#: tutorial.xml:695
+#, no-c-format
+msgid ""
+"You can also design a collection of value types. This is conceptually very "
+"different from a collection of references to other entities, but looks "
+"almost the same in Java."
 msgstr ""
-      "<![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"
-      "}]]>"
+"Vous pouvez aussi concevoir une collection de types de valeur. C'est "
+"conceptuellement très différent d'une collection de références vers d'autres "
+"entités, mais très ressemblant en Java."
 
-#: index.docbook:703
+#. Tag: title
+#: tutorial.xml:703
+#, no-c-format
 msgid "Collection of values"
-msgstr "Le mapping de ce <literal>Set</literal> :"
+msgstr "Collection de valeurs"
 
-#: index.docbook:705
-msgid "We add a collection of value typed objects to the <literal>Person</literal> entity. We want to store email addresses, so the type we use is <literal>String</literal>, and the collection is again a <literal>Set</literal>:"
+#. Tag: para
+#: tutorial.xml:705
+#, no-c-format
+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 ""
-      "<![CDATA[<set name=\"emailAddresses\" table=\"PERSON_EMAIL_ADDR\">\n"
-      "    <key column=\"PERSON_ID\"/>\n"
-      "    <element type=\"string\" column=\"EMAIL_ADDR\"/>\n"
-      "</set>]]>"
+"Nous ajoutons une collection d'objets de type de valeur à l'entité "
+"<literal>Person</literal>. Nous voulons stocker des adresses email, donc le "
+"type que nous utilisons est <literal>String</literal>, et la collection est "
+"encore un <literal>Set</literal> :"
 
-#: index.docbook:710
+#. Tag: programlisting
+#: tutorial.xml:710
+#, 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 "La différence comparée au mapping vu plus tôt est la partie <literal>element</literal>, laquelle dit à Hibernate que la collection ne contient pas de références vers une autre entité, mais une collection d'éléments de type <literal>String</literal> (le nom en minuscule vous indique que c'est un type/convertisseur du mapping Hibernate). Une fois encore, l'attribut <literal>table</literal> de l'élément <literal>set</literal> détermine le nom de la table pour la collection. L'élément <literal>key</literal> définit le nom de la colonne de la clef étrangère dans la table de la collection. L'attribut <literal>column</literal> dans l'élément <literal>element</literal> définit le nom de la colonne où les valeurs de <literal>String</literal> seront réellement stockées."
+"<![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 ""
 
-#: index.docbook:712
+#. Tag: para
+#: tutorial.xml:712
+#, no-c-format
 msgid "The mapping of this <literal>Set</literal>:"
-msgstr "Regardons le schéma mis à jour :"
+msgstr "Le mapping de ce <literal>Set</literal> :"
 
-#: index.docbook:716
+#. Tag: programlisting
+#: tutorial.xml:716
+#, 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>]]>"
+"<![CDATA[<set name=\"emailAddresses\" table=\"PERSON_EMAIL_ADDR\">\n"
+"    <key column=\"PERSON_ID\"/>\n"
+"    <element type=\"string\" column=\"EMAIL_ADDR\"/>\n"
+"</set>]]>"
 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"
-      " ]]>"
 
-#: index.docbook:718
-msgid "The difference compared with the earlier mapping is the <literal>element</literal> part, which tells Hibernate that the collection does not contain references to another entity, but a collection of elements of type <literal>String</literal> (the lowercase name tells you it's a Hibernate mapping type/converter). Once again, the <literal>table</literal> attribute of the <literal>set</literal> element determines the table name for the collection. The <literal>key</literal> element defines the foreign-key column name in the collection table. The <literal>column</literal> attribute in the <literal>element</literal> element defines the column name where the <literal>String</literal> values will actually be stored."
-msgstr "Vous pouvez voir que la clef primaire de la table de la collection est en fait une clef composée, utilisant deux colonnes. Ceci implique aussi qu'il ne peut pas y avoir d'adresses email dupliquées par personne, ce qui est exactement la sémantique dont nous avons besoin pour un ensemble en Java."
+#. Tag: para
+#: tutorial.xml:718
+#, no-c-format
+msgid ""
+"The difference compared with the earlier mapping is the <literal>element</"
+"literal> part, which tells Hibernate that the collection does not contain "
+"references to another entity, but a collection of elements of type "
+"<literal>String</literal> (the lowercase name tells you it's a Hibernate "
+"mapping type/converter). Once again, the <literal>table</literal> attribute "
+"of the <literal>set</literal> element determines the table name for the "
+"collection. The <literal>key</literal> element defines the foreign-key "
+"column name in the collection table. The <literal>column</literal> attribute "
+"in the <literal>element</literal> element defines the column name where the "
+"<literal>String</literal> values will actually be stored."
+msgstr ""
+"La différence comparée au mapping vu plus tôt est la partie "
+"<literal>element</literal>, laquelle dit à Hibernate que la collection ne "
+"contient pas de références vers une autre entité, mais une collection "
+"d'éléments de type <literal>String</literal> (le nom en minuscule vous "
+"indique que c'est un type/convertisseur du mapping Hibernate). Une fois "
+"encore, l'attribut <literal>table</literal> de l'élément <literal>set</"
+"literal> détermine le nom de la table pour la collection. L'élément "
+"<literal>key</literal> définit le nom de la colonne de la clef étrangère "
+"dans la table de la collection. L'attribut <literal>column</literal> dans "
+"l'élément <literal>element</literal> définit le nom de la colonne où les "
+"valeurs de <literal>String</literal> seront réellement stockées."
 
-#: index.docbook:728
+#. Tag: para
+#: tutorial.xml:728
+#, no-c-format
 msgid "Have a look at the updated schema:"
-msgstr "Vous pouvez maintenant tester et ajouter des éléments à cette collection, juste comme nous l'avons fait avant en liant des personnes et des événements. C'est le même code en Java."
+msgstr "Regardons le schéma mis à jour :"
 
-#: index.docbook:732
+#. Tag: programlisting
+#: tutorial.xml:732
+#, 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"
-      " ]]>"
+"<![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[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"
-      "}]]>"
 
-#: index.docbook:734
-msgid "You can see that the primary key of the collection table is in fact a composite key, using both columns. This also implies that there can't be duplicate email addresses per person, which is exactly the semantics we need for a set in Java."
-msgstr "Cette fois ci, nous n'avons pas utilisé une requête de chargement agressif (<emphasis>fetch</emphasis>) pour initialiser la collection. Par conséquent, l'invocation du getter déclenchera un select supplémentaire pour l'initialiser. Traquez les logs SQL et tentez d'optimiser ce cas avec un chargement aggressif."
+#. Tag: para
+#: tutorial.xml:734
+#, no-c-format
+msgid ""
+"You can see that the primary key of the collection table is in fact a "
+"composite key, using both columns. This also implies that there can't be "
+"duplicate email addresses per person, which is exactly the semantics we need "
+"for a set in Java."
+msgstr ""
+"Vous pouvez voir que la clef primaire de la table de la collection est en "
+"fait une clef composée, utilisant deux colonnes. Ceci implique aussi qu'il "
+"ne peut pas y avoir d'adresses email dupliquées par personne, ce qui est "
+"exactement la sémantique dont nous avons besoin pour un ensemble en Java."
 
-#: index.docbook:740
-msgid "You can now try and add elements to this collection, just like we did before by linking persons and events. It's the same code in Java:"
-msgstr "Associations bidirectionnelles"
+#. Tag: para
+#: tutorial.xml:740
+#, no-c-format
+msgid ""
+"You can now try and add elements to this collection, just like we did before "
+"by linking persons and events. It's the same code in Java:"
+msgstr ""
+"Vous pouvez maintenant tester et ajouter des éléments à cette collection, "
+"juste comme nous l'avons fait avant en liant des personnes et des "
+"événements. C'est le même code en Java."
 
-#: index.docbook:745
+#. Tag: programlisting
+#: tutorial.xml:745
+#, no-c-format
 msgid ""
-      "<![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"
-      "}]]>"
-msgstr "Ensuite nous allons mapper une association bidirectionnelle - faire fonctionner l'association entre une personne et un événement à partir des deux côtés en Java. Bien sûr, le schéma de la base de données ne change pas, nous avons toujours une pluralité many-to-many. Une base de données relationnelle est plus flexible qu'un langage de programmation réseau, donc elle n'a pas besoin de direction de navigation - les données peuvent être vues et récupérées de toutes les manières possibles."
+"<![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"
+"}]]>"
+msgstr ""
 
-#: index.docbook:747
-msgid "This time we didnt' use a <emphasis>fetch</emphasis> query to initialize the collection. Hence, the call to its getter method will trigger an additional 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."
-msgstr "D'abord, ajouter une collection de participants à la classe <literal>Event</literal> :"
+#. Tag: para
+#: tutorial.xml:747
+#, no-c-format
+msgid ""
+"This time we didnt' use a <emphasis>fetch</emphasis> query to initialize the "
+"collection. Hence, the call to its getter method will trigger an additional "
+"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."
+msgstr ""
+"Cette fois ci, nous n'avons pas utilisé une requête de chargement agressif "
+"(<emphasis>fetch</emphasis>) pour initialiser la collection. Par conséquent, "
+"l'invocation du getter déclenchera un select supplémentaire pour "
+"l'initialiser. Traquez les logs SQL et tentez d'optimiser ce cas avec un "
+"chargement aggressif."
 
-#: index.docbook:757
+#. Tag: title
+#: tutorial.xml:757
+#, no-c-format
 msgid "Bi-directional associations"
+msgstr "Associations bidirectionnelles"
+
+#. Tag: para
+#: tutorial.xml:759
+#, no-c-format
+msgid ""
+"Next we are going to map a bi-directional association - making the "
+"association between person and event work from both sides in Java. Of "
+"course, the database schema doesn't change, we still have many-to-many "
+"multiplicity. A relational database is more flexible than a network "
+"programming language, so it doesn't need anything like a navigation "
+"direction - data can be viewed and retrieved in any possible way."
 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"
-      "}]]>"
+"Ensuite nous allons mapper une association bidirectionnelle - faire "
+"fonctionner l'association entre une personne et un événement à partir des "
+"deux côtés en Java. Bien sûr, le schéma de la base de données ne change pas, "
+"nous avons toujours une pluralité many-to-many. Une base de données "
+"relationnelle est plus flexible qu'un langage de programmation réseau, donc "
+"elle n'a pas besoin de direction de navigation - les données peuvent être "
+"vues et récupérées de toutes les manières possibles."
 
-#: index.docbook:759
-msgid "Next we are going to map a bi-directional association - making the association between person and event work from both sides in Java. Of course, the database schema doesn't change, we still have many-to-many multiplicity. A relational database is more flexible than a network programming language, so it doesn't need anything like a navigation direction - data can be viewed and retrieved in any possible way."
-msgstr "Maintenant mapper ce côté de l'association aussi, dans <literal>Event.hbm.xml</literal>."
+#. Tag: para
+#: tutorial.xml:767
+#, no-c-format
+msgid ""
+"First, add a collection of participants to the <literal>Event</literal> "
+"Event class:"
+msgstr ""
+"D'abord, ajouter une collection de participants à la classe <literal>Event</"
+"literal> :"
 
-#: index.docbook:767
-msgid "First, add a collection of participants to the <literal>Event</literal> Event class:"
+#. Tag: programlisting
+#: tutorial.xml:771
+#, 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[<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>]]>"
 
-#: index.docbook:771
+#. Tag: para
+#: tutorial.xml:773
+#, 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 "Comme vous le voyez, ce sont des mappings de <literal>set</literal>s normaux dans les deux documents de mapping. Notez que les noms de colonne dans <literal>key</literal> et <literal>many-to-many</literal> sont inversés dans les 2 documents de mapping. L'ajout le plus important ici est l'attribut <literal>inverse=\"true\"</literal> dans l'élément <literal>set</literal> du mapping de la collection des <literal>Event</literal>s."
+"Now map this side of the association too, in <literal>Event.hbm.xml</"
+"literal>."
+msgstr ""
+"Maintenant mapper ce côté de l'association aussi, dans <literal>Event.hbm."
+"xml</literal>."
 
-#: index.docbook:773
-msgid "Now map this side of the association too, in <literal>Event.hbm.xml</literal>."
-msgstr "Ce que signifie qu'Hibernate devrait prendre l'autre côté - la classe <literal>Person</literal> - s'il a besoin de renseigner des informations à propos du lien entre les deux. Ce sera beaucoup plus facile à comprendre une fois que vous verrez comment le lien bidirectionnel entre les deux entités est créé."
+#. Tag: programlisting
+#: tutorial.xml:777
+#, 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 ""
 
-#: index.docbook:777
+#. Tag: para
+#: tutorial.xml:779
+#, 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 "Travailler avec des liens bidirectionnels"
+"As you see, these are normal <literal>set</literal> mappings in both mapping "
+"documents. Notice that the column names in <literal>key</literal> and "
+"<literal>many-to-many</literal> are swapped in both mapping documents. The "
+"most important addition here is the <literal>inverse=\"true\"</literal> "
+"attribute in the <literal>set</literal> element of the <literal>Event</"
+"literal>'s collection mapping."
+msgstr ""
+"Comme vous le voyez, ce sont des mappings de <literal>set</literal>s normaux "
+"dans les deux documents de mapping. Notez que les noms de colonne dans "
+"<literal>key</literal> et <literal>many-to-many</literal> sont inversés dans "
+"les 2 documents de mapping. L'ajout le plus important ici est l'attribut "
+"<literal>inverse=\"true\"</literal> dans l'élément <literal>set</literal> du "
+"mapping de la collection des <literal>Event</literal>s."
 
-#: index.docbook:779
-msgid "As you see, these are normal <literal>set</literal> mappings in both mapping documents. Notice that the column names in <literal>key</literal> and <literal>many-to-many</literal> are swapped in both mapping documents. The most important addition here is the <literal>inverse=\"true\"</literal> attribute in the <literal>set</literal> element of the <literal>Event</literal>'s collection mapping."
-msgstr "Premièrement, gardez à l'esprit qu'Hibernate n'affecte pas la sémantique normale de Java. Comment avons-nous créé un lien entre une <literal>Person</literal> et un <literal>Event</literal> dans l'exemple unidirectionnel ? Nous avons ajouté une instance de <literal>Event</literal> à la collection des références d'événement d'une instance de <literal>Person</literal>. Donc, évidemment, si vous voulons rendre ce lien bidirectionnel, nous devons faire la même chose de l'autre côté - ajouter une référence de <literal>Person</literal> à la collection d'un <literal>Event</literal>. Cette \"configuration du lien des deux côtés\" est absolument nécessaire et vous ne devriez jamais oublier de le faire."
+#. Tag: para
+#: tutorial.xml:787
+#, 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 ""
+"Ce que signifie qu'Hibernate devrait prendre l'autre côté - la classe "
+"<literal>Person</literal> - s'il a besoin de renseigner des informations à "
+"propos du lien entre les deux. Ce sera beaucoup plus facile à comprendre une "
+"fois que vous verrez comment le lien bidirectionnel entre les deux entités "
+"est créé."
 
-#: index.docbook:787
-msgid "What this means is that Hibernate should take the other side - the <literal>Person</literal> class - when it needs to find out information 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 "Beaucoup de développeurs programment de manière défensive et créent des méthodes de gestion de lien pour affecter correctement les deux côtés, par exemple dans <literal>Person</literal> :"
+#. Tag: title
+#: tutorial.xml:796
+#, no-c-format
+msgid "Working bi-directional links"
+msgstr "Travailler avec des liens bidirectionnels"
 
-#: index.docbook:796
-msgid "Working bi-directional links"
+#. Tag: para
+#: tutorial.xml:798
+#, 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 "
+"<literal>Event</literal> in the unidirectional example? We added an instance "
+"of <literal>Event</literal> to the collection of event references, of an "
+"instance of <literal>Person</literal>. So, obviously, if we want to make "
+"this link working bi-directional, we have to do the same on the other side - "
+"adding a <literal>Person</literal> reference to the collection in an "
+"<literal>Event</literal>. This \"setting the link on both sides\" is "
+"absolutely necessary and you should never forget doing it."
 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"
-      "}]]>"
+"Premièrement, gardez à l'esprit qu'Hibernate n'affecte pas la sémantique "
+"normale de Java. Comment avons-nous créé un lien entre une <literal>Person</"
+"literal> et un <literal>Event</literal> dans l'exemple unidirectionnel ? "
+"Nous avons ajouté une instance de <literal>Event</literal> à la collection "
+"des références d'événement d'une instance de <literal>Person</literal>. "
+"Donc, évidemment, si vous voulons rendre ce lien bidirectionnel, nous devons "
+"faire la même chose de l'autre côté - ajouter une référence de "
+"<literal>Person</literal> à la collection d'un <literal>Event</literal>. "
+"Cette \"configuration du lien des deux côtés\" est absolument nécessaire et "
+"vous ne devriez jamais oublier de le faire."
 
-#: index.docbook:798
-msgid "First, keep in mind that Hibernate does not affect normal Java semantics. How did we create a link between a <literal>Person</literal> and an <literal>Event</literal> in the unidirectional example? We added an instance of <literal>Event</literal> to the collection of event references, of an instance of <literal>Person</literal>. So, obviously, if we want to make this link working bi-directional, we have to do the same on the other side - adding a <literal>Person</literal> reference to the collection in an <literal>Event</literal>. This \"setting the link on both sides\" is absolutely necessary and you should never forget doing it."
-msgstr "Notez que les méthodes get et set pour la collection sont maintenant protégées - ceci permet à des classes du même paquet et aux sous-classes d'accéder encore aux méthodes, mais empêche n'importe qui d'autre de mettre le désordre directement dans les collections (enfin, presque). Vous devriez probablement faire de même avec la collection de l'autre côté."
+#. Tag: para
+#: tutorial.xml:808
+#, no-c-format
+msgid ""
+"Many developers program defensive and create link management methods to "
+"correctly set both sides, e.g. in <literal>Person</literal>:"
+msgstr ""
+"Beaucoup de développeurs programment de manière défensive et créent des "
+"méthodes de gestion de lien pour affecter correctement les deux côtés, par "
+"exemple dans <literal>Person</literal> :"
 
-#: index.docbook:808
-msgid "Many developers program defensive and create link management methods to correctly set both sides, e.g. in <literal>Person</literal>:"
-msgstr "Et à propos de l'attribut de mapping <literal>inverse</literal> ? Pour vous, et pour Java, un lien bidirectionnel est simplement une manière de configurer correctement les références des deux côtés. Hibernate n'a cependant pas assez d'informations pour ordonner correctement les expressions SQL <literal>INSERT</literal> et <literal>UPDATE</literal> (pour éviter les violations de contrainte), et a besoin d'aide pour gérer proprement les associations bidirectionnelles. Rendre <literal>inverse</literal> un côté d'une assocation dit à Hibernate de l'ignorer essentiellement, pour le considérer comme un <emphasis>miroir</emphasis> de l'autre côté. C'est tout ce qui est nécessaire à Hibernate pour découvrir tout des problèmes de transformation d'un modèle de navigation directionnelle vers un schéma SQL de base de données. Les règles dont vous devez vous souvenir sont : toutes les associations bidirectionnelles ont besoin d'un côté marqué <literal>in!
 verse</literal>. Dans une association un-vers-plusieurs vous pouvez choisir n'importe quel côté, il n'y a pas de différence."
+#. Tag: programlisting
+#: tutorial.xml:813
+#, 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 ""
 
-#: index.docbook:813
+#. Tag: para
+#: tutorial.xml:815
+#, 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 "Part 3 - L'application web EventManager"
+"Notice that the get and set methods for the collection are now protected - "
+"this allows classes in the same package and subclasses to still access the "
+"methods, but prevents everybody else from messing with the collections "
+"directly (well, almost). You should probably do the same with the collection "
+"on the other side."
+msgstr ""
+"Notez que les méthodes get et set pour la collection sont maintenant "
+"protégées - ceci permet à des classes du même paquet et aux sous-classes "
+"d'accéder encore aux méthodes, mais empêche n'importe qui d'autre de mettre "
+"le désordre directement dans les collections (enfin, presque). Vous devriez "
+"probablement faire de même avec la collection de l'autre côté."
 
-#: index.docbook:815
-msgid "Notice that the get and set methods for the collection are now protected - this allows classes in the same package and subclasses to still access the methods, but prevents everybody else from messing with the collections directly (well, almost). You should probably do the same with the collection on the other side."
-msgstr "Une application web Hibernate utilise la <literal>Session</literal> et <literal>Transaction</literal> comme une application standalone. Cependant, quelques patterns sont utiles. Nous allons coder une <literal>EventManagerServlet</literal>. Cette servlet peut lister tous les évènements stockés dans la base de données, et fournir une formulaire HTML pour saisir d'autres évènements."
+#. Tag: para
+#: tutorial.xml:822
+#, 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 "
+"on both sides correctly. Hibernate however doesn't have enough information "
+"to correctly arrange SQL <literal>INSERT</literal> and <literal>UPDATE</"
+"literal> statements (to avoid constraint violations), and needs some help to "
+"handle bi-directional associations properly. Making one side of the "
+"association <literal>inverse</literal> tells Hibernate to basically ignore "
+"it, to consider it a <emphasis>mirror</emphasis> of the other side. That's "
+"all that is necessary for Hibernate to work out all of the issues when "
+"transformation a directional navigation model to a SQL database schema. The "
+"rules you have to remember are straightforward: All bi-directional "
+"associations need one side as <literal>inverse</literal>. In a one-to-many "
+"association it has to be the many-side, in many-to-many association you can "
+"pick either side, there is no difference."
+msgstr ""
+"Et à propos de l'attribut de mapping <literal>inverse</literal> ? Pour vous, "
+"et pour Java, un lien bidirectionnel est simplement une manière de "
+"configurer correctement les références des deux côtés. Hibernate n'a "
+"cependant pas assez d'informations pour ordonner correctement les "
+"expressions SQL <literal>INSERT</literal> et <literal>UPDATE</literal> (pour "
+"éviter les violations de contrainte), et a besoin d'aide pour gérer "
+"proprement les associations bidirectionnelles. Rendre <literal>inverse</"
+"literal> un côté d'une assocation dit à Hibernate de l'ignorer "
+"essentiellement, pour le considérer comme un <emphasis>miroir</emphasis> de "
+"l'autre côté. C'est tout ce qui est nécessaire à Hibernate pour découvrir "
+"tout des problèmes de transformation d'un modèle de navigation "
+"directionnelle vers un schéma SQL de base de données. Les règles dont vous "
+"devez vous souvenir sont : toutes les associations bidirectionnelles ont "
+"besoin d'un côté marqué <literal>inverse</literal>. Dans une association un-"
+"vers-plusieurs vous pouvez choisir n'importe quel côté, il n'y a pas de "
+"différence."
 
-#: index.docbook:822
-msgid "What about the <literal>inverse</literal> mapping attribute? For you, and for Java, a bi-directional link is simply a matter of setting the references on both sides correctly. Hibernate however doesn't have enough information to correctly arrange SQL <literal>INSERT</literal> and <literal>UPDATE</literal> statements (to avoid constraint violations), and needs some help to handle bi-directional associations properly. Making one side of the association <literal>inverse</literal> tells Hibernate to basically ignore it, to consider it a <emphasis>mirror</emphasis> of the other side. That's all that is necessary for Hibernate to work out all of the issues when transformation a directional navigation model to a SQL database schema. The rules you have to remember are straightforward: All bi-directional associations need one side as <literal>inverse</literal>. In a one-to-many association it has to be the many-side, in many-to-many association you can pick either side, there!
  is no difference."
-msgstr "Ecrire la servlet de base"
-
-#: index.docbook:837
+#. Tag: para
+#: tutorial.xml:837
+#, no-c-format
 msgid "Let's turn this into a small web application."
-msgstr "Créons une nouvelle classe dans notre répertoire source, dans le package <literal>events</literal>:"
+msgstr "Let's turn this into a small web application."
 
-#: index.docbook:844
+#. Tag: title
+#: tutorial.xml:844
+#, no-c-format
 msgid "Part 3 - The EventManager web application"
+msgstr "Part 3 - L'application web EventManager"
+
+#. Tag: para
+#: tutorial.xml:846
+#, no-c-format
+msgid ""
+"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."
 msgstr ""
-      "<![CDATA[package events;\n"
-      "\n"
-      "// Imports\n"
-      "\n"
-      "public class EventManagerServlet extends HttpServlet {\n"
-      "\n"
-      "    private final SimpleDateFormat dateFormatter =\n"
-      "                            new SimpleDateFormat(\"dd.MM.yyyy\");\n"
-      "\n"
-      "    // Servlet code\n"
-      "}]]>"
+"Une application web Hibernate utilise la <literal>Session</literal> et "
+"<literal>Transaction</literal> comme une application standalone. Cependant, "
+"quelques patterns sont utiles. Nous allons coder une "
+"<literal>EventManagerServlet</literal>. Cette servlet peut lister tous les "
+"évènements stockés dans la base de données, et fournir une formulaire HTML "
+"pour saisir d'autres évènements."
 
-#: index.docbook:846
-msgid "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."
-msgstr "Le <literal>dateFormatter</literal> est un outil que nous utiliserons plus tard pour convertir les objets <literal>Date</literal> depuis et vers des chaines de caractères. Il est propice de n'avoir qu'un formatter comme membre de la servlet."
-
-#: index.docbook:854
+#. Tag: title
+#: tutorial.xml:854
+#, no-c-format
 msgid "Writing the basic servlet"
-msgstr "La servlet n'accepte que les requêtes HTTP <literal>GET</literal>, la méthode à implémenter est donc <literal>doGet()</literal>:"
+msgstr "Ecrire la servlet de base"
 
-#: index.docbook:856
-msgid "Create a new class in your source directory, in the <literal>events</literal> package:"
+#. Tag: para
+#: tutorial.xml:856
+#, no-c-format
+msgid ""
+"Create a new class in your source directory, in the <literal>events</"
+"literal> package:"
 msgstr ""
-      "<![CDATA[protected void doGet(HttpServletRequest request,\n"
-      "                     HttpServletResponse response)\n"
-      "        throws ServletException, IOException {\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"
-      "}]]>"
+"Créons une nouvelle classe dans notre répertoire source, dans le package "
+"<literal>events</literal>:"
 
-#: index.docbook:861
+#. Tag: programlisting
+#: tutorial.xml:861
+#, no-c-format
 msgid ""
-      "<![CDATA[package events;\n"
-      "\n"
-      "// Imports\n"
-      "\n"
-      "public class EventManagerServlet extends HttpServlet {\n"
-      "\n"
-      "    // Servlet code\n"
-      "}]]>"
-msgstr "La pattern que nous utilisons ici est appelé <emphasis>session-per-request</emphasis>. Lorsqu'une requête touche la servlet, une nouvelle <literal>Session</literal> hibernate est ouverte à l'invocationde <literal>getCurrentSession()</literal> sur la <literal>SessionFactory</literal>. Ensuite, une transaction avec la base de données est démarrée&mdash; tous les accès à la base de données interviennent au sein de la transactiton, peu importe que les données soient lues ou écrites (nous n'utilisons pas le mode auto-commit dans les applications)."
+"<![CDATA[package events;\n"
+"\n"
+"// Imports\n"
+"\n"
+"public class EventManagerServlet extends HttpServlet {\n"
+"\n"
+"    // Servlet code\n"
+"}]]>"
+msgstr ""
 
-#: index.docbook:863
-msgid "The servlet handles HTTP <literal>GET</literal> requests only, hence, the method we implement is <literal>doGet()</literal>:"
-msgstr "Ensuite, les actions possibles de la requêtes sont exécutées et la réponse HTML est rendue. Nous en parlerons plus tard."
+#. Tag: para
+#: tutorial.xml:863
+#, no-c-format
+msgid ""
+"The servlet handles HTTP <literal>GET</literal> requests only, hence, the "
+"method we implement is <literal>doGet()</literal>:"
+msgstr ""
+"The servlet handles HTTP <literal>GET</literal> requests only, hence, the "
+"method we implement is <literal>doGet()</literal>:"
 
-#: index.docbook:868
+#. Tag: programlisting
+#: tutorial.xml:868
+#, no-c-format
 msgid ""
-      "<![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"
-      "}]]>"
-msgstr "Enfin, l'unité de travail s'achève lorsque l'exécution et le rendu sont achevés. Si un problème survient lors de ces deux phases, une exception est soulevée et la transaction avec la base de données subit un rollback. Voila pour le pattern <literal>session-per-request</literal>. Au lieu d'un code de démarcation de transaction au sein de chaque servlet, vous pouvez écrire un filtre de servlet. Voir le site Hibernate et le Wiki pour plus d'information sur ce pattern, appelé <emphasis>Open Session in View</emphasis>&mdash; vous en aurez besoin dès que vous utiliserez des JSPs et non plus des servlets pour le rendu de vos vues."
+"<![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"
+"}]]>"
+msgstr ""
 
-#: index.docbook:870
-msgid "The pattern we are applying here is called <emphasis>session-per-request</emphasis>. When a request hits the servlet, a new Hibernate <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)."
-msgstr "Procéder et rendre"
+#. Tag: para
+#: tutorial.xml:870
+#, fuzzy, no-c-format
+msgid ""
+"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)."
+msgstr ""
+"La pattern que nous utilisons ici est appelé <emphasis>session-per-request</"
+"emphasis>. Lorsqu'une requête touche la servlet, une nouvelle "
+"<literal>Session</literal> hibernate est ouverte à l'invocationde "
+"<literal>getCurrentSession()</literal> sur la <literal>SessionFactory</"
+"literal>. Ensuite, une transaction avec la base de données est "
+"démarrée&mdash; tous les accès à la base de données interviennent au sein de "
+"la transactiton, peu importe que les données soient lues ou écrites (nous "
+"n'utilisons pas le mode auto-commit dans les applications)."
 
-#: index.docbook:879
-msgid "Do <emphasis>not</emphasis> use a new Hibernate <literal>Session</literal> for every database operation. Use one Hibernate <literal>Session</literal> that is scoped to the whole request. Use <literal>getCurrentSession()</literal>, so that it is automatically bound to the current Java thread."
-msgstr "Implémentons l'exécution de la requête et le rendu de la page."
+#. Tag: para
+#: tutorial.xml:879
+#, no-c-format
+msgid ""
+"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."
+msgstr ""
+"UNTRANSLATED 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."
 
-#: index.docbook:886
-msgid "Next, the possible actions of the request are processed and the response HTML is rendered. We'll get to that part soon."
+#. Tag: para
+#: tutorial.xml:886
+#, no-c-format
+msgid ""
+"Next, the possible actions of the request are processed and the response "
+"HTML is rendered. We'll get to that part soon."
 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);\n"
-      "\n"
-      "// Write HTML footer\n"
-      "out.println(\"</body></html>\");\n"
-      "out.flush();\n"
-      "out.close();]]>"
+"Ensuite, les actions possibles de la requêtes sont exécutées et la réponse "
+"HTML est rendue. Nous en parlerons plus tard."
 
-#: index.docbook:891
-msgid "Finally, the unit of work ends when processing and rendering is complete. If any problem occured during processing or rendering, an exception will be 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."
-msgstr "Ce style de code avec un mix de Java et d'HTML ne serait pas scalable dans une application plus complexe&mdash;gardez à l'esprit que nous ne faisons qu'illustrer les concepts basiques d'Hibernate dans ce tutoriel. Ce code affiche une en tête et un pied de page HTML. Dans cette page, sont affichés un formulaire pour la saisie d'évènements ainsi qu'une liste de tous les évènements de la base de données. La première méthode est triviale est ne fait que sortir de l'HTML:"
+#. Tag: para
+#: tutorial.xml:891
+#, fuzzy, no-c-format
+msgid ""
+"Finally, the unit of work ends when processing and rendering is complete. If "
+"any problem occured during processing or rendering, an exception will be "
+"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."
+msgstr ""
+"Enfin, l'unité de travail s'achève lorsque l'exécution et le rendu sont "
+"achevés. Si un problème survient lors de ces deux phases, une exception est "
+"soulevée et la transaction avec la base de données subit un rollback. Voila "
+"pour le pattern <literal>session-per-request</literal>. Au lieu d'un code de "
+"démarcation de transaction au sein de chaque servlet, vous pouvez écrire un "
+"filtre de servlet. Voir le site Hibernate et le Wiki pour plus d'information "
+"sur ce pattern, appelé <emphasis>Open Session in View</emphasis>&mdash; vous "
+"en aurez besoin dès que vous utiliserez des JSPs et non plus des servlets "
+"pour le rendu de vos vues."
 
-#: index.docbook:905
+#. Tag: title
+#: tutorial.xml:905
+#, no-c-format
 msgid "Processing and rendering"
-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"
-      "}]]>"
+msgstr "Procéder et rendre"
 
-#: index.docbook:907
-msgid "Let's implement the processing of the request and rendering of the page."
-msgstr "La méthode <literal>listEvents()</literal> utilise la <literal>Session</literal> Hibernate liée au thread courant pour exécuter la requête:"
+#. Tag: para
+#: tutorial.xml:907
+#, no-c-format
+msgid ""
+"Let's implement the processing of the request and rendering of the page."
+msgstr "Implémentons l'exécution de la requête et le rendu de la page."
 
-#: index.docbook:911
+#. Tag: programlisting
+#: tutorial.xml:911
+#, 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"
-      "    } 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();]]>"
+"<![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();]]>"
 msgstr ""
-      "<![CDATA[private void listEvents(PrintWriter out) {\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"
-      "}]]>"
 
-#: index.docbook:913
-msgid "Granted, this coding style with a mix of Java and HTML would not scale in a more complex application&mdash;keep in mind that we are only illustrating 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:"
-msgstr "FEnfin, l'action <literal>store</literal> renvoie à la méthode <literal>createAndStoreEvent()</literal>, qui utilise aussi la <literal>Session</literal> du thread courant:"
+#. Tag: para
+#: tutorial.xml:913
+#, fuzzy, no-c-format
+msgid ""
+"Granted, this coding style with a mix of Java and HTML would not scale in a "
+"more complex application&mdash;keep in mind that we are only illustrating "
+"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:"
+msgstr ""
+"Ce style de code avec un mix de Java et d'HTML ne serait pas scalable dans "
+"une application plus complexe&mdash;gardez à l'esprit que nous ne faisons "
+"qu'illustrer les concepts basiques d'Hibernate dans ce tutoriel. Ce code "
+"affiche une en tête et un pied de page HTML. Dans cette page, sont affichés "
+"un formulaire pour la saisie d'évènements ainsi qu'une liste de tous les "
+"évènements de la base de données. La première méthode est triviale est ne "
+"fait que sortir de l'HTML:"
 
-#: index.docbook:922
+#. Tag: programlisting
+#: tutorial.xml:922
+#, 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"
-      "}]]>"
+"<![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[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"
-      "}]]>"
 
-#: index.docbook:924
-msgid "The <literal>listEvents()</literal> method uses the Hibernate <literal>Session</literal> bound to the current thread to execute a query:"
-msgstr "La servlet est faite. Une requête à la servlet sera exécutée par une seule <literal>Session</literal> et <literal>Transaction</literal>. Comme pour une application standalone, Hibernate peut automatiquement lier ces objets au thread courant d'exécution. Cela vous laisse la liberté de séparer votre code en couches et d'accéder à la <literal>SessionFactory</literal> par le moyen que vous voulez. Généralement, vous utiliserez des conceptions plus sophistiquées et déplacerez le code d'accès aux données dans une couche DAO. Voir le wiki Hibernate pour plus d'exemples."
+#. Tag: para
+#: tutorial.xml:924
+#, 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 ""
+"La méthode <literal>listEvents()</literal> utilise la <literal>Session</"
+"literal> Hibernate liée au thread courant pour exécuter la requête:"
 
-#: index.docbook:930
+#. Tag: programlisting
+#: tutorial.xml:930
+#, 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"
-      "        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"
-      "}]]>"
-msgstr "Déployer et tester"
+"<![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"
+"}]]>"
+msgstr ""
 
-#: index.docbook:932
-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 "Pour déployer cette application, vous devez créer une archive Web, un War. Ajoutez la cible Ant suivante dans votre <literal>build.xml</literal>:"
+#. Tag: para
+#: tutorial.xml:932
+#, 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 ""
+"FEnfin, l'action <literal>store</literal> renvoie à la méthode "
+"<literal>createAndStoreEvent()</literal>, qui utilise aussi la "
+"<literal>Session</literal> du thread courant:"
 
-#: index.docbook:938
+#. Tag: programlisting
+#: tutorial.xml:938
+#, 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"
-      "}]]>"
+"<![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[<target name=\"war\" depends=\"compile\">\n"
-      "    <war destfile=\"hibernate-tutorial.war\" webxml=\"web.xml\">\n"
-      "        <lib dir=\"${librarydir}\">\n"
-      "          <exclude name=\"servlet.jar\"/>\n"
-      "        </lib>\n"
-      "\n"
-      "        <classes dir=\"${targetdir}\"/>\n"
-      "    </war>\n"
-      "</target>]]>"
 
-#: index.docbook:940
-msgid "That's it, the servlet is complete. A request to the servlet will be processed in a single <literal>Session</literal> and <literal>Transaction</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."
-msgstr "Cette cible créé un fichier nommé <literal>hibernate-tutorial.war</literal> dans le répertoire de votre projet. Elle package les bibliothèques et le descripteur <literal>web.xml</literal> qui est attendu dans le répertoire racine de votre projet:"
+#. Tag: para
+#: tutorial.xml:940
+#, no-c-format
+msgid ""
+"That's it, the servlet is complete. A request to the servlet will be "
+"processed in a single <literal>Session</literal> and <literal>Transaction</"
+"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."
+msgstr ""
+"La servlet est faite. Une requête à la servlet sera exécutée par une seule "
+"<literal>Session</literal> et <literal>Transaction</literal>. Comme pour une "
+"application standalone, Hibernate peut automatiquement lier ces objets au "
+"thread courant d'exécution. Cela vous laisse la liberté de séparer votre "
+"code en couches et d'accéder à la <literal>SessionFactory</literal> par le "
+"moyen que vous voulez. Généralement, vous utiliserez des conceptions plus "
+"sophistiquées et déplacerez le code d'accès aux données dans une couche DAO. "
+"Voir le wiki Hibernate pour plus d'exemples."
 
-#: index.docbook:954
+#. Tag: title
+#: tutorial.xml:954
+#, no-c-format
 msgid "Deploying and testing"
+msgstr "Déployer et tester"
+
+#. Tag: para
+#: tutorial.xml:956
+#, no-c-format
+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 ""
-      "<![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>]]>"
+"Pour déployer cette application, vous devez créer une archive Web, un War. "
+"Ajoutez la cible Ant suivante dans votre <literal>build.xml</literal>:"
 
-#: index.docbook:956
-msgid "To deploy this application you have to create a web archive, a WAR. Add the following Ant target to your <literal>build.xml</literal>:"
-msgstr "Avant de compiler et déployer l'application web, notez qu'une bibliothèque supplémentaire est requise: <literal>servlet.jar</literal>. C'est le kit de développement de Servlet Java, si vous ne disposez pas de cette bibliothèque, prenez la sur le <ulink url=\"http://java.sun.com/products/servlet/archive.html\">site de Sun</ulink> et copiez la dans votre répertoire des bibliothèques. Cependant, elle ne sera utilisée uniquement pour la compilation et sera exclue du paackage WAR."
+#. Tag: programlisting
+#: tutorial.xml:961
+#, no-c-format
+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 ""
 
-#: index.docbook:961
+#. Tag: para
+#: tutorial.xml:963
+#, no-c-format
 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 "Pour construire et déployer, appelez <literal>ant war</literal> dans votre projet et copier le fichier <literal>hibernate-tutorial.war</literal> dans le répertoire <literal>webapp</literal> de tomcat Si vous n'avez pas installé Tomcat, téléchargez le et suivez la notice d'installation. Vous n'avez pas à modifier la configuration Tomcat pour déployer cette application."
+"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 ""
+"Cette cible créé un fichier nommé <literal>hibernate-tutorial.war</literal> "
+"dans le répertoire de votre projet. Elle package les bibliothèques et le "
+"descripteur <literal>web.xml</literal> qui est attendu dans le répertoire "
+"racine de votre projet:"
 
-#: index.docbook:963
-msgid "This target creates a file called <literal>hibernate-tutorial.war</literal> in your project directory. It packages all libraries and the <literal>web.xml</literal> descriptor, which is expected in the base directory of your project:"
-msgstr "Une fois l'application déployée et Tomcat lancé, accédez à l'application via <literal>http://localhost:8080/hibernate-tutorial/eventmanager</literal>. Assurez vous de consulter les traces tomcat pour observer l'initialisation d'Hibernate à la première requête touchant votre servlet (l'initialisation statique dans <literal>HibernateUtil</literal> est invoquée) et pour vérifier qu'aucune exception ne survienne."
+#. Tag: programlisting
+#: tutorial.xml:969
+#, 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>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>]]>"
+msgstr ""
 
-#: index.docbook:969
+#. Tag: para
+#: tutorial.xml:971
+#, 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>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>]]>"
-msgstr "Résumé"
+"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 ""
+"Avant de compiler et déployer l'application web, notez qu'une bibliothèque "
+"supplémentaire est requise: <literal>servlet.jar</literal>. C'est le kit de "
+"développement de Servlet Java, si vous ne disposez pas de cette "
+"bibliothèque, prenez la sur le <ulink url=\"http://java.sun.com/products/"
+"servlet/archive.html\">site de Sun</ulink> et copiez la dans votre "
+"répertoire des bibliothèques. Cependant, elle ne sera utilisée uniquement "
+"pour la compilation et sera exclue du paackage WAR."
 
-#: index.docbook:971
-msgid "Before you compile and deploy the web application, note that an additional library is required: <literal>jsdk.jar</literal>. This is the Java servlet 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 "Ce didacticiel a couvert les bases de l'écriture d'une simple application Hibernate ainsi qu'une petite application web."
+#. Tag: para
+#: tutorial.xml:979
+#, no-c-format
+msgid ""
+"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."
+msgstr ""
+"Pour construire et déployer, appelez <literal>ant war</literal> dans votre "
+"projet et copier le fichier <literal>hibernate-tutorial.war</literal> dans "
+"le répertoire <literal>webapp</literal> de tomcat Si vous n'avez pas "
+"installé Tomcat, téléchargez le et suivez la notice d'installation. Vous "
+"n'avez pas à modifier la configuration Tomcat pour déployer cette "
+"application."
 
-#: index.docbook:979
-msgid "To build and deploy call <literal>ant war</literal> in your project directory and copy the <literal>hibernate-tutorial.war</literal> file into 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."
-msgstr "Si vous êtes déjà confiants avec Hibernate, continuez à parcourir les sujets que vous trouvez intéressants à travers la table des matières de la documentation de référence - les plus demandés sont le traitement transactionnel (<xref linkend=\"transactions\"/>), la performance des récupérations d'information (<xref linkend=\"performance\"/>), ou l'utilisation de l'API (<xref linkend=\"objectstate\"/>) et les fonctionnalités des requêtes (<xref linkend=\"objectstate-querying\"/>)."
+#. Tag: para
+#: tutorial.xml:987
+#, no-c-format
+msgid ""
+"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."
+msgstr ""
+"Une fois l'application déployée et Tomcat lancé, accédez à l'application via "
+"<literal>http://localhost:8080/hibernate-tutorial/eventmanager</literal>. "
+"Assurez vous de consulter les traces tomcat pour observer l'initialisation "
+"d'Hibernate à la première requête touchant votre servlet (l'initialisation "
+"statique dans <literal>HibernateUtil</literal> est invoquée) et pour "
+"vérifier qu'aucune exception ne survienne."
 
-#: index.docbook:987
-msgid "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."
-msgstr "N'oubliez pas de vérifier le site web d'Hibernate pour d'autres didacticiels (plus spécialisés)."
-
-#: index.docbook:1000
+#. Tag: title
+#: tutorial.xml:1000
+#, no-c-format
 msgid "Summary"
-msgstr ""
+msgstr "Résumé"
 
-#: index.docbook:1002
-msgid "This tutorial covered the basics of writing a simple standalone Hibernate application and a small web application."
+#. Tag: para
+#: tutorial.xml:1002
+#, no-c-format
+msgid ""
+"This tutorial covered the basics of writing a simple standalone Hibernate "
+"application and a small web application."
 msgstr ""
+"Ce didacticiel a couvert les bases de l'écriture d'une simple application "
+"Hibernate ainsi qu'une petite application web."
 
-#: index.docbook:1007
-msgid "If you already feel confident with Hibernate, continue browsing through the reference documentation table of contents for topics you find interesting - 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\"/>)."
+#. Tag: para
+#: tutorial.xml:1007
+#, no-c-format
+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 vous êtes déjà confiants avec Hibernate, continuez à parcourir les sujets "
+"que vous trouvez intéressants à travers la table des matières de la "
+"documentation de référence - les plus demandés sont le traitement "
+"transactionnel (<xref linkend=\"transactions\"/>), la performance des "
+"récupérations d'information (<xref linkend=\"performance\"/>), ou "
+"l'utilisation de l'API (<xref linkend=\"objectstate\"/>) et les "
+"fonctionnalités des requêtes (<xref linkend=\"objectstate-querying\"/>)."
 
-#: index.docbook:1015
-msgid "Don't forget to check the Hibernate website for more (specialized) tutorials."
+#. Tag: para
+#: tutorial.xml:1015
+#, no-c-format
+msgid ""
+"Don't forget to check the Hibernate website for more (specialized) tutorials."
 msgstr ""
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+"N'oubliez pas de vérifier le site web d'Hibernate pour d'autres didacticiels "
+"(plus spécialisés)."

Modified: core/trunk/documentation/manual/translations/fr-FR/content/xml.po
===================================================================
--- core/trunk/documentation/manual/translations/fr-FR/content/xml.po	2007-10-26 07:31:49 UTC (rev 14140)
+++ core/trunk/documentation/manual/translations/fr-FR/content/xml.po	2007-10-26 07:34:37 UTC (rev 14141)
@@ -1,420 +1,451 @@
-#, fuzzy
 msgid ""
 msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:48+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: xml.xml:5
+#, no-c-format
 msgid "XML Mapping"
 msgstr "Mapping XML"
 
-#: index.docbook:7
-msgid "Note that this is an experimental feature in Hibernate 3.0 and is under extremely active development."
-msgstr "Notez que cette fonctionnalité est expérimentale dans Hibernate 3.0 et est en développement extrêmement actif."
+#. Tag: emphasis
+#: xml.xml:7
+#, no-c-format
+msgid ""
+"Note that this is an experimental feature in Hibernate 3.0 and is under "
+"extremely active development."
+msgstr ""
+"Notez que cette fonctionnalité est expérimentale dans Hibernate 3.0 et est "
+"en développement extrêmement actif."
 
-#: index.docbook:13
+#. Tag: title
+#: xml.xml:13
+#, no-c-format
 msgid "Working with XML data"
 msgstr "Travailler avec des données XML"
 
-#: index.docbook:15
-msgid "Hibernate lets you work with persistent XML data in much the same way you work with persistent POJOs. A parsed XML tree can be thought of as just another way to represent the relational data at the object level, instead of POJOs."
-msgstr "Hibernate vous laisse travailler avec des données XML persistantes de la même manière que vous travaillez avec des POJOs persistants. Un arbre XML peut être vu comme une autre manière de représenter les données relationnelles au niveau objet, à la place des POJOs."
+#. Tag: para
+#: xml.xml:15
+#, no-c-format
+msgid ""
+"Hibernate lets you work with persistent XML data in much the same way you "
+"work with persistent POJOs. A parsed XML tree can be thought of as just "
+"another way to represent the relational data at the object level, instead of "
+"POJOs."
+msgstr ""
+"Hibernate vous laisse travailler avec des données XML persistantes de la "
+"même manière que vous travaillez avec des POJOs persistants. Un arbre XML "
+"peut être vu comme une autre manière de représenter les données "
+"relationnelles au niveau objet, à la place des POJOs."
 
-#: index.docbook:22
-msgid "Hibernate supports dom4j as API for manipulating XML trees. You can write queries that retrieve dom4j trees from the database and have any modification you make to the tree automatically synchronized to the database. You can even take an XML document, parse it using dom4j, and write it to the database with any of Hibernate's basic operations: <literal>persist(), saveOrUpdate(), merge(), delete(), replicate()</literal> (merging is not yet supported)."
-msgstr "Hibernate supporte dom4j en tant qu'API pour la manipulation des arbres XML. Vous pouvez écrire des requêtes qui récupèrent des arbres dom4j à partie de la base de données, et avoir toutes les modifications que vous faites sur l'arbre automatiquement synchronisées dans la base de données. Vous pouvez même prendre un document XML, l'analyser en utilisant dom4j, et l'écrire dans la base de données via les opérations basiques d'Hibernate : <literal>persist(), saveOrUpdate(), merge(), delete(), replicate()</literal> (merge() n'est pas encore supporté)."
+#. Tag: para
+#: xml.xml:22
+#, no-c-format
+msgid ""
+"Hibernate supports dom4j as API for manipulating XML trees. You can write "
+"queries that retrieve dom4j trees from the database and have any "
+"modification you make to the tree automatically synchronized to the "
+"database. You can even take an XML document, parse it using dom4j, and write "
+"it to the database with any of Hibernate's basic operations: <literal>persist"
+"(), saveOrUpdate(), merge(), delete(), replicate()</literal> (merging is not "
+"yet supported)."
+msgstr ""
+"Hibernate supporte dom4j en tant qu'API pour la manipulation des arbres XML. "
+"Vous pouvez écrire des requêtes qui récupèrent des arbres dom4j à partie de "
+"la base de données, et avoir toutes les modifications que vous faites sur "
+"l'arbre automatiquement synchronisées dans la base de données. Vous pouvez "
+"même prendre un document XML, l'analyser en utilisant dom4j, et l'écrire "
+"dans la base de données via les opérations basiques d'Hibernate : "
+"<literal>persist(), saveOrUpdate(), merge(), delete(), replicate()</literal> "
+"(merge() n'est pas encore supporté)."
 
-#: index.docbook:32
-msgid "This feature has many applications including data import/export, externalization of entity data via JMS or SOAP and XSLT-based reporting."
-msgstr "Cette fonctionnalité a plusieurs applications dont l'import/export de données, l'externalisation d'entités via JMS ou SOAP et les rapports XSLT."
+#. Tag: para
+#: xml.xml:32
+#, 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 ""
+"Cette fonctionnalité a plusieurs applications dont l'import/export de "
+"données, l'externalisation d'entités via JMS ou SOAP et les rapports XSLT."
 
-#: index.docbook:37
-msgid "A single mapping may be used to simultaneously map properties of a class and nodes of an XML document to the database, or, if there is no class to map, it may be used to map just the XML."
-msgstr "Un simple mapping peut être utilisé pour simultanément mapper les propriétés d'une classe et les noeuds d'un document XML vers la base de données, ou, si il n'y a pas de classe à mapper, il peut être utilisé juste pour mapper le XML."
+#. Tag: para
+#: xml.xml:37
+#, no-c-format
+msgid ""
+"A single mapping may be used to simultaneously map properties of a class and "
+"nodes of an XML document to the database, or, if there is no class to map, "
+"it may be used to map just the XML."
+msgstr ""
+"Un simple mapping peut être utilisé pour simultanément mapper les propriétés "
+"d'une classe et les noeuds d'un document XML vers la base de données, ou, si "
+"il n'y a pas de classe à mapper, il peut être utilisé juste pour mapper le "
+"XML."
 
-#: index.docbook:44
+#. Tag: title
+#: xml.xml:44
+#, no-c-format
 msgid "Specifying XML and class mapping together"
 msgstr "Spécifier le mapping XML et le mapping d'une classe ensemble"
 
-#: index.docbook:46
+#. Tag: para
+#: xml.xml:46
+#, no-c-format
 msgid "Here is an example of mapping a POJO and XML simultaneously:"
 msgstr "Voici un exemple de mapping d'un POJO et du XML simultanément :"
 
-#: index.docbook:50
+#. Tag: programlisting
+#: xml.xml:50
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:54
+#. Tag: title
+#: xml.xml:54
+#, no-c-format
 msgid "Specifying only an XML mapping"
 msgstr "Spécifier seulement un mapping XML"
 
-#: index.docbook:56
+#. Tag: para
+#: xml.xml:56
+#, no-c-format
 msgid "Here is an example where there is no POJO class:"
 msgstr "Voici un exemple dans lequel il n'y a pas de class POJO :"
 
-#: index.docbook:60
+#. Tag: programlisting
+#: xml.xml:60
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:62
-msgid "This mapping allows you to access the data as a dom4j tree, or as a graph of property name/value pairs (java <literal>Map</literal>s). The property names are purely logical constructs that may be referred to in HQL queries."
-msgstr "Ce mapping vous permet d'accéder aux données comme un arbre dom4j, ou comme un graphe de paire nom de propriété/valeur (<literal>Map</literal>s java). Les noms des propriétés sont des constructions purement logiques qui peuvent être référées des dans requêtes HQL."
+#. Tag: para
+#: xml.xml:62
+#, 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 (java <literal>Map</literal>s). The property names "
+"are purely logical constructs that may be referred to in HQL queries."
+msgstr ""
+"Ce mapping vous permet d'accéder aux données comme un arbre dom4j, ou comme "
+"un graphe de paire nom de propriété/valeur (<literal>Map</literal>s java). "
+"Les noms des propriétés sont des constructions purement logiques qui peuvent "
+"être référées des dans requêtes HQL."
 
-#: index.docbook:73
+#. Tag: title
+#: xml.xml:73
+#, no-c-format
 msgid "XML mapping metadata"
 msgstr "Métadonnées du mapping XML"
 
-#: index.docbook:75
-msgid "Many Hibernate mapping elements accept the <literal>node</literal> attribute. This let's you specify the name of an XML attribute or element that holds the property or entity data. The format of the <literal>node</literal> attribute must be one of the following:"
-msgstr "Plusieurs éléments du mapping Hibernate acceptent l'attribut <literal>node</literal>. Ceci vous permet de spécifier le nom d'un attribut XML ou d'un élément qui contient la propriété ou les données de l'entité. Le format de l'attribut <literal>node</literal> doit être un des suivants :"
+#. Tag: para
+#: xml.xml:75
+#, no-c-format
+msgid ""
+"Many Hibernate mapping elements accept the <literal>node</literal> "
+"attribute. This let's you specify the name of an XML attribute or element "
+"that holds the property or entity data. The format of the <literal>node</"
+"literal> attribute must be one of the following:"
+msgstr ""
+"Plusieurs éléments du mapping Hibernate acceptent l'attribut <literal>node</"
+"literal>. Ceci vous permet de spécifier le nom d'un attribut XML ou d'un "
+"élément qui contient la propriété ou les données de l'entité. Le format de "
+"l'attribut <literal>node</literal> doit être un des suivants :"
 
-#: index.docbook:84
+#. Tag: para
+#: xml.xml:84
+#, no-c-format
 msgid "<literal>\"element-name\"</literal> - map to the named XML element"
 msgstr "<literal>\"element-name\"</literal> - mappe vers l'élément XML nommé"
 
-#: index.docbook:87
+#. Tag: para
+#: xml.xml:87
+#, no-c-format
 msgid "<literal>\"@attribute-name\"</literal> - map to the named XML attribute"
-msgstr "<literal>\"@attribute-name\"</literal> - mappe vers l'attribut XML nommé"
+msgstr ""
+"<literal>\"@attribute-name\"</literal> - mappe vers l'attribut XML nommé"
 
-#: index.docbook:90
+#. Tag: para
+#: xml.xml:90
+#, no-c-format
 msgid "<literal>\".\"</literal> - map to the parent element"
 msgstr "<literal>\".\"</literal> - mappe vers le parent de l'élément"
 
-#: index.docbook:93
-msgid "<literal>\"element-name/@attribute-name\"</literal> - map to the named attribute of the named element"
-msgstr "<literal>\"element-name/@attribute-name\"</literal> - mappe vers l'élément nommé de l'attribut nommé"
+#. Tag: para
+#: xml.xml:93
+#, 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> - mappe vers l'élément "
+"nommé de l'attribut nommé"
 
-#: index.docbook:100
-msgid "For collections and single valued associations, there is an additional <literal>embed-xml</literal> attribute. If <literal>embed-xml=\"true\"</literal>, the default, the XML tree for the associated entity (or collection of value type) will be embedded directly in the XML tree for the entity that owns the association. Otherwise, if <literal>embed-xml=\"false\"</literal>, then only the referenced identifier value will appear in the XML for single point associations and collections will simply not appear at all."
-msgstr "Pour des collections et de simples associations valuées, il y a un attribut <literal>embed-xml</literal> supplémentaire. Si <literal>embed-xml=\"true\"</literal>, qui est la valeur par défaut, l'arbre XML pour l'entité associée (ou la collection des types de valeurs) sera embarquée directement dans l'arbre XML pour l'entité qui possède l'association. Sinon, si <literal>embed-xml=\"false\"</literal>, alors seule la valeur de l'identifiant référencé apparaîtra dans le XML pour de simples associations de points, et les collections n'appraîtront simplement pas."
+#. Tag: para
+#: xml.xml:100
+#, no-c-format
+msgid ""
+"For collections and single valued associations, there is an additional "
+"<literal>embed-xml</literal> attribute. If <literal>embed-xml=\"true\"</"
+"literal>, the default, the XML tree for the associated entity (or collection "
+"of value type) will be embedded directly in the XML tree for the entity that "
+"owns the association. Otherwise, if <literal>embed-xml=\"false\"</literal>, "
+"then only the referenced identifier value will appear in the XML for single "
+"point associations and collections will simply not appear at all."
+msgstr ""
+"Pour des collections et de simples associations valuées, il y a un attribut "
+"<literal>embed-xml</literal> supplémentaire. Si <literal>embed-xml=\"true\"</"
+"literal>, qui est la valeur par défaut, l'arbre XML pour l'entité associée "
+"(ou la collection des types de valeurs) sera embarquée directement dans "
+"l'arbre XML pour l'entité qui possède l'association. Sinon, si "
+"<literal>embed-xml=\"false\"</literal>, alors seule la valeur de "
+"l'identifiant référencé apparaîtra dans le XML pour de simples associations "
+"de points, et les collections n'appraîtront simplement pas."
 
-#: index.docbook:110
-msgid "You should be careful not to leave <literal>embed-xml=\"true\"</literal> for too many associations, since XML does not deal well with circularity!"
-msgstr "Vous devriez faire attention à ne pas laisser <literal>embed-xml=\"true\"</literal> pour trop d'associations, puisque XML ne traite pas bien les liens circurlaires."
+#. Tag: para
+#: xml.xml:110
+#, no-c-format
+msgid ""
+"You should be careful not to leave <literal>embed-xml=\"true\"</literal> for "
+"too many associations, since XML does not deal well with circularity!"
+msgstr ""
+"Vous devriez faire attention à ne pas laisser <literal>embed-xml=\"true\"</"
+"literal> pour trop d'associations, puisque XML ne traite pas bien les liens "
+"circurlaires."
 
-#: index.docbook:115
+#. Tag: programlisting
+#: xml.xml:115
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:117
-msgid "in this case, we have decided to embed the collection of account ids, but not the actual account data. The following HQL query:"
-msgstr "dans ce cas, nous avons décidé d'embarquer la collection d'identifiants de compte, mais pas les données actuelles du compte. La requête HQL suivante :"
+#. Tag: para
+#: xml.xml:117
+#, no-c-format
+msgid ""
+"in this case, we have decided to embed the collection of account ids, but "
+"not the actual account data. The following HQL query:"
+msgstr ""
+"dans ce cas, nous avons décidé d'embarquer la collection d'identifiants de "
+"compte, mais pas les données actuelles du compte. La requête HQL suivante :"
 
-#: index.docbook:122
-msgid "<![CDATA[from Customer c left join fetch c.accounts where c.lastName like :lastName]]>"
-msgstr "<![CDATA[from Customer c left join fetch c.accounts where c.lastName like :lastName]]>"
+#. Tag: programlisting
+#: xml.xml:122
+#, no-c-format
+msgid ""
+"<![CDATA[from Customer c left join fetch c.accounts where c.lastName like :"
+"lastName]]>"
+msgstr ""
 
-#: index.docbook:124
+#. Tag: para
+#: xml.xml:124
+#, no-c-format
 msgid "Would return datasets such as this:"
 msgstr "devrait retourner l'ensemble de données suivant :"
 
-#: index.docbook:128
+#. Tag: programlisting
+#: xml.xml:128
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:130
-msgid "If you set <literal>embed-xml=\"true\"</literal> on the <literal>&lt;one-to-many&gt;</literal> mapping, the data might look more like this:"
-msgstr "Si vous positionnez <literal>embed-xml=\"true\"</literal> sur le mapping <literal>&lt;one-to-many&gt;</literal>, les données pourraient ressembler plus à ça :"
+#. Tag: para
+#: xml.xml:130
+#, 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 vous positionnez <literal>embed-xml=\"true\"</literal> sur le mapping "
+"<literal>&lt;one-to-many&gt;</literal>, les données pourraient ressembler "
+"plus à ça :"
 
-#: index.docbook:135
+#. Tag: programlisting
+#: xml.xml:135
+#, 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>]]>"
+"<![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>]]>"
 
-#: index.docbook:141
+#. Tag: title
+#: xml.xml:141
+#, no-c-format
 msgid "Manipulating XML data"
 msgstr "Manipuler des données XML"
 
-#: index.docbook:143
-msgid "Let's rearead and update XML documents in the application. We do this by obtaining a dom4j session:"
-msgstr "Relisons et mettons à jour des documents XML dans l'application. Nous faisons ça en obtenant une session dom4j :"
+#. Tag: para
+#: xml.xml:143
+#, no-c-format
+msgid ""
+"Let's rearead and update XML documents in the application. We do this by "
+"obtaining a dom4j session:"
+msgstr ""
+"Relisons et mettons à jour des documents XML dans l'application. Nous "
+"faisons ça en obtenant une session dom4j :"
 
-#: index.docbook:148
+#. Tag: programlisting
+#: xml.xml:148
+#, 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();]]>"
+"<![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.getRootElement().add(customer);\n"
-      "}\n"
-      "\n"
-      "tx.commit();\n"
-      "session.close();]]>"
 
-#: index.docbook:150
+#. Tag: programlisting
+#: xml.xml:150
+#, 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();]]>"
+"<![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();]]>"
 
-#: index.docbook:152
-msgid "It is extremely useful to combine this feature with Hibernate's <literal>replicate()</literal> operation to implement XML-based data import/export."
-msgstr "Il est extrêmement utile de combiner cette fonctionnalité avec l'opération <literal>replicate()</literal> d'Hibernate pour implémenter des imports/exports de données XML."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: xml.xml:152
+#, no-c-format
+msgid ""
+"It is extremely useful to combine this feature with Hibernate's "
+"<literal>replicate()</literal> operation to implement XML-based data import/"
+"export."
+msgstr ""
+"Il est extrêmement utile de combiner cette fonctionnalité avec l'opération "
+"<literal>replicate()</literal> d'Hibernate pour implémenter des imports/"
+"exports de données XML."




More information about the hibernate-commits mailing list