Hibernate SVN: r14141 - core/trunk/documentation/manual/translations/fr-FR/content.
by hibernate-commits@lists.jboss.org
Author: xhuang(a)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@ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:21
+"Language-Team: LANGUAGE <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: architecture.xml:21
+#, no-c-format
msgid "Architecture"
msgstr "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@ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:6
+"Language-Team: LANGUAGE <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: association_mapping.xml:6
+#, no-c-format
msgid "Association Mappings"
msgstr "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><key></literal> element of the collection mapping if the underlying foreign key column is <literal>NOT NULL</literal>. Don't only declare <literal>not-null=\"true\"</literal> on a possible nested <literal><column></literal> element, but on the <literal><key></literal> element."
-msgstr "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><key></literal> element of the collection mapping if the "
+"underlying foreign key column is <literal>NOT NULL</literal>. Don't only "
+"declare <literal>not-null=\"true\"</literal> on a possible nested "
+"<literal><column></literal> element, but on the <literal><key></"
+"literal> element."
+msgstr ""
+"It is important that you define <literal>not-null=\"true\"</literal> on the "
+"<literal><key></literal> element of the collection mapping if the "
+"underlying foreign key column is <literal>NOT NULL</literal>. Don't only "
+"declare <literal>not-null=\"true\"</literal> on a possible nested "
+"<literal><column></literal> element, but on the <literal><key></"
+"literal> element."
-#: index.docbook:187
-msgid "A <emphasis>bidirectional one-to-one association on a foreign key</emphasis> is quite common."
+#. 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@ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: basic_mapping.xml:5
+#, no-c-format
msgid "Basic O/R Mapping"
msgstr "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><class></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><class></literal> mappings, as shown above. It is however good practice (and expected by some tools) to map only a single persistent class (or a single class hierarchy) in one mapping file and name it after the persistent superclass, e.g. <literal>Cat.hbm.xml</literal>, <literal>Dog.hbm.xml</literal>, or if using inheritance, <literal>Animal.hbm.xml</literal>."
-msgstr "<literal>mutable</literal> (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><class></literal> mappings, as shown "
+"above. It is however good practice (and expected by some tools) to map only "
+"a single persistent class (or a single class hierarchy) in one mapping file "
+"and name it after the persistent superclass, e.g. <literal>Cat.hbm.xml</"
+"literal>, <literal>Dog.hbm.xml</literal>, or if using inheritance, "
+"<literal>Animal.hbm.xml</literal>."
+msgstr ""
+"Notez que l'élément <literal>hibernate-mapping</literal> vous permet "
+"d'imbriquer plusieurs mappings de <literal><class></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><hibernate-mapping></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><hibernate-mapping></literal>."
+#. Tag: para
+#: basic_mapping.xml:183
+#, no-c-format
+msgid ""
+"You may declare a persistent class using the <literal>class</literal> "
+"element:"
+msgstr ""
+"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><hibernate-mapping></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><hibernate-mapping></literal> element."
+msgstr ""
+"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
+"<literal>schema</literal> (optionnel) : Surcharge le nom de schéma spécifié "
+"par l'élément racine <literal><hibernate-mapping></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><hibernate-mapping></literal>."
-#: index.docbook:246, index.docbook:2210
-msgid "<literal>catalog</literal> (optional): Override the catalog name specified by the root <literal><hibernate-mapping></literal> element."
-msgstr "<literal>persister</literal> (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><hibernate-mapping></literal> element."
+msgstr ""
+"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
+"<literal>catalog</literal> (optionnel) : Surcharge le nom du catalogue "
+"spécifié par l'élément racine <literal><hibernate-mapping></literal>.\n"
+"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
+"<literal>catalog</literal> (optionnel) : court-circuite le nom de catalogue "
+"spécifié par l'élément de base <literal><hibernate-mapping></literal>."
-#: index.docbook:252
-msgid "<literal>proxy</literal> (optional): Specifies an interface to use for lazy initializing proxies. You may specify the name of the class itself."
-msgstr "<literal>batch-size</literal> (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><union-subclass></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><subclass></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><subclass></literal> ou <literal><joined-subclass></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><union-subclass></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><subclass></literal> ou <literal><joined-subclass></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><union-subclass></literal> hierarchies."
+msgstr ""
+"<literal>abstract</literal> (optionnel) : Utilisé pour marquer des "
+"superclasses abstraites dans des hiérarchies de <literal><union-"
+"subclass></literal>."
-#: index.docbook:356
-msgid "It is perfectly acceptable for the named persistent class to be an interface. You would then declare implementing classes of that interface using the <literal><subclass></literal> element. You may persist any <emphasis>static</emphasis> inner class. You should specify the class name using the standard form ie. <literal>eg.Foo$Bar</literal>."
-msgstr "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><subclass></literal> element. You may persist any "
+"<emphasis>static</emphasis> inner class. You should specify the class name "
+"using the standard form ie. <literal>eg.Foo$Bar</literal>."
+msgstr ""
+"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><subclass></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><class></literal> declaration as a <literal><subclass></literal> or <literal><joined-subclass></literal>. For most purposes the default, <literal>polymorphism=\"implicit\"</literal>, is appropriate. Explicit polymorphism is useful when two different classes are mapped to the same table (this allows a \"lightweight\" class that contains a subset of the table columns)."
-msgstr "<literal>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><"
+"class></literal> declaration as a <literal><subclass></literal> or "
+"<literal><joined-subclass></literal>. For most purposes the default, "
+"<literal>polymorphism=\"implicit\"</literal>, is appropriate. Explicit "
+"polymorphism is useful when two different classes are mapped to the same "
+"table (this allows a \"lightweight\" class that contains a subset of the "
+"table columns)."
+msgstr ""
+"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><subclass></literal> ou "
+"<literal><joined-subclass></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><subclass></literal> or <literal><joined-subclass></literal> elements. These settings may increase performance in some cases, but might actually decrease performance in others. Use judiciously."
-msgstr "<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><subclass></literal> or <literal><joined-"
+"subclass></literal> elements. These settings may increase performance in "
+"some cases, but might actually decrease performance in others. Use "
+"judiciously."
+msgstr ""
+"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><subclass></"
+"literal> ou <literal><joined-subclass></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><subselect></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><id></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><subselect></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><subselect></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><subselect></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><id></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><id></"
+"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><id></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/(a)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/(a)attribute|.\"\n"
+"\n"
+" <generator class=\"generatorClass\"/>\n"
+"</id>]]>"
+msgstr ""
-#: index.docbook:485
-msgid "<literal>name</literal> (optional): The name of the identifier property."
-msgstr "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><composite-id></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><generator></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><param></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><composite-id></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><composite-id></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><composite-id></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><generator></literal> child element names a Java class used to generate unique identifiers for instances of the persistent class. If any parameters are required to configure or initialize the generator instance, they are passed using the <literal><param></literal> element."
-msgstr "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><generator></literal> child element names a Java "
+"class used to generate unique identifiers for instances of the persistent "
+"class. If any parameters are required to configure or initialize the "
+"generator instance, they are passed using the <literal><param></"
+"literal> element."
+msgstr ""
+"L'élément fils <literal><generator></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><param></literal>."
-#: index.docbook:541
+#. Tag: programlisting
+#: basic_mapping.xml:541
+#, no-c-format
msgid ""
- "<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
- " <generator class=\"org.hibernate.id.TableHiLoGenerator\">\n"
- " <param name=\"table\">uid_table</param>\n"
- " <param name=\"column\">next_hi_value_column</param>\n"
- " </generator>\n"
- "</id>]]>"
-msgstr "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><generator></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><one-to-one></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><generator></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><generator></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><generator></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><one-to-one></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><one-to-one></literal> primary key "
+"association."
+msgstr ""
+"Utilise l'identifiant d'un objet associé. Habituellement utilisé en "
+"conjonction avec une association <literal><one-to-one></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><generator></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><generator></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><generator></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><generator></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><composite-id></literal> accepte les mappings de propriétés <literal><key-property></literal> et les mappings <literal><key-many-to-one></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><composite-id></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><discriminator></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><class></literal> et <literal><subclass></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><version></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/(a)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><composite-id></literal> "
+"element accepts <literal><key-property></literal> property mappings "
+"and <literal><key-many-to-one></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><composite-"
+"id></literal> accepte les mappings de propriétés <literal><key-"
+"property></literal> et les mappings <literal><key-many-to-one></"
+"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><composite-id></literal> element accepts <literal><key-property></literal> property mappings and <literal><key-many-to-one></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><"
+"composite-id></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><composite-id></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><composite-id></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—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—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><timestamp></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/(a)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><discriminator></literal> element is required for polymorphic persistence using the table-per-class-hierarchy mapping strategy and declares a discriminator column of the table. The discriminator column contains marker values that tell the persistence layer what subclass to instantiate for a particular row. A restricted set of types may be used: <literal>string</literal>, <literal>character</literal>, <literal>integer</literal>, <literal>byte</literal>, <literal>short</literal>, <literal>boolean</literal>, <literal>yes_no</literal>, <literal>true_false</literal>."
-msgstr "<literal>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><discriminator></literal> element is required for "
+"polymorphic persistence using the table-per-class-hierarchy mapping strategy "
+"and declares a discriminator column of the table. The discriminator column "
+"contains marker values that tell the persistence layer what subclass to "
+"instantiate for a particular row. A restricted set of types may be used: "
+"<literal>string</literal>, <literal>character</literal>, <literal>integer</"
+"literal>, <literal>byte</literal>, <literal>short</literal>, "
+"<literal>boolean</literal>, <literal>yes_no</literal>, <literal>true_false</"
+"literal>."
+msgstr ""
+"L'élément <literal><discriminator></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><timestamp></literal> est équivalent à <literal><version type=\"timestamp\"></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><property></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/(a)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><column></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><class></literal> and <literal><subclass></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><"
+"class></literal> and <literal><subclass></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><"
+"class></literal> et <literal><subclass></literal>."
-#: index.docbook:1102
-msgid "The <literal>force</literal> attribute is (only) useful if the table contains rows with \"extra\" discriminator values that are not mapped to a persistent class. This will not usually be the case."
-msgstr "<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><version></literal> element is optional and indicates that the table contains versioned data. This is particularly useful if you plan to use <emphasis>long transactions</emphasis> (see below)."
-msgstr "<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><version></literal> element is optional and indicates "
+"that the table contains versioned data. This is particularly useful if you "
+"plan to use <emphasis>long transactions</emphasis> (see below)."
+msgstr ""
+"L'élément <literal><version></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/(a)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/(a)attribute|.\"\n"
+"/>]]>"
+msgstr ""
-#: index.docbook:1139
-msgid "<literal>column</literal> (optional - defaults to the property name): The name of the column holding the version number."
-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><timestamp></literal> element indicates that the table contains timestamped data. This is intended as an alternative to versioning. Timestamps are by nature a less safe implementation of optimistic locking. However, sometimes the application might use the timestamps in other ways."
+#. Tag: para
+#: basic_mapping.xml:1206
+#, no-c-format
+msgid ""
+"The optional <literal><timestamp></literal> element indicates that the "
+"table contains timestamped data. This is intended as an alternative to "
+"versioning. Timestamps are by nature a less safe implementation of "
+"optimistic locking. However, sometimes the application might use the "
+"timestamps in other ways."
msgstr ""
- "<![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><timestamp></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/(a)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><formula></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/(a)attribute|.\"\n"
+"/>]]>"
+msgstr ""
-#: index.docbook:1225
-msgid "<literal>column</literal> (optional - defaults to the property name): The name of a column holding the timestamp."
-msgstr "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><column></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><timestamp></literal> is equivalent to <literal><version type=\"timestamp\"></literal>. And <literal><timestamp source=\"db\"></literal> is equivalent to <literal><version type=\"dbtimestamp\"></literal>"
-msgstr "<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><timestamp></literal> is equivalent to <literal><"
+"version type=\"timestamp\"></literal>. And <literal><timestamp source="
+"\"db\"></literal> is equivalent to <literal><version type=\"dbtimestamp"
+"\"></literal>"
+msgstr ""
+"Notez que <literal><timestamp></literal> est équivalent à <literal><"
+"version type=\"timestamp\"></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><property></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><property></literal> element declares a persistent, "
+"JavaBean style property of the class."
+msgstr ""
+"L'élément <literal><property></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/(a)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/(a)attribute|.\"\n"
+" index=\"index_name\"\n"
+" unique_key=\"unique_key_id\"\n"
+" length=\"L\"\n"
+" precision=\"P\"\n"
+" scale=\"S\"\n"
+"/>]]>"
+msgstr ""
-#: index.docbook:1311
-msgid "<literal>name</literal>: the name of the property, with an initial lowercase letter."
-msgstr "<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><column></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><column></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><column></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><properties></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><formula></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><formula></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><formula></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/(a)attribute|.\"\n"
- " embed-xml=\"true|false\"\n"
- " index=\"index_name\"\n"
- " unique_key=\"unique_key_id\"\n"
- " foreign-key=\"foreign_key_name\"\n"
- "/>]]>"
-msgstr "<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/(a)attribute|.\"\n"
+" embed-xml=\"true|false\"\n"
+" index=\"index_name\"\n"
+" unique_key=\"unique_key_id\"\n"
+" foreign-key=\"foreign_key_name\"\n"
+"/>]]>"
+msgstr ""
-#: 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><column></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><column></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><column></"
+"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><column></literal>."
-#: index.docbook:1500, index.docbook:1674
-msgid "<literal>class</literal> (optional - defaults to the property type determined by reflection): The name of the associated class."
-msgstr "<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><natural-id></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><properties></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><"
+"properties></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><properties></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><component></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/(a)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/(a)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><property></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><dynamic-component></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><properties></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><properties></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><natural-id></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><subclass></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><natural-id></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><natural-id></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><component></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><component></literal> element maps properties of a child object to columns of the table of a parent class. Components may, in turn, declare their own properties, components or collections. See \"Components\" below."
-msgstr "Chaque sous-classe devrait déclarer ses propres propriétés persistantes et sous-classes. Les propriétés <literal><version></literal> et <literal><id></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><component></literal> element maps properties of a child "
+"object to columns of the table of a parent class. Components may, in turn, "
+"declare their own properties, components or collections. See \"Components\" "
+"below."
+msgstr "<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><joined-subclass></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><property></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><properties></"
+"literal> suivant :"
-#: index.docbook:1908
-msgid "The child <literal><property></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><property></literal> tags map properties of the "
+"child class to table columns."
+msgstr ""
+"L'élément <literal><component></literal> permet de déclarer sous-"
+"élément <literal><parent></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><component></literal> element allows a <literal><parent></literal> subelement that maps a property of the component class as a reference back to the containing entity."
-msgstr "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><key></literal>. Le mapping au début de ce chapitre serait ré-écrit ainsi :"
-
-#: index.docbook:1919
-msgid "The <literal><dynamic-component></literal> element allows a <literal>Map</literal> to be mapped as a component, where the property names refer to keys of the map, see <xref linkend=\"components-dynamic\"/>."
+#. Tag: para
+#: basic_mapping.xml:1913
+#, no-c-format
+msgid ""
+"The <literal><component></literal> element allows a <literal><"
+"parent></literal> subelement that maps a property of the component class "
+"as a reference back to the containing entity."
msgstr ""
- "<![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><dynamic-component></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><dynamic-component></literal> element allows a "
+"<literal>Map</literal> to be mapped as a component, where the property names "
+"refer to keys of the map, see <xref linkend=\"components-dynamic\"/>."
+msgstr "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><properties></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><properties></literal> element allows the definition of a named, logical grouping of properties of a class. The most important use of the construct is that it allows a combination of properties to be the target of a <literal>property-ref</literal>. It is also a convenient way to define a multi-column unique constraint."
-msgstr "union-subclass"
+#. Tag: para
+#: basic_mapping.xml:1930
+#, no-c-format
+msgid ""
+"The <literal><properties></literal> element allows the definition of a "
+"named, logical grouping of properties of a class. The most important use of "
+"the construct is that it allows a combination of properties to be the target "
+"of a <literal>property-ref</literal>. It is also a convenient way to define "
+"a multi-column unique constraint."
+msgstr ""
+"<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><class></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><union-subclass></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><properties></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><properties></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><join></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><"
+"subclass></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><subclass></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><hibernate-mapping></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><subclass></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><hibernate-mapping></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><jointure></literal> définie par une sous-classe. Si positionné à <literal>select</literal> alors Hibernate utilisera un select séquentiel pour une <literal><jointure></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><jointure></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><version></literal> et "
+"<literal><id></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><version></literal> and <literal><id></literal> properties are assumed to be inherited from the root class. Each subclass in a heirarchy must define a unique <literal>discriminator-value</literal>. If none is specified, the fully qualified Java class name is used."
+#. Tag: para
+#: basic_mapping.xml:2048
+#, no-c-format
+msgid ""
+"Each subclass should declare its own persistent properties and subclasses. "
+"<literal><version></literal> and <literal><id></literal> "
+"properties are assumed to be inherited from the root class. Each subclass in "
+"a heirarchy must define a unique <literal>discriminator-value</literal>. If "
+"none is specified, the fully qualified Java class name is used."
msgstr ""
- "<![CDATA[<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><joined-subclass></literal> element."
-msgstr "Nous avons rencontré l'élément <literal><key></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><joined-subclass></"
+"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><joined-subclass></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><key></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><key></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><key></"
+"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><key not-null=\"true\"></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><class></literal> declaration. However, if you wish use polymorphic associations (e.g. an association to the superclass of your hierarchy), you need to use the <literal><union-subclass></literal> mapping."
-msgstr "é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><class></literal> declaration. However, if you wish use "
+"polymorphic associations (e.g. an association to the superclass of your "
+"hierarchy), you need to use the <literal><union-subclass></literal> "
+"mapping."
+msgstr ""
+"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><class></"
+"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><union-subclass></literal>."
-#: index.docbook:2141
+#. Tag: programlisting
+#: basic_mapping.xml:2141
+#, no-c-format
msgid ""
- "<![CDATA[<union-subclass\n"
- " name=\"ClassName\"\n"
- " table=\"tablename\"\n"
- " proxy=\"ProxyInterface\"\n"
- " lazy=\"true|false\"\n"
- " dynamic-update=\"true|false\"\n"
- " dynamic-insert=\"true|false\"\n"
- " schema=\"schema\"\n"
- " catalog=\"catalog\"\n"
- " extends=\"SuperclassName\"\n"
- " abstract=\"true|false\"\n"
- " persister=\"ClassName\"\n"
- " subselect=\"SQL expression\"\n"
- " entity-name=\"EntityName\"\n"
- " node=\"element-name\">\n"
- "\n"
- " <property .... />\n"
- " .....\n"
- "</union-subclass>]]>"
-msgstr "Tout élément de mapping qui accepte un attribut <literal>column</literal> acceptera alternativement un sous-élément <literal><column></literal>. De façon identique, <literal><formula></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><join></literal> element, it is possible to map properties of one class to several tables, when there's a 1-to-1 relationship between the tables."
+#. Tag: para
+#: basic_mapping.xml:2181
+#, no-c-format
+msgid ""
+"Using the <literal><join></literal> element, it is possible to map "
+"properties of one class to several tables, when there's a 1-to-1 "
+"relationship between the tables."
msgstr ""
- "<![CDATA[<import\n"
- " class=\"ClassName\"\n"
- " rename=\"ShortName\"\n"
- "/>]]>"
+"En utilisant l'élément <literal><join></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><join></literal> defined by a class or its superclasses and an outer join for a <literal><join></literal> defined by a subclass. If set to <literal>select</literal> then Hibernate will use a sequential select for a <literal><join></literal> defined on a subclass, which will be issued only if a row turns out to represent an instance of the subclass. Inner joins will still be used to retrieve a <literal><join></literal> defined by the class and its superclasses."
-msgstr "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><join></literal> defined by a class or its "
+"superclasses and an outer join for a <literal><join></literal> defined "
+"by a subclass. If set to <literal>select</literal> then Hibernate will use a "
+"sequential select for a <literal><join></literal> defined on a "
+"subclass, which will be issued only if a row turns out to represent an "
+"instance of the subclass. Inner joins will still be used to retrieve a "
+"<literal><join></literal> defined by the class and its superclasses."
+msgstr ""
+"<literal>fetch</literal> (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><jointure></literal> définie par une sous-classe. Si "
+"positionné à <literal>select</literal> alors Hibernate utilisera un select "
+"séquentiel pour une <literal><jointure></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><jointure></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><key></literal> element crop up a few times now. It appears anywhere the parent mapping element defines a join to a new table, and defines the foreign key in the joined table, that references the primary key of the original table."
-msgstr "<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><key></literal> element crop up a few times "
+"now. It appears anywhere the parent mapping element defines a join to a new "
+"table, and defines the foreign key in the joined table, that references the "
+"primary key of the original table."
+msgstr ""
+"Nous avons rencontré l'élément <literal><key></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><key not-null=\"true\"></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><class></literal>, <literal><subclass></literal> et ainsi de suite. Pour les types valeurs nous utilisons <literal><property></literal>, <literal><component></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><key not-"
+"null=\"true\"></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><key not-null=\"true\"></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><column></literal> subelement. Likewise, <literal><formula></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><column></literal> subelement. "
+"Likewise, <literal><formula></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><column></literal>. "
+"De façon identique, <literal><formula></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><any></literal> mapping element defines a polymorphic association to classes from multiple tables. This type of mapping always requires more than one column. The first column holds the type of the associated entity. The remaining columns hold the identifier. It is impossible to specify a foreign key constraint for this kind of association, so this is most certainly not meant as the usual way of mapping (polymorphic) associations. You should use this only in very special cases (eg. audit logs, user session data, etc)."
-msgstr "locale, timezone, currency"
+#. Tag: para
+#: basic_mapping.xml:2404
+#, no-c-format
+msgid ""
+"There is one further type of property mapping. The <literal><any></"
+"literal> mapping element defines a polymorphic association to classes from "
+"multiple tables. This type of mapping always requires more than one column. "
+"The first column holds the type of the associated entity. The remaining "
+"columns hold the identifier. It is impossible to specify a foreign key "
+"constraint for this kind of association, so this is most certainly not meant "
+"as the usual way of mapping (polymorphic) associations. You should use this "
+"only in very special cases (eg. audit logs, user session data, etc)."
+msgstr ""
+"Il existe encore un type de mapping de propriété. L'élément de mapping "
+"<literal><any></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><class></literal>, <literal><subclass></literal> and so on. For value types we use <literal><property></literal>, <literal><component></literal>, etc, usually with a <literal>type</literal> attribute. The value of this attribute is the name of a Hibernate <emphasis>mapping type</emphasis>. Hibernate provides many mappings (for standard JDK value types) out of the box. You can write your own mapping types and implement your custom conversion strategies as well, as you'll see later."
-msgstr "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><class></literal>, <literal><subclass></literal> and so "
+"on. For value types we use <literal><property></literal>, <literal><"
+"component></literal>, etc, usually with a <literal>type</literal> "
+"attribute. The value of this attribute is the name of a Hibernate "
+"<emphasis>mapping type</emphasis>. Hibernate provides many mappings (for "
+"standard JDK value types) out of the box. You can write your own mapping "
+"types and implement your custom conversion strategies as well, as you'll see "
+"later."
+msgstr ""
+"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><class></literal>, <literal><subclass></"
+"literal> et ainsi de suite. Pour les types valeurs nous utilisons "
+"<literal><property></literal>, <literal><component></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><column></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><type></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><typedef></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><column></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><column></literal> tags to map a property "
+"to multiple columns."
+msgstr ""
+"Remarquez l'utilisation des tags <literal><column></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><type></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><"
+"type></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><type></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><typedef></literal> element. Typedefs assign a name to a custom type, and may also contain a list of default parameter values if the type is parameterized."
-msgstr "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><typedef></literal> element. Typedefs assign a name to a "
+"custom type, and may also contain a list of default parameter values if the "
+"type is parameterized."
+msgstr ""
+"Si 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><typedef></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@ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: batch.xml:5
+#, no-c-format
msgid "Batch processing"
msgstr "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@ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: best_practices.xml:5
+#, no-c-format
msgid "Best Practices"
msgstr "Meilleures pratiques"
-#: index.docbook:9
-msgid "Write fine-grained classes and map them using <literal><component></literal>."
-msgstr "Découpez finement vos classes et mappez les en utilisant <literal><component></literal>."
+#. Tag: term
+#: best_practices.xml:9
+#, no-c-format
+msgid ""
+"Write fine-grained classes and map them using <literal><component></"
+"literal>."
+msgstr ""
+"Découpez finement vos classes et mappez les en utilisant <literal><"
+"component></literal>."
-#: index.docbook:11
-msgid "Use an <literal>Address</literal> class to encapsulate <literal>street</literal>, <literal>suburb</literal>, <literal>state</literal>, <literal>postcode</literal>. This encourages code reuse and simplifies refactoring."
-msgstr "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><natural-id></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><natural-id></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><"
+"natural-id></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><natural-id></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@ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: collection_mapping.xml:5
+#, no-c-format
msgid "Collection Mapping"
msgstr "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émen