[jboss-cvs] JBossAS SVN: r96204 - projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Nov 9 21:42:47 EST 2009


Author: xhuang at jboss.com
Date: 2009-11-09 21:42:46 -0500 (Mon, 09 Nov 2009)
New Revision: 96204

Modified:
   projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Author_Group.po
   projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Book_Info.po
   projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Feedback.po
   projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Preface.po
   projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Revision_History.po
   projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/architecture.po
   projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/batch.po
   projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/configuration.po
   projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/entitymanagerapi.po
   projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/listeners.po
   projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/query_ejbql.po
   projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/query_native.po
   projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/transactions.po
Log:
generate PO

Modified: projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Author_Group.po
===================================================================
--- projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Author_Group.po	2009-11-10 02:35:50 UTC (rev 96203)
+++ projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Author_Group.po	2009-11-10 02:42:46 UTC (rev 96204)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: Batch\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-09-16 01:54+0000\n"
+"POT-Creation-Date: 2009-11-10 02:39+0000\n"
 "PO-Revision-Date: 2009-06-17 11:52+1000\n"
 "Last-Translator: Corina Roe <croe at redhat.com>\n"
 "Language-Team: French <i18 at redhat.com>\n"

Modified: projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Book_Info.po
===================================================================
--- projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Book_Info.po	2009-11-10 02:35:50 UTC (rev 96203)
+++ projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Book_Info.po	2009-11-10 02:42:46 UTC (rev 96204)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: Batch\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-09-16 01:54+0000\n"
+"POT-Creation-Date: 2009-11-10 02:39+0000\n"
 "PO-Revision-Date: 2009-06-17 11:52+1000\n"
 "Last-Translator: Corina Roe <croe at redhat.com>\n"
 "Language-Team: French <i18 at redhat.com>\n"

Modified: projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Feedback.po
===================================================================
--- projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Feedback.po	2009-11-10 02:35:50 UTC (rev 96203)
+++ projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Feedback.po	2009-11-10 02:42:46 UTC (rev 96204)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: Batch\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-09-16 01:54+0000\n"
+"POT-Creation-Date: 2009-11-10 02:39+0000\n"
 "PO-Revision-Date: 2009-06-17 11:52+1000\n"
 "Last-Translator: Corina Roe <croe at redhat.com>\n"
 "Language-Team: French <i18 at redhat.com>\n"

Modified: projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Preface.po
===================================================================
--- projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Preface.po	2009-11-10 02:35:50 UTC (rev 96203)
+++ projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Preface.po	2009-11-10 02:42:46 UTC (rev 96204)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: Batch\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-09-16 01:54+0000\n"
+"POT-Creation-Date: 2009-11-10 02:39+0000\n"
 "PO-Revision-Date: 2009-06-17 11:52+1000\n"
 "Last-Translator: Corina Roe <croe at redhat.com>\n"
 "Language-Team: French <i18 at redhat.com>\n"
@@ -21,7 +21,7 @@
 #: Preface.xml:5
 #, no-c-format
 msgid "Introducing EJB3 Persistence"
-msgstr ""
+msgstr "Introduire la persistence EJB3"
 
 #. Tag: para
 #: Preface.xml:7
@@ -41,3 +41,17 @@
 "You can at all times fall back to Hibernate native APIs, or if required, "
 "even to native JDBC and SQL."
 msgstr ""
+"La spécification EJB3 reconnaît l'intérêt et le succès du paradigme de "
+"mappage transparent objet/relationel. La spécification EJB3 standardise les "
+"API de base et les metadonnées dont on a besoin pour n'importe quel "
+"mécanisme de persistance objet/realationnel. <emphasis>Hibernate "
+"EntityManager</emphasis> implémente les interfaces de programmation et les "
+"règles de cycle de vie ainsi définies par la spécification de persistance "
+"EJB3. Tout comme <emphasis>Hibernate Annotations</emphasis>, cette "
+"encapsulation (wrapper) implémente une solution de persistance EJB3 complète "
+"( et autonome) par dessus l'Hibernate core mûr. Vous pouvez utiliser une "
+"combinaison des trois ensemble, des annotations sans interfaces de "
+"programmation EJB3 et cycles de vie, ou même Hibernate native pur, suivant "
+"les besoins commerciaux ou techniques de votre projet. Vous pouvez, à tout "
+"moment, retomber sur les API native Hibernate, ou bien, si nécessaire, les "
+"JDBC et SQL native."

Modified: projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Revision_History.po
===================================================================
--- projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Revision_History.po	2009-11-10 02:35:50 UTC (rev 96203)
+++ projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/Revision_History.po	2009-11-10 02:42:46 UTC (rev 96204)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: Batch\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-09-16 01:54+0000\n"
+"POT-Creation-Date: 2009-11-10 02:39+0000\n"
 "PO-Revision-Date: 2009-06-17 11:52+1000\n"
 "Last-Translator: Corina Roe <croe at redhat.com>\n"
 "Language-Team: French <i18 at redhat.com>\n"

Modified: projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/architecture.po
===================================================================
--- projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/architecture.po	2009-11-10 02:35:50 UTC (rev 96203)
+++ projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/architecture.po	2009-11-10 02:42:46 UTC (rev 96204)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: Batch\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-09-16 01:54+0000\n"
+"POT-Creation-Date: 2009-11-10 02:39+0000\n"
 "PO-Revision-Date: 2009-06-17 11:52+1000\n"
 "Last-Translator: Corina Roe <croe at redhat.com>\n"
 "Language-Team: French <i18 at redhat.com>\n"
@@ -21,13 +21,13 @@
 #: architecture.xml:28
 #, no-c-format
 msgid "Architecture"
-msgstr ""
+msgstr "Architecture"
 
 #. Tag: title
 #: architecture.xml:31
 #, no-c-format
 msgid "Definitions"
-msgstr ""
+msgstr "Définitions"
 
 #. Tag: para
 #: architecture.xml:33
@@ -38,12 +38,17 @@
 "outside of a particular container. The following programming interfaces and "
 "artifacts are available in both environments."
 msgstr ""
+"EJB3 fait partie de la plateforme Java EE 5.0. Dans EJB3, Persistence est "
+"disponible dans les conteneurs EJB3, ainsi que pour les applications "
+"indépendantes J2SE, qui exécutent en dehors d'un conteneur particulier. Les "
+"interfaces de programmation suivantes et les artéfacts sont disponibles dans "
+"les deux environnements."
 
 #. Tag: literal
 #: architecture.xml:41
 #, no-c-format
 msgid "EntityManagerFactory"
-msgstr ""
+msgstr "EntityManagerFactory"
 
 #. Tag: para
 #: architecture.xml:45
@@ -56,12 +61,19 @@
 "interface is similar to the <literal>SessionFactory</literal> in native "
 "Hibernate."
 msgstr ""
+"Une usine de gestionnaires d'entités fournit des instances de gestionnaires "
+"d'entité, toutes les instances sont configurées pour pouvoir se connecter à "
+"la même base de données, et pour utiliser les mêmes paramètres par défaut "
+"déterminés par l'implémentation particulière, etc. Vous pouvez préparer "
+"plusieurs usines de gestionnaires d'entités pour pouvoir accéder à plusieurs "
+"datastores. Cette interface est semblable à <literal>SessionFactory</"
+"literal> d'Hibernate native."
 
 #. Tag: literal
 #: architecture.xml:56
 #, no-c-format
 msgid "EntityManager"
-msgstr ""
+msgstr "EntityManager"
 
 #. Tag: para
 #: architecture.xml:60
@@ -73,12 +85,18 @@
 "all entities. This interface is similar to the <literal>Session</literal> in "
 "Hibernate."
 msgstr ""
+"L'API <literal>EntityManager</literal> est utilisé pour accéder à une base "
+"de données dans une unité de travail particulière. Il est utilisé pour créer "
+"et pour retirer des instances d'entités persistantes, pour trouver des "
+"entités par l'identité de leur clé primaire, et pour effectuer la recherche "
+"à travers toutes les entités. Cette interface est semblable à "
+"<literal>Session</literal> d'Hibernate."
 
 #. Tag: term
 #: architecture.xml:69
 #, no-c-format
 msgid "Persistence context"
-msgstr ""
+msgstr "Contexte de persistance"
 
 #. Tag: para
 #: architecture.xml:72
@@ -90,12 +108,18 @@
 "a particular entity manager. The scope of this context can either be the "
 "transaction, or an extended unit of work."
 msgstr ""
+"Un contexte de persistance est un ensemble d'instances d'entités dans "
+"lequel, pour chaque identité d'entité persistante, il y a une instance "
+"d'entité unique. Dans le contexte de persistance, les instances d'entités et "
+"leur cycle de vie sont gérés par un gestionnaire d'entités particulier. La "
+"portée de ce contexte peut être, soit la transaction, soit l'unité de "
+"travail extended."
 
 #. Tag: term
 #: architecture.xml:82
 #, no-c-format
 msgid "Persistence unit"
-msgstr ""
+msgstr "Unité de persistance"
 
 #. Tag: para
 #: architecture.xml:85
@@ -106,66 +130,75 @@
 "classes that are related or grouped by the application, and which must be "
 "collocated in their mapping to a single data store."
 msgstr ""
+"L'ensemble des types d'entités qui peuvent être gérées par un gestionnaire "
+"d'entités donné, est défini par l'unité de persistance. Une unité de "
+"persistance détermine l'ensemble de toutes les classes qui sont liées ou qui "
+"sont groupées par l'application, et qui doivent être co-situées dans leur "
+"mappage à un seul datastore."
 
 #. Tag: term
 #: architecture.xml:94
 #, no-c-format
 msgid "<term>Container-managed entity manager</term>"
-msgstr ""
+msgstr "<term>Gestionnaire d'entités container-managed</term>"
 
 #. Tag: para
 #: architecture.xml:97
 #, no-c-format
 msgid "An Entity Manager whose lifecycle is managed by the container"
 msgstr ""
+"Un gestionnaire d'entités dont le cycle de vie est géré par le conteneur"
 
 #. Tag: term
 #: architecture.xml:103
 #, no-c-format
 msgid "<term>Application-managed entity manager</term>"
-msgstr ""
+msgstr "<term>Gestionnaire d'entités application-managed</term>"
 
 #. Tag: para
 #: architecture.xml:106
 #, no-c-format
 msgid "An Entity Manager whose lifecycle is managed by the application."
 msgstr ""
+"Un gestionnaire d'entités sont le cycle de vie est géré par l'application."
 
 #. Tag: term
 #: architecture.xml:112
 #, no-c-format
 msgid "JTA entity manager"
-msgstr ""
+msgstr "Gestionnaire d'entités JTA"
 
 #. Tag: para
 #: architecture.xml:115
 #, no-c-format
 msgid "Entity manager involved in a JTA transaction"
-msgstr ""
+msgstr "Le gestionnaire d'entités impliquée dans une transaction JTA."
 
 #. Tag: term
 #: architecture.xml:120
 #, no-c-format
 msgid "Resource-local entity manager"
-msgstr ""
+msgstr "Gestionnaire d'entités resource-local."
 
 #. Tag: para
 #: architecture.xml:123
 #, no-c-format
 msgid "Entity manager using a resource transaction (not a JTA transaction)."
 msgstr ""
+"Le gestionnaire d'entités utilisant une transaction de ressource (et non par "
+"une transaction JTA)."
 
 #. Tag: title
 #: architecture.xml:131
 #, no-c-format
 msgid "EJB container environment"
-msgstr ""
+msgstr "Environnement de conteneur EJB"
 
 #. Tag: title
 #: architecture.xml:134
 #, no-c-format
 msgid "<title>Container-managed entity manager</title>"
-msgstr ""
+msgstr "<title>Gestionnaire d'entités container-managed</title>"
 
 #. Tag: para
 #: architecture.xml:136
@@ -179,16 +212,24 @@
 "through dependency injection or through JNDI lookup, A container-managed "
 "entity manger requires the use of a JTA transaction."
 msgstr ""
+"Le gestionaire d'entités le plus commun et le plus utilisé généralement dans "
+"l'environnement Java EE est le gestionnaire d'entités container-managed "
+"(géré-conteneur). Dans ce mode, les conteneur est chargé de l'ouverture et "
+"de la fermeture du gestionnaire d'entités (cela est transparent dans "
+"l'application). Il est également responsable des limites de la transaction. "
+"Un gestionnaire d'entités container-managed est obtenu dans une application "
+"par injection de dépendance ou par JNDI lookup. Un gestionnaire d'entités "
+"container-managed exige l'utilisation d'une transaction JTA."
 
 #. Tag: title
 #: architecture.xml:147
 #, no-c-format
 msgid "<title>Application-managed entity manager</title>"
-msgstr ""
+msgstr "<title>Gestionnaire d'entités application-managed</title>"
 
 #. Tag: para
 #: architecture.xml:149
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "An application-managed entity manager allows you to control the entity "
 "manager in application code. This entity manager is retrieved through the "
@@ -201,12 +242,24 @@
 "manager type (JTA or resource-local) is defined at configuration time, when "
 "setting up the entity manager factory."
 msgstr ""
+"Un gestionnaire d'entités application-managed (géré-application) vous permet "
+"de contrôler le gestionnaire d'entités en code d'application. Ce "
+"gestionnaire d'entités est extrait par l'API <literal>EntityManagerFactory</"
+"literal>. Un gestionnaire d'entités géré par des applications peut être: "
+"soit impliqué dans la transaction JTA courante (comme un gestionnaire "
+"d'entités JTA), soit la transaction pourra être contrôlée par l'API "
+"<literal>EntityTransaction</literal> (un gestionnaire d'entité ressource-"
+"local). La transaction du gestionnaire d'entités ressource-locale mappe vers "
+"une transaction de ressource directe (c'est à dire, dans le cas d'Hibernate, "
+"vers une transaction JDBC). Le type de gestionnaire d'entités (JTA ou bien "
+"ressource-locale) est déterminé au moment de la configuration, quand on "
+"configure l'usine de gestionnaires d'entités."
 
 #. Tag: title
 #: architecture.xml:163
 #, no-c-format
 msgid "Persistence context scope"
-msgstr ""
+msgstr "Portée du contexte de persistance"
 
 #. Tag: para
 #: architecture.xml:165
@@ -217,10 +270,14 @@
 "transaction boundaries, or keeping the persistence context available across "
 "several transactions."
 msgstr ""
+"Le gestionnaire d'entités est l'API qui agit dans le contexte de "
+"persistance. On peut utiliser deux stratégies communes : lier le contexte de "
+"persistance aux limites de la transaction, ou bien conserver le contexte de "
+"persistance qui est disponible pour plusieurs transactions."
 
 #. Tag: para
 #: architecture.xml:170
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "The most common case is to bind the persistence context scope to the current "
 "transaction scope. This is only doable when JTA transactions are used: the "
@@ -235,6 +292,19 @@
 "simply use dependency injection or lookup whenever you need an entity "
 "manager."
 msgstr ""
+"Le cas le plus commun consiste à lier la portée du contexte de persistance à "
+"la portée de la transaction courante. Ce n'est faisable que quand les "
+"transactions JTA sont utilisées: le contexte de transactions est associé au "
+"cycle de vie des transactions JTA. Quand on invoque un gestionnaire de "
+"transactions, le contexte de persistance est également ouvert, s'il n'y a "
+"pas de contexte de persistance associé à la transaction JTA courante. Sinon "
+"le contexte de persistance associé sera utilisé. Le contexte de persistance "
+"se termine quand la transaction JTA se termine. Cela signifie que pendant la "
+"transaction JTA, une application pourra fonctionner sur les entités gérées "
+"du même contexte de persistance. En d'autres mots, vous n'aurez pas à faire "
+"passer le contexte de persistance du gestionaire d'entités pour vos appels "
+"de méthode EJB, mais vous n'aurez qu'à utiliser l'injection de dépendance ou "
+"lookup à chaque fois que vous aurez besoin d'un gestionnaire d'entités."
 
 #. Tag: para
 #: architecture.xml:184
@@ -262,6 +332,33 @@
 "allowing the whole process to be commited or rollbacked. For application-"
 "managed entity manager only support the exctended persistence context."
 msgstr ""
+"Vous pouvez également utiliser un contexte de persistance extended . Cela "
+"peut être combiné aux beans de sessions stateful, si vous utilisez un "
+"gestionnaire d'entités container-managed : le contexte de persistance est "
+"créé quand un gestionnaire d'entités est extrait de l'injection de "
+"dépendance ou de lookup JNDI, et qu'il est conservé jusqu'à ce que le "
+"conteneur le ferme, après avoir effectué la méthode de beans de sessions "
+"stateful <literal>Remove</literal>. Il représente un mécanisme parfait pour "
+"implémenter une 'longue' unité de modèle de travail. Ainsi, si vous avez "
+"affaire à des cycles d'interactions entre plusieurs utilisateurs comme "
+"simple unité  de travail (par exemple, un dialogue de l'Assistant qui doit "
+"être complété), normalement, vous le modèlerez comme unité de travail du "
+"point de vue de l'utilisateur de l'application, et vous l'implémenterez à "
+"l'aide du contexte de persistance extended. Veuillez vous référer au Manuel "
+"de référence d'Hibernate ou à l'ouvrage Hibernate in Action pour trouver "
+"davantage d'informations sur ce modèle. JBoss Seam est une structure "
+"d'implication qui lie JSF et EJB3 ensemble autour de la notion de "
+"conversation et d'unité de travail. Pour un gestionnaire d'entités "
+"application-managed, le contexte de persistance est créé quand le "
+"gestionnaire d'entités est créé et il sera conservé jusqu'à ce que le "
+"gestionnaire d'entités soit fermé. Dans un contexte de persistance extended, "
+"toutes les opérations de modifications (persist, merge, remove) qui sont "
+"exécutées en dehors de la transaction, sont mises en file d'attente jusqu'à "
+"ce que le contexte de persistance soit attaché à une transaction. La "
+"transaction a normalement lieu en fin de processus par l'utilisateur, "
+"permettant au processus dans son entier, d'être validé ou renvoyé, car le "
+"gestionnaire d'entités application-managed ne supporte que le contexte de "
+"persistance extended."
 
 #. Tag: para
 #: architecture.xml:208
@@ -272,12 +369,16 @@
 "managed) has a one-to-one relationship with a persistence context. In other "
 "situations <emphasis>persistence context propagation</emphasis> occurs."
 msgstr ""
+"Un gestionnaire d'entités ressources-locale ou un gestionnaire d'entités "
+"créé par <literal>EntityManagerFactory.createEntityManager()</literal> "
+"(application-managed) possède une relation one-to-one avec un contexte "
+"persistant."
 
 #. Tag: title
 #: architecture.xml:216
 #, no-c-format
 msgid "Persistence context propagation"
-msgstr ""
+msgstr "Propagation de contexte persistant"
 
 #. Tag: para
 #: architecture.xml:218
@@ -285,6 +386,8 @@
 msgid ""
 "Persistence context propagation occurs for container-managed entity managers."
 msgstr ""
+"La propagation de contexte persistant opère pour les gestionnaires d'entités "
+"container-managed."
 
 #. Tag: para
 #: architecture.xml:221
@@ -297,6 +400,14 @@
 "all share the same persistence context. In Hibernate terms, this means all "
 "managers share the same session."
 msgstr ""
+"Dans un gestionnaire d'entités géré par conteneur et transaction-scoped (ce "
+"qui représente un cas commun en environnement Java EE), la propagation de "
+"transaction JTA est la même que la propagation de ressource de contexte de "
+"persistance. En d'autres mots, les gestionnaires d'entités gérés par "
+"conteneur et transaction-scoped qui sont extraits d'une transaction JTA "
+"donnée, partagent tous le même contexte de persistance. En termes "
+"d'Hibernate, cela signifie que tous les gestionnaires partagent la même "
+"session."
 
 #. Tag: para
 #: architecture.xml:228
@@ -307,6 +418,11 @@
 "manager factory. There are some noteworthy exceptions for context "
 "propagation when using extended persistence contexts:"
 msgstr ""
+"Important : les contextes de persistance ne sont jamais partagés entre les "
+"différentes transactions JTA ou entre les gestionnaires d'entités qui ne "
+"proviennent pas de la même usine de gestionnaires d'entités. Il y a "
+"cependant des exceptions notables quand on utilise des contextes de "
+"persistance extended :"
 
 #. Tag: para
 #: architecture.xml:235
@@ -317,6 +433,10 @@
 "with an extended persistence context in the same JTA transaction, an "
 "IllegalStateException is thrown."
 msgstr ""
+"Si un bean de session stateless, un bean message-driven, ou un bean de "
+"session stateful associé à un contexte de persistance transaction-scoped "
+"appelle un bean de session stateful associé à un contexte de persistance "
+"extended dans la même transaction JTA, un IllegalStateException est lancé."
 
 #. Tag: para
 #: architecture.xml:242
@@ -327,6 +447,10 @@
 "persistence context in the same JTA transaction, the persistence context is "
 "propagated."
 msgstr ""
+"Si un bean de session stateful lié à un contexte de persistance extended "
+"appelle en tant que bean de session stateless ou bean de session stateful "
+"dans un contexte de persistance transaction-scoped dans la même transaction "
+"JTA, le contexte de persistance sera propagé."
 
 #. Tag: para
 #: architecture.xml:249
@@ -336,6 +460,9 @@
 "stateless or stateful session bean in a different JTA transaction context, "
 "the persistence context is not propagated."
 msgstr ""
+"Si un bean de session stateful lié à un contexte de persistance extended "
+"appelle un bean de session stateful ou stateless dans un contexte de "
+"transaction JTA différent, le contexte de persistance ne sera pas propagé."
 
 #. Tag: para
 #: architecture.xml:256
@@ -347,6 +474,12 @@
 "bean. If the second stateful session bean is called with a different "
 "transaction context than the first, an IllegalStateException is thrown."
 msgstr ""
+"Si un bean de session stateful lié à un contexte de persistance extended "
+"instancie un autre bean de session stateful lié à un contexte de persistance "
+"extended, le contexte de persistance prolongé sera hérité par le deuxième "
+"bean de session stateful. Si le second bean de session stateful est appelé "
+"en relation à un contexte de transaction différent du premier, une exception "
+"IllegalStateException sera lancée."
 
 #. Tag: para
 #: architecture.xml:265
@@ -356,12 +489,16 @@
 "stateful session bean with a different extended persistence context in the "
 "same transaction, an IllegalStateException is thrown."
 msgstr ""
+"Si un bean de session stateful lié à un contexte de persistance extended "
+"appelle un bean de session stateful lié à un contexte de persistance "
+"extended différent dans la même transaction, une exception "
+"IllegalStateException sera lancée."
 
 #. Tag: title
 #: architecture.xml:275
 #, no-c-format
 msgid "Java SE environments"
-msgstr ""
+msgstr "Les environnements Java SE"
 
 #. Tag: para
 #: architecture.xml:277
@@ -375,6 +512,14 @@
 "the persistence context yourself, e.g. using the thread local session "
 "pattern popular in the Hibernate community)."
 msgstr ""
+"Dans un environnement Java SE, seuls les gestionnaires d'entités application-"
+"managed de contexte extended sont disponibles. Vous pouvez extraire un "
+"gestionnaire d'entités en utilisant l'API <literal>EntityManagerFactory</"
+"literal>. Seuls les gestionnaires d'entités ressource-local sont "
+"disponibles. En d'autres mots, les transactions JTA et la propagation de "
+"contexte de persistance ne sont pas pris en charge par Java SE (vous devrez "
+"propager le contexte de persistance vous-même, c'est à dire en utilisant le "
+"modèle de session de thread local de la communauté Hibernate.)"
 
 #. Tag: para
 #: architecture.xml:285
@@ -385,3 +530,8 @@
 "(...)</literal> ) and closed when the entity manager is closed. Many "
 "resource-local transaction share the same persistence context, in this case."
 msgstr ""
+"Un contexte extended signifie que le contexte de persistance est créé quand "
+"le gestionnaire d'entités est extrait (en utilisant "
+"<literal>EntityManagerFactory.createEntityManager(...)</literal> ) et sera "
+"fermé quand le gestionnaire d'entités est fermé. Plusieurs transactions "
+"ressource-local partagent le même contexte de persistance, dans ce cas."

Modified: projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/batch.po
===================================================================
--- projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/batch.po	2009-11-10 02:35:50 UTC (rev 96203)
+++ projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/batch.po	2009-11-10 02:42:46 UTC (rev 96204)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: Batch\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-09-16 01:54+0000\n"
+"POT-Creation-Date: 2009-11-10 02:39+0000\n"
 "PO-Revision-Date: 2009-06-17 11:52+1000\n"
 "Last-Translator: Corina Roe <croe at redhat.com>\n"
 "Language-Team: French <i18 at redhat.com>\n"

Modified: projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/configuration.po
===================================================================
--- projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/configuration.po	2009-11-10 02:35:50 UTC (rev 96203)
+++ projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/configuration.po	2009-11-10 02:42:46 UTC (rev 96204)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: Batch\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-09-16 01:54+0000\n"
+"POT-Creation-Date: 2009-11-10 02:39+0000\n"
 "PO-Revision-Date: 2009-06-17 11:52+1000\n"
 "Last-Translator: Corina Roe <croe at redhat.com>\n"
 "Language-Team: French <i18 at redhat.com>\n"
@@ -21,17 +21,17 @@
 #: configuration.xml:28
 #, no-c-format
 msgid "Setup and configuration"
-msgstr ""
+msgstr "Installation et configuration"
 
 #. Tag: title
 #: configuration.xml:31
 #, no-c-format
 msgid "Setup"
-msgstr ""
+msgstr "Installation"
 
 #. Tag: para
 #: configuration.xml:33
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "The EJB 3.0 / JPA compatible Hibernate EntityManager is built on top of "
 "Hibernate core and Hibernate Annotations. You have to use compatible "
@@ -41,18 +41,26 @@
 "annotations.jar, hibernate-entitymanager.jar and all needed third party "
 "libraries for each package (incl. ejb-persistence.jar)."
 msgstr ""
+"L'Hibernate EntityManager compatible JPA/EJB 3.0 est construit sur Hibernate "
+"core et Hibernate Annotations. Vous devez utiliser des versions compatibles "
+"pour chaque module. Cette version est connue pour fonctionner sur Hibernate "
+"Core 3.2.0.CR5, 3.2.0.GA, 3.2.1.GA et sur Hibernate Annotations 3.2.0.CR3, "
+"3.2.0.GA, 3.2.1.GA. Les bibliothèques suivantes doivent figurer sur votre "
+"chemin d'accès de classe : hibernate3.jar, hibernate-annotations.jar, "
+"hibernate-entitymanager.jar et toutes les bibliothèques de tierces parties "
+"utiles à chaque package (y compris ejb.persistence.jar)."
 
 #. Tag: title
 #: configuration.xml:44
 #, no-c-format
 msgid "Configuration and bootstrapping"
-msgstr ""
+msgstr "Configuration et initialisation"
 
 #. Tag: title
 #: configuration.xml:47
 #, no-c-format
 msgid "Packaging"
-msgstr ""
+msgstr "Packaging"
 
 #. Tag: para
 #: configuration.xml:49
@@ -67,10 +75,20 @@
 "included in the archive will be added to the persistence unit configuration, "
 "so by default, your persistence.xml will be quite minimalist:"
 msgstr ""
+"La configuration des gestionnaires d'entités à la fois à l'intérieur d'un "
+"serveur d'application et dans une application autonome résident dans une "
+"archive de persistance. Une archive de persistance est un fichier JAR qui "
+"doit définir un fichier <literal>persistence.xml</literal> qui réside dans "
+"le dossier <filename>META-INF</filename>. Toutes les classes annotées "
+"correctement dans l'archive (c'est à dire ayant l'annotation "
+"<literal>@Entity</literal>), tous les packages annotés et tous les fichiers "
+"Hibernate hbm.xml inclus dans l'archive seront ajoutés à la configuration de "
+"l'unité de persistance, ce qui fait que par défaut, votre persistence.xml "
+"sera assez minimaliste :"
 
 #. Tag: programlisting
 #: configuration.xml:60
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "&lt;persistence xmlns=\"http://java.sun.com/xml/ns/persistence\"\n"
 "   xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
@@ -88,18 +106,35 @@
 "   &lt;/persistence-unit&gt;\n"
 "&lt;/persistence&gt;"
 msgstr ""
+"&lt;persistence xmlns=\"http://java.sun.com/xml/ns/persistence\"\n"
+"   xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"   xsi:schemaLocation=\"http://java.sun.com/xml/ns/persistence\n"
+"   http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd\"\n"
+"   version=\"1.0\"&gt;\n"
+"   &lt;persistence-unit name=\"sample\"&gt;\n"
+"      &lt;jta-data-source&gt;java:/DefaultDS&lt;/jta-data-source&gt;\n"
+"      &lt;properties&gt;\n"
+"         &lt;property name=\"hibernate.dialect\" value=\"org.hibernate."
+"dialect.HSQLDialect\"/&gt;\n"
+"         &lt;property name=\"hibernate.hbm2ddl.auto\" value=\"create-drop\"/"
+"&gt;\n"
+"      &lt;/properties&gt;\n"
+"   &lt;/persistence-unit&gt;\n"
+"&lt;/persistence&gt;"
 
 #. Tag: para
 #: configuration.xml:62
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "Here's a more complete example of a <filename><literal>persistence.xml</"
 "literal></filename> file"
 msgstr ""
+"Voici un exemple plus complexe d'un fichier <filename><literal>persistence."
+"xml</literal></filename>."
 
 #. Tag: programlisting
 #: configuration.xml:65
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "&lt;persistence xmlns=\"http://java.sun.com/xml/ns/persistence\"\n"
 "   xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
@@ -124,24 +159,46 @@
 "   &lt;/persistence-unit&gt;\n"
 "&lt;/persistence&gt;"
 msgstr ""
+"&lt;persistence xmlns=\"http://java.sun.com/xml/ns/persistence\"\n"
+"   xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"   xsi:schemaLocation=\"http://java.sun.com/xml/ns/persistence\n"
+"   http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd\"\n"
+"   version=\"1.0\"&gt;\n"
+"   &lt;persistence-unit name=\"manager1\" transaction-type=\"JTA\"&gt;\n"
+"      &lt;provider&gt;org.hibernate.ejb.HibernatePersistence&lt;/"
+"provider&gt;\n"
+"      &lt;jta-data-source&gt;java:/DefaultDS&lt;/jta-data-source&gt;\n"
+"      &lt;mapping-file&gt;ormap.xml&lt;/mapping-file&gt;\n"
+"      &lt;jar-file&gt;MyApp.jar&lt;/jar-file&gt;\n"
+"      &lt;class&gt;org.acme.Employee&lt;/class&gt;\n"
+"      &lt;class&gt;org.acme.Person&lt;/class&gt;\n"
+"      &lt;class&gt;org.acme.Address&lt;/class&gt;\n"
+"      &lt;properties&gt;\n"
+"         &lt;property name=\"hibernate.dialect\" value=\"org.hibernate."
+"dialect.HSQLDialect\"/&gt;\n"
+"         &lt;property name=\"hibernate.hbm2ddl.auto\" value=\"create-drop\"/"
+"&gt;\n"
+"      &lt;/properties&gt;\n"
+"   &lt;/persistence-unit&gt;\n"
+"&lt;/persistence&gt;"
 
 #. Tag: code
 #: configuration.xml:69
 #, no-c-format
 msgid "name"
-msgstr ""
+msgstr "nom"
 
 #. Tag: para
 #: configuration.xml:72
 #, no-c-format
 msgid "(attribute) Every entity manager must have a name."
-msgstr ""
+msgstr "(attribut) Chaque gestionnaire d'entité doit avoir un nom."
 
 #. Tag: code
 #: configuration.xml:77
 #, no-c-format
 msgid "transaction-type"
-msgstr ""
+msgstr "type-de-transaction"
 
 #. Tag: para
 #: configuration.xml:80
@@ -152,28 +209,36 @@
 "When a jta-datasource is used, the default is JTA, if non-jta-datasource is "
 "used, RESOURCE_LOCAL is used."
 msgstr ""
+"(attribut) Type de transaction utilisé. Soit une JTA ou un RESOURCE_LOCAL "
+"(par défaut à JTA dans un environnement JavaEE et à RESOURCE_LOCAL dasn un "
+"environnement JavaSE). Quand une jta-datasource est utilisée, la valeur par "
+"défaut est JTA, si une datasource est utilisée, RESOURCE_LOCAL sera utilisé."
 
 #. Tag: code
 #: configuration.xml:89
 #, no-c-format
 msgid "provider"
-msgstr ""
+msgstr "provider"
 
 #. Tag: para
 #: configuration.xml:92
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "The provider is a fully-qualified class name of the EJB Persistence "
 "provider. You do not have to define it if you don't work with several EJB3 "
 "implementations. This is needed when you are using multiple vendor "
 "implementations of EJB Persistence."
 msgstr ""
+"Provider est un nom de classe complet du fournisseur de Persistance EJB. "
+"Vous n'aurez pas besoin de le définir si vous ne travaillez pas dans "
+"plusieurs implementations EJB3. Cela est utilise quand vous utilisez des "
+"implémentations de providers divers de la Persistance EJB."
 
 #. Tag: term
 #: configuration.xml:101
 #, no-c-format
 msgid "<code>jta-data-source</code>, <code>non-jta-data-source</code>"
-msgstr ""
+msgstr "<code>jta-data-source</code>, <code>non-jta-data-source</code>"
 
 #. Tag: para
 #: configuration.xml:105
@@ -183,12 +248,16 @@
 "running without a JNDI available Datasource, you must specify JDBC "
 "connections with Hibernate specific properties (see below)."
 msgstr ""
+"Il s'agit du nom JNDI de l'endroit où javax.sql.DataSource est situé. Quand "
+"vous exécutez sans une Datasource JNDI disponible, vous devez spécifier les "
+"connexions JDBC avec leurs propriétés spécifiques Hibernate (voir ci-"
+"dessous)."
 
 #. Tag: code
 #: configuration.xml:113
 #, no-c-format
 msgid "mapping-file"
-msgstr ""
+msgstr "mapping-file"
 
 #. Tag: para
 #: configuration.xml:116
@@ -202,12 +271,20 @@
 "in the mapping file element ie. either hbm files or EJB3 deployment "
 "descriptor."
 msgstr ""
+"L'élément de classe spécifie un fichier de mappage XML compatible EJB3 que "
+"vous allez mapper. Le fichier devra être dans le chemin de classe. Comme "
+"pour la spécification EJB3, l'EntityManager d'Hibernate tentera de charger "
+"le fichier de mappage situé sur le fichier jar à <literal>META_INF/orm.xml</"
+"literal>. Biensûr, tout fichier de mappage explicite sera chargé également. "
+"En fait, vous pouvez fournir n'importe quel fichier XML dans l'élément de "
+"fichier de mappage, c'est à dire soient des fichiers hbm ou un descripteur "
+"de déploiement EJB3."
 
 #. Tag: code
 #: configuration.xml:128
 #, no-c-format
 msgid "jar-file"
-msgstr ""
+msgstr "jar-file"
 
 #. Tag: para
 #: configuration.xml:131
@@ -222,6 +299,15 @@
 "environment, the persistence.xml file is not under the same root directory "
 "or jar than your domain model)."
 msgstr ""
+"Les éléments jar-file précisent quel jar analyser. Toutes les classes "
+"correctement annotées, les packages annotés et tous les fichiers hbm.xml qui "
+"font partie de ce fichier jar seront ajoutés à la configuration d'unité de "
+"persistance. Cet élément est surtout utilisé dans un environnement Java EE. "
+"Son utilisation dans Java SE devrait être considéré comme non portable, dans "
+"lequel cas, un url absolu sera requis. Sinon, vous pourrez pointer vers un "
+"répertoire (cela est surtout utile quand dans votre environnement de test, "
+"le fichier persistence.xml n'est pas sous le même répertoire root ou jar que "
+"votre modèle de domaine)."
 
 #. Tag: programlisting
 #: configuration.xml:141
@@ -230,12 +316,14 @@
 "&lt;jar-file&gt;file:/home/turin/work/local/lab8/build/classes&lt;/jar-"
 "file&gt;"
 msgstr ""
+"&lt;jar-file&gt;file:/home/turin/work/local/lab8/build/classes&lt;/jar-"
+"file&gt;"
 
 #. Tag: code
 #: configuration.xml:146
 #, no-c-format
 msgid "exclude-unlisted-classes"
-msgstr ""
+msgstr "exclude-unlisted-classes"
 
 #. Tag: para
 #: configuration.xml:149
@@ -244,12 +332,14 @@
 "Do not check the main jar file for annotated classes. Only explicit classes "
 "will be part of the persistence unit."
 msgstr ""
+"Ne pas vérifier les classes annotées dans le fichier jar principal. Seules "
+"les classes explicites feront partie de l'unité de persistance."
 
 #. Tag: code
 #: configuration.xml:155
 #, no-c-format
 msgid "class"
-msgstr ""
+msgstr "class"
 
 #. Tag: para
 #: configuration.xml:158
@@ -265,12 +355,23 @@
 "package level (ie in <filename>package-info.java</filename>), it will not "
 "include all the classes of a given package."
 msgstr ""
+"L'élément de classe spécifie un nom de classe complet qui vous pourrez "
+"mapper. Par défaut, toutes les classes annotées correctement et tous les "
+"fichiers hbm.xml que l'on trouve dans l'archive sont ajoutés dans la "
+"configuration d'unité de persistance. Vous pouvez ajouter quelques entités "
+"externes par l'élément de classe cependant. Comme extension à cette "
+"spécification, vous pouvez ajouter un nom de package dans l'élément "
+"<literal>&lt;class&gt;</literal> (comme <code>&lt;class&gt;org.hibernate."
+"eg&lt;/class&gt;</code>). Attention, le package devra inclure les "
+"métadonnées définies au niveau du package (c'est à dire dans "
+"<filename>package-info.java</filename>), il ne pourra pas inclure toutes les "
+"classes d'un package donné."
 
 #. Tag: code
 #: configuration.xml:173
 #, no-c-format
 msgid "properties"
-msgstr ""
+msgstr "propriétés"
 
 #. Tag: para
 #: configuration.xml:176
@@ -280,6 +381,10 @@
 "is where you will define your Hibernate specific configurations. This is "
 "also where you will have to specify JDBC connection information as well."
 msgstr ""
+"L'élément de propriétés est utilisé pour spécifier les propriétés "
+"spécifiques au fournisseur. C'est là où vous allez pouvoir déterminer vos "
+"configurations spécifiques Hibernate. C'est également là où vous devrez "
+"spécifier les informations de connexion JDBC."
 
 #. Tag: para
 #: configuration.xml:184
@@ -291,10 +396,16 @@
 "literal>, Hibernate entityManager will use the version embedded in the "
 "hibernate-entitymanager.jar. No internet access will be processed."
 msgstr ""
+"Veillez à définir la définition de la grammaire de l'élément "
+"<literal>persistence</literal> puisque la spécification EJB3 requiert un "
+"schéma de validation. Si le systemld se termine par <literal>persistence_1_0."
+"xsd</literal>, Hibernate entityManager va utiliser la version qui est "
+"intégrée dans hibernate-entitymanager.jar. Aucun accès internet ne sera "
+"traité."
 
 #. Tag: programlisting
 #: configuration.xml:191
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "&lt;persistence xmlns=\"http://java.sun.com/xml/ns/persistence\"\n"
 "   xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
@@ -302,12 +413,17 @@
 "sun.com/xml/ns/persistence/persistence_1_0.xsd\"\n"
 "   version=\"1.0\"&gt;"
 msgstr ""
+"&lt;persistence xmlns=\"http://java.sun.com/xml/ns/persistence\"\n"
+"   xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"   xsi:schemaLocation=\"http://java.sun.com/xml/ns/persistence\n"
+"   http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd\"\n"
+"   version=\"1.0\"&gt;"
 
 #. Tag: title
 #: configuration.xml:195
 #, no-c-format
 msgid "Bootstrapping"
-msgstr ""
+msgstr "Initialisation"
 
 #. Tag: para
 #: configuration.xml:197
@@ -318,6 +434,10 @@
 "<classname>EntityManager</classname>. The bootstrap class is "
 "<classname>javax.persistence.Persistence</classname>, e.g."
 msgstr ""
+"La spécification EJB3 détermine la procédure d'initialisation pour accéder "
+"au <classname>EntityManagerFactory</classname> et au "
+"<classname>EntityManager</classname>. La classe d'initialisation est "
+"<classname>javax.persistence.Persistence</classname>, par exemple"
 
 #. Tag: programlisting
 #: configuration.xml:202
@@ -331,6 +451,13 @@
 "EntityManagerFactory programmaticEmf =\n"
 "    Persistence.createEntityManagerFactory(\"manager1\", configOverrides);"
 msgstr ""
+"EntityManagerFactory emf = Persistence.createEntityManagerFactory(\"manager1"
+"\");\n"
+"//or\n"
+"Map configOverrides = new HashMap();\n"
+"configOverrides.put(\"hibernate.hbm2ddl.auto\", \"create-drop\");\n"
+"EntityManagerFactory programmaticEmf =\n"
+"    Persistence.createEntityManagerFactory(\"manager1\", configOverrides);"
 
 #. Tag: para
 #: configuration.xml:204
@@ -341,12 +468,16 @@
 "defined in your persistence.xml files. There are a couple of EJB3 properties "
 "usable in the map:"
 msgstr ""
+"La première version est équivalente à la seconde avec un map vide. La "
+"version map est un ensemble de surcharges qui auront prépondérence sur toute "
+"propriété déterminée dans vos fichiers persistence.xml. Il y a quelques "
+"prorpiétés EJB3 qui sont utilisables dans map :"
 
 #. Tag: para
 #: configuration.xml:211
 #, no-c-format
 msgid "javax.persistence.provider to define the provider class used"
-msgstr ""
+msgstr "javax.persistence.provider pour définir la classe de provider utilisée"
 
 #. Tag: para
 #: configuration.xml:216
@@ -355,6 +486,8 @@
 "javax.persistence.transactionType to define the transaction type used "
 "(either JTA or RESOURCE_LOCAL)"
 msgstr ""
+"javax.persistence.transactionType pour définir le type de transaction "
+"utilisé (soit JTA ou RESOURCE_LOCAL)"
 
 #. Tag: para
 #: configuration.xml:221
@@ -362,6 +495,8 @@
 msgid ""
 "javax.persistence.jtaDataSource to define the JTA datasource name in JNDI"
 msgstr ""
+"javax.persistence.jtaDataSource pour définir le nom de la source de données "
+"dans JNDI"
 
 #. Tag: para
 #: configuration.xml:226
@@ -370,6 +505,8 @@
 "javax.persistence.nonJtaDataSource to define the non JTA datasource name in "
 "JNDI"
 msgstr ""
+"javax.persistence.nonJtaDataSource pour définir le nom de la source de "
+"données non JTA dans JNDI"
 
 #. Tag: para
 #: configuration.xml:231
@@ -389,6 +526,22 @@
 "correct name are found or if the expected persistence provider is not found, "
 "a <classname>PersistenceException</classname> is raised."
 msgstr ""
+"Quand <code>Persistence.createEntityManagerFactory()</code> est appelé, "
+"l'implémentation de persistance va chercher votre chemin de classe pour "
+"n'importe quel fichier <code>META-INF/persistence.xml</code> qui utilise la "
+"méthode <code>ClassLoader.getResource(\"META-INF/persistence.xml\")</code>. "
+"En fait, la classe <classname>Persistence</classname> va chercher tous les "
+"fournisseurs de Persistence disponibles dans le chemin de classe et demander "
+"à chacun s'ils sont responsables de la création de l'usine de gestionnaires "
+"d'entités <literal>manager1</literal>. Pour chaque fournisseur, il va "
+"essayer, à partir de la liste de ressources, de trouver un gestionnnaire "
+"d'entités qui corresponde au nom que vous aurez déterminé au niveau de la "
+"ligne de commande par rapport à ce qui est spécifié dans le fichier "
+"persistence.xml (biensûr, le fournisseur <literal>element</literal> devra "
+"correspondre au fournisseur persistant courant). Si on ne trouve pas de "
+"persistence.xml avec le nom qu'il faut, ou bien si on ne trouve pas le "
+"fournisseur de persistance auquel on s'attend, l'exception "
+"<classname>PersistenceException</classname> est soulevée."
 
 #. Tag: para
 #: configuration.xml:247
@@ -401,32 +554,37 @@
 "reference documentation for a complete listing. There are however a couple "
 "of properties available in the EJB3 provider only."
 msgstr ""
+"Mis à part les paramètres niveau-système d'Hibernate, toutes les propriétés "
+"disponibles d'Hibernate peuvent être configurées dans l'élément "
+"<code>properties</code> du fichier persistence.xml ou bien sous forme de "
+"surcharge du map que vous passez à <code>createEntityManagerFactory()</"
+"code>. Veuillez vous reporter à la documentation de référence Hibernate pour "
+"un listing complet. Il existe cependant plusieurs propriétés disponibles "
+"dans le fournisseur EJB3 spécifiquement."
 
 #. Tag: title
 #: configuration.xml:257
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Hibernate Entity Manager specific properties"
-msgstr ""
-"Hibernate Entity Manager User Guide CP03 (Guide d'utilisation de "
-"gestionnaire d'entités Hibernate CP03)"
+msgstr "Propriétés spécifiques au Gestionnaire d'entités d'Hibernate"
 
 #. Tag: entry
 #: configuration.xml:266
 #, no-c-format
 msgid "Property name"
-msgstr ""
+msgstr "Nom de propriété"
 
 #. Tag: entry
 #: configuration.xml:268
 #, no-c-format
 msgid "Description"
-msgstr ""
+msgstr "Description"
 
 #. Tag: entry
 #: configuration.xml:274
 #, no-c-format
 msgid "hibernate.ejb.classcache.&lt;classname&gt;"
-msgstr ""
+msgstr "hibernate.ejb.classcache.&lt;classname&gt;"
 
 #. Tag: entry
 #: configuration.xml:276
@@ -437,12 +595,16 @@
 "classcache.com.acme.Cat read-write or hibernate.ejb.classcache.com.acme.Cat "
 "read-write, MyRegion)."
 msgstr ""
+"stratégie cache de classe [virgule cache région] de la valeur par défaut de "
+"la classe de no cache, et cache de région par défaut de fully.qualified."
+"classname (par ex. hibernate.ejb.classcache.com.acme.Cat read-write ou "
+"hibernate.ejb.classcache.com.acme.Cat read-write, MyRegion)."
 
 #. Tag: entry
 #: configuration.xml:285
 #, no-c-format
 msgid "hibernate.ejb.collectioncache.&lt;collectionrole&gt;"
-msgstr ""
+msgstr "hibernate.ejb.collectioncache.&lt;collectionrole&gt;"
 
 #. Tag: entry
 #: configuration.xml:287
@@ -453,12 +615,16 @@
 "hibernate.ejb.classcache.com.acme.Cat read-write or hibernate.ejb.classcache."
 "com.acme.Cat read-write, MyRegion)."
 msgstr ""
+"stratégie cache de collection [virgule cache région] de la valeur par défaut "
+"de la classe de no cache, et cache de région par défaut de fully.qualified."
+"classname (par ex. hibernate.ejb.classcache.com.acme.Cat read-write ou "
+"hibernate.ejb.classcache.com.acme.Cat read-write, MyRegion)."
 
 #. Tag: entry
 #: configuration.xml:296
 #, no-c-format
 msgid "hibernate.ejb.cfgfile"
-msgstr ""
+msgstr "hibernate.ejb.cfgfile"
 
 #. Tag: entry
 #: configuration.xml:298
@@ -467,12 +633,14 @@
 "XML configuration file to use to configure Hibernate (eg. <filename>/"
 "hibernate.cfg.xml</filename>)."
 msgstr ""
+"fichier de cofiguration XML à utiliser pour configurer Hibernate (par ex. "
+"<filename>/hibernate.cfg.xml</filename>)."
 
 #. Tag: entry
 #: configuration.xml:303
 #, no-c-format
 msgid "hibernate.archive.autodetection"
-msgstr ""
+msgstr "hibernate.archive.autodetection"
 
 #. Tag: entry
 #: configuration.xml:305
@@ -481,16 +649,19 @@
 "Determine which element is auto discovered by Hibernate Entity Manager while "
 "parsing the .par archive. (default to <literal>class,hbm</literal>)."
 msgstr ""
+"Déterminer quel élément est découvert automatiquement par le Gestionnaire "
+"d'entités Hibernate quand il analyse l'archive .par. (valeur par défaut de "
+"<literal>class,hbm</literal>)."
 
 #. Tag: entry
 #: configuration.xml:311
 #, no-c-format
 msgid "hibernate.ejb.interceptor"
-msgstr ""
+msgstr "hibernate.ejb.interceptor"
 
 #. Tag: entry
 #: configuration.xml:313
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "An optional Hibernate interceptor. The interceptor instance is shared by all "
 "<classname>Session</classname> instances. This interceptor has to implement "
@@ -498,12 +669,15 @@
 "constructor. This property can not be combined with <literal>hibernate.ejb."
 "interceptor.session_scoped</literal>."
 msgstr ""
+"Un intercepteur Hibernate optionnel. Cet intercepteur doit implémenter "
+"<classname>org.hibernate.Interceptor</classname> et comporte un constructeur "
+"no-arg."
 
 #. Tag: entry
 #: configuration.xml:322
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "hibernate.ejb.interceptor.session_scoped"
-msgstr ""
+msgstr "hibernate.ejb.interceptor"
 
 #. Tag: entry
 #: configuration.xml:324
@@ -520,7 +694,7 @@
 #: configuration.xml:334
 #, no-c-format
 msgid "hibernate.ejb.naming_strategy"
-msgstr ""
+msgstr "hibernate.ejb.naming_strategy"
 
 #. Tag: entry
 #: configuration.xml:336
@@ -530,12 +704,16 @@
 "<classname>EJB3NamingStrategy</classname>. You also might want to consider "
 "the <classname>DefaultComponentSafeNamingStrategy</classname>."
 msgstr ""
+"Une stratégie de nommage optionnelle. La stratégie de nommage par défaut "
+"utilisée est <classname>EJB3NamingStrategy</classname>. Vous souhaiterez "
+"peut-être également considérer "
+"<classname>DefaultComponentSafeNamingStrategy</classname>."
 
 #. Tag: entry
 #: configuration.xml:343
 #, no-c-format
 msgid "hibernate.ejb.event.&lt;eventtype&gt;"
-msgstr ""
+msgstr "hibernate.ejb.event.&lt;eventtype&gt;"
 
 #. Tag: entry
 #: configuration.xml:345
@@ -545,12 +723,16 @@
 "comma separated fully qualified class name list (eg. hibernate.ejb.event.pre-"
 "load com.acme.SecurityListener, com.acme.AuditListener)"
 msgstr ""
+"Listener d'événement pour un type d'événement donné. La liste de listeners "
+"d'événements est constituée d'une liste de noms de classe complets séparés "
+"par une virgule (par ex. hibernate.ejb.event.pre-load com.acme."
+"SecurityListener, com.acme.AuditListener)"
 
 #. Tag: entry
 #: configuration.xml:352
 #, no-c-format
 msgid "hibernate.ejb.use_class_enhancer"
-msgstr ""
+msgstr "hibernate.ejb.use_class_enhancer"
 
 #. Tag: entry
 #: configuration.xml:354
@@ -559,12 +741,14 @@
 "Whether or not use Application server class enhancement at deployment time "
 "(default to false)"
 msgstr ""
+"Doit-on oui ou non utiliser l'enrichissement de classe de serveur "
+"d'Application au moment du déploiement (faux par défaut )"
 
 #. Tag: entry
 #: configuration.xml:359
 #, no-c-format
 msgid "hibernate.ejb.discard_pc_on_close"
-msgstr ""
+msgstr "hibernate.ejb.discard_pc_on_close"
 
 #. Tag: entry
 #: configuration.xml:361
@@ -576,6 +760,12 @@
 "be sy,chronized with the database (default to false, ie wait the transaction "
 "completion)"
 msgstr ""
+"S vrai, le contexte de persistance sera ignoré (pensez clairement - think "
+"clear() - quand la méthode est appelée. Sinon, le contexte de persistance "
+"restera vivant jusqu'à la fin de la transaction : tous les objets "
+"continueront d'être gérés, et tout changement sera synchronisé dans la base "
+"de données ( false par défaut, c'est à dire attendre la fin de la "
+"transaction)"
 
 #. Tag: para
 #: configuration.xml:372
@@ -587,6 +777,11 @@
 "xml</filename> will override the one in the defined <filename>hibernate.cfg."
 "xml</filename>."
 msgstr ""
+"Remarquez que vous pouvez mixer la déclaration XML <literal>&lt; class&gt;</"
+"literal> et l'utilisation de <literal>hibernate.ejb.cfgfile</literal> dans "
+"la même configuration. Tenez compte des conflits possibles. Les propriétés "
+"fixées dans <filename>persistence.xml</filename> vont surcharger celles qui "
+"sont déterminées dans <filename>hibernate.cfg.xml</filename>."
 
 #. Tag: para
 #: configuration.xml:379
@@ -599,16 +794,23 @@
 "working in a Java EE environment, you might want to set the "
 "<literal>hibernate.transaction.manager_lookup_class</literal> though."
 msgstr ""
+"Il est important que vous ne surchargiez pas <literal>hibernate.transaction."
+"factory_class</literal>, Hibernate EntityManager détermine automatiquement "
+"l'usine de transactions qui convient suivant le type d'EntityManager (c'est "
+"à dire <literal>JTA</literal> versus <literal>RESOURSE_LOCAL</literal>). Si "
+"vous travaillez dans un environnement Java EE, vous souhaiterez peut-être "
+"configurer <literal>hibernate.transaction.manager_lookup_class</literal> "
+"malgré tout."
 
 #. Tag: para
 #: configuration.xml:389
 #, no-c-format
 msgid "Here is a typical configuration in a J2SE environment"
-msgstr ""
+msgstr "Voici une configuration typique d'un environnement J2SE"
 
 #. Tag: programlisting
 #: configuration.xml:391
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "&lt;persistence&gt;\n"
 "   &lt;persistence-unit name=\"manager1\" transaction-type=\"RESOURCE_LOCAL"
@@ -643,6 +845,41 @@
 "   &lt;/persistence-unit&gt;\n"
 "&lt;/persistence&gt;"
 msgstr ""
+"&lt;persistence&gt;\n"
+"   &lt;persistence-unit name=\"manager1\" transaction-type=\"RESOURCE_LOCAL"
+"\"&gt;\n"
+"      &lt;class&gt;org.hibernate.ejb.test.Cat&lt;/class&gt;\n"
+"      &lt;class&gt;org.hibernate.ejb.test.Distributor&lt;/class&gt;\n"
+"      &lt;class&gt;org.hibernate.ejb.test.Item&lt;/class&gt;\n"
+"      &lt;properties&gt;\n"
+"         &lt;property name=\"hibernate.dialect\" value=\"org.hibernate."
+"dialect.HSQLDialect\"/&gt;\n"
+"         &lt;property name=\"hibernate.connection.driver_class\" value=\"org."
+"hsqldb.jdbcDriver\"/&gt;\n"
+"         &lt;property name=\"hibernate.connection.username\" value=\"sa\"/"
+"&gt;\n"
+"         &lt;property name=\"hibernate.connection.password\" value=\"\"/"
+"&gt;\n"
+"         &lt;property name=\"hibernate.connection.url\" value=\"jdbc:hsqldb:."
+"\"/&gt;\n"
+"         &lt;property name=\"hibernate.max_fetch_depth\" value=\"3\"/&gt;\n"
+"       \n"
+"         &lt;!-- cache configuration --&gt;\n"
+"         &lt;property name=\"hibernate.ejb.classcache.org.hibernate.ejb.test."
+"Item\"\n"
+"             value=\"read-write\"/&gt;\n"
+"         &lt;property name=\"hibernate.ejb.collectioncache.org.hibernate.ejb."
+"test.Item.distributors\" \n"
+"             value=\"read-write, RegionName\"/&gt;\n"
+"\n"
+"         &lt;!-- alternatively to &lt;class&gt; and &lt;property&gt; "
+"declarations, you can use a regular \n"
+"             hibernate.cfg.xml file --&gt;\n"
+"         &lt;!-- property name=\"hibernate.ejb.cfgfile\" \n"
+"             value=\"/org/hibernate/ejb/test/hibernate.cfg.xml\"/ --&gt;\n"
+"      &lt;/properties&gt;\n"
+"   &lt;/persistence-unit&gt;\n"
+"&lt;/persistence&gt;"
 
 #. Tag: para
 #: configuration.xml:393
@@ -654,16 +891,22 @@
 "classname>. Refer to the JavaDoc and the Hibernate reference guide for more "
 "detailed informations on how to use it."
 msgstr ""
+"Pour faciliter la configuration programmatique, Hibernate Entity Manager "
+"fournit un API propriétaire. Cet API est similaire à l'API "
+"<classname>Configuration</classname> et partage les mêmes concepts : "
+"<classname>Ejb3Configuration</classname>. Veuillez vous référer au guide de "
+"référence Hibernate et JavaDoc pour davantage d'informations sur la façon de "
+"l'utiliser."
 
 #. Tag: para
 #: configuration.xml:400
 #, no-c-format
 msgid "TODO: me more descriptive on some APIs like setDatasource()"
-msgstr ""
+msgstr "TODO: me more descriptive on some APIs like setDatasource()"
 
 #. Tag: programlisting
 #: configuration.xml:402
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "Ejb3Configuration cfg = new Ejb3Configuration();\n"
 "EntityManagerFactory emf = \n"
@@ -679,12 +922,25 @@
 "xml\n"
 "     .buildEntityManagerFactory(); //Create the entity manager factory"
 msgstr ""
+"Ejb3Configuration cfg = new Ejb3Configuration();\n"
+"EntityManagerFactory emf = \n"
+"  cfg.configure(\"/mypath/hibernate.cfg.xml\") //add a regular hibernate.cfg."
+"xml\n"
+"     .addProperties( properties ) //add some properties\n"
+"     .setInterceptor( myInterceptorImpl ) // set an interceptor\n"
+"     .addAnnotatedClass( MyAnnotatedClass.class ) //add a class to be "
+"mapped\n"
+"     .addClass( NonAnnotatedClass.class ) //add an hbm.xml file using the "
+"Hibernate convention\n"
+"     .addRerousce( \"mypath/MyOtherCLass.hbm.xml ) //add an hbm.xml file\n"
+"     .addRerousce( \"mypath/orm.xml ) //add an EJB3 deployment descriptor\n"
+"     .buildEntityManagerFactory(); //Create the entity manager factory"
 
 #. Tag: title
 #: configuration.xml:407
 #, no-c-format
 msgid "Event listeners"
-msgstr ""
+msgstr "Listeners d'événements"
 
 #. Tag: para
 #: configuration.xml:409
@@ -696,228 +952,235 @@
 "override some of the EJB3 semantics. A safe way is to add your event "
 "listeners to the list given below."
 msgstr ""
+"Hibernate Entity Manager a besoin d'améliorer Hibernate core pour "
+"implémenter toutes les sémantiques EJB3. Il y parvient grâce au système de "
+"listener d'événement d'Hibernate. Soyez vigilant(e)s quand vous utilisez le "
+"système d'événement vous-mêmes. Une façon sûre est d'ajouter vos listeners "
+"d'événements dans la liste donnée ci-dessous."
 
 #. Tag: title
 #: configuration.xml:416
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "Hibernate Entity Manager default event listeners"
-msgstr ""
-"Hibernate Entity Manager User Guide CP03 (Guide d'utilisation de "
-"gestionnaire d'entités Hibernate CP03)"
+msgstr "Listeners d'événements par défaut d'Hibernate Entity Manager"
 
 #. Tag: entry
 #: configuration.xml:425
 #, no-c-format
 msgid "Event"
-msgstr ""
+msgstr "Evénement"
 
 #. Tag: entry
 #: configuration.xml:427
 #, no-c-format
 msgid "Listeners"
-msgstr ""
+msgstr "Listeners"
 
 #. Tag: entry
 #: configuration.xml:433
 #, no-c-format
 msgid "flush"
-msgstr ""
+msgstr "flush"
 
 #. Tag: entry
 #: configuration.xml:435
 #, no-c-format
 msgid "org.hibernate.ejb.event.EJB3FlushEventListener"
-msgstr ""
+msgstr "org.hibernate.ejb.event.EJB3FlushEventListener"
 
 #. Tag: entry
 #: configuration.xml:439
 #, no-c-format
 msgid "auto-flush"
-msgstr ""
+msgstr "auto-flush"
 
 #. Tag: entry
 #: configuration.xml:441
 #, no-c-format
 msgid "org.hibernate.ejb.event.EJB3AutoFlushEventListener"
-msgstr ""
+msgstr "org.hibernate.ejb.event.EJB3AutoFlushEventListener"
 
 #. Tag: entry
 #: configuration.xml:445
 #, no-c-format
 msgid "delete"
-msgstr ""
+msgstr "supprimer"
 
 #. Tag: entry
 #: configuration.xml:447
 #, no-c-format
 msgid "org.hibernate.ejb.event.EJB3DeleteEventListener"
-msgstr ""
+msgstr "org.hibernate.ejb.event.EJB3DeleteEventListener"
 
 #. Tag: entry
 #: configuration.xml:451
 #, no-c-format
 msgid "flush-entity"
-msgstr ""
+msgstr "flush-entity"
 
 #. Tag: entry
 #: configuration.xml:453
 #, no-c-format
 msgid "org.hibernate.ejb.event.EJB3FlushEntityEventListener"
-msgstr ""
+msgstr "org.hibernate.ejb.event.EJB3FlushEntityEventListener"
 
 #. Tag: entry
 #: configuration.xml:457
 #, no-c-format
 msgid "merge"
-msgstr ""
+msgstr "fusionner"
 
 #. Tag: entry
 #: configuration.xml:459
 #, no-c-format
 msgid "org.hibernate.ejb.event.EJB3MergeEventListener"
-msgstr ""
+msgstr "org.hibernate.ejb.event.EJB3MergeEventListener"
 
 #. Tag: entry
 #: configuration.xml:463
 #, no-c-format
 msgid "create"
-msgstr ""
+msgstr "créer"
 
 #. Tag: entry
 #: configuration.xml:465
 #, no-c-format
 msgid "org.hibernate.ejb.event.EJB3PersistEventListener"
-msgstr ""
+msgstr "org.hibernate.ejb.event.EJB3PersistEventListener"
 
 #. Tag: entry
 #: configuration.xml:469
 #, no-c-format
 msgid "create-onflush"
-msgstr ""
+msgstr "create-onflush"
 
 #. Tag: entry
 #: configuration.xml:471
 #, no-c-format
 msgid "org.hibernate.ejb.event.EJB3PersistOnFlushEventListener"
-msgstr ""
+msgstr "org.hibernate.ejb.event.EJB3PersistOnFlushEventListener"
 
 #. Tag: entry
 #: configuration.xml:475
 #, no-c-format
 msgid "save"
-msgstr ""
+msgstr "sauvegarder"
 
 #. Tag: entry
 #: configuration.xml:477
 #, no-c-format
 msgid "org.hibernate.ejb.event.EJB3SaveEventListener"
-msgstr ""
+msgstr "org.hibernate.ejb.event.EJB3SaveEventListener"
 
 #. Tag: entry
 #: configuration.xml:481
 #, no-c-format
 msgid "save-update"
-msgstr ""
+msgstr "save-update (sauvegarde-mise à jour)"
 
 #. Tag: entry
 #: configuration.xml:483
 #, no-c-format
 msgid "org.hibernate.ejb.event.EJB3SaveOrUpdateEventListener"
-msgstr ""
+msgstr "org.hibernate.ejb.event.EJB3SaveOrUpdateEventListener"
 
 #. Tag: entry
 #: configuration.xml:487 configuration.xml:494
 #, no-c-format
 msgid "pre-insert"
-msgstr ""
+msgstr "pre-insert (avant-insertion)"
 
 #. Tag: entry
 #: configuration.xml:489
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "org.hibernate.secure.JACCPreInsertEventListener, org.hibernate.valitator."
 "event.ValidateEventListener"
 msgstr ""
+"org.hibernate.secure.JACCPreInsertEventListener, org.hibernate.validator."
+"event.ValidateEventListener"
 
 #. Tag: entry
 #: configuration.xml:496
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "org.hibernate.secure.JACCPreUpdateEventListener, org.hibernate.valitator."
 "event.ValidateEventListener"
 msgstr ""
+"org.hibernate.secure.JACCPreUpdateEventListener, org.hibernate.validator."
+"event.ValidateEventListener"
 
 #. Tag: entry
 #: configuration.xml:501
 #, no-c-format
 msgid "pre-delete"
-msgstr ""
+msgstr "pre-delete (pré-suppression)"
 
 #. Tag: entry
 #: configuration.xml:503
 #, no-c-format
 msgid "org.hibernate.secure.JACCPreDeleteEventListener"
-msgstr ""
+msgstr "org.hibernate.secure.JACCPreDeleteEventListener"
 
 #. Tag: entry
 #: configuration.xml:507
 #, no-c-format
 msgid "pre-load"
-msgstr ""
+msgstr "pre-load (pré-chargement)"
 
 #. Tag: entry
 #: configuration.xml:509
 #, no-c-format
 msgid "org.hibernate.secure.JACCPreLoadEventListener"
-msgstr ""
+msgstr "org.hibernate.secure.JACCPreLoadEventListener"
 
 #. Tag: entry
 #: configuration.xml:513
 #, no-c-format
 msgid "post-delete"
-msgstr ""
+msgstr "post-delete (après-suppression)"
 
 #. Tag: entry
 #: configuration.xml:515
 #, no-c-format
 msgid "org.hibernate.ejb.event.EJB3PostDeleteEventListener"
-msgstr ""
+msgstr "org.hibernate.ejb.event.EJB3PostDeleteEventListener"
 
 #. Tag: entry
 #: configuration.xml:519
 #, no-c-format
 msgid "post-insert"
-msgstr ""
+msgstr "post-insert (après-suppression)"
 
 #. Tag: entry
 #: configuration.xml:521
 #, no-c-format
 msgid "org.hibernate.ejb.event.EJB3PostInsertEventListener"
-msgstr ""
+msgstr "org.hibernate.ejb.event.EJB3PostInsertEventListener"
 
 #. Tag: entry
 #: configuration.xml:525
 #, no-c-format
 msgid "post-load"
-msgstr ""
+msgstr "post-load (après-chargement)"
 
 #. Tag: entry
 #: configuration.xml:527
 #, no-c-format
 msgid "org.hibernate.ejb.event.EJB3PostLoadEventListener"
-msgstr ""
+msgstr "org.hibernate.ejb.event.EJB3PostLoadEventListener"
 
 #. Tag: entry
 #: configuration.xml:531
 #, no-c-format
 msgid "post-update"
-msgstr ""
+msgstr "post-update (après-mise-à-jour)"
 
 #. Tag: entry
 #: configuration.xml:533
 #, no-c-format
 msgid "org.hibernate.ejb.event.EJB3PostUpdateEventListener"
-msgstr ""
+msgstr "org.hibernate.ejb.event.EJB3PostUpdateEventListener"
 
 #. Tag: para
 #: configuration.xml:539
@@ -925,21 +1188,27 @@
 msgid ""
 "Note that the JACC*EventListeners are removed if the security is not enabled."
 msgstr ""
+"Remarquez que JACC*EventListeners sont retirés si la sécurité n'est pas "
+"activée."
 
 #. Tag: para
 #: configuration.xml:542
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "You can configure the event listeners either through the properties (see "
 "<xref linkend=\"setup-configuration\"/>) or through the "
 "<methodname>ejb3configuration.getEventListeners()</methodname> API."
 msgstr ""
+"Vous pouvez configurer les listeners d'événement soit par les propriétés "
+"(voir <xref linkend=\"Setup_and_configuration-Configuration_and_bootstrapping"
+"\"/>) ou par l'API <methodname>ejb3configuration.getEventListeners()</"
+"methodname>."
 
 #. Tag: title
 #: configuration.xml:548
 #, no-c-format
 msgid "Obtaining an EntityManager in a Java SE environment"
-msgstr ""
+msgstr "Obtention d'un EntityManager dans un environnement Java SE."
 
 #. Tag: para
 #: configuration.xml:550
@@ -951,6 +1220,13 @@
 "<classname>EntityManager</classname>s. The <classname>Persistence</"
 "classname> class is bootstrap class to create an entity manager factory."
 msgstr ""
+"Une usine de gestionnaire d'entités devrait être considérée comme le "
+"détenteur d'une configuration qui ne peut pas muter. Elle est déterminée de "
+"façon à pointer à une source de données et à mapper un ensemble d'entités "
+"bien défini. Il s'agit du point d'entrée pour créer et gérer les "
+"<classname>EntityManager</classname>s. La classe <classname>Persistence</"
+"classname> est une classe d'initialisation pour créer une usine de "
+"gestionnaires d'entités."
 
 #. Tag: programlisting
 #: configuration.xml:557
@@ -966,10 +1242,19 @@
 "...\n"
 "emf.close(); //close at application end"
 msgstr ""
+"// Use persistence.xml configuration\n"
+"EntityManagerFactory emf = Persistence.createEntityManagerFactory(\"manager1"
+"\")\n"
+"EntityManager em = emf.createEntityManager(); // Retrieve an application "
+"managed entity manager\n"
+"// Work with the EM\n"
+"em.close();\n"
+"...\n"
+"emf.close(); //close at application end"
 
 #. Tag: para
 #: configuration.xml:559
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "An entity manager factory is typically create at application initialization "
 "time and closed at application end. It's creation is an expensive process. "
@@ -978,6 +1263,13 @@
 "wrapper on top of a session factory. Calls to the entityManagerFactory are "
 "thread safe."
 msgstr ""
+"Une usine de gestionnaires d'entités est normalement créée au moment de "
+"l'initialisation de l'application et est fermée en fin d'application. Sa "
+"création est un processus coûteux. Pour ceux qui sont familiers avec "
+"Hibernate, une usine de gestionnaires d'entités est un peu comme une usine "
+"de sessions. En fait, une usine de gestionnaires d'entités est une "
+"encapsulation au dessus d'une usine de session. Les appels à "
+"l'entityManagerFactory sont thread safe."
 
 #. Tag: para
 #: configuration.xml:566
@@ -990,22 +1282,29 @@
 "between). You can see an entity manager as a small wrapper on top of an "
 "Hibernate session."
 msgstr ""
+"Grâce à l'EntityManagerFactory, vous pouvez extraire un gestionnaire "
+"d'entités prolongées. Le gestionnaire d'entités prolongées conserve le même "
+"contexte de persistance pour la durée de vie du gestionnaire d'entités : en "
+"d'autres mots, les entités sont encore gérées entre deux transactions (à "
+"moins que vous appeliez entityManager.clear() entre deux). Vous pouvez vous "
+"imaginer un gestionnaire d'entité comme une petite capsule chapeautant une "
+"session Hibernate."
 
 #. Tag: para
 #: configuration.xml:573
 #, no-c-format
 msgid "TODO explains emf.createEntityManager(Map)"
-msgstr ""
+msgstr "TODO explains emf.createEntityManager(Map)"
 
 #. Tag: title
 #: configuration.xml:577
 #, no-c-format
 msgid "Various"
-msgstr ""
+msgstr "Divers"
 
 #. Tag: para
 #: configuration.xml:579
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "Hibernate Entity Manager comes with Hibernate Validator configured out of "
 "the box. You don't have to override any event yourself. If you do not use "
@@ -1013,3 +1312,9 @@
 "performance cost. For more information on Hibernate Validator, please refer "
 "to the Hibernate Annotations reference guide."
 msgstr ""
+"Hibernate Entity Manager est fourni avec Hibernate Validator configuré prêt "
+"à l'emploi. Vous n'avez pas besoin de surcharger un événement vous-même. Si "
+"vous ne souhaitez pas utiliser les annotations Hibernate Validator dans "
+"votre modèle de domaine, il n'y aura pas de coût de performance. Pour plus "
+"d'informations sur Hibernate Validator, veuillez vous reporter au guide de "
+"référence Hibernate Annotations."

Modified: projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/entitymanagerapi.po
===================================================================
--- projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/entitymanagerapi.po	2009-11-10 02:35:50 UTC (rev 96203)
+++ projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/entitymanagerapi.po	2009-11-10 02:42:46 UTC (rev 96204)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: Batch\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-09-16 01:54+0000\n"
+"POT-Creation-Date: 2009-11-10 02:39+0000\n"
 "PO-Revision-Date: 2009-06-17 11:52+1000\n"
 "Last-Translator: Corina Roe <croe at redhat.com>\n"
 "Language-Team: French <i18 at redhat.com>\n"
@@ -25,9 +25,9 @@
 
 #. Tag: title
 #: entitymanagerapi.xml:31
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "Entity states"
-msgstr ""
+msgstr "EntityManager"
 
 #. Tag: para
 #: entitymanagerapi.xml:33
@@ -209,9 +209,9 @@
 
 #. Tag: title
 #: entitymanagerapi.xml:124
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "Executing queries"
-msgstr ""
+msgstr "Requêtes nommées"
 
 #. Tag: para
 #: entitymanagerapi.xml:126
@@ -375,9 +375,9 @@
 
 #. Tag: title
 #: entitymanagerapi.xml:178
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "Pagination"
-msgstr ""
+msgstr "Définition"
 
 #. Tag: para
 #: entitymanagerapi.xml:180
@@ -408,9 +408,9 @@
 
 #. Tag: title
 #: entitymanagerapi.xml:191
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "Externalizing named queries"
-msgstr ""
+msgstr "Requêtes nommées"
 
 #. Tag: para
 #: entitymanagerapi.xml:193
@@ -458,9 +458,9 @@
 
 #. Tag: title
 #: entitymanagerapi.xml:209
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "Native queries"
-msgstr ""
+msgstr "Requête native"
 
 #. Tag: para
 #: entitymanagerapi.xml:211
@@ -537,7 +537,7 @@
 #: entitymanagerapi.xml:251
 #, no-c-format
 msgid "Description"
-msgstr ""
+msgstr "Description"
 
 #. Tag: entry
 #: entitymanagerapi.xml:257
@@ -553,9 +553,9 @@
 
 #. Tag: entry
 #: entitymanagerapi.xml:264
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "org.hibernate.fetchSize"
-msgstr ""
+msgstr "hibernate.ejb.cfgfile"
 
 #. Tag: entry
 #: entitymanagerapi.xml:266
@@ -581,9 +581,9 @@
 
 #. Tag: entry
 #: entitymanagerapi.xml:278
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "org.hibernate.cacheable"
-msgstr ""
+msgstr "hibernate.ejb.cfgfile"
 
 #. Tag: entry
 #: entitymanagerapi.xml:280
@@ -595,9 +595,9 @@
 
 #. Tag: entry
 #: entitymanagerapi.xml:285 entitymanagerapi.xml:314
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "org.hibernate.cacheMode"
-msgstr ""
+msgstr "hibernate.archive.autodetection"
 
 #. Tag: entry
 #: entitymanagerapi.xml:287
@@ -607,9 +607,9 @@
 
 #. Tag: entry
 #: entitymanagerapi.xml:292
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "org.hibernate.cacheRegion"
-msgstr ""
+msgstr "hibernate.archive.autodetection"
 
 #. Tag: entry
 #: entitymanagerapi.xml:294
@@ -914,15 +914,15 @@
 
 #. Tag: title
 #: entitymanagerapi.xml:474
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "Flush the persistence context"
-msgstr ""
+msgstr "Contexte de persistance"
 
 #. Tag: title
 #: entitymanagerapi.xml:477
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "In a transaction"
-msgstr ""
+msgstr "EntityTransaction"
 
 #. Tag: para
 #: entitymanagerapi.xml:479
@@ -1076,13 +1076,13 @@
 
 #. Tag: title
 #: entitymanagerapi.xml:564
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "Outside a transaction"
-msgstr ""
+msgstr "EntityTransaction"
 
 #. Tag: para
 #: entitymanagerapi.xml:566
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "In an <literal>EXTENDED</literal> persistence context, all read only "
 "operations of the entity manager can be executed outside a transaction "
@@ -1095,6 +1095,17 @@
 "transaction: <literal>flush()</literal>, <literal>lock()</literal>, and "
 "update/delete queries."
 msgstr ""
+"Dans un contexte de persistance <literal>EXTENDED</literal>, toutes les "
+"opérations lecture-seule du gestionnaire d'entités peuvent être exécutées en "
+"dehors d'une transaction (<literal>find()</literal>, <literal>getReference()"
+"</literal>, <literal>refresh()</literal>, et les demandes de lecture). "
+"Certaines opérations de modifications peuvent être exécutées en dehors d'une "
+"transaction, mais elles sont mises en fil d'attente jusqu'à ce que le "
+"contexte de persistance rejoigne une transaction : c'est le cas de "
+"<literal>persist()</literal>, <literal><literal>merge()</literal></literal>, "
+"<literal>remove()</literal>. Certaines opérations ne peuvent pas être "
+"appelées en dehors d'une transaction : <literal>flush()</literal>, "
+"<literal>lock()</literal>, et les demandes de mise à jour/suppression."
 
 #. Tag: title
 #: entitymanagerapi.xml:581
@@ -1230,9 +1241,9 @@
 
 #. Tag: title
 #: entitymanagerapi.xml:659
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "Locking"
-msgstr ""
+msgstr "Packaging"
 
 #. Tag: para
 #: entitymanagerapi.xml:661

Modified: projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/listeners.po
===================================================================
--- projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/listeners.po	2009-11-10 02:35:50 UTC (rev 96203)
+++ projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/listeners.po	2009-11-10 02:42:46 UTC (rev 96204)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: Batch\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-09-16 01:54+0000\n"
+"POT-Creation-Date: 2009-11-10 02:39+0000\n"
 "PO-Revision-Date: 2009-06-17 11:52+1000\n"
 "Last-Translator: Corina Roe <croe at redhat.com>\n"
 "Language-Team: French <i18 at redhat.com>\n"
@@ -21,13 +21,13 @@
 #: listeners.xml:28
 #, no-c-format
 msgid "Entity listeners and Callback methods"
-msgstr ""
+msgstr "Listeners d'entités et méthodes de callback"
 
 #. Tag: title
 #: listeners.xml:31
 #, no-c-format
 msgid "Definition"
-msgstr ""
+msgstr "Définition"
 
 #. Tag: para
 #: listeners.xml:33
@@ -38,6 +38,11 @@
 "kinds of generic functionality, and extension of built-in functionality. The "
 "EJB3 specification provides two related mechanisms for this purpose."
 msgstr ""
+"Il est souvent utile que l'application puisse réagir face à certains "
+"événements qui ont lieu à l'intérieur du mécanisme de persistance. Cela "
+"permet l'implémentation de certaines fonctionnalités génériques, et "
+"l'extension de fonctionnalités intégrées. La spécification EJB3 fournit deux "
+"mécanismes liées à ce but."
 
 #. Tag: para
 #: listeners.xml:39
@@ -51,6 +56,15 @@
 "constructor. An entity listener is defined by annotating the entity class "
 "with the <literal>@EntityListeners</literal> annotation:"
 msgstr ""
+"La méthode d'entités peut être désignée en tant que méthode d'entité pour "
+"recevoir une notification de la part d'un événement d'un cycle de vie "
+"d'entité particulier. Les méthodes de callback sont annotées par une "
+"annotation de callback. Vous pouvez également définir une classe de listener "
+"d'entité à utiliser à la place des méthodes callback qui sont définies "
+"directement à l'intérieur de la classe d'entité. Un listener d'entité est "
+"une classe stateless avec un constructeur no-arg. Un listener d'entité est "
+"déterminé par l'annotation de la classe d'entité par "
+"<literal>@EntityListeners</literal> :"
 
 #. Tag: programlisting
 #: listeners.xml:48
@@ -97,6 +111,46 @@
 "    }\n"
 "}"
 msgstr ""
+"@Entity \n"
+"@EntityListeners(class=Audit.class)\n"
+"public class Cat {\n"
+"    @Id private Integer id;\n"
+"    private String name;\n"
+"    private Calendar dateOfBirth;\n"
+"    @Transient private int age;\n"
+"    private Date lastUpdate;\n"
+"    //getters and setters\n"
+"\n"
+"    /**\n"
+"     * Set my transient property at load time based on a calculation,\n"
+"     * note that a native Hibernate formula mapping is better for this "
+"purpose.\n"
+"     */\n"
+"    @PostLoad\n"
+"    public void calculateAge() {\n"
+"        Calendar birth = new GregorianCalendar();\n"
+"        birth.setTime(dateOfBirth);\n"
+"        Calendar now = new GregorianCalendar();\n"
+"        now.setTime( new Date() );\n"
+"        int adjust = 0;\n"
+"        if ( now.get(Calendar.DAY_OF_YEAR) - birth.get(Calendar.DAY_OF_YEAR) "
+"&lt; 0) {\n"
+"            adjust = -1;\n"
+"        }\n"
+"        age = now.get(Calendar.YEAR) - birth.get(Calendar.YEAR) + adjust;\n"
+"    }\n"
+"}\n"
+"\n"
+"public class LastUpdateListener {\n"
+"    /**\n"
+"     * automatic property set before any database persistence\n"
+"     */\n"
+"    @PreUpdate\n"
+"    @PrePersist\n"
+"    public void setLastUpdate(Cat o) {\n"
+"        o.setLastUpdate( new Date() );\n"
+"    }\n"
+"}"
 
 #. Tag: para
 #: listeners.xml:50
@@ -113,6 +167,17 @@
 "Object</literal> type (allowing sharing of listeners accross several "
 "entities.)"
 msgstr ""
+"La même méthode de callback ou de listener d'entité peut être annotée avec "
+"plus d'une annotation de callback. Pour une entité donnée, vous ne pouvez "
+"pas avoir deux méthodes qui soient annotées par la même annotation de "
+"callback, qu'il s'agisse d'une méthode de callback ou d'une méthode de "
+"listener d'entités. Une méthode de callback est une méthode no-arg sans type "
+"de retour et sans nom arbitraire. Un listener d'entités possède la signature "
+"<code>void &lt;METHOD&gt;(Object)</code> pour laquelle Objects est du type "
+"d'entité (notez que le gestionnaire d'entités Hibernate a relaxé ses "
+"contraintes et permet <literal>Object</literal> de type <literal>java.lang."
+"Object</literal> (permettant ainsi le partage des listeners entre plusieurs "
+"entités.)"
 
 #. Tag: para
 #: listeners.xml:61
@@ -122,30 +187,33 @@
 "current transaction, if any, must be rolled back. The following callbacks "
 "are defined:"
 msgstr ""
+"Une méthode de callback peut soulever une exception "
+"<classname>RuntimeException</classname>. La transaction courante, si elle "
+"existe, devra être rolled back. Les callbacks suivants sont définis :"
 
 #. Tag: title
 #: listeners.xml:66
 #, no-c-format
 msgid "Callbacks"
-msgstr ""
+msgstr "Callbacks"
 
 #. Tag: entry
 #: listeners.xml:75
 #, no-c-format
 msgid "Type"
-msgstr ""
+msgstr "Type"
 
 #. Tag: entry
 #: listeners.xml:77
 #, no-c-format
 msgid "Description"
-msgstr ""
+msgstr "Description"
 
 #. Tag: entry
 #: listeners.xml:83
 #, no-c-format
 msgid "@PrePersist"
-msgstr ""
+msgstr "@PrePersist"
 
 #. Tag: entry
 #: listeners.xml:85
@@ -154,12 +222,15 @@
 "Executed before the entity manager persist operation is actually executed or "
 "cascaded. This call is synchronous with the persist operation."
 msgstr ""
+"Exécuté avant que l'opération persist (persister)du gestionnaire d'entités "
+"soit bien exécutée ou cascadée. Cet appel est synchrônisé avec l'opération "
+"persist."
 
 #. Tag: entry
 #: listeners.xml:91
 #, no-c-format
 msgid "@PreRemove"
-msgstr ""
+msgstr "@PreRemove"
 
 #. Tag: entry
 #: listeners.xml:93
@@ -168,12 +239,15 @@
 "Executed before the entity manager remove operation is actually executed or "
 "cascaded. This call is synchronous with the remove operation."
 msgstr ""
+"Exécuté avant que l'opération remove (suppression) du gestionnaire d'entités "
+"ne soit exécutée ou cascadée. Cet appel est synchrônisé avec l'opération "
+"remove."
 
 #. Tag: entry
 #: listeners.xml:99
 #, no-c-format
 msgid "@PostPersist"
-msgstr ""
+msgstr "@PostPersist"
 
 #. Tag: entry
 #: listeners.xml:101
@@ -182,12 +256,15 @@
 "Executed after the entity manager persist operation is actually executed or "
 "cascaded. This call is invoked after the database INSERT is executed."
 msgstr ""
+"Exécuté après que l'opération persist du gestionnaire d'entités ne soit "
+"exécuté ou cascadé. Cet appel est invoqué après que l'INSERT de la base de "
+"données ne soit exécuté."
 
 #. Tag: entry
 #: listeners.xml:107
 #, no-c-format
 msgid "@PostRemove"
-msgstr ""
+msgstr "@PostRemove"
 
 #. Tag: entry
 #: listeners.xml:109
@@ -196,36 +273,38 @@
 "Executed after the entity manager remove operation is actually executed or "
 "cascaded. This call is synchronous with the remove operation."
 msgstr ""
+"Exécuté après que l'opération remove du gestionnaire d'entités ait été "
+"exécuté ou cascadé. Cet appel est synchrônisé avec l'opération remove,"
 
 #. Tag: entry
 #: listeners.xml:115
 #, no-c-format
 msgid "@PreUpdate"
-msgstr ""
+msgstr "@PreUpdate"
 
 #. Tag: entry
 #: listeners.xml:117
 #, no-c-format
 msgid "Executed before the database UPDATE operation."
-msgstr ""
+msgstr "Exécuté avant l'opération UPDATE de la base de données."
 
 #. Tag: entry
 #: listeners.xml:121
 #, no-c-format
 msgid "@PostUpdate"
-msgstr ""
+msgstr "@PostUpdate"
 
 #. Tag: entry
 #: listeners.xml:123
 #, no-c-format
 msgid "Executed after the database UPDATE operation."
-msgstr ""
+msgstr "Exécuté après l'opération UPDATE de la base de données."
 
 #. Tag: entry
 #: listeners.xml:127
 #, no-c-format
 msgid "@PostLoad"
-msgstr ""
+msgstr "@PostLoad"
 
 #. Tag: entry
 #: listeners.xml:129
@@ -234,6 +313,8 @@
 "Eexecuted after an entity has been loaded into the current persistence "
 "context or an entity has been refreshed."
 msgstr ""
+"Exécuté après qu'une entité ait été chargée dans le contexte de la "
+"persistence courante ou qu'une entité ait été 'rafraichie'."
 
 #. Tag: para
 #: listeners.xml:136
@@ -242,12 +323,14 @@
 "A callback method must not invoke <classname>EntityManager</classname> or "
 "<classname>Query</classname> methods!"
 msgstr ""
+"Une méthode callback ne doit pas invoquer de méthodes <classname> "
+"EntityManager</classname> ou <classname>Query</classname>!"
 
 #. Tag: title
 #: listeners.xml:142
 #, no-c-format
 msgid "Callbacks and listeners inheritance"
-msgstr ""
+msgstr "Hétitage de listeners et callbacks"
 
 #. Tag: para
 #: listeners.xml:144
@@ -258,12 +341,17 @@
 "hierarchy. But you cannot define two listeners for the same event in the "
 "same entity or the same entity listener."
 msgstr ""
+"Vous pouvez définir plusieurs listeners d'entités à différents niveaux de la "
+"hiérarchie. Vous pouvez également définir plusieurs callbacks à différents "
+"niveaux de la hiérarchie. Mais vous ne pouvez pas définir deux listeners "
+"pour le même événement dans la même entité ou le même listener d'entité."
 
 #. Tag: para
 #: listeners.xml:149
 #, no-c-format
 msgid "When an event is raised, the listeners are executed in this order:"
 msgstr ""
+"Quand un événement est soulevé, les listeners sont exécutés dans cet ordre :"
 
 #. Tag: para
 #: listeners.xml:154
@@ -272,30 +360,32 @@
 "<literal>@EntityListeners</literal> for a given entity or superclass in the "
 "array order"
 msgstr ""
+"<literal>@EntityListeners</literal> pour une entité donnée ou pour une "
+"superclasse dans l'ordre de la matrice"
 
 #. Tag: para
 #: listeners.xml:159
 #, no-c-format
 msgid "Entity listeners for the superclasses (highest first)"
-msgstr ""
+msgstr "Listeners d'entités pour les superclasses (le plus haute d'abord)"
 
 #. Tag: para
 #: listeners.xml:163
 #, no-c-format
 msgid "Entity Listeners for the entity"
-msgstr ""
+msgstr "Listeners d'entités pour l'entité"
 
 #. Tag: para
 #: listeners.xml:167
 #, no-c-format
 msgid "Callbacks of the superclasses (highest first)"
-msgstr ""
+msgstr "Callbacks des superclasses (la plus haute d'abord)"
 
 #. Tag: para
 #: listeners.xml:171
 #, no-c-format
 msgid "Callbacks of the entity"
-msgstr ""
+msgstr "Callbacks de l'entité"
 
 #. Tag: para
 #: listeners.xml:175
@@ -305,12 +395,15 @@
 "<literal>@ExcludeSuperclassListeners</literal>, all superclasses "
 "<literal>@EntityListeners</literal> will then be ignored."
 msgstr ""
+"Vous pouvez stopper l'héritage des listeners d'entités en utilisant "
+"<literal>@ExcludeSuperclassListeners</literal>, toutes les superclasses "
+"<literal>@EntityListeners</literal> seront alors ignorées."
 
 #. Tag: title
 #: listeners.xml:181
 #, no-c-format
 msgid "XML definition"
-msgstr ""
+msgstr "Définition XML"
 
 #. Tag: para
 #: listeners.xml:183
@@ -320,6 +413,9 @@
 "descriptor. There is also an additional feature that can be useful: default "
 "event listeners."
 msgstr ""
+"La spécification EJB3 permet aux annotations de surcharger par le "
+"descripteur de déploiement EJB3. Il existe également une fonctionnalité "
+"supplémentaire qui peut être utile : les listeners d'événements par défaut."
 
 #. Tag: programlisting
 #: listeners.xml:187
@@ -356,6 +452,36 @@
 "    &lt;/entity&gt;\n"
 "&lt;/entity-mappings&gt;"
 msgstr ""
+"&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n"
+"\n"
+"&lt;entity-mappings xmlns=\"http://java.sun.com/xml/ns/persistence/orm\"\n"
+"                 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+"                 xsi:schemaLocation=\"http://java.sun.com/xml/ns/persistence/"
+"orm orm_1_0.xsd\"\n"
+"                 version=\"1.0\"\n"
+"        &gt;\n"
+"    &lt;persistence-unit-metadata&gt;\n"
+"        &lt;persistence-unit-defaults&gt;\n"
+"            &lt;entity-listeners&gt;\n"
+"                &lt;entity-listener class=\"org.hibernate.ejb.test.pack."
+"defaultpar.IncrementListener\"&gt;\n"
+"                    &lt;pre-persist method-name=\"increment\"/&gt;\n"
+"                &lt;/entity-listener&gt;\n"
+"            &lt;/entity-listeners&gt;\n"
+"        &lt;/persistence-unit-defaults&gt;\n"
+"    &lt;/persistence-unit-metadata&gt;\n"
+"    &lt;package&gt;org.hibernate.ejb.test.pack.defaultpar&lt;/package&gt;\n"
+"    &lt;entity class=\"ApplicationServer\"&gt;\n"
+"        &lt;entity-listeners&gt;\n"
+"            &lt;entity-listener class=\"OtherIncrementListener\"&gt;\n"
+"                &lt;pre-persist method-name=\"increment\"/&gt;\n"
+"            &lt;/entity-listener&gt;\n"
+"        &lt;/entity-listeners&gt;\n"
+"\n"
+"\n"
+"        &lt;pre-persist method-name=\"calculate\"/&gt;\n"
+"    &lt;/entity&gt;\n"
+"&lt;/entity-mappings&gt;"
 
 #. Tag: para
 #: listeners.xml:189
@@ -366,10 +492,14 @@
 "call. You can also define event on the entity itself to describe the "
 "callbacks."
 msgstr ""
+"Vous pouvez surcharger des listeners d'entités sur une entité donnée. Un "
+"listener d'entité correspond à une classe donnée et un ou plusieurs "
+"événements activent un appel de méthode donnée. Vous pouvez également "
+"définir un événement sur l'entité elle-même pour décrire les callbacks."
 
 #. Tag: para
 #: listeners.xml:194
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "Last but not least, you can define some default entity listeners that will "
 "apply first on the entity listener stack of all the mapped entities of a "
@@ -377,3 +507,8 @@
 "listeners, you can use @ExcludeDefaultListeners (or &lt;exclude-default-"
 "listeners/&gt;)."
 msgstr ""
+"Enfin, mais non sans importance, vous pouvez définir des listeners d'entités "
+"par défaut qui s'appliqueront tout d'abord à la pile de listeners d'entités "
+"de toutes les entités mappées de l'unité de persistance donnée. Si vous ne "
+"souhaitez pas qu'une entité hérite les listeners par défaut, vous pouvez "
+"utiliser @ExcludeDefaultListeners (ou &lt;exclude-default-listeners/&gt;)."

Modified: projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/query_ejbql.po
===================================================================
--- projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/query_ejbql.po	2009-11-10 02:35:50 UTC (rev 96203)
+++ projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/query_ejbql.po	2009-11-10 02:42:46 UTC (rev 96204)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: Batch\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-09-16 01:54+0000\n"
+"POT-Creation-Date: 2009-11-10 02:39+0000\n"
 "PO-Revision-Date: 2009-06-17 11:52+1000\n"
 "Last-Translator: Corina Roe <croe at redhat.com>\n"
 "Language-Team: French <i18 at redhat.com>\n"
@@ -21,11 +21,11 @@
 #: query_ejbql.xml:28
 #, no-c-format
 msgid "EJB-QL: The Object Query Language"
-msgstr ""
+msgstr "EJB-QL: Le langage de recherche d'objets"
 
 #. Tag: para
 #: query_ejbql.xml:30
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "EJB3-QL has been heavily inspired by HQL, the native Hibernate Query "
 "Language. Both are therefore very close to SQL, but portable and independent "
@@ -34,12 +34,19 @@
 "queries. Portable EJB3 applications however should stick to EJB-QL or "
 "similar vendor extensions are needed."
 msgstr ""
+"EJB3-QL a été lourdement inspiré par HQL, le langage de recherche Hibernate "
+"natif. Ils sont donc tous deux très proches de SQL, mais portables et "
+"indépendants du schéma de la base de données. Les personnes qui connaissent "
+"bien HQL ne devraient pas rencontrer de problèmes avec EJB-QL. En fait, vous "
+"utilisez la même requête API pour les requêtes EJB-QL et HQL. Les "
+"applications EJB portables, cependant, doivent se cantonner aux extensions "
+"EJB-QL ou fournisseurs semblables, selon les besoins."
 
 #. Tag: title
 #: query_ejbql.xml:39
 #, no-c-format
 msgid "Case Sensitivity"
-msgstr ""
+msgstr "Respect de la casse "
 
 #. Tag: para
 #: query_ejbql.xml:41
@@ -51,6 +58,11 @@
 "eg.FOO</literal> is not <literal>org.hibernate.eg.Foo</literal> and "
 "<literal>foo.barSet</literal> is not <literal>foo.BARSET</literal>."
 msgstr ""
+"Les requêtes sont sensibles à la casse, excepté pour les noms de classes et "
+"les propriétés Java. Donc, <literal>SeLeCT</literal> équivaut à "
+"<literal>sELEct</literal> ou à <literal>SELECT</literal> mais <literal>org."
+"hibernate.eg.FOO</literal> n'est pas <literal>org.hibernate.eg.Foo</literal> "
+"et <literal>foo.barSet</literal> n'est pas <literal>foo.BARSET</literal>."
 
 #. Tag: para
 #: query_ejbql.xml:48
@@ -60,28 +72,32 @@
 "uppercase keywords more readable, but we find this convention ugly when "
 "embedded in Java code."
 msgstr ""
+"Ce manuel utilise des mots clé EJBQL en minuscule. Certains utilisateurs "
+"font leurs requêtes avec des mots clé en majuscules plus lisibles, mais nous "
+"trouvons que cette convention n'est pas très élégante quand elle est "
+"associée à l'encodage Java."
 
 #. Tag: title
 #: query_ejbql.xml:54
 #, no-c-format
 msgid "The from clause"
-msgstr ""
+msgstr "La clause \"from\""
 
 #. Tag: para
 #: query_ejbql.xml:56
 #, no-c-format
 msgid "The simplest possible EJB-QL query is of the form:"
-msgstr ""
+msgstr "La requête EJB-QL la plus simple est de la forme :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:58
 #, no-c-format
 msgid "select c from eg.Cat c"
-msgstr ""
+msgstr "sélectionner c de Cat c"
 
 #. Tag: para
 #: query_ejbql.xml:60
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "which simply returns all instances of the class <literal>eg.Cat</literal>. "
 "Unlike HQL, the select clause is not optional in EJB-QL. We don't usually "
@@ -89,12 +105,18 @@
 "unqualified class name (<literal>@Entity</literal>). So we almost always "
 "just write:"
 msgstr ""
+"ce qui retourne tout simplement toutes les instances de la classe "
+"<literal>eg.Cat</literal>. A la différence d'HQL, la clause sélectionnée "
+"n'est pas optionnelle dans EJB-QL. Nous n'avons pas besoin normalement de "
+"qualifier le nom de classe, puisque le nom de l'entité est par défaut le nom "
+"de la classe non qualifiée (<literal>@Entity</literal>). Donc, on peut "
+"presque toujours écrire :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:66
 #, no-c-format
 msgid "select c from Cat c"
-msgstr ""
+msgstr "sélectionner c de Cat c"
 
 #. Tag: para
 #: query_ejbql.xml:68
@@ -104,12 +126,15 @@
 "literal> keywork is optional. An alias allows you to refer to <literal>Cat</"
 "literal> in other parts of the query."
 msgstr ""
+"Comme vous avez pu le noter, on peut assigner des alias aux classes, le mot "
+"clé <literal>as</literal> est optionnel. Un alias vous permet de vous "
+"référer à <literal>Cat</literal> dans d'autres parties de la requête."
 
 #. Tag: programlisting
 #: query_ejbql.xml:72 query_ejbql.xml:250
 #, no-c-format
 msgid "select cat from Cat as cat"
-msgstr ""
+msgstr "select cat from Cat as cat"
 
 #. Tag: para
 #: query_ejbql.xml:74
@@ -118,12 +143,14 @@
 "Multiple classes may appear, resulting in a cartesian product or \"cross\" "
 "join."
 msgstr ""
+"Des classes multiples peuvent apparaître, résultant en un produit cartésien "
+"ou \"cross\" join."
 
 #. Tag: programlisting
 #: query_ejbql.xml:77
 #, no-c-format
 msgid "select form, param from Formula as form, Parameter as param"
-msgstr ""
+msgstr "select form, param from Formula as form, Parameter as param"
 
 #. Tag: para
 #: query_ejbql.xml:79
@@ -133,12 +160,15 @@
 "lowercase, consistent with Java naming standards for local variables (eg. "
 "<literal>domesticCat</literal>)."
 msgstr ""
+"Il est considéré de bon usage de nommer les alias de requêtes en utilisant "
+"une initiale en minuscules. consistante avec les standards de nommage Java "
+"pour les locales variables (par exemple <literal>domesticCat</literal>)."
 
 #. Tag: title
 #: query_ejbql.xml:85
 #, no-c-format
 msgid "Associations and joins"
-msgstr ""
+msgstr "Associations et jointures"
 
 #. Tag: para
 #: query_ejbql.xml:87
@@ -147,6 +177,8 @@
 "You may also assign aliases to associated entities, or even to elements of a "
 "collection of values, using a <literal>join</literal>."
 msgstr ""
+"Vous pouvez aussi assigner des alias à des entités associées, ou même à des "
+"éléments d'une collection de valeurs, utilisant un <literal>join</literal>."
 
 #. Tag: programlisting
 #: query_ejbql.xml:91
@@ -156,30 +188,33 @@
 "    inner join cat.mate as mate\n"
 "    left outer join cat.kittens as kitten"
 msgstr ""
+"select cat, mate, kitten from Cat as cat \n"
+"    inner join cat.mate as mate\n"
+"    left outer join cat.kittens as kitten"
 
 #. Tag: programlisting
 #: query_ejbql.xml:93
 #, no-c-format
 msgid "select cat from Cat as cat left join cat.mate.kittens as kittens"
-msgstr ""
+msgstr "select cat from Cat as cat left join cat.mate.kittens as kittens"
 
 #. Tag: para
 #: query_ejbql.xml:95
 #, no-c-format
 msgid "The supported join types are borrowed from ANSI SQL"
-msgstr ""
+msgstr "Les types de jointure proviennent d'ANSI SQL"
 
 #. Tag: literal
 #: query_ejbql.xml:99
 #, no-c-format
 msgid "inner join"
-msgstr ""
+msgstr "inner join"
 
 #. Tag: literal
 #: query_ejbql.xml:103
 #, no-c-format
 msgid "left outer join"
-msgstr ""
+msgstr "left outer join"
 
 #. Tag: para
 #: query_ejbql.xml:107
@@ -188,6 +223,8 @@
 "The <literal>inner join</literal>, <literal>left outer join</literal> "
 "constructs may be abbreviated."
 msgstr ""
+"Les constructions <literal>inner join</literal>, et <literal>left outer "
+"join</literal> peuvent être abrégées."
 
 #. Tag: programlisting
 #: query_ejbql.xml:110
@@ -197,6 +234,9 @@
 "    join cat.mate as mate\n"
 "    left join cat.kittens as kitten"
 msgstr ""
+"select cat, mate, kitten from Cat as cat \n"
+"    join cat.mate as mate\n"
+"    left join cat.kittens as kitten"
 
 #. Tag: para
 #: query_ejbql.xml:112
@@ -209,6 +249,12 @@
 "metadata. See the Performance chapter of the Hibernate reference guide for "
 "more information."
 msgstr ""
+"De plus, une jointure \"fetch\" vous permet des associations ou des "
+"collections de valeurs à initialiser avec leurs objet-parents, en utilisant "
+"une simple sélection. Cela est particulièrement utile dans le cas d'une "
+"collection. Cela surcharge les options de fetching efficacement pour les "
+"métadonnées de mappage de collections et d'associations. Voir le chapitre "
+"Performance du Guide de référence Hibernate pour davantage d'informations."
 
 #. Tag: programlisting
 #: query_ejbql.xml:119
@@ -218,6 +264,9 @@
 "    inner join fetch cat.mate\n"
 "    left join fetch cat.kittens"
 msgstr ""
+"select cat from Cat as cat \n"
+"    inner join fetch cat.mate\n"
+"    left join fetch cat.kittens"
 
 #. Tag: para
 #: query_ejbql.xml:121
@@ -230,6 +279,13 @@
 "object. The only reason we might need an alias is if we are recursively join "
 "fetching a further collection:"
 msgstr ""
+"Un join fetch n'a pas normalement besoin d'assigner un alias, car les objets "
+"associés ne devraient pas être utilisés dans la clause <literal>where</"
+"literal> (ou n'importe quelle autre clause d'ailleurs). Aussi, les objets "
+"associés ne sont pas retournés directement dans les résultats de requête. A "
+"la place, ils peuvent être accédés par l'objet parent. La seule raison pour "
+"laquelle on pourrait avoir besoin d'un alias, c'est si on 'join fetch' une "
+"collection plus éloignée de façon récursive :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:128
@@ -240,10 +296,14 @@
 "    left join fetch cat.kittens child\n"
 "    left join fetch child.kittens"
 msgstr ""
+"select cat from Cat as cat \n"
+"    inner join fetch cat.mate\n"
+"    left join fetch cat.kittens child\n"
+"    left join fetch child.kittens"
 
 #. Tag: para
 #: query_ejbql.xml:130
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "Note that the <literal>fetch</literal> construct may not be used in queries "
 "called using <literal>scroll()</literal> or <literal>iterate()</literal>. "
@@ -255,6 +315,18 @@
 "roles also sometimes gives unexpected results for bag mappings, so be "
 "careful about how you formulate your queries in this case."
 msgstr ""
+"Notez bien que la construction <literal>fetch</literal> peut ne pas être "
+"utilisé pour des requêtes appelées en utilisant <literal>scroll()</literal> "
+"ou <literal>iterate()</literal>. Et <literal>fetch</literal> ne devrait pas "
+"être utilisé avec <literal>setMaxResults()</literal> ou "
+"<literal>setFirstResult()</literal>. Il est possible de créer un produit "
+"cartésien en allant chercher (join fetching) plus d'une collection en "
+"jointure dans une requête (comme dans l'exemple ci-dessus). Veillez à ce que "
+"le résultat de ce produit ne soit pas plus élevé que ce que vous espériez. "
+"La récupération en jointure (join fetching) de plusieurs rôles de collection "
+"peut aussi parfois vous donner des résultats innatendus pour les mappages de "
+"bag, donc faîtes bien attention à la manière dont vous allez formuler vos "
+"demandes dans ce cas."
 
 #. Tag: para
 #: query_ejbql.xml:140
@@ -264,6 +336,9 @@
 "elaborate. The word \"sometimes\" should never appear in any technical "
 "documentation."
 msgstr ""
+"TODO: le dernier énoncé est inutile et typique de l'état d'esprit d'un "
+"développeur, veuillez élaborer. Le mot \"sometimes\" (parfois) ne devrait "
+"jamais apparaître dans un document technique."
 
 #. Tag: para
 #: query_ejbql.xml:145
@@ -274,26 +349,33 @@
 "properties immediately (in the first query) using <literal>fetch all "
 "properties</literal>. This is Hibernate specific option:"
 msgstr ""
+"Si vous utilisez le lazy fetching au niveau-propriété (avec "
+"l'instrumentation bytecode), il est possible de forcer Hibernate à récupérer "
+"les propriétés lazy immédiatement (dans la première demande) en utilisant "
+"<literal>fetch all properties</literal>. Il s'agit d'une option spécifique "
+"d'Hibernate :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:150
 #, no-c-format
 msgid "select doc from Document doc fetch all properties order by doc.name"
-msgstr ""
+msgstr "select doc from Document doc fetch all properties order by doc.name"
 
 #. Tag: programlisting
 #: query_ejbql.xml:152
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "select doc from Document doc fetch all properties where lower(doc.name) like "
 "'%cats%'"
 msgstr ""
+"select doc from Document doc fetch all properties where lower(doc.name) like "
+"&#39;%cats%&#39;"
 
 #. Tag: title
 #: query_ejbql.xml:156
 #, no-c-format
 msgid "The select clause"
-msgstr ""
+msgstr "La clause \"select\""
 
 #. Tag: para
 #: query_ejbql.xml:158
@@ -302,6 +384,8 @@
 "The <literal>select</literal> clause picks which objects and properties to "
 "return in the query result set. Consider:"
 msgstr ""
+"La clause <literal>select</literal> choisit les objets et les propriétés à "
+"retourner dans le result set de la recherche. Veuillez considérer :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:161
@@ -311,6 +395,9 @@
 "from Cat as cat \n"
 "    inner join cat.mate as mate"
 msgstr ""
+"select mate \n"
+"from Cat as cat \n"
+"    inner join cat.mate as mate"
 
 #. Tag: para
 #: query_ejbql.xml:163
@@ -319,12 +406,15 @@
 "The query will select <literal>mate</literal>s of other <literal>Cat</"
 "literal>s. Actually, you may express this query more compactly as:"
 msgstr ""
+"La requête va sélectionner les <literal>mate</literal>s d'autres "
+"<literal>Cat</literal>s. En fait, vous pouvez exprimer cette requête de "
+"façon plus compacte ainsi :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:167
 #, no-c-format
 msgid "select cat.mate from Cat cat"
-msgstr ""
+msgstr "select cat.mate from Cat cat"
 
 #. Tag: para
 #: query_ejbql.xml:169
@@ -333,20 +423,24 @@
 "Queries may return properties of any value type including properties of "
 "component type:"
 msgstr ""
+"Les requêtes peuvent retourner des propriétés attachées à n'importe quel "
+"type de valeur, y compris des propriétés de type de composant :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:172
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "select cat.name from DomesticCat cat\n"
 "where cat.name like 'fri%'"
 msgstr ""
+"select cat.name from DomesticCat cat\n"
+"where cat.name like &#39;fri%&#39;"
 
 #. Tag: programlisting
 #: query_ejbql.xml:174
 #, no-c-format
 msgid "select cust.name.firstName from Customer as cust"
-msgstr ""
+msgstr "select cust.name.firstName from Customer as cust"
 
 #. Tag: para
 #: query_ejbql.xml:176
@@ -355,6 +449,8 @@
 "Queries may return multiple objects and/or properties as an array of type "
 "<literal>Object[]</literal>,"
 msgstr ""
+"Les requêtes peuvent retourner des objets multiples et/ou des propriétés "
+"sous forme d'un ensemble de types <literal>Object[]</literal>,"
 
 #. Tag: programlisting
 #: query_ejbql.xml:179
@@ -365,12 +461,16 @@
 "    inner join mother.mate as mate\n"
 "    left outer join mother.kittens as offspr"
 msgstr ""
+"select mother, offspr, mate.name \n"
+"from DomesticCat as mother\n"
+"    inner join mother.mate as mate\n"
+"    left outer join mother.kittens as offspr"
 
 #. Tag: para
 #: query_ejbql.xml:181
 #, no-c-format
 msgid "or as a <literal>List</literal> (HQL specific feature)"
-msgstr ""
+msgstr "ou en tant que <literal>List</literal> (fonctionnalité spécifique HQL)"
 
 #. Tag: programlisting
 #: query_ejbql.xml:183
@@ -381,12 +481,16 @@
 "    inner join mother.mate as mate\n"
 "    left outer join mother.kittens as offspr"
 msgstr ""
+"select new list(mother, offspr, mate.name)\n"
+"from DomesticCat as mother\n"
+"    inner join mother.mate as mate\n"
+"    left outer join mother.kittens as offspr"
 
 #. Tag: para
 #: query_ejbql.xml:185
 #, no-c-format
 msgid "or as an actual typesafe Java object,"
-msgstr ""
+msgstr "ou en tant qu'objet Java typesafe,"
 
 #. Tag: programlisting
 #: query_ejbql.xml:187
@@ -397,6 +501,10 @@
 "    join mother.mate as mate\n"
 "    left join mother.kittens as offspr"
 msgstr ""
+"select new Family(mother, mate, offspr)\n"
+"from DomesticCat as mother\n"
+"    join mother.mate as mate\n"
+"    left join mother.kittens as offspr"
 
 #. Tag: para
 #: query_ejbql.xml:189
@@ -405,6 +513,8 @@
 "assuming that the class <literal>Family</literal> has an appropriate "
 "constructor."
 msgstr ""
+"en assumant que la classe <literal>Family</literal> possède un constructeur "
+"qui convient."
 
 #. Tag: para
 #: query_ejbql.xml:192
@@ -412,6 +522,8 @@
 msgid ""
 "You may assign aliases to selected expressions using <literal>as</literal>:"
 msgstr ""
+"Vous pouvez assigner des alias pour sélectionner des expressions avec "
+"<literal>as</literal> :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:195
@@ -420,6 +532,8 @@
 "select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n\n"
 "from Cat cat"
 msgstr ""
+"select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n\n"
+"from Cat cat"
 
 #. Tag: para
 #: query_ejbql.xml:197
@@ -428,6 +542,8 @@
 "This is most useful when used together with <literal>select new map</"
 "literal> (HQL specific feature):"
 msgstr ""
+"C'est très utile en combinaison avec <literal>select new map</literal> "
+"(fonctionnalité spécifique HQL) :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:200
@@ -437,6 +553,9 @@
 "n )\n"
 "from Cat cat"
 msgstr ""
+"select new map( max(bodyWeight) as max, min(bodyWeight) as min, count(*) as "
+"n )\n"
+"from Cat cat"
 
 #. Tag: para
 #: query_ejbql.xml:202
@@ -444,12 +563,14 @@
 msgid ""
 "This query returns a <literal>Map</literal> from aliases to selected values."
 msgstr ""
+"Cette requête retourne un <literal>Map</literal> à partir des alias liés à "
+"des valeurs sélectionnées."
 
 #. Tag: title
 #: query_ejbql.xml:207
 #, no-c-format
 msgid "Aggregate functions"
-msgstr ""
+msgstr "Fonctions agrégées"
 
 #. Tag: para
 #: query_ejbql.xml:209
@@ -457,6 +578,8 @@
 msgid ""
 "HQL queries may even return the results of aggregate functions on properties:"
 msgstr ""
+"Les requêtes HQL peuvent même retourner les résultats de fonctionnalités "
+"agrégées sur les propriétés :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:212
@@ -465,12 +588,14 @@
 "select avg(cat.weight), sum(cat.weight), max(cat.weight), count(cat)\n"
 "from Cat cat"
 msgstr ""
+"select avg(cat.weight), sum(cat.weight), max(cat.weight), count(cat)\n"
+"from Cat cat"
 
 #. Tag: para
 #: query_ejbql.xml:214
 #, no-c-format
 msgid "The supported aggregate functions are"
-msgstr ""
+msgstr "Les fonctions agrégées prises en charge sont les suivantes "
 
 #. Tag: literal
 #: query_ejbql.xml:218
@@ -478,18 +603,19 @@
 msgid ""
 "avg(...), avg(distinct ...), sum(...), sum(distinct ...), min(...), max(...)"
 msgstr ""
+"avg(...), avg(distinct ...), sum(...), sum(distinct ...), min(...), max(...)"
 
 #. Tag: literal
 #: query_ejbql.xml:223
 #, no-c-format
 msgid "count(*)"
-msgstr ""
+msgstr "count(*)"
 
 #. Tag: literal
 #: query_ejbql.xml:227
 #, no-c-format
 msgid "count(...), count(distinct ...), count(all...)"
-msgstr ""
+msgstr "count(...), count(distinct ...), count(all...)"
 
 #. Tag: para
 #: query_ejbql.xml:232
@@ -499,6 +625,9 @@
 "functions in the select clause (dpending on configured dialect, HQL specific "
 "feature):"
 msgstr ""
+"Vous pouvez utiliser la concaténation, les opérateurs arithmétiques, et les "
+"fonctionnalités SQL reconnues dans la clause sélectionnée (suivant le "
+"dialecte configuré, ou la fonctionnalité spécifique HQL) :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:235
@@ -509,12 +638,18 @@
 "    join cat.kittens kitten\n"
 "group by cat.id, cat.weight"
 msgstr ""
+"select cat.weight + sum(kitten.weight) \n"
+"from Cat cat \n"
+"    join cat.kittens kitten\n"
+"group by cat.id, cat.weight"
 
 #. Tag: programlisting
 #: query_ejbql.xml:237
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "select firstName||' '||initial||' '||upper(lastName) from Person"
 msgstr ""
+"dddselect firstName||&#39; &#39;||initial||&#39; &#39;||upper(lastName) from "
+"Person"
 
 #. Tag: para
 #: query_ejbql.xml:239
@@ -523,6 +658,8 @@
 "The <literal>distinct</literal> and <literal>all</literal> keywords may be "
 "used and have the same semantics as in SQL."
 msgstr ""
+"Les mots clé <literal>distinct</literal> et <literal>all</literal> peuvent "
+"être utilisés et avoir la même sémantique que dans SQL."
 
 #. Tag: programlisting
 #: query_ejbql.xml:242
@@ -532,18 +669,21 @@
 "\n"
 "select count(distinct cat.name), count(cat) from Cat cat"
 msgstr ""
+"select distinct cat.name from Cat cat\n"
+"\n"
+"select count(distinct cat.name), count(cat) from Cat cat"
 
 #. Tag: title
 #: query_ejbql.xml:246
 #, no-c-format
 msgid "Polymorphic queries"
-msgstr ""
+msgstr "Requêtes polymorphiques"
 
 #. Tag: para
 #: query_ejbql.xml:248
 #, no-c-format
 msgid "A query like:"
-msgstr ""
+msgstr "Une requête comme :"
 
 #. Tag: para
 #: query_ejbql.xml:252
@@ -557,12 +697,20 @@
 "class or implement the interface. The following query would return all "
 "persistent objects:"
 msgstr ""
+"retourne des instances non seulement de <literal>Cat</literal>, mais aussi "
+"de toutes les sousclasses comme <literal>DomesticCat</literal>. Les requêtes "
+"Hibernate peuvent nommer <emphasis>n'importe quelle</emphasis>classe Java ou "
+"interface de la clause <literal>from</literal> (les requêtes portable EJB-QL "
+"ne doivent uniquement nommer les entités mappées). La requête va retourner "
+"des instances de toutes les classes persistantes qui prolongent cette classe "
+"ou qui implémentent l'interface. La requête suivante devrait retourner tous "
+"les objets persistants :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:260
 #, no-c-format
 msgid "from java.lang.Object o // HQL only"
-msgstr ""
+msgstr "de java.lang.Object o // HQL seulement"
 
 #. Tag: para
 #: query_ejbql.xml:262
@@ -571,28 +719,35 @@
 "The interface <literal>Named</literal> might be implemented by various "
 "persistent classes:"
 msgstr ""
+"L'interface <literal>Named</literal> peut être implémentée par des classes "
+"persistantes diverses :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:265
 #, no-c-format
 msgid "from Named n, Named m where n.name = m.name // HQL only"
-msgstr ""
+msgstr "from Named n, Named m where n.name = m.name // HQL only"
 
 #. Tag: para
 #: query_ejbql.xml:267
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "Note that these last two queries will require more than one SQL "
 "<literal>SELECT</literal>. This means that the <literal>order by</literal> "
 "clause does not correctly order the whole result set. (It also means you "
 "can't call these queries using <literal>Query.scroll()</literal>.)"
 msgstr ""
+"Notez que ces deux dernières requêtes auront besoin de plus d'un SQL "
+"<literal>SELECT</literal>. Cela signifie que la clause <literal>order by</"
+"literal> n'ordonne pas correctement le result set dans sa totalité. (Cela "
+"signifie également que vous ne pouvez pas appeler ces requêtes en utilisant "
+"<literal>Query.scroll()</literal>.)"
 
 #. Tag: title
 #: query_ejbql.xml:274
-#, fuzzy, no-c-format
+#, no-c-format
 msgid "The where clause"
-msgstr "La \"where-clause\" est également optionnelle."
+msgstr "La clause \"where\""
 
 #. Tag: para
 #: query_ejbql.xml:276
@@ -601,18 +756,22 @@
 "The <literal>where</literal> clause allows you to narrow the list of "
 "instances returned. If no alias exists, you may refer to properties by name:"
 msgstr ""
+"La clause <literal>where</literal> vous permet de réduire la liste des "
+"instances retournées. S'il n'existe pas d'alias, vous pouvez vous référer "
+"aux propriétés par leur nom :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:280
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "select cat from Cat cat where cat.name='Fritz'"
-msgstr ""
+msgstr "select cat from Cat cat where cat.name=&#39;Fritz&#39;"
 
 #. Tag: para
 #: query_ejbql.xml:282
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "returns instances of <literal>Cat</literal> named 'Fritz'."
 msgstr ""
+"retourne les instances de <literal>Cat</literal> nommées &#39;Fritz&#39;."
 
 #. Tag: programlisting
 #: query_ejbql.xml:284
@@ -622,6 +781,9 @@
 "from Foo foo, Bar bar\n"
 "where foo.startDate = bar.date"
 msgstr ""
+"select foo \n"
+"from Foo foo, Bar bar\n"
+"where foo.startDate = bar.date"
 
 #. Tag: para
 #: query_ejbql.xml:286
@@ -633,12 +795,17 @@
 "<literal>Foo</literal>. Compound path expressions make the <literal>where</"
 "literal> clause extremely powerful. Consider:"
 msgstr ""
+"retournera toutes les instances de <literal>Foo</literal> pour lesquelles il "
+"existe une instance de <literal>bar</literal> avec une propriété "
+"<literal>date</literal> égale à la propriété <literal>startDate</literal> de "
+"<literal>Foo</literal>. Les expressions de chemins d'accès composés rendent "
+"la clause <literal>where</literal> extrêmement puissante. Considérez :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:292
 #, no-c-format
 msgid "select cat from Cat cat where cat.mate.name is not null"
-msgstr ""
+msgstr "sélectionnez cat de Cat quand cat.mate.name n'est pas null"
 
 #. Tag: para
 #: query_ejbql.xml:294
@@ -647,6 +814,8 @@
 "This query translates to an SQL query with a table (inner) join. If you were "
 "to write something like"
 msgstr ""
+"Cette requête se traduit en une requête SQL liée à une jointure (interne) de "
+"table. Si vous étiez amené à écrire quelquechose comme cela "
 
 #. Tag: programlisting
 #: query_ejbql.xml:297
@@ -655,6 +824,8 @@
 "select foo from Foo foo  \n"
 "where foo.bar.baz.customer.address.city is not null"
 msgstr ""
+"select foo from Foo foo  \n"
+"where foo.bar.baz.customer.address.city is not null"
 
 #. Tag: para
 #: query_ejbql.xml:299
@@ -662,6 +833,8 @@
 msgid ""
 "you would end up with a query that would require four table joins in SQL."
 msgstr ""
+"vous devriez vous retrouver avec une requête qui aurait besoin de quatre "
+"jointures de table dans SQL."
 
 #. Tag: para
 #: query_ejbql.xml:302
@@ -670,12 +843,14 @@
 "The <literal>=</literal> operator may be used to compare not only "
 "properties, but also instances:"
 msgstr ""
+"L'opérateur <literal>=</literal> peut être utilisé pour comparer des "
+"propriétés, mais aussi pour comparer des instances :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:305
 #, no-c-format
 msgid "select cat, rival from Cat cat, Cat rival where cat.mate = rival.mate"
-msgstr ""
+msgstr "select cat, rival from Cat cat, Cat rival where cat.mate = rival.mate"
 
 #. Tag: programlisting
 #: query_ejbql.xml:307
@@ -685,6 +860,9 @@
 "from Cat cat, Cat mate\n"
 "where cat.mate = mate"
 msgstr ""
+"select cat, mate \n"
+"from Cat cat, Cat mate\n"
+"where cat.mate = mate"
 
 #. Tag: para
 #: query_ejbql.xml:309
@@ -694,6 +872,10 @@
 "reference the unique identifier of an object. (You may also use its mapped "
 "identifer property name.). Note that this keyword is specific to HQL."
 msgstr ""
+"La propriété spéciale (minuscules) <literal>id</literal> peut être utilisée "
+"pour référencer l'identifiant unique d'un objet. (Vous pouvez aussi utiliser "
+"son nom de propriété d'identifiant mappé). Notez bien que ce mot clé est "
+"spécifique à HQL."
 
 #. Tag: programlisting
 #: query_ejbql.xml:313
@@ -703,12 +885,16 @@
 "\n"
 "select cat from Cat as cat where cat.mate.id = 69"
 msgstr ""
+"select cat from Cat as cat where cat.id = 123\n"
+"\n"
+"select cat from Cat as cat where cat.mate.id = 69"
 
 #. Tag: para
 #: query_ejbql.xml:315
 #, no-c-format
 msgid "The second query is efficient. No table join is required!"
 msgstr ""
+"La seconde requête est efficace. Aucune jointure de table n'est requise!"
 
 #. Tag: para
 #: query_ejbql.xml:317
@@ -718,30 +904,40 @@
 "<literal>Person</literal> has a composite identifier consisting of "
 "<literal>country</literal> and <literal>medicareNumber</literal>."
 msgstr ""
+"On peut également utiliser des propriétés d'identifiants composites. "
+"Supposons que <literal>Person</literal> a un identifiant composite constitué "
+"de <literal>country</literal> et de <literal>medicareNumber</literal>."
 
 #. Tag: programlisting
 #: query_ejbql.xml:321
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "select person from bank.Person person\n"
 "where person.id.country = 'AU' \n"
 "    and person.id.medicareNumber = 123456"
 msgstr ""
+"select person from bank.Person person\n"
+"where person.id.country = &#39;AU&#39; \n"
+"    and person.id.medicareNumber = 123456"
 
 #. Tag: programlisting
 #: query_ejbql.xml:323
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "select account from bank.Account account\n"
 "where account.owner.id.country = 'AU' \n"
 "    and account.owner.id.medicareNumber = 123456"
 msgstr ""
+"select account from bank.Account account\n"
+"where account.owner.id.country = &#39;AU&#39; \n"
+"    and account.owner.id.medicareNumber = 123456"
 
 #. Tag: para
 #: query_ejbql.xml:325
 #, no-c-format
 msgid "Once again, the second query requires no table join."
 msgstr ""
+"Une fois de plus, le seconde requête ne requiert pas de jointure de table."
 
 #. Tag: para
 #: query_ejbql.xml:327
@@ -752,12 +948,16 @@
 "Java class name embedded in the where clause will be translated to its "
 "discriminator value. Once again, this is specific to HQL."
 msgstr ""
+"De même, la propriété spéciale <literal>class</literal> accède à la valeur "
+"de discriminateur d'une instance dans le cas de persistance polymorphique. "
+"Un nom de classe Java intégré dans une clause where sera traduit par sa "
+"valeur de discriminateur. Une fois de plus, cela est spécifique à HQL."
 
 #. Tag: programlisting
 #: query_ejbql.xml:332
 #, no-c-format
 msgid "select cat from Cat cat where cat.class = DomesticCat"
-msgstr ""
+msgstr "select cat from Cat cat where cat.class = DomesticCat"
 
 #. Tag: para
 #: query_ejbql.xml:334
@@ -769,6 +969,12 @@
 "component). For example, if <literal>store.owner</literal> is an entity with "
 "a component <literal>address</literal>"
 msgstr ""
+"Vous pouvez également spécifier des propriétés de composants ou de types "
+"d'utilisateurs composites (et de composants de composants, etc.). Ne pas "
+"essayer d'utiliser une expression-chemin d'accès qui se termine par une "
+"propriété de type de composant (à l'opposé d'une propriété de composant). "
+"Ainsi, si <literal>store.owner</literal> est une entité comprenant un "
+"composant <literal>address</literal>"
 
 #. Tag: programlisting
 #: query_ejbql.xml:340
@@ -777,6 +983,8 @@
 "store.owner.address.city    // okay\n"
 "store.owner.address         // error!"
 msgstr ""
+"store.owner.address.city    // okay\n"
+"store.owner.address         // error!"
 
 #. Tag: para
 #: query_ejbql.xml:342
@@ -788,14 +996,21 @@
 "<literal>&lt;any&gt;</literal>). <literal>Any</literal> is specific to "
 "Hibernate"
 msgstr ""
+"Un type \"any\" contient les propriétés spéciales <literal>id</literal> et "
+"<literal>class</literal>, ce qui nous permet d'exprimer une jointure de la "
+"manière suivante (où <literal>AuditLog.item</literal> est une propriété "
+"mappée avec <literal>&lt;any&gt;</literal>). <literal>Any</literal> est "
+"spécifique à Hibernate"
 
 #. Tag: programlisting
 #: query_ejbql.xml:348
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "from AuditLog log, Payment payment \n"
 "where log.item.class = 'Payment' and log.item.id = payment.id"
 msgstr ""
+"from AuditLog log, Payment payment \n"
+"where log.item.class = &#39;Payment&#39; and log.item.id = payment.id"
 
 #. Tag: para
 #: query_ejbql.xml:350
@@ -805,12 +1020,15 @@
 "literal> would refer to the values of completely different database columns "
 "in the above query."
 msgstr ""
+"Notez que <literal>log.item.class</literal> et <literal>payment.class</"
+"literal> faisaient référence aux valeurs de colonnes de bases de données "
+"complètement différentes dans la requête ci-dessus."
 
 #. Tag: title
 #: query_ejbql.xml:356
 #, no-c-format
 msgid "Expressions"
-msgstr ""
+msgstr "Expressions"
 
 #. Tag: para
 #: query_ejbql.xml:358
@@ -819,12 +1037,14 @@
 "Expressions allowed in the <literal>where</literal> clause include most of "
 "the kind of things you could write in SQL:"
 msgstr ""
+"Expressions autorisées dans la clause <literal>where</literal> incluent la "
+"plupart des choses que vous pouvez écrire en SQL :"
 
 #. Tag: para
 #: query_ejbql.xml:363
 #, no-c-format
 msgid "mathematical operators <literal>+, -, *, /</literal>"
-msgstr ""
+msgstr "mathematical operators <literal>+, -, *, /</literal>"
 
 #. Tag: para
 #: query_ejbql.xml:367
@@ -833,18 +1053,20 @@
 "binary comparison operators <literal>=, &gt;=, &lt;=, &lt;&gt;, !=, like</"
 "literal>"
 msgstr ""
+"opérateurs de comparaison binaire <literal>=, &gt;=, &lt;=, &lt;&gt;, !=, "
+"like</literal>"
 
 #. Tag: para
 #: query_ejbql.xml:372
 #, no-c-format
 msgid "logical operations <literal>and, or, not</literal>"
-msgstr ""
+msgstr "opérations logiques <literal>and, or, not</literal>"
 
 #. Tag: para
 #: query_ejbql.xml:376
 #, no-c-format
 msgid "Parentheses <literal>( )</literal>, indicating grouping"
-msgstr ""
+msgstr "Parenthèses <literal>( )</literal>, indiquant les groupements"
 
 #. Tag: para
 #: query_ejbql.xml:380
@@ -855,6 +1077,10 @@
 "<literal>is empty</literal>, <literal>is not empty</literal>, "
 "<literal>member of</literal> and <literal>not member of</literal>"
 msgstr ""
+"<literal>in</literal>, <literal>not in</literal>, <literal>between</"
+"literal>, <literal>is null</literal>, <literal>is not null</literal>, "
+"<literal>is empty</literal>, <literal>is not empty</literal>, "
+"<literal>member of</literal> et <literal>not member of</literal>"
 
 #. Tag: para
 #: query_ejbql.xml:388
@@ -864,6 +1090,9 @@
 "and \"searched\" case, <literal>case when ... then ... else ... end "
 "(specific to HQL)</literal>"
 msgstr ""
+"\"Simple\" case, <literal>case ... when ... then ... else ... end</literal>, "
+"and \"searched\" case, <literal>case when ... then ... else ... end "
+"(spécifique à HQL)</literal>"
 
 #. Tag: para
 #: query_ejbql.xml:394
@@ -872,6 +1101,8 @@
 "string concatenation <literal>...||...</literal> or <literal>concat(...,...) "
 "(use concat() for portable EJB-QL queries)</literal>"
 msgstr ""
+"dafdafkl string concatenation <literal>...||...</literal> or <literal>concat"
+"(...,...) (use concat() for portable EJB-QL queries)</literal>"
 
 #. Tag: para
 #: query_ejbql.xml:400
@@ -880,6 +1111,8 @@
 "<literal>current_date()</literal>, <literal>current_time()</literal>, "
 "<literal>current_timestamp()</literal>"
 msgstr ""
+"<literal>current_date()</literal>, <literal>current_time()</literal>, "
+"<literal>current_timestamp()</literal>"
 
 #. Tag: para
 #: query_ejbql.xml:406
@@ -889,6 +1122,9 @@
 "(...)</literal>, <literal>day(...)</literal>, <literal>month(...)</literal>, "
 "<literal>year(...)</literal>, (specific to HQL)"
 msgstr ""
+"<literal>second(...)</literal>, <literal>minute(...)</literal>, <literal>hour"
+"(...)</literal>, <literal>day(...)</literal>, <literal>month(...)</literal>, "
+"<literal>year(...)</literal>, (spécifique à HQL)"
 
 #. Tag: para
 #: query_ejbql.xml:413
@@ -898,12 +1134,15 @@
 "(), lower(), upper(), length(), locate(), abs(), sqrt(), bit_length()</"
 "literal>"
 msgstr ""
+"Toute fonction ou opérateur défini par EJB-QL 3.0 : <literal>substring(), "
+"trim(), lower(), upper(), length(), locate(), abs(), sqrt(), bit_length()</"
+"literal>"
 
 #. Tag: para
 #: query_ejbql.xml:419
 #, no-c-format
 msgid "<literal>coalesce()</literal> and <literal>nullif()</literal>"
-msgstr ""
+msgstr "<literal>coalesce()</literal> et <literal>nullif()</literal>"
 
 #. Tag: para
 #: query_ejbql.xml:424
@@ -914,6 +1153,10 @@
 "<literal>cast()</literal> and <literal>extract()</literal> is supported by "
 "the underlying database"
 msgstr ""
+"<literal>cast(... as ...)</literal>, pour lequel le second argument est le "
+"nom d'un type d'Hibernate, et <literal>extract(... from ...)</literal> si "
+"ANSI <literal>cast()</literal> et <literal>extract()</literal> est pris en "
+"charge par la base de données sous-jacente."
 
 #. Tag: para
 #: query_ejbql.xml:432
@@ -923,12 +1166,15 @@
 "<literal>trunc()</literal>, <literal>rtrim()</literal>, <literal>sin()</"
 "literal>"
 msgstr ""
+"Toute fonction scalaire SQL supportée-base de donnée comme <literal>sign()</"
+"literal>, <literal>trunc()</literal>, <literal>rtrim()</literal>, "
+"<literal>sin()</literal>"
 
 #. Tag: para
 #: query_ejbql.xml:438
 #, no-c-format
 msgid "JDBC IN parameters <literal>?</literal>"
-msgstr ""
+msgstr "Paramètres JDBC IN <literal>?</literal>"
 
 #. Tag: para
 #: query_ejbql.xml:442
@@ -937,14 +1183,18 @@
 "named parameters <literal>:name</literal>, <literal>:start_date</literal>, "
 "<literal>:x1</literal>"
 msgstr ""
+"paramètres nommés <literal>:name</literal>, <literal>:start_date</literal>, "
+"<literal>:x1</literal>"
 
 #. Tag: para
 #: query_ejbql.xml:447
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "SQL literals <literal>'foo'</literal>, <literal>69</literal>, <literal>'1970-"
 "01-01 10:00:01.0'</literal>"
 msgstr ""
+"Littéraux SQL <literal>&#39;foo&#39;</literal>, <literal>69</literal>, "
+"<literal>&#39;1970-01-01 10:00:01.0&#39;</literal>"
 
 #. Tag: para
 #: query_ejbql.xml:452
@@ -953,6 +1203,8 @@
 "Java <literal>public static final</literal> constants <literal>eg.Color."
 "TABBY</literal>"
 msgstr ""
+"Java <literal>public static final</literal> constants <literal>eg.Color."
+"TABBY</literal>"
 
 #. Tag: para
 #: query_ejbql.xml:457
@@ -960,38 +1212,48 @@
 msgid ""
 "<literal>in</literal> and <literal>between</literal> may be used as follows:"
 msgstr ""
+"<literal>in</literal> et <literal>between</literal>peuvent être utilisés de "
+"la manière suivante :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:460
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "select cat from DomesticCat cat where cat.name between 'A' and 'B'"
 msgstr ""
+"select cat from DomesticCat cat where cat.name between &#39;A&#39; and &#39;"
+"B&#39;"
 
 #. Tag: programlisting
 #: query_ejbql.xml:462
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "select cat from DomesticCat cat where cat.name in ( 'Foo', 'Bar', 'Baz' )"
 msgstr ""
+"select cat from DomesticCat cat where cat.name in ( &#39;Foo&#39;, &#39;"
+"Bar&#39;, &#39;Baz&#39; )"
 
 #. Tag: para
 #: query_ejbql.xml:464
 #, no-c-format
 msgid "and the negated forms may be written"
-msgstr ""
+msgstr "et les formes inversées peuvent être inscrites"
 
 #. Tag: programlisting
 #: query_ejbql.xml:466
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "select cat from DomesticCat cat where cat.name not between 'A' and 'B'"
 msgstr ""
+"select cat from DomesticCat cat where cat.name not between &#39;A&#39; and "
+"&#39;B&#39;"
 
 #. Tag: programlisting
 #: query_ejbql.xml:468
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "select cat from DomesticCat cat where cat.name not in ( 'Foo', 'Bar', 'Baz' )"
 msgstr ""
+"select cat from DomesticCat cat where cat.name not in ( &#39;Foo&#39;, &#39;"
+"Bar&#39;, &#39;Baz&#39; )"
 
 #. Tag: para
 #: query_ejbql.xml:470
@@ -1000,6 +1262,8 @@
 "Likewise, <literal>is null</literal> and <literal>is not null</literal> may "
 "be used to test for null values."
 msgstr ""
+"De même, <literal>is null</literal> et <literal>is not null</literal> "
+"peuvent être utilisés pour tester les valeurs nulles."
 
 #. Tag: para
 #: query_ejbql.xml:473
@@ -1008,12 +1272,14 @@
 "Booleans may be easily used in expressions by declaring HQL query "
 "substitutions in Hibernate configuration:"
 msgstr ""
+"Les booléens peuvent être facilement utilisés dans des expressions en "
+"déclarant des substitutions dans la configuration Hibernate :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:476
 #, no-c-format
 msgid "hibernate.query.substitutions true 1, false 0"
-msgstr ""
+msgstr "hibernate.query.substitutions true 1, false 0"
 
 #. Tag: para
 #: query_ejbql.xml:478
@@ -1023,12 +1289,15 @@
 "literal> with the literals <literal>1</literal> and <literal>0</literal> in "
 "the translated SQL from this HQL:"
 msgstr ""
+"Cela va remplacer les mots clé <literal>true</literal> et <literal>false</"
+"literal> avec les littéraux <literal>1</literal> et <literal>0</literal> "
+"dans le SQL traduit à partir de cet HQL :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:482
 #, no-c-format
 msgid "select cat from Cat cat where cat.alive = true"
-msgstr ""
+msgstr "select cat from Cat cat where cat.alive = true"
 
 #. Tag: para
 #: query_ejbql.xml:484
@@ -1038,18 +1307,21 @@
 "<literal>size</literal>, or the special <literal>size()</literal> function "
 "(HQL specific feature)."
 msgstr ""
+"Vous pouvez tester la taille d'une collection par la propriété spéciale "
+"<literal>size</literal>, ou bien la fonction spéciale <literal>size()</"
+"literal> (fonctionnalité spécifique HQL)."
 
 #. Tag: programlisting
 #: query_ejbql.xml:488
 #, no-c-format
 msgid "select cat from Cat cat where cat.kittens.size &gt; 0"
-msgstr ""
+msgstr "select cat from Cat cat where cat.kittens.size &gt; 0"
 
 #. Tag: programlisting
 #: query_ejbql.xml:490
 #, no-c-format
 msgid "select cat from Cat cat where size(cat.kittens) &gt; 0"
-msgstr ""
+msgstr "select cat from Cat cat where size(cat.kittens) &gt; 0"
 
 #. Tag: para
 #: query_ejbql.xml:492
@@ -1061,6 +1333,12 @@
 "of basic type using the <literal>minelement</literal> and "
 "<literal>maxelement</literal> functions. These are HQL specific features."
 msgstr ""
+"Pour les collections indexées, vous pouvez vous référer aux indices minimum "
+"ou maximum en utilisant les fonctions <literal>minindex</literal> et "
+"<literal>maxindex</literal>. De même, vous pouvez vous référer aux éléments "
+"minimum et maximum d'une collection de types de base en utilisant les "
+"fonctions <literal>minelement</literal> et <literal>maxelement</literal>. Ce "
+"sont des fonctionnalités spécifiques SQL."
 
 #. Tag: programlisting
 #: query_ejbql.xml:499
@@ -1068,18 +1346,19 @@
 msgid ""
 "select cal from Calendar cal where maxelement(cal.holidays) &gt; current date"
 msgstr ""
+"select cal from Calendar cal where maxelement(cal.holidays) &gt; current date"
 
 #. Tag: programlisting
 #: query_ejbql.xml:501
 #, no-c-format
 msgid "select order from Order order where maxindex(order.items) &gt; 100"
-msgstr ""
+msgstr "select order from Order order where maxindex(order.items) &gt; 100"
 
 #. Tag: programlisting
 #: query_ejbql.xml:503
 #, no-c-format
 msgid "select order from Order order where minelement(order.items) &gt; 10000"
-msgstr ""
+msgstr "select order from Order order where minelement(order.items) &gt; 10000"
 
 #. Tag: para
 #: query_ejbql.xml:505
@@ -1092,6 +1371,13 @@
 "QL, <literal>elements</literal> and <literal>indices</literal> are specific "
 "HQL features."
 msgstr ""
+"Les fonctions SQL <literal>any, some, all, exists, in</literal> sont prises "
+"en charge lorsqu'on leur a passé les ensembles d'indexes ou d'éléments d'une "
+"collection (fonctions <literal>elements</literal> et <literal>indices</"
+"literal>) ou bien le résultat d'une sous-requête (voir ci-dessous). Tandis "
+"que les sous-requêtes sont prises en charge par EJB-SQL, <literal>elements</"
+"literal> et <literal>indices</literal> sont des fonctionnalités HQL "
+"spécifiques."
 
 #. Tag: programlisting
 #: query_ejbql.xml:512
@@ -1100,6 +1386,8 @@
 "select mother from Cat as mother, Cat as kit\n"
 "where kit in elements(foo.kittens)"
 msgstr ""
+"select mother from Cat as mother, Cat as kit\n"
+"where kit in elements(foo.kittens)"
 
 #. Tag: programlisting
 #: query_ejbql.xml:514
@@ -1108,24 +1396,26 @@
 "select p from NameList list, Person p\n"
 "where p.name = some elements(list.names)"
 msgstr ""
+"select p from NameList list, Person p\n"
+"where p.name = some elements(list.names)"
 
 #. Tag: programlisting
 #: query_ejbql.xml:516
 #, no-c-format
 msgid "select cat from Cat cat where exists elements(cat.kittens)"
-msgstr ""
+msgstr "select cat from Cat cat where exists elements(cat.kittens)"
 
 #. Tag: programlisting
 #: query_ejbql.xml:518
 #, no-c-format
 msgid "select cat from Player p where 3 &gt; all elements(p.scores)"
-msgstr ""
+msgstr "select cat from Player p where 3 &gt; all elements(p.scores)"
 
 #. Tag: programlisting
 #: query_ejbql.xml:520
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "select cat from Show show where 'fizard' in indices(show.acts)"
-msgstr ""
+msgstr "select cat from Show show where &#39;fizard&#39; in indices(show.acts)"
 
 #. Tag: para
 #: query_ejbql.xml:522
@@ -1137,6 +1427,11 @@
 "<literal>maxelement</literal> - may only be used in the where clause in "
 "Hibernate3."
 msgstr ""
+"Notez que ces constructions - <literal>size</literal>, <literal>elements</"
+"literal>, <literal>indices</literal>, <literal>minindex</literal>, "
+"<literal>maxindex</literal>, <literal>minelement</literal>, "
+"<literal>maxelement</literal> - peuvent n'être utilisées que dans la clause "
+"where d'Hibernate3."
 
 #. Tag: para
 #: query_ejbql.xml:528
@@ -1145,21 +1440,26 @@
 "In HQL, elements of indexed collections (arrays, lists, maps) may be "
 "referred to by index (in a where clause only):"
 msgstr ""
+"Dans HQL, les éléments des collections indexées (arrays, lists, maps) "
+"peuvent être référencées par index (dans une clause where uniquement) :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:531
 #, no-c-format
 msgid "select order from Order order where order.items[0].id = 1234"
-msgstr ""
+msgstr "select order from Order order where order.items[0].id = 1234"
 
 #. Tag: programlisting
 #: query_ejbql.xml:533
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "select person from Person person, Calendar calendar\n"
 "where calendar.holidays['national day'] = person.birthDay\n"
 "    and person.nationality.calendar = calendar"
 msgstr ""
+"select person from Person person, Calendar calendar\n"
+"where calendar.holidays[&#39;national day&#39;] = person.birthDay\n"
+"    and person.nationality.calendar = calendar"
 
 #. Tag: programlisting
 #: query_ejbql.xml:535
@@ -1168,6 +1468,8 @@
 "select item from Item item, Order order\n"
 "where order.items[ order.deliveredItemIndices[0] ] = item and order.id = 11"
 msgstr ""
+"select item from Item item, Order order\n"
+"where order.items[ order.deliveredItemIndices[0] ] = item and order.id = 11"
 
 #. Tag: programlisting
 #: query_ejbql.xml:537
@@ -1176,6 +1478,8 @@
 "select item from Item item, Order order\n"
 "where order.items[ maxindex(order.items) ] = item and order.id = 11"
 msgstr ""
+"select item from Item item, Order order\n"
+"where order.items[ maxindex(order.items) ] = item and order.id = 11"
 
 #. Tag: para
 #: query_ejbql.xml:539
@@ -1184,6 +1488,8 @@
 "The expression inside <literal>[]</literal> may even be an arithmetic "
 "expression."
 msgstr ""
+"L'expression contenue dans  <literal>[]</literal> peut même être une "
+"expression arithmétique."
 
 #. Tag: programlisting
 #: query_ejbql.xml:542
@@ -1192,6 +1498,8 @@
 "select item from Item item, Order order\n"
 "where order.items[ size(order.items) - 1 ] = item"
 msgstr ""
+"select item from Item item, Order order\n"
+"where order.items[ size(order.items) - 1 ] = item"
 
 #. Tag: para
 #: query_ejbql.xml:544
@@ -1200,6 +1508,9 @@
 "HQL also provides the built-in <literal>index()</literal> function, for "
 "elements of a one-to-many association or collection of values."
 msgstr ""
+"HQL procure également la fonctionnalité intégrée <literal>index()</literal>, "
+"pour les éléments d'une association one-to-many ou pour une collection de "
+"valeurs."
 
 #. Tag: programlisting
 #: query_ejbql.xml:547
@@ -1209,18 +1520,24 @@
 "    join order.items item\n"
 "where index(item) &lt; 5"
 msgstr ""
+"select item, index(item) from Order order \n"
+"    join order.items item\n"
+"where index(item) &lt; 5"
 
 #. Tag: para
 #: query_ejbql.xml:549
 #, no-c-format
 msgid "Scalar SQL functions supported by the underlying database may be used"
 msgstr ""
+"Les fonctions scalaires SQL prises en charge par la base de données sous-"
+"jacente peuvent être utilisées"
 
 #. Tag: programlisting
 #: query_ejbql.xml:552
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "select cat from DomesticCat cat where upper(cat.name) like 'FRI%'"
 msgstr ""
+"select cat from DomesticCat cat where upper(cat.name) like &#39;FRI%&#39;"
 
 #. Tag: para
 #: query_ejbql.xml:554
@@ -1229,10 +1546,12 @@
 "If you are not yet convinced by all this, think how much longer and less "
 "readable the following query would be in SQL:"
 msgstr ""
+"Si vous n'êtes pas encore convaincu, imaginez combien la requête suivante "
+"devrait être ralongée ou perdre en lisibilité en SQL :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:557
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "select cust\n"
 "from Product prod,\n"
@@ -1242,16 +1561,23 @@
 "    and store.location.name in ( 'Melbourne', 'Sydney' )\n"
 "    and prod = all elements(cust.currentOrder.lineItems)"
 msgstr ""
+"select cust\n"
+"from Product prod,\n"
+"    Store store\n"
+"    inner join store.customers cust\n"
+"where prod.name = &#39;widget&#39;\n"
+"    and store.location.name in ( &#39;Melbourne&#39;, &#39;Sydney&#39; )\n"
+"    and prod = all elements(cust.currentOrder.lineItems)"
 
 #. Tag: para
 #: query_ejbql.xml:559
 #, no-c-format
 msgid "<emphasis>Hint:</emphasis> something like"
-msgstr ""
+msgstr "<emphasis>Astuce :</emphasis> quelquechose comme"
 
 #. Tag: programlisting
 #: query_ejbql.xml:561
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "SELECT cust.name, cust.address, cust.phone, cust.id, cust.current_order\n"
 "FROM customers cust,\n"
@@ -1271,12 +1597,29 @@
 "            AND cust.current_order = o.id\n"
 "    )"
 msgstr ""
+"SELECT cust.name, cust.address, cust.phone, cust.id, cust.current_order\n"
+"FROM customers cust,\n"
+"    stores store,\n"
+"    locations loc,\n"
+"    store_customers sc,\n"
+"    product prod\n"
+"WHERE prod.name = &#39;widget&#39;\n"
+"    AND store.loc_id = loc.id\n"
+"    AND loc.name IN ( &#39;Melbourne&#39;, &#39;Sydney&#39; )\n"
+"    AND sc.store_id = store.id\n"
+"    AND sc.cust_id = cust.id\n"
+"    AND prod.id = ALL(\n"
+"        SELECT item.prod_id\n"
+"        FROM line_items item, orders o\n"
+"        WHERE item.order_id = o.id\n"
+"            AND cust.current_order = o.id\n"
+"    )"
 
 #. Tag: title
 #: query_ejbql.xml:565
 #, no-c-format
 msgid "The order by clause"
-msgstr ""
+msgstr "La clause 'order by'"
 
 #. Tag: para
 #: query_ejbql.xml:567
@@ -1285,6 +1628,8 @@
 "The list returned by a query may be ordered by any property of a returned "
 "class or components:"
 msgstr ""
+"La liste qui est retournée par une requête peut être ordonnancée par "
+"n'importe quelle propriété d'une classe retournée ou de composants :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:570
@@ -1293,6 +1638,8 @@
 "select cat from DomesticCat cat\n"
 "order by cat.name asc, cat.weight desc, cat.birthdate"
 msgstr ""
+"select cat from DomesticCat cat\n"
+"order by cat.name asc, cat.weight desc, cat.birthdate"
 
 #. Tag: para
 #: query_ejbql.xml:572
@@ -1301,12 +1648,14 @@
 "The optional <literal>asc</literal> or <literal>desc</literal> indicate "
 "ascending or descending order respectively."
 msgstr ""
+"Les <literal>asc</literal> ou <literal>desc</literal> optionnels indiquent "
+"un ordre ascendant ou descendant respectivement."
 
 #. Tag: title
 #: query_ejbql.xml:577
 #, no-c-format
 msgid "The group by clause"
-msgstr ""
+msgstr "La clause de 'group by'"
 
 #. Tag: para
 #: query_ejbql.xml:579
@@ -1315,6 +1664,8 @@
 "A query that returns aggregate values may be grouped by any property of a "
 "returned class or components:"
 msgstr ""
+"Une requête qui retourne des valeurs agrégées qui peuvent être groupées par "
+"n'importe quelle propriété d'une classe de retour ou de composants :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:582
@@ -1324,6 +1675,9 @@
 "from Cat cat\n"
 "group by cat.color"
 msgstr ""
+"select cat.color, sum(cat.weight), count(cat) \n"
+"from Cat cat\n"
+"group by cat.color"
 
 #. Tag: programlisting
 #: query_ejbql.xml:584
@@ -1333,12 +1687,15 @@
 "from Foo foo join foo.names name\n"
 "group by foo.id"
 msgstr ""
+"select foo.id, avg(name), max(name) \n"
+"from Foo foo join foo.names name\n"
+"group by foo.id"
 
 #. Tag: para
 #: query_ejbql.xml:586
 #, no-c-format
 msgid "A <literal>having</literal> clause is also allowed."
-msgstr ""
+msgstr "Une clause <literal>having</literal> est permise également."
 
 #. Tag: programlisting
 #: query_ejbql.xml:588
@@ -1349,6 +1706,10 @@
 "group by cat.color \n"
 "having cat.color in (eg.Color.TABBY, eg.Color.BLACK)"
 msgstr ""
+"select cat.color, sum(cat.weight), count(cat) \n"
+"from Cat cat\n"
+"group by cat.color \n"
+"having cat.color in (eg.Color.TABBY, eg.Color.BLACK)"
 
 #. Tag: para
 #: query_ejbql.xml:590
@@ -1358,6 +1719,10 @@
 "literal> and <literal>order by</literal> clauses, if supported by the "
 "underlying database (eg. not in MySQL)."
 msgstr ""
+"Les fonctions SQL et les fonctions agrégées sont autorisées dans les clauses "
+"<literal>having</literal> et <literal>order by</literal>, si elles sont "
+"prises en charge par le base de données sous-jacente (par ex. pas dans "
+"MySQL)."
 
 #. Tag: programlisting
 #: query_ejbql.xml:594
@@ -1370,6 +1735,12 @@
 "having avg(kitten.weight) &gt; 100\n"
 "order by count(kitten) asc, sum(kitten.weight) desc"
 msgstr ""
+"select cat\n"
+"from Cat cat\n"
+"    join cat.kittens kitten\n"
+"group by cat\n"
+"having avg(kitten.weight) &gt; 100\n"
+"order by count(kitten) asc, sum(kitten.weight) desc"
 
 #. Tag: para
 #: query_ejbql.xml:596
@@ -1378,12 +1749,14 @@
 "Note that neither the <literal>group by</literal> clause nor the "
 "<literal>order by</literal> clause may contain arithmetic expressions."
 msgstr ""
+"Remarquez bien que ni la clause <literal>group by</literal> ni la clause "
+"<literal>order by</literal> ne contiennent des expressions arithmétiques."
 
 #. Tag: title
 #: query_ejbql.xml:602
 #, no-c-format
 msgid "Subqueries"
-msgstr ""
+msgstr "Sous-requêtes"
 
 #. Tag: para
 #: query_ejbql.xml:604
@@ -1394,6 +1767,11 @@
 "aggregate function call). Even correlated subqueries (subqueries that refer "
 "to an alias in the outer query) are allowed."
 msgstr ""
+"Pour les bases de données qui prennent en charge les sous-sélections "
+"(subselects), EJB-QL prend en charge les sous-requêtes au sein des requêtes "
+"elles-mêmes. Une sous-requête doit être entourée de parenthèses (souvent par "
+"un appel de fonction agrégé SQL). Même les sous-requêtes corrélées (qui font "
+"référence à un alias de la requête externe) sont autorisées."
 
 #. Tag: programlisting
 #: query_ejbql.xml:609
@@ -1404,6 +1782,10 @@
 "    select avg(cat.weight) from DomesticCat cat \n"
 ")"
 msgstr ""
+"select fatcat from Cat as fatcat \n"
+"where fatcat.weight &gt; ( \n"
+"    select avg(cat.weight) from DomesticCat cat \n"
+")"
 
 #. Tag: programlisting
 #: query_ejbql.xml:611
@@ -1414,6 +1796,10 @@
 "    select name.nickName from Name as name \n"
 ")"
 msgstr ""
+"select cat from DomesticCat as cat \n"
+"where cat.name = some ( \n"
+"    select name.nickName from Name as name \n"
+")"
 
 #. Tag: programlisting
 #: query_ejbql.xml:613
@@ -1424,6 +1810,10 @@
 "    from Cat as mate where mate.mate = cat \n"
 ")"
 msgstr ""
+"select cat from Cat as cat \n"
+"where not exists ( \n"
+"    from Cat as mate where mate.mate = cat \n"
+")"
 
 #. Tag: programlisting
 #: query_ejbql.xml:615
@@ -1434,6 +1824,10 @@
 "    select name.nickName from Name as name \n"
 ")"
 msgstr ""
+"select cat from DomesticCat as cat \n"
+"where cat.name not in ( \n"
+"    select name.nickName from Name as name \n"
+")"
 
 #. Tag: para
 #: query_ejbql.xml:617
@@ -1442,6 +1836,8 @@
 "For subqueries with more than one expression in the select list, you can use "
 "a tuple constructor:"
 msgstr ""
+"Pour les sous-requêtes qui contiennent plus d'une expression dans la liste "
+"de sélection, vous pouvez utiliser un constructeur tuple (n-uplet) :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:620
@@ -1452,6 +1848,10 @@
 "    select cat.name, cat.color from DomesticCat cat \n"
 ")"
 msgstr ""
+"select cat from Cat as cat \n"
+"where not ( cat.name, cat.color ) in ( \n"
+"    select cat.name, cat.color from DomesticCat cat \n"
+")"
 
 #. Tag: para
 #: query_ejbql.xml:622
@@ -1461,26 +1861,34 @@
 "constructors in other contexts, for example when querying components or "
 "composite user types:"
 msgstr ""
+"Notez que dans certaines bases de données (ni dans Oracle, ni dans HSQLDB), "
+"vous pouvez utiliser les constructeurs tuple dans d'autres contextes, par "
+"exemple quand vous recherchez les composants ou des types d'utilisateurs "
+"composites :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:626
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "select cat from Person where name = ('Gavin', 'A', 'King')"
 msgstr ""
+"select cat from Person where name = (&#39;Gavin&#39;, &#39;A&#39;, &#39;"
+"King&#39;)"
 
 #. Tag: para
 #: query_ejbql.xml:628
 #, no-c-format
 msgid "Which is equivalent to the more verbose:"
-msgstr ""
+msgstr "Ce qui est équivalent au plus verbeux :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:630
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "select cat from Person where name.first = 'Gavin' and name.initial = 'A' and "
 "name.last = 'King')"
 msgstr ""
+"select cat from Person where name.first = &#39;Gavin&#39; and name.initial = "
+"&#39;A&#39; and name.last = &#39;King&#39;)"
 
 #. Tag: para
 #: query_ejbql.xml:632
@@ -1491,16 +1899,21 @@
 "query is now dependent upon the ordering of properties in the mapping "
 "document."
 msgstr ""
+"Il y a deux bonnes raisons pour lesquelles vous êtes susceptibles de ne pas "
+"vouloir faire ce genre de chose : tout d'abord, ce n'est pas totalement "
+"portable entre plateformes de bases de données; deuxièmement, la requête est "
+"maintenant dépendante de l'ordonnancement des propriétés dans le document de "
+"mappage."
 
 #. Tag: title
 #: query_ejbql.xml:639
 #, no-c-format
 msgid "EJB-QL examples"
-msgstr ""
+msgstr "exemples EJB-QL"
 
 #. Tag: para
 #: query_ejbql.xml:641
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "Hibernate queries can be quite powerful and complex. In fact, the power of "
 "the query language is one of Hibernate's main selling points (and now EJB-"
@@ -1508,6 +1921,12 @@
 "recent project. Note that most queries you will write are much simpler than "
 "these!"
 msgstr ""
+"Les requêtes Hibernate peuvent être à la fois puissantes et complexes. En "
+"fait, la puissance du langage est l'un des atouts commerciaux d'Hibernate "
+"(et maintenant d'EJB-QL). Voici quelques exemples de requêtes qui sont très "
+"similaires aux requêtes que j'ai utilisées dans un projet récent. Notez que "
+"la plupart des requêtes que vous allez rédiger seront plus simples que "
+"celles-ci !"
 
 #. Tag: para
 #: query_ejbql.xml:647
@@ -1521,6 +1940,14 @@
 "literal>, <literal>CATALOG</literal> and <literal>PRICE</literal> tables has "
 "four inner joins and an (uncorrelated) subselect."
 msgstr ""
+"La requête suivante retourne l'id d'ordre, le nombre d'éléments et la valeur "
+"totale de l'ordre pour tous les ordres non payés pour un client donné ou "
+"bien une valeur totale minimum donnée, ordonnançant les résultats par valeur "
+"totale. En déterminant les prix, il utilise le catalogue en cours. La "
+"requête SQL résultante, au regard des tables de <literal>ORDER</literal>, "
+"<literal>ORDER_LINE</literal>, <literal>PRODUCT</literal>, <literal>CATALOG</"
+"literal> et <literal>PRICE</literal>, contient quatre jointures internes et "
+"une sous-sélection (non correlée)."
 
 #. Tag: programlisting
 #: query_ejbql.xml:656
@@ -1545,14 +1972,34 @@
 "having sum(price.amount) &gt; :minAmount\n"
 "order by sum(price.amount) desc"
 msgstr ""
+"select order.id, sum(price.amount), count(item)\n"
+"from Order as order\n"
+"    join order.lineItems as item\n"
+"    join item.product as product,\n"
+"    Catalog as catalog\n"
+"    join catalog.prices as price\n"
+"where order.paid = false\n"
+"    and order.customer = :customer\n"
+"    and price.product = product\n"
+"    and catalog.effectiveDate &lt; sysdate\n"
+"    and catalog.effectiveDate &gt;= all (\n"
+"        select cat.effectiveDate \n"
+"        from Catalog as cat\n"
+"        where cat.effectiveDate &lt; sysdate\n"
+"    )\n"
+"group by order\n"
+"having sum(price.amount) &gt; :minAmount\n"
+"order by sum(price.amount) desc"
 
 #. Tag: para
 #: query_ejbql.xml:658
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "What a monster! Actually, in real life, I'm not very keen on subqueries, so "
 "my query was really more like this:"
 msgstr ""
+"Monstreux! En réalité, je ne suis pas fanatique des sous-requêtes, donc ma "
+"requête ressemblait plutôt à ce qui suit :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:661
@@ -1572,6 +2019,19 @@
 "having sum(price.amount) &gt; :minAmount\n"
 "order by sum(price.amount) desc"
 msgstr ""
+"select order.id, sum(price.amount), count(item)\n"
+"from Order as order\n"
+"    join order.lineItems as item\n"
+"    join item.product as product,\n"
+"    Catalog as catalog\n"
+"    join catalog.prices as price\n"
+"where order.paid = false\n"
+"    and order.customer = :customer\n"
+"    and price.product = product\n"
+"    and catalog = :currentCatalog\n"
+"group by order\n"
+"having sum(price.amount) &gt; :minAmount\n"
+"order by sum(price.amount) desc"
 
 #. Tag: para
 #: query_ejbql.xml:663
@@ -1584,6 +2044,13 @@
 "<literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal> and "
 "<literal>PAYMENT_STATUS_CHANGE</literal> tables."
 msgstr ""
+"Le requête suivante compte le nombre de paiements pour chaque statut, en "
+"excluant tous les paiements du statut <literal>AWAITING_APPROVAL</literal> "
+"pour lequel le changement le plus récent avait été effectué par "
+"l'utilisateur courant. Cela se traduit par une requête SQL avec deux "
+"jointures internes et une sous-sélection corrélée au regard des tables "
+"<literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal> et "
+"<literal>PAYMENT_STATUS_CHANGE</literal>."
 
 #. Tag: programlisting
 #: query_ejbql.xml:670
@@ -1605,6 +2072,21 @@
 "group by status.name, status.sortOrder\n"
 "order by status.sortOrder"
 msgstr ""
+"select count(payment), status.name \n"
+"from Payment as payment \n"
+"    join payment.currentStatus as status\n"
+"    join payment.statusChanges as statusChange\n"
+"where payment.status.name &lt;&gt; PaymentStatus.AWAITING_APPROVAL\n"
+"    or (\n"
+"        statusChange.timeStamp = ( \n"
+"            select max(change.timeStamp) \n"
+"            from PaymentStatusChange change \n"
+"            where change.payment = payment\n"
+"        )\n"
+"        and statusChange.user &lt;&gt; :currentUser\n"
+"    )\n"
+"group by status.name, status.sortOrder\n"
+"order by status.sortOrder"
 
 #. Tag: para
 #: query_ejbql.xml:672
@@ -1613,6 +2095,9 @@
 "If I would have mapped the <literal>statusChanges</literal> collection as a "
 "list, instead of a set, the query would have been much simpler to write."
 msgstr ""
+"Si vous aviez mappé la collection <literal>statusChanges</literal> sous "
+"forme de liste, au lieu d'un ensemble, la requête aurait été bien plus "
+"facile à écrire."
 
 #. Tag: programlisting
 #: query_ejbql.xml:676
@@ -1627,12 +2112,20 @@
 "group by status.name, status.sortOrder\n"
 "order by status.sortOrder"
 msgstr ""
+"select count(payment), status.name \n"
+"from Payment as payment\n"
+"    join payment.currentStatus as status\n"
+"where payment.status.name &lt;&gt; PaymentStatus.AWAITING_APPROVAL\n"
+"    or payment.statusChanges[ maxIndex(payment.statusChanges) ].user &lt;"
+"&gt; :currentUser\n"
+"group by status.name, status.sortOrder\n"
+"order by status.sortOrder"
 
 #. Tag: para
 #: query_ejbql.xml:678
 #, no-c-format
 msgid "However the query would have been HQL specific."
-msgstr ""
+msgstr "Cependant, la requête aurait pu être spécifique HQL."
 
 #. Tag: para
 #: query_ejbql.xml:680
@@ -1646,6 +2139,13 @@
 "<literal>ACCOUNT_TYPE</literal>, <literal>ORGANIZATION</literal> and "
 "<literal>ORG_USER</literal> tables."
 msgstr ""
+"Le requête suivante utilise la fonction de serveur MS SQL <literal>isNull()</"
+"literal> pour retourner tous les comptes et tous les paiements en attente "
+"d'une organisation à laquelle l'utilisateur courant appartient. Cela se "
+"traduit par une requête SQL avec deux jointures internes et une sous-"
+"sélection corrélée au regard des tables <literal>PAYMENT</literal>, "
+"<literal>PAYMENT_STATUS</literal> et <literal>PAYMENT_STATUS_CHANGE</"
+"literal>."
 
 #. Tag: programlisting
 #: query_ejbql.xml:689
@@ -1660,32 +2160,45 @@
 "PaymentStatus.UNPAID)\n"
 "order by account.type.sortOrder, account.accountNumber, payment.dueDate"
 msgstr ""
+"select account, payment\n"
+"from Account as account\n"
+"    join account.holder.users as user\n"
+"    left outer join account.payments as payment\n"
+"where :currentUser = user\n"
+"    and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, "
+"PaymentStatus.UNPAID)\n"
+"order by account.type.sortOrder, account.accountNumber, payment.dueDate"
 
 #. Tag: title
 #: query_ejbql.xml:693
 #, no-c-format
 msgid "Bulk UPDATE &amp; DELETE Statements"
-msgstr ""
+msgstr "Bulk UPDATE &amp; DELETE Statements"
 
 #. Tag: para
 #: query_ejbql.xml:695
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "Hibernate now supports UPDATE and DELETE statements in HQL/EJB-QL. See <xref "
 "linkend=\"batch-direct\"/> for details."
 msgstr ""
+"Hibernate prend maintenant en charge les énoncés UPDATE et DELETE dans HQL/"
+"EJB-QL. Voir <xref linkend=\"Batch_processing-Bulk_updatedelete\"/> pour "
+"davantage de détails."
 
 #. Tag: title
 #: query_ejbql.xml:700
 #, no-c-format
 msgid "Tips &amp; Tricks"
-msgstr ""
+msgstr "Conseils et astuces"
 
 #. Tag: para
 #: query_ejbql.xml:702
 #, no-c-format
 msgid "To order a result by the size of a collection, use the following query:"
 msgstr ""
+"Pour ordonner un résultat par taille de collection, utiliser la requête "
+"suivante :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:705
@@ -1697,6 +2210,11 @@
 "group by usr.id, usr.name\n"
 "order by count(msg)"
 msgstr ""
+"select usr.id, usr.name\n"
+"from User as usr \n"
+"    left join usr.messages as msg\n"
+"group by usr.id, usr.name\n"
+"order by count(msg)"
 
 #. Tag: para
 #: query_ejbql.xml:707
@@ -1705,18 +2223,23 @@
 "If your database supports subselects, you can place a condition upon "
 "selection size in the where clause of your query:"
 msgstr ""
+"Si votre base de données prend en charge des sous-sélections, vous pouvez "
+"poser une condition au niveau de la taille de la sélection dans la clause "
+"'where' de votre requête :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:710
 #, no-c-format
 msgid "from User usr where size(usr.messages) &gt;= 1"
-msgstr ""
+msgstr "from User usr where size(usr.messages) &gt;= 1"
 
 #. Tag: para
 #: query_ejbql.xml:712
-#, no-c-format
+#, fuzzy, no-c-format
 msgid "If your database doesn't support subselects, use the following query:"
 msgstr ""
+"Si votre base de données ne prend pas encharge les sous-sélections, utilisez "
+"la requête suivante :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:715
@@ -1728,14 +2251,22 @@
 "group by usr.id, usr.name\n"
 "having count(msg) &gt;= 1"
 msgstr ""
+"select usr.id, usr.name\n"
+"from User usr.name\n"
+"    join usr.messages msg\n"
+"group by usr.id, usr.name\n"
+"having count(msg) &gt;= 1"
 
 #. Tag: para
 #: query_ejbql.xml:717
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "As this solution can't return a <literal>User</literal> with zero messages "
 "because of the inner join, the following form is also useful:"
 msgstr ""
+"Comme cette solution ne peut pas retourner un <literal>User</literal> avec "
+"zero messages à cause de la jointure interne, la forme suivante est "
+"également utile :"
 
 #. Tag: programlisting
 #: query_ejbql.xml:721
@@ -1747,3 +2278,8 @@
 "group by usr.id, usr.name\n"
 "having count(msg) = 0"
 msgstr ""
+"select usr.id, usr.name\n"
+"from User as usr\n"
+"    left join usr.messages as msg\n"
+"group by usr.id, usr.name\n"
+"having count(msg) = 0"

Modified: projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/query_native.po
===================================================================
--- projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/query_native.po	2009-11-10 02:35:50 UTC (rev 96203)
+++ projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/query_native.po	2009-11-10 02:42:46 UTC (rev 96204)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: Batch\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-09-16 01:54+0000\n"
+"POT-Creation-Date: 2009-11-10 02:39+0000\n"
 "PO-Revision-Date: 2009-06-17 11:52+1000\n"
 "Last-Translator: Corina Roe <croe at redhat.com>\n"
 "Language-Team: French <i18 at redhat.com>\n"
@@ -21,7 +21,7 @@
 #: query_native.xml:28
 #, no-c-format
 msgid "Native query"
-msgstr ""
+msgstr "Requête native"
 
 #. Tag: para
 #: query_native.xml:30
@@ -35,12 +35,21 @@
 "procedures) for all create, update, delete, and load operations (please "
 "refer to the reference guide for more information.)"
 msgstr ""
+"Vous pouvez également exprimer des demandes dans le dialecte SQL natif de "
+"votre base de données. Cela est utile si vous souhaitez utiliser des "
+"fonctionnalités spécifiques à des bases de données comme des astuces de "
+"recherche ou l'option CONNECT BY d'Oracle. Cela fournit aussi un chemin de "
+"migration clair à partir d'une application basée SQL/JDBC vers Hibernate. "
+"Notez qu'Hibernate3 vous permet de spécifier les SQL écrits à la main (y "
+"compris les procédures stockées) pour toutes les opérations créer, mise à "
+"jour, suppression et chargement (veuillez vous reporter au guide de "
+"références pour davantage d'informations.)"
 
 #. Tag: title
 #: query_native.xml:39
 #, no-c-format
 msgid "Expressing the resultset"
-msgstr ""
+msgstr "Exprimer le resultset"
 
 #. Tag: para
 #: query_native.xml:41
@@ -52,10 +61,16 @@
 "literal> annotation. Each <literal>@SqlResultSetMapping </literal>has a name "
 "wich is used when creating a SQL query on <literal>EntityManager</literal>."
 msgstr ""
+"Pour utiliser une requête SQL, vous aurez besoin de décrire le resultset "
+"SQL. Cette description vous aidera <literal>EntityManager</literal> à mapper "
+"vos colonnes en propriétés d'entités. Cela est fait en utilisant "
+"l'annotation <literal>@SqlResultSetMapping</literal>. Chaque "
+"<literal>@SqlResultSetMapping </literal> possède un nom qui est utilisé "
+"quand on crée une requête SQL dans <literal>EntityManager</literal>."
 
 #. Tag: programlisting
 #: query_native.xml:48
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "@SqlResultSetMapping(name=\"GetNightAndArea\", entities={\n"
 "    @EntityResult(name=\"org.hibernate.test.annotations.query.Night\", "
@@ -77,6 +92,26 @@
 "@SqlResultSetMapping(name=\"defaultSpaceShip\", entities=@EntityResult(name="
 "\"org.hibernate.test.annotations.query.SpaceShip\"))"
 msgstr ""
+"@SqlResultSetMapping(name=\"GetNightAndArea\", entities={\n"
+"    @EntityResult(name=\"org.hibernate.test.annotations.query.Night\", "
+"fields = {\n"
+"        @FieldResult(name=\"id\", column=\"nid\"),\n"
+"        @FieldResult(name=\"duration\", column=\"night_duration\"),\n"
+"        @FieldResult(name=\"date\", column=\"night_date\"),\n"
+"        @FieldResult(name=\"area\", column=\"area_id\")\n"
+"    }),\n"
+"    @EntityResult(name=\"org.hibernate.test.annotations.query.Area\", fields "
+"= {\n"
+"        @FieldResult(name=\"id\", column=\"aid\"),\n"
+"        @FieldResult(name=\"name\", column=\"name\")\n"
+"    })\n"
+"    }\n"
+")\n"
+"\n"
+"//or\n"
+"@SqlResultSetMapping(name=\"defaultSpaceShip\",\n"
+"    entities=@EntityResult(name=\"org.hibernate.test.annotations.query."
+"SpaceShip\"))"
 
 #. Tag: para
 #: query_native.xml:50
@@ -85,6 +120,8 @@
 "You can also define scalar results and even mix entity results and scalar "
 "results"
 msgstr ""
+"Vous pouvez aussi définir des résultats scalaires ou même mixer des "
+"résultats d'entités et des résultats scalaires."
 
 #. Tag: programlisting
 #: query_native.xml:53
@@ -110,6 +147,25 @@
 "    }\n"
 ")"
 msgstr ""
+"@SqlResultSetMapping(name=\"ScalarAndEntities\", \n"
+"    entities={\n"
+"        @EntityResult(name=\"org.hibernate.test.annotations.query.Night\", "
+"fields = {\n"
+"            @FieldResult(name=\"id\", column=\"nid\"),\n"
+"            @FieldResult(name=\"duration\", column=\"night_duration\"),\n"
+"            @FieldResult(name=\"date\", column=\"night_date\"),\n"
+"            @FieldResult(name=\"area\", column=\"area_id\")\n"
+"        }),\n"
+"        @EntityResult(name=\"org.hibernate.test.annotations.query.Area\", "
+"fields = {\n"
+"            @FieldResult(name=\"id\", column=\"aid\"),\n"
+"            @FieldResult(name=\"name\", column=\"name\")\n"
+"        })\n"
+"    },\n"
+"    columns={\n"
+"        @ColumnResult(name=\"durationInSec\")\n"
+"    }\n"
+")"
 
 #. Tag: para
 #: query_native.xml:55
@@ -118,6 +174,8 @@
 "The SQL query will then have to return a column alias "
 "<literal>durationInSec</literal>."
 msgstr ""
+"La requête SQL devra alors retourner une colonne alias "
+"<literal>durationInSec</literal>."
 
 #. Tag: para
 #: query_native.xml:58
@@ -126,18 +184,20 @@
 "Please refer to the Hibernate Annotations reference guide for more "
 "information about <literal>@SqlResultSetMapping.</literal>"
 msgstr ""
+"Veuillez vous reporter au guide de référence Hibernate Annotations pour "
+"davantage d'informations sur <literal>@SqlResultSetMapping.</literal>"
 
 #. Tag: title
 #: query_native.xml:63
 #, no-c-format
 msgid "Using native SQL Queries"
-msgstr ""
+msgstr "Utiliser des requêtes SQL natives"
 
 #. Tag: para
 #: query_native.xml:65
 #, no-c-format
 msgid "TODO: This sounds like a dupe..."
-msgstr ""
+msgstr "TODO: This sounds like a dupe..."
 
 #. Tag: para
 #: query_native.xml:67
@@ -150,6 +210,14 @@
 "the same names as the one used in the mapping). A third one (not yet "
 "supported by Hibernate entity manager), returns pure scalar results."
 msgstr ""
+"Maintenant que l'ensemble des résultat a été décrit, nous sommes en mesure "
+"d'exécuter la requête SQL native. <literal>EntityManager</literal> fournit "
+"tous les API nécesssaires. La première méthode consiste à utiliser le nom de "
+"resultset SQL pour faire la liaison, la seconde méthode consiste à utiliser "
+"le mappage par défaut de l'entité (la colonne retournée doit avoir le même "
+"nom que celle qui est utilisée dans le mappage). Une troisième (qui n'est "
+"pas encore prise en charge par le gestionnaire d'entités Hibernate), "
+"retourne des résultats scalaires purs."
 
 #. Tag: programlisting
 #: query_native.xml:75
@@ -164,6 +232,14 @@
 "q.setParameter( 1, expectedDuration );\n"
 "q.getResultList();"
 msgstr ""
+"String sqlQuery = \"select night.id nid, night.night_duration, night."
+"night_date, area.id aid, \"\n"
+"    + \"night.area_id, area.name from Night night, Area area where night."
+"area_id = area.id \"\n"
+"    + \"and night.night_duration &gt;= ?\";\n"
+"Query q = entityManager.createNativeQuery(sqlQuery, \"GetNightAndArea\");\n"
+"q.setParameter( 1, expectedDuration );\n"
+"q.getResultList();"
 
 #. Tag: para
 #: query_native.xml:77
@@ -172,6 +248,8 @@
 "This native query returns nights and area based on the "
 "<literal>GetNightAndArea</literal> result set."
 msgstr ""
+"La requête native retourne des nuits et des régions basées sur l'ensemble de "
+"résultats de <literal>GetNightAndArea</literal>."
 
 #. Tag: programlisting
 #: query_native.xml:80
@@ -182,6 +260,10 @@
 "q.setParameter( 1, \"Han\" );\n"
 "q.getResultList();"
 msgstr ""
+"String sqlQuery = \"select * from tbl_spaceship where owner = ?\";\n"
+"Query q = entityManager.createNativeQuery(sqlQuery, SpaceShip.class);\n"
+"q.setParameter( 1, \"Han\" );\n"
+"q.getResultList();"
 
 #. Tag: para
 #: query_native.xml:82
@@ -190,21 +272,27 @@
 "The second version is useful when your SQL query returns one entity reusing "
 "the same columns as the ones mapped in metadata."
 msgstr ""
+"La seconde version est utile pour quand votre SQL retourne une entité qui "
+"réutilise les mêmes colonnes que celles qui sont mappées dans les "
+"métadonnées."
 
 #. Tag: title
 #: query_native.xml:87
 #, no-c-format
 msgid "Named queries"
-msgstr ""
+msgstr "Requêtes nommées"
 
 #. Tag: para
 #: query_native.xml:89
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "Native named queries share the same calling API than EJB-QL named queries. "
 "Your code doesn't need to know the difference between the two. This is very "
 "useful for migration from SQL to EJB-QL:"
 msgstr ""
+"Les requêtes nommées natives partagent la même appelation API que les "
+"requêtes nommées EJB-QL. Vore code n'a pas besoin de connaître la différence "
+"entre les deux. Cela est très utile pour la migration de SQL à EJB-QL."
 
 #. Tag: programlisting
 #: query_native.xml:93
@@ -214,3 +302,6 @@
 "q.setParameter( 1, name );\n"
 "Season season = (Season) q.getSingleResult();"
 msgstr ""
+"Query q = entityManager.createNamedQuery(\"getSeasonByNativeQuery\");\n"
+"q.setParameter( 1, name );\n"
+"Season season = (Season) q.getSingleResult();"

Modified: projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/transactions.po
===================================================================
--- projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/transactions.po	2009-11-10 02:35:50 UTC (rev 96203)
+++ projects/docs/enterprise/5.0/Hibernate/Hibernate_Entity_Manager/fr-FR/transactions.po	2009-11-10 02:42:46 UTC (rev 96204)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: Batch\n"
 "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2009-09-16 01:54+0000\n"
+"POT-Creation-Date: 2009-11-10 02:39+0000\n"
 "PO-Revision-Date: 2009-06-17 11:52+1000\n"
 "Last-Translator: Corina Roe <croe at redhat.com>\n"
 "Language-Team: French <i18 at redhat.com>\n"
@@ -21,7 +21,7 @@
 #: transactions.xml:28
 #, no-c-format
 msgid "Transactions and Concurrency"
-msgstr ""
+msgstr "Transactions et concurrence"
 
 #. Tag: para
 #: transactions.xml:30
@@ -37,6 +37,17 @@
 "database transactions. Basically, use Hibernate Entity Manager like you "
 "would use direct JDBC (or JTA/CMT) with your database resources."
 msgstr ""
+"Le plus important concernant Hibernate Entity Manager et le contrôle de "
+"concurrence, c'est que c'est très facile à comprendre. Hibernate Entity "
+"Manager utilise directement les connexions JDBC et les ressources JTA sans y "
+"ajouter aucun comportement de verrouillage supplémentaire. Nous recommandons "
+"fortement que vous passiez un certain temps avec JDBC, ANSI, et la "
+"spécification d'isolation de transaction de votre système de gestion de base "
+"de données. Hibernate Entity Manager ne fait que d'ajouter un 'versioning' "
+"automatique, mais ne verrouille pas les objets en mémoire, ni ne change le "
+"niveau d'isolation de vos transactions de bases de données. En fait, "
+"utilisez Hibernate Entity Manager comme vous utiliseriez directement JDBC "
+"(ou JTA/CMT) avec vos ressources de bases de données."
 
 #. Tag: para
 #: transactions.xml:40
@@ -47,10 +58,14 @@
 "<literal>EntityManager</literal>, as well as database transactions and long "
 "units of work.."
 msgstr ""
+"Nous commençons la discussion sur le contrôle de concurrence d'Hibernate par "
+"la granularité de <literal>EntityManagerFactory</literal>, et "
+"d'<literal>EntityManager</literal>, ainsi que des transactions de bases de "
+"données et des longues unités de travail ..."
 
 #. Tag: para
 #: transactions.xml:45
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "In this chapter, and unless explicitly expressed, we will mix and match the "
 "concept of entity manager and persistence context. One is an API and "
@@ -61,12 +76,22 @@
 "entity manager. Please refer to <xref linkend=\"architecture-ejb-"
 "persistctxscope\"/> for more information."
 msgstr ""
+"Dans ce chapitre, et à moins que ce soit explicitement demandé, nous allons "
+"mélanger et faire correspondre le concept de gestionnaire d'entité au "
+"contexte de persistance. L'un correspond à un API et à un objet de "
+"programmation, et l'autre à une définition de portée. Cependant, veuillez "
+"garder à l'esprit la différence. Un contexte persistant est normalement lié "
+"à une transaction JTA de Java EE, et un contexte persistant commence et se "
+"termine aux limites d'une transaction (transaction-scoped) à moins que vous "
+"utilisiez un gestionnaire d'entités extended. Veuillez vous reporter à <xref "
+"linkend=\"EJB_container_environment-Persistence_context_scope\"/> pour "
+"davantage d'informations."
 
 #. Tag: title
 #: transactions.xml:55
 #, no-c-format
 msgid "Entity manager and transaction scopes"
-msgstr ""
+msgstr "Gestionnaire d'entités et portées de transactions"
 
 #. Tag: para
 #: transactions.xml:57
@@ -76,6 +101,10 @@
 "threadsafe object intended to be shared by all application threads. It is "
 "created once, usually on application startup."
 msgstr ""
+"Un <literal>EntityManagerFactory</literal> est un objet threadsafe coûteux à "
+"créer (expensive-to-create) destiné à être partagé par tous les threads "
+"d'applications. C'est créé une fois, normalement au démarrage de "
+"l'application."
 
 #. Tag: para
 #: transactions.xml:61
@@ -91,6 +120,15 @@
 "soon as you are implementing some of the following patterns using request "
 "interception.)"
 msgstr ""
+"Un <literal>EntityManager</literal> est un objet non-threadsafe qui devrait "
+"être utilisé qu'une seule fois, pour un processus commercial simple, une "
+"simple unité de travail, puis être abandonné. Un <literal>EntityManager</"
+"literal> n'obtiendra pas une <literal>Connection</literal> JDBC (ou bien une "
+"<literal>Datasource</literal>) à moins que ce soit utile, donc vous pouvez "
+"ouvrir ou fermer <literal>EntityManager</literal> sans dangers, même si vous "
+"n'êtes pas sûr que l'accès aux données soit utile pour une requête "
+"particulière. (Cela devient important quand vous implémentez certains des "
+"modèles suivants, en utilisant l'interception de requêtes.)"
 
 #. Tag: para
 #: transactions.xml:72
@@ -101,6 +139,11 @@
 "contention in the database. Long database transactions will prevent your "
 "application from scaling to highly concurrent load."
 msgstr ""
+"Pour compléter ce tableau, n'oubliez pas les transactions de bases de "
+"données. Une transaction de base de données doit être aussi courte que "
+"possible, pour réduire la contention de verrouillage dans la base de "
+"données. Les transactions de bases de données longues empêcheront que votre "
+"application ajuste son échelle à des charges concurrentes élevées."
 
 #. Tag: para
 #: transactions.xml:77
@@ -112,16 +155,21 @@
 "<literal>Session</literal> and how do you demarcate the database transaction "
 "boundaries?"
 msgstr ""
+"Quelle est la portée d'une unité de travail ? Est-ce qu'un simple "
+"<literal>EntityManager</literal> Hibernate peut couvrir plusieurs "
+"transactions de bases de données ou est-ce une relation de portée one-to-"
+"one ? Quand doit-on ouvrir ou fermer une <literal>Session</literal> et "
+"comment doit-on démarquer les limites des transactions de bases de données ?"
 
 #. Tag: title
 #: transactions.xml:84
 #, no-c-format
 msgid "Unit of work"
-msgstr ""
+msgstr "Unité de travail"
 
 #. Tag: para
 #: transactions.xml:86
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "First, don't use the <emphasis>entitymanager-per-operation</emphasis> "
 "antipattern, that is, don't open and close an <literal>EntityManager</"
@@ -132,6 +180,14 @@
 "is useless in an application, this mode is intended for ad-hoc SQL console "
 "work.)"
 msgstr ""
+"Tout d'abord, ne pas utiliser l'antipattern, c'est à dire n'ouvrez pas et ne "
+"fermez pas un <literal>EntityManager</literal> pour chaque simple base de "
+"données dans un thread unique ! Biensûr, c'est la même chose pour les "
+"transactions de bases de données. Les appels de bases de données d'une "
+"application sont faits à l'aide d'une séquence planifiée, ils sont regroupés "
+"dans des unités atomiques de travail. (Notez que cela signifie également "
+"qu'auto-commit après chaque énoncé SQL simple est inutile dans une "
+"application, ce mode est réservé au travail de console as-hoc SQL.)"
 
 #. Tag: para
 #: transactions.xml:96
@@ -148,10 +204,21 @@
 "clients request. The relationship between the two is one-to-one and this "
 "model is a perfect fit for many applications."
 msgstr ""
+"Le modèle le plus commun d'une application client/serveur multi-utilisateur, "
+"est <emphasis>entitymanager-per-request</emphasis>. Dans ce modèle, une "
+"requête du client est envoyée au serveur (où la couche de persistance EJB3 "
+"est exécutée), un nouvel <literal>EntityManager</literal> est ouvert, et "
+"toutes les opérations de base de données sont exécutées dans cette unité de "
+"travail. Une fois que le travail est terminé (et que la réponse du client a "
+"été préparée), le contexte de persistance est purgé et fermé, tout comme "
+"l'objet de gestionnaire d'entités. Vous utiliseriez également une "
+"transaction de base de données simple pour servir la demande des clients. La "
+"relation entre les deux est one-to-one et ce modèle est parfait pour de "
+"nombreuses applications."
 
 #. Tag: para
 #: transactions.xml:108
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "This is the default EJB3 persistence model in a Java EE environment (JTA "
 "bounded, transaction-scoped persistence context); injected (or looked up) "
@@ -160,10 +227,18 @@
 "anymore and just see data access through entity manager and demaraction of "
 "transaction scope on session beans as completely orthogonal."
 msgstr ""
+"Il s'agit du modèle de persistance EJB3 par défaut dans un environnement "
+"Java EE (borné JTA, contexte de persistance transaction-scoped), les "
+"gestionnaires d'entité injectés (ou consultés) partagent le même contexte de "
+"persistance pour une transaction JTA donnée. Le bon côté d'EJB3, c'est que "
+"vous n'avez plus besoin de vous en inquiéter; vous avez juste besoin "
+"d'observer l'accès des données par le gestionaire d'entités et la "
+"démarcation de la portée de transaction sur les beans de session comme "
+"complètement orthogonale."
 
 #. Tag: para
 #: transactions.xml:116
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "The challenge is the implementation of this (and other) behavior outside an "
 "EJB3 container: not only has the <literal>EntityManager</literal> and "
@@ -188,12 +263,38 @@
 "your first choice is naturally an EJB3 container - preferably a light and "
 "modular one such as JBoss application server."
 msgstr ""
+"La difficulté, c'est l'implémentation de ce (et cet autre) comportement en "
+"dehors d'un conteneur EJB3 : non seulement <literal>EntityManager</literal> "
+"et la transaction resource-local doivent être démarrés et terminés "
+"convenablement, mais ils doivent aussi être accessibles aux opérations "
+"d'accès aux données. La démarcation d'une unité de travail est par idéal "
+"implémentée en utilisant un intercepteur qui exécute quand une requête "
+"atteint le serveur de conteneur EJB3 et avant que la réponse ne soit envoyée "
+"(c'est à dire <literal>ServletFilter</literal> si vous utilisez un conteneur "
+"de servlet autonome). Nous recommandons d'établir la liaison entre "
+"l'<literal>EntityManager</literal> et le thread qui dessert la requête, par "
+"la variable <literal>ThreadLocal</literal>. Cela permet l'accès aisé (comme "
+"accéder une variable statique) pour tout code exécuté par ce thread. Suivant "
+"le mécanisme de démarcation de transaction de la base de données que vous "
+"choisirez, vous souhaiterez sans doute conserver le contexte de transaction "
+"sous forme d'une variable <literal>ThreadLocal</literal>. Leurs modèles "
+"d'implémentation sont connus sous le nom de <emphasis>ThreadLocal Session</"
+"emphasis> et de <emphasis>Open Session in View</emphasis> dans la communauté "
+"Hibernate. Vous pouvez facilement étendre <literal>HibernateUtil</literal> "
+"comme montré dans la documentation de référence Hibernate, pour implémenter "
+"ce modèle; vous n'aurez pas besoin de logiciel externe (c'est, en fait, "
+"assez trivial). Biensûr, vous devrez trouver un moyen d'implémenter un "
+"intercepteur et de le configurer en fonction de votre environnement. "
+"Consultez le site Hibernate pour des conseils et des exemples. Une fois de "
+"plus, rappelez-vous que votre premier choix est normalement un conteneur "
+"EJB3 - de préférence léger et modulaire, comme le serveur d'application "
+"JBoss."
 
 #. Tag: title
 #: transactions.xml:144
 #, no-c-format
 msgid "Long units of work"
-msgstr ""
+msgstr "Long unités de travail"
 
 #. Tag: para
 #: transactions.xml:146
@@ -206,6 +307,13 @@
 "span a user interaction with possibly long waiting time between requests. "
 "Consider the following example:"
 msgstr ""
+"Le modèle entitymanager-per-request n'est pas le seul concept utile que vous "
+"pouvez utiliser pour concevoir des unités de travail. De nombreux processus "
+"commerciaux ont besoin de séries complètes d'interactions avec l'utilisateur "
+"entrelacées aux accès base de données. Dans les applications web et "
+"enterprise, il n'est pas de rigueur pour une transaction de base de données "
+"de couvrir une interaction d'utilisateur interrompue par de longues périodes "
+"d'attente entre les demandes. Voir l'exemple suivant :"
 
 #. Tag: para
 #: transactions.xml:156
@@ -215,6 +323,10 @@
 "loaded in a particular <literal>EntityManager</literal> and resource-local "
 "transaction. The user is free to modify the detached objects."
 msgstr ""
+"Le premier écran d'un dialogue ouvre, les données visualisées par "
+"l'utilisateur ont été chargées dans un <literal>EntityManager</literal> "
+"particulier et dans une transaction resource-local. L'utilisateur est libre "
+"de modifier les objets détachés."
 
 #. Tag: para
 #: transactions.xml:163
@@ -224,6 +336,10 @@
 "made persistent; he also expects that he was the only person editing this "
 "information and that no conflicting modification can occur."
 msgstr ""
+"L'utilisateur devra cliquer sur \"Save\" au bout de 5 minutes en espérant "
+"que ses modifications seront persistantes; il espère également qu'il était "
+"la seule personne entrain de modifier cette information et qu'aucune autre "
+"modification ne rentre en conflit au même moment."
 
 #. Tag: para
 #: transactions.xml:170
@@ -233,6 +349,9 @@
 "running <emphasis>application transaction</emphasis>. There are many ways "
 "how you can implement this in your application."
 msgstr ""
+"Nous appelons cette unité de travail, du point de vue de l'utilisateur, une "
+"<emphasis>transaction d'application</emphasis> 'long running'. Il y a "
+"plusieurs façons d'implémenter cela dans votre application."
 
 #. Tag: para
 #: transactions.xml:174
@@ -245,6 +364,13 @@
 "lock contention would not allow the application to scale with the number of "
 "concurrent users."
 msgstr ""
+"Une implémentation naive qui nous vient à l'esprit consiste à garder la "
+"transaction de base de données et l' <literal>EntityManager</literal> ouvert "
+"pendant la durée de réflexion de l'utilisateur, avec les verrous conservés "
+"dans la base de données pour empêcher toute modification concurrente, et "
+"pour garantir l'isolation et l'atomicité. C'est évidemment un antipattern, "
+"une approche pessimiste, puisque la contention de verrouillage ne permettait "
+"pas à l'application de s'adapter au nombre d'utilisateurs concurrents."
 
 #. Tag: para
 #: transactions.xml:182
@@ -260,6 +386,17 @@
 "implement than it might sound, especially if you use EJB3 entity manager and "
 "persistence context features:"
 msgstr ""
+"Il est clair que nous devons utiliser plusieurs bases de données de "
+"transactions pour implémenter la transaction de l'application. Dans ce cas, "
+"maintenir l'isolation des processus commerciaux devient en partie la "
+"responsabilité de l'application tier. Une transaction d'application simple "
+"couvre normalement plusieurs transactions de base de données. Elle sera "
+"atomique uniquement si une de ces transactions de base de données (la "
+"dernière) stocke les données mises à jour, toutes les autres se contentent "
+"de lire les données (par ex. dans un dialogue style-wizard qui couvre "
+"plusieurs cycles réponse/demande). Cela est plus facile à implémenter qu'il "
+"ne semble, surtout si vous utilisez le gestionnaire d'entités EJB3 et les "
+"fonctionnalités de contexte de persistance :"
 
 #. Tag: para
 #: transactions.xml:195
@@ -271,6 +408,12 @@
 "by comparing version numbers or timestamps when updating the data in the "
 "final resource-local transaction)."
 msgstr ""
+"<emphasis>Automatic Versioning</emphasis> - Un gestionnaire d'entités peut "
+"procéder à des contôles de concurrence optimiste automatique pour vous, et "
+"peut automatiquement détecter si une modification concurrente a eu lieu "
+"pendant le temps de réflexion de l'utilisateur (user think time) (en "
+"comparant normalement les nombres de version ou les dates de mise à jour des "
+"données dans la transaction resource-local finale)."
 
 #. Tag: para
 #: transactions.xml:204
@@ -284,6 +427,14 @@
 "with-detached-entities</emphasis>. Automatic versioning is used to isolate "
 "concurrent modifications."
 msgstr ""
+"<emphasis>Detached Entities</emphasis> - Si vous décidez d'utiliser le "
+"modèle <emphasis>entity-per-request</emphasis> dont nous avons déjà discuté, "
+"toutes les instances chargées seront en état \"détaché\" pendant le temps de "
+"réflexion de l'utilisateur. Le gestionnaire d'entités vous permet de merger "
+"l'état (modifié) détaché et de persister les modifications, le modèle "
+"s'appelle <emphasis>entitymanager-per-request-with-detached-entities</"
+"emphasis>. Le versioning automatique est utilisé pour isoler les "
+"modifications concurrentes."
 
 #. Tag: para
 #: transactions.xml:216
@@ -300,6 +451,18 @@
 "queued modifications. Automatic versioning is used to isolate concurrent "
 "modifications."
 msgstr ""
+"<emphasis>Extended Entity Manager</emphasis> - Hibernate Entity Manager peut "
+"être disconnecté de la connexion JDBC sous-jacente entre deux appels de "
+"clients et reconnecté quand une nouvelle requête de client a lieu. Ce modèle "
+"s'appelle <emphasis>entitymanager-per-application-transaction</emphasis> et "
+"rend même la fusion inutile. Un contexte de persistance extended est "
+"responsable de collecter et de retenir toute modification (persist/"
+"persister, merge/fusionner, remove/supprimer) effectuée à l'extérieur de la "
+"transaction. Le prochain appel du client fait à l'intérieur d'une "
+"transaction active (normalement la dernière opération d'une conversation "
+"d'utilisateur) va exécuter toutes les modifications en attente. Le "
+"versioning automatique est utilisé pour isoler les modifications "
+"concurrentes."
 
 #. Tag: para
 #: transactions.xml:230
@@ -310,18 +473,22 @@
 "advantages and disadvantages, we discuss them later in this chapter in the "
 "context of optimistic concurrency control."
 msgstr ""
+"<emphasis>entitymanager-per-request-with-detached-objects</emphasis> et "
+"<emphasis>entitymanager-per-application-transaction</emphasis> ont tous les "
+"deux des avantages et des inconvénients dont nous discuterons plus tard dans "
+"ce chapitre dans le contexte de concurrence optimiste."
 
 #. Tag: para
 #: transactions.xml:236
 #, no-c-format
 msgid "TODO: This note should probably come later."
-msgstr ""
+msgstr "TODO: This note should probably come later."
 
 #. Tag: title
 #: transactions.xml:240
 #, no-c-format
 msgid "Considering object identity"
-msgstr ""
+msgstr "Considérer l'identité des objets"
 
 #. Tag: para
 #: transactions.xml:242
@@ -332,30 +499,34 @@
 "never shared between two persistence contexts. Hence there are two different "
 "notions of identity:"
 msgstr ""
+"Une application peut accéder concurremment le même état de persistance dans "
+"deux contextes de persistance séparés. Cependant, une instance de classe "
+"gérée n'est jamais partagée entre deux contextes de persistance. Donc, il "
+"existe deux notions séparées d'identité :"
 
 #. Tag: term
 #: transactions.xml:249
 #, no-c-format
 msgid "Database Identity"
-msgstr ""
+msgstr "Identité de base de données"
 
 #. Tag: literal
 #: transactions.xml:253
 #, no-c-format
 msgid "foo.getId().equals( bar.getId() )"
-msgstr ""
+msgstr "foo.getId().equals( bar.getId() )"
 
 #. Tag: term
 #: transactions.xml:259
 #, no-c-format
 msgid "JVM Identity"
-msgstr ""
+msgstr "Identité JVM"
 
 #. Tag: literal
 #: transactions.xml:263
 #, no-c-format
 msgid "foo==bar"
-msgstr ""
+msgstr "foo==bar"
 
 #. Tag: para
 #: transactions.xml:269
@@ -370,10 +541,20 @@
 "\"different\" (JVM identity). Conflicts are resolved using (automatic "
 "versioning) at flush/commit time, using an optimistic approach."
 msgstr ""
+"Donc, pour les objets attachés à un contexte de persistance "
+"<emphasis>particulier</emphasis> (c'est à dire dans le cadre "
+"d'<literal>EntityManager</literal>), les deux notions sont équivalentes, et "
+"l'identité JVM de l'identité de la base de données est garantie par le "
+"gestionnaire Hibernate Entity Manager. Cependant, alors que l'application "
+"pourrait accéder concurremment au \"même\" objet commercial (identité "
+"persistance) dans deux contextes de persistance différents, les deux "
+"instances seront en fait \"différentes\" (identité JVM). Les conflits sont "
+"résolus en utilisant un temps de vidage/validation (versioning automatique), "
+"en approche optimiste."
 
 #. Tag: para
 #: transactions.xml:279
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "This approach leaves Hibernate and the database to worry about concurrency; "
 "it also provides the best scalability, since guaranteeing identity in single-"
@@ -383,10 +564,19 @@
 "literal>. Within a persistence context, the application may safely use "
 "<literal>==</literal> to compare entities."
 msgstr ""
+"Cette approche permet à Hibernate et à la base de données de s'inquiéter de "
+"la concurrence; et fournit également la meilleure montée en capacité, dans "
+"la mesure où garantir l'identité dans des unités de travail single-threaded "
+"uniquement, ne requiert pas de verrouillage coûteux et autre moyen de "
+"synchronisation. L'application n'a jamais besoin de se synchroniser à des "
+"objets commerciaux, dans la mesure où elle se cantonne à une seul thread par "
+"<literal>EntityManager</literal>. Dans un contexte de persistance, "
+"l'application pourrait utiliser <literal>==</literal> en toute sécurité, "
+"pour comparer les entités."
 
 #. Tag: para
 #: transactions.xml:288
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "However, an application that uses <literal>==</literal> outside of a "
 "persistence context might see unexpected results. This might occur even in "
@@ -409,12 +599,35 @@
 "that this is not a Hibernate issue, but simply how Java object identity and "
 "equality has to be implemented."
 msgstr ""
+"Cependant, une application qui utilise <literal>==</literal> en dehors d'un "
+"contexte de persistance, peut s'attendre à des résultats inattendus. Cela "
+"peut également avoir lieu dans des endroits particuliers, par exemple, quand "
+"vous mettez deux instances dans le même <literal>Set</literal>. Elles "
+"peuvent toutes deux posséder la même identité (c'est à dire représenter la "
+"même rangée), mais l'identité JVM n'est, par définition, pas garantie pour "
+"les instances en état détaché. Le développeur devra surcharger les méthodes "
+"<literal>equals()</literal> et <literal>hashCode()</literal> dans les "
+"classes persistantes et implémenter sa propre notion d'égalité d'objet. "
+"Avertissement : ne jamais utiliser l'identifiant de la base de données pour "
+"implémenter l'égalité, utiliser une clé commerciale, une combinaison "
+"d'attributs uniques, normalement non mutables. L'identifiant de la base de "
+"données changera si une entité transiente est rendue persistante (voir le "
+"contrat de l'opération <literal>persist()</literal>). Si l'instance "
+"transiente (normalement associée aux instances détachées) est contenue dans "
+"un <literal>Set</literal>, changer les codes de hachage rompt le contrat du "
+"<literal>Set</literal>. Les attributs des bonnes clés commerciales n'ont pas "
+"besoin d'être aussi stables que les clés primaires de bases de données, vous "
+"avez juste à garantir la stabilité tant que les objets sont dans le même "
+"<literal>Set</literal>. Voir le site internet Hibernate pour une discussion "
+"plus pointue sur le sujet. Aussi, notez qu'il ne s'agit pas d'un problème "
+"Hibernate, mais simplement un problème qui porte sur la façon dont "
+"l'identité et l'égalité d'objets Java doit être implémentée."
 
 #. Tag: title
 #: transactions.xml:312
 #, no-c-format
 msgid "Common concurrency control issues"
-msgstr ""
+msgstr "Problèmes communs de contrôle de concurrence "
 
 #. Tag: para
 #: transactions.xml:314
@@ -428,6 +641,14 @@
 "appear with the recommended patterns, make sure you understand the "
 "implications before making a design decision:"
 msgstr ""
+"Ne jamais utiliser les antipatterns <emphasis>entitymanager-per-user-"
+"session</emphasis> ou <emphasis>entitymanager-per-application</emphasis> "
+"( il y a biensûr de rares exceptions à cette règle, par ex. entitymanager-"
+"per-application peut être toléré pour une application desktop, avec vidage "
+"manuel du contexte de persistance). Notez que certains des problèmes "
+"suivants peuvent également apparaître dans les modèles conseillés; soyez "
+"certains d'avoir bien compris les implications avant de prendre une décision "
+"au niveau du design :"
 
 #. Tag: para
 #: transactions.xml:325
@@ -443,10 +664,21 @@
 "concurrently running threads. You will very likely have provisions for this "
 "case already in place, for other non-threadsafe but session-scoped objects."
 msgstr ""
+"Un gestionnaire d'entités n'est pas thread-safe. Les choses qui sont "
+"supposées fonctionner en concurrence, comme les requêtes HTTP, les beans de "
+"session, ou les Swing workers, connaîtront des conditions de concurrence si "
+"une instance <literal>EntityManager</literal> est partagée. Si vous "
+"conservez l'<literal>EntityManager</literal> Hibernate dans votre "
+"<literal>HttpSession</literal> (on développe plus loin), vous devriez "
+"considérer synchroniser l'accès à votre session Http. Sinon, un utilisateur "
+"qui clique sur rechargement suffisamment rapidement, pourra utiliser le même "
+"<literal>EntityManager</literal> dans deux threads exécutés concurremment. "
+"Vous aurez probablement des provisions en place pour ce cas, pour d'autres "
+"objets non-threadsafe, mais session-scoped."
 
 #. Tag: para
 #: transactions.xml:340
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "An exception thrown by the Entity Manager means you have to rollback your "
 "database transaction and close the <literal>EntityManager</literal> "
@@ -459,10 +691,21 @@
 "recoverable and you have to start over your unit of work after rollback "
 "anyway."
 msgstr ""
+"L'exception lancée par l'Entity Manager implique que vous devez restaurer "
+"votre transaction de base de données et fermer l'<literal>EntityManager</"
+"literal> immédiatement (abordé plus loin en détails). Si votre "
+"<literal>EntityManager</literal> est lié à l'application, vous devrez faire "
+"cesser l'application. Restaurer la transaction de base de données ne "
+"restaure pas vos objets commerciaux dans l'état dans lequel ils étaient au "
+"départ de la transaction. Cela implique que l'état de la base de données et "
+"que les objets commerciaux deviennent désynchronisés. Normalement, ce n'est "
+"pas un problème, car les exceptions ne sont pas recouvrables et vous devrez "
+"reprendre du début votre unité de travail après un recouvrement de toutes "
+"façons."
 
 #. Tag: para
 #: transactions.xml:354
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "The persistence context caches every object that is in managed state "
 "(watched and checked for dirty state by Hibernate). This means it grows "
@@ -475,16 +718,29 @@
 "for the duration of a user session also means a high probability of stale "
 "data, which you have to know about and control appropriately."
 msgstr ""
+"Le contexte de persistance cache tout objet en état géré (état dirty étant "
+"observé et vérifié par Hybernate). Cela signifie qu'il s'agrandit "
+"indéfiniement jusqu'à ce que l'on obtienne une "
+"<classname>OutOfMemoryException</classname>, si vous le gardez ouvert "
+"longtemps ou si vous chargez trop de données, tout simplement. Une solution "
+"à ce problème réside dans une sorte de traitement de batches accompagné de "
+"vidages du contexte de persistance régulier, mais vous devrez considérer "
+"utiliser une procédure stockée en base de données si vous avez besoin "
+"d'opérations de données massives. Des solutions à ce problème sont exposées "
+"dans <xref linkend=\"Batch_processing\"/>. La maintenance d'un contexte de "
+"persistance ouvert pour la durée d'une session d'utilisation, implique "
+"également une forte probabilité de données obsolètes, dont vous devez avoir "
+"conscience, et donc contrôler en fonction."
 
 #. Tag: title
 #: transactions.xml:372
 #, no-c-format
 msgid "Database transaction demarcation"
-msgstr ""
+msgstr "Démarcation de transaction de base de données"
 
 #. Tag: para
 #: transactions.xml:374
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "Datatabase (or system) transaction boundaries are always necessary. No "
 "communication with the database can occur outside of a database transaction "
@@ -496,6 +752,17 @@
 "though, when you'll need to retain modifications in an <literal>EXTENDED</"
 "literal> persistence context."
 msgstr ""
+"Les limites de transaction de base de données (ou de systèmes) sont toujours "
+"utiles. Il ne peut pas y avoir de communication avec la base de données en "
+"dehors de la transaction de base de données (cela semble porter la confusion "
+"pour de nombreux développeurs qui sont habitués au mode auto-commit). "
+"Utilisez à tout moment des limites de transactions claires, même pour les "
+"opérations en lecture-seule. Suivant votre niveau d'isolation et les "
+"possibilités de votre base de données, ce n'est pas forcément obligatoire, "
+"mais il n'y a pas de conséquences néfastes si vous démarquez toujours les "
+"transactions explicitement. Vous devrez effectuer les opérations en dehors "
+"d'une transaction, mais, quand vous aurez besoin de conserver des "
+"modifications dans un contexte de persistance <literal>EXTENDED</literal> ."
 
 #. Tag: para
 #: transactions.xml:384
@@ -512,12 +779,26 @@
 "Programmatic transaction demarcation is then no longer necessary, even "
 "flushing the <literal>EntityManager</literal> is done automatically."
 msgstr ""
+"Une application EJB3 peut exécuter dans des environnements J2EE gérés ou non "
+"gérés (c'est à dire applications autonomes, Web- simples ou Swing). Dans un "
+"environnement non-géré, une <literal>EntityManagerFactory</literal> est "
+"normalement responsable pour son propre pool de connexions aux databases. Le "
+"développeur d'applications doit fixer les limites des transactions "
+"manuellement, autrement dit, commencer, valider, ou recouvrer les "
+"transactions de bases de données lui-même. Une environnement géré fournit "
+"normalement des transaction container-managed, avec le transaction assembly "
+"déterminé déclarativement par des annotations de beans de session EJB, par "
+"exemple. La démarcation de transaction programmatique n'est plus alors "
+"nécessaire, même le vidage d'<literal>EntityManager</literal> est fait "
+"automatiquement."
 
 #. Tag: para
 #: transactions.xml:396
 #, no-c-format
 msgid "Usually, ending a unit of work involves four distinct phases:"
 msgstr ""
+"Normalement, la réalisation d'une unité de travail comprend quatre phases "
+"bien distinctes :"
 
 #. Tag: para
 #: transactions.xml:400
@@ -526,6 +807,8 @@
 "commit the (resource-local or JTA) transaction (this automatically flushes "
 "the entity manager and persistence context)"
 msgstr ""
+"valide la transaction (resource-local ou JTA) (cela vide automatiquement le "
+"gestionnaire d'entités et le contexte de persistance)"
 
 #. Tag: para
 #: transactions.xml:406
@@ -533,36 +816,45 @@
 msgid ""
 "close the entity manager (if using an application-managed entity manager)"
 msgstr ""
+"ferme le gestionnaire d'entités (si vous utilisez un gestionnaire d'entités "
+"application-managed)"
 
 #. Tag: para
 #: transactions.xml:411
 #, no-c-format
 msgid "handle exceptions"
-msgstr ""
+msgstr "Gère les exceptions"
 
 #. Tag: para
 #: transactions.xml:415
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "We'll now have a closer look at transaction demarcation and exception "
 "handling in both managed- and non-managed environments."
 msgstr ""
+"Nous allons maintenant observer de plus près la démarcation de transactions "
+"et la gestion d'exceptions dans des environnements gérés ou non gérés."
 
 #. Tag: title
 #: transactions.xml:419
 #, no-c-format
 msgid "Non-managed environment"
-msgstr ""
+msgstr "Environnements non gérés"
 
 #. Tag: para
 #: transactions.xml:421
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "If an EJB3 persistence layer runs in a non-managed environment, database "
 "connections are usually handled by Hibernate's pooling mechanism behind the "
 "scenes. The common entity manager and transaction handling idiom looks like "
 "this:"
 msgstr ""
+"Si une couche de persistance EJB3 est exécutée dans un environnement non "
+"géré, les connexions à la base de données sont normalement gérées par le "
+"mécanisme de mise en commun (pooling) d'Hibernate en arrière plan. Le "
+"gestionnaire d'entités commun et l'idiom de gestion des transactions "
+"ressemblent à ce qui suit :"
 
 #. Tag: programlisting
 #: transactions.xml:426
@@ -588,15 +880,37 @@
 "    em.close();\n"
 "}"
 msgstr ""
+"// Non-managed environment idiom\n"
+"EntityManager em = emf.createEntityManager();\n"
+"EntityTransaction tx = null;\n"
+"try {\n"
+"    tx = em.getTransaction();\n"
+"    tx.begin();\n"
+"\n"
+"    // do some work\n"
+"    ...\n"
+"\n"
+"    tx.commit();\n"
+"}\n"
+"catch (RuntimeException e) {\n"
+"    if ( tx != null &amp;&amp; tx.isActive() ) tx.rollback();\n"
+"    throw e; // or display error message\n"
+"}\n"
+"finally {\n"
+"    em.close();\n"
+"}"
 
 #. Tag: para
 #: transactions.xml:428
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "You don't have to <literal>flush()</literal> the <literal>EntityManager</"
 "literal> explicitly - the call to <literal>commit()</literal> automatically "
 "triggers the synchronization."
 msgstr ""
+"Vous n'êtes pas obligés de <literal>flush()</literal> (vider) l' "
+"<literal>EntityManager</literal> explicitement - l'appel vers <literal>commit"
+"()</literal> déclenche automatiquement la synchronisation."
 
 #. Tag: para
 #: transactions.xml:433
@@ -607,6 +921,10 @@
 "literal> is the release of resources - make sure you always close and never "
 "outside of guaranteed finally block."
 msgstr ""
+"Un appel vers <literal>close()</literal> marque la fin d'un "
+"<literal>EntityManager</literal>. L'implication principale de <literal>close"
+"()</literal> est la libération des ressources - veillez bien à toujours "
+"fermer et jamais en dehors du bloc <literal>finally</literal> garanti."
 
 #. Tag: para
 #: transactions.xml:438
@@ -621,21 +939,33 @@
 "container services whenever they are available. Exception handling is "
 "discussed later in this chapter."
 msgstr ""
+"Vous ne verrez sans doute jamais cet idiom en code commercial dans une "
+"application normale. Les exceptions (de système) fatales doivent toujours "
+"être interceptées par le \"haut\". Autrement dit, le code qui exécute des "
+"appels de gestionnaires d'entités (dans la couche de persistance) et le code "
+"qui gère <literal>RuntimeException</literal> (et qui ne peuvent normalement "
+"que nettoyer ou sortir) sont dans des couches différentes. Cela peut être "
+"difficile à concevoir par vous-même et vous devez utiliser les services de "
+"conteneurs J2EE/EJB quand ils sont disponibles. La gestion d'exceptions est "
+"discutée plus loin dans ce chapitre."
 
 #. Tag: title
 #: transactions.xml:449
 #, no-c-format
 msgid "EntityTransaction"
-msgstr ""
+msgstr "EntityTransaction"
 
 #. Tag: para
 #: transactions.xml:451
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "In a JTA environment, you don't need any extra API to interact with the "
 "transaction in your environment. Simply use transaction declaration or the "
 "JTA APIs."
 msgstr ""
+"Dans un environnement JTA, vous n'avez pas besoin d'API supplémentaires pour "
+"interagir avec la transaction dans votre environnement. Utilisez tout "
+"simplement une déclaration de transaction ou des API JTA."
 
 #. Tag: para
 #: transactions.xml:455
@@ -656,6 +986,21 @@
 "will try to rollback the transaction and raise a <literal>javax.transaction."
 "RollbackException</literal>."
 msgstr ""
+"Si vous utilisez un gestionnaire d'entités <literal>RESOURCE_LOCAL</"
+"literal>, vous aurez besoin de démarquer les limites de votre transaction "
+"par l'API <literal>EntityTransaction</literal>. Vous pourrez obtenir un "
+"<literal>EntityTransaction</literal> par <literal>entityManager."
+"getTransaction()</literal>. Cet API <literal>EntityTransaction</literal> "
+"fournit les méthodes habituelles <methodname>begin()</methodname>, "
+"<methodname>commit()</methodname>, <methodname>rollback()</methodname> et "
+"<methodname>isActive()</methodname>. Il fournit également une façon de "
+"marquer une transaction en tant que rollback, c'est à dire qu'il force la "
+"transaction à recouvrer. Cela ressemble à l'opération JTA "
+"<methodname>setRollbackOnly()</methodname>. Quand une opération "
+"<literal>commit()</literal> (de validation) échoue et/ou si la transaction "
+"est marquée <literal>setRollbackOnly()</literal>, la méthode <literal>commit"
+"()</literal> essaiera de recouvrer la transaction et de soulever une "
+"<literal>javax.transaction.RollbackException</literal>."
 
 #. Tag: para
 #: transactions.xml:473
@@ -664,12 +1009,14 @@
 "In a <literal>JTA</literal> entity manager, <literal>entityManager."
 "getTransaction()</literal> calls are not permitted."
 msgstr ""
+"Dans un gestionnaire d'entités <literal>JTA</literal>, les appels "
+"<literal>entityManager.getTransaction()</literal> ne sont pas permis."
 
 #. Tag: title
 #: transactions.xml:480
 #, no-c-format
 msgid "Using JTA"
-msgstr ""
+msgstr "Utiliser JTA"
 
 #. Tag: para
 #: transactions.xml:482
@@ -680,6 +1027,11 @@
 "entity manager will automatically be part of the global JTA transaction. "
 "Hibernate offers two strategies for this integration."
 msgstr ""
+"Si votre couche de persistance est exécutée dans un serveur d'applications "
+"(par exemple derrière les beans de session EJB3), toute connexion à la base "
+"de données qui est obtenue en interne par le gestionnaire d'entités fera "
+"partie automatiquement de la transaction globale JTA. Hibernate propose deux "
+"stratégies pour cette intégration."
 
 #. Tag: para
 #: transactions.xml:488
@@ -687,6 +1039,8 @@
 msgid ""
 "If you use bean-managed transactions (BMT), the code will look like this:"
 msgstr ""
+"Si vous utilisez des transactions gérées-beans (BMT de l'anglais bean-"
+"managed transactions), le code ressemblera à ce qui suit :"
 
 #. Tag: programlisting
 #: transactions.xml:491
@@ -713,10 +1067,30 @@
 "    em.close();\n"
 "}"
 msgstr ""
+"// BMT idiom\n"
+"@Resource public UserTransaction utx;\n"
+"@Resource public EntityManagerFactory factory;\n"
+"\n"
+"public void doBusiness() {\n"
+"    EntityManager em = factory.createEntityManager();\n"
+"    try {\n"
+"\n"
+"    // do some work\n"
+"    ...\n"
+"\n"
+"    utx.commit();\n"
+"}\n"
+"catch (RuntimeException e) {\n"
+"    if (utx != null) utx.rollback();\n"
+"    throw e; // or display error message\n"
+"}\n"
+"finally {\n"
+"    em.close();\n"
+"}"
 
 #. Tag: para
 #: transactions.xml:493
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "With Container Managed Transactions (CMT) in an EJB3 container, transaction "
 "demarcation is done in session bean annotations or deployment descriptors, "
@@ -729,6 +1103,18 @@
 "<literal>RuntimeException</literal>s they will rollback the transaction as "
 "per the EJB specification (system exception vs. application exception)."
 msgstr ""
+"Avec Container Managed Transactions (CMT) dans un conteneur EJB3, la "
+"démarcation de transaction est faite dans des annotations de beans de "
+"session ou par des descripteurs de déploiement, mais pas par programmation. "
+"L'<literal>EntityManager</literal> va être automatiquement vidé en fin de "
+"transaction (et si vous avez injecté ou si vous avez consulté "
+"l'<literal>EntityManager</literal>, il sera également fermé "
+"automatiquement). Si vous apercevez une exception en cours d'utilisation, le "
+"recouvrement de transaction a lieu automatiquement si vous n'interceptez pas "
+"l'exception. Comme les exceptions <literal>EntityManager</literal> sont des "
+"<literal>RuntimeException</literal>, elles vont recouvrer la transaction "
+"suivant les spécifications EJB (exceptions de système vs. exceptions "
+"d'application)."
 
 #. Tag: para
 #: transactions.xml:506
@@ -739,10 +1125,14 @@
 "to also set <literal>org.hibernate.transaction.manager_lookup_class</"
 "literal>."
 msgstr ""
+"Il est important de laisser à Hibernate EntityManager le soin de définir "
+"<literal>hibernate.transaction.factory_class</literal> (c'est à dire de ne "
+"pas surcharger cette valeur). N'oubliez pas de configurer également "
+"<literal>org.hibernate.transaction.manager_lookup_class</literal>."
 
 #. Tag: para
 #: transactions.xml:511
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "If you work in a CMT environment, you might also want to use the same entity "
 "manager in different parts of your code. Typically, in a non-managed "
@@ -755,6 +1145,18 @@
 "new one and bind it (see <xref linkend=\"architecture-ejb-"
 "persistctxpropagation\"/> .)"
 msgstr ""
+"Si vous travaillez dans un environnement CMT, vous souhaiterez peut-être "
+"également utiliser le même gestionnaire d'entités pour différentes parties "
+"de votre code. Normalement, dans un environnement non-géré, vous pourrez "
+"utilisez une variable <literal>ThreadLocal</literal> pour contenir le "
+"gestionnaire d'entités, mais une simple requête EJB peut exécuter des "
+"threads différents (par exemple des beans de sessions appelant d'autres "
+"beans de session). Le conteneur EJB3 s'occupe de la propagation du contexte "
+"de persistance pour vous. En utilisant injection ou lookup, le conteneur "
+"EJB3 retournera un gestionnaire d'entités avec le même contexte de "
+"persistance lié au contexte JTA s'il existe, ou en créera un nouveau et le "
+"liera (voir <xref linkend=\"EJB_container_environment-"
+"Persistence_context_propagation\"/>.)"
 
 #. Tag: para
 #: transactions.xml:522
@@ -763,6 +1165,8 @@
 "Our entity manager/transaction management idiom for CMT and EJB3 container-"
 "use is reduced to this:"
 msgstr ""
+"Notre idiom de gestion de transaction /de gestionnaire d'entités pour "
+"l'utilisation conteneur CMT ou EJB3 est réduit à ceci :"
 
 #. Tag: programlisting
 #: transactions.xml:525
@@ -771,6 +1175,8 @@
 "//CMT idiom through injection\n"
 "@PersistenceContext(name=\"sample\") EntityManager em;"
 msgstr ""
+"//CMT idiom through injection\n"
+"@PersistenceContext(name=\"sample\") EntityManager em;"
 
 #. Tag: para
 #: transactions.xml:527
@@ -783,6 +1189,13 @@
 "of the entity manager and persistence context is completely managed by the "
 "container."
 msgstr ""
+"Autrement dit, tout ce que vous avez besoin de faire dans un environnement "
+"géré, c'est d'injecter l'<literal>EntityManager</literal>, de procéder à vos "
+"tâches d'accès aux données, et de laisser le reste au conteneur. Les limites "
+"des transaction sont fixées déclarativement dans les annotations ou dans les "
+"descripteurs de déploiement de vos beans de session. Le cycle de vie du "
+"gestionnaire d'entités et le contexte de persistance sont complètement gérés "
+"par le conteneur."
 
 #. Tag: para
 #: transactions.xml:534
@@ -790,6 +1203,7 @@
 msgid ""
 "TODO: The following paragraph is very confusing, especially the beginning..."
 msgstr ""
+"TODO: The following paragraph is very confusing, especially the beginning..."
 
 #. Tag: para
 #: transactions.xml:537
@@ -807,12 +1221,24 @@
 "easily avoid using <literal>scroll()</literal> or <literal>iterate()</"
 "literal> at all from the CMT code.)"
 msgstr ""
+"Quand vous utilisez certains API natifs Hibernate, veillez à ne pas oublier "
+"le connexion release note : <literal>after_statement</literal>. En raison "
+"d'une limitation incongrue de FTA spec, il n'est pas possible pour Hibernate "
+"de nettoyer automatiquement des instances <literal>ScrollableResults</"
+"literal> ou <literal>Iterator</literal> qui seraient retournées par "
+"<literal>scroll()</literal> ou par <literal>iterate()</literal>. Vous "
+"<literal>devrez</literal> libérer le curseur de base de données sous-jacent "
+"en appelant <literal>ScrollableResults.close()</literal> ou "
+"<literal>Hibernate.close(Iterator)</literal> explicitement à partir d'un "
+"bloc <literal>finally</literal>. (Biensûr, la plupart des applications "
+"peuvent facilement éviter d'utiliser <literal>scroll()</literal> ou "
+"<literal>iterate()</literal> à partir du code CMT.)"
 
 #. Tag: title
 #: transactions.xml:553
 #, no-c-format
 msgid "Exception handling"
-msgstr ""
+msgstr "Gestion des exceptions"
 
 #. Tag: para
 #: transactions.xml:555
@@ -831,6 +1257,19 @@
 "managed entity manager will do that for you. You just have to let the "
 "RuntimeException propagate up to the container."
 msgstr ""
+"Si l'<literal>EntityManager</literal> lance une exception (y compris une "
+"<literal>SQLException</literal>), vous devrez immédiatement recouvrer la "
+"transaction de base de données, appeler <literal>EntityManager.close()</"
+"literal> (si <methodname>createEntityManager()</methodname> a été appelé) et "
+"ignorer l'instance d'<literal>EntityManager</literal>. Certaines méthodes "
+"d'<literal>EntityManager</literal> ne vont <literal>pas</literal> permettre "
+"de maintenir le contexte de persistance dans un état consistant. Aucune "
+"exception envoyée par un gestionnaire d'entités ne peut être considéré comme "
+"recouvrable. Veillez bien à ce que l'<literal>EntityManager</literal> soit "
+"fermé en appelant <literal>close()</literal> dans un bloc <literal>finally</"
+"literal>. Notez qu'un gestionnaire d'entités géré par conteneur fera ce "
+"travail pour vous. Vous avez juste à laisser le RuntimeException se propager "
+"dans le conteneur."
 
 #. Tag: para
 #: transactions.xml:569
@@ -840,12 +1279,15 @@
 "the Hibernate core exception. Common exceptions raised by the "
 "<literal>EntityManager</literal> API are"
 msgstr ""
+"Le gestionnaire d'entités d'Hibernate émet normalement des exceptions qui "
+"encapsulent l'exception Hibernate core. Les exceptions communes soulevées "
+"par l'API <literal>EntityManager</literal> sont"
 
 #. Tag: para
 #: transactions.xml:575
 #, no-c-format
 msgid "IllegalArgumentException: something wrong happen"
-msgstr ""
+msgstr "IllegalArgumentException: il y a quelquechose qui ne va pas"
 
 #. Tag: para
 #: transactions.xml:579
@@ -854,18 +1296,22 @@
 "EntityNotFoundException: an entity was expected but none match the "
 "requirement"
 msgstr ""
+"EntityNotFoundException: on s'attendait à une entité, mais on n'en a pas "
+"trouvé qui correspondaient aux prérequis"
 
 #. Tag: para
 #: transactions.xml:584
 #, no-c-format
 msgid "TransactionRequiredException: this operation has to be in a transaction"
 msgstr ""
+"TransactionRequiredException: cette opération doit se situer dans une "
+"transaction"
 
 #. Tag: para
 #: transactions.xml:589
 #, no-c-format
 msgid "IllegalStateException: the entity manager is used in a wrong way"
-msgstr ""
+msgstr "IllegalStateException: le gestionnaire d'entités a été mal utilisé"
 
 #. Tag: para
 #: transactions.xml:594
@@ -877,6 +1323,12 @@
 "not a <literal>HibernateException</literal>. These are, again, not "
 "recoverable and appropriate action should be taken."
 msgstr ""
+"L'exception <literal>HibernateException</literal>, qui couvre la plupart des "
+"erreurs qui peuvent se produire dans une couche de persistance Hibernate, "
+"est une exception non vérifiée. Notez bien qu'Hibernate peut également "
+"lancer d'autres exceptions non vérifiées qui ne sont pas des "
+"<literal>HibernateException</literal>. Celles-ci ne sont pas, elles aussi, "
+"recouvrables et on doit prendre l'action qui convient."
 
 #. Tag: para
 #: transactions.xml:601
@@ -897,6 +1349,21 @@
 "class for details). The standard <literal>JDBCException</literal> subtypes "
 "are:"
 msgstr ""
+"Hibernate couvre les <literal>SQLException</literal> émises alors qu'elles "
+"interagissaient avec la base de données dans une <literal>JDBCException</"
+"literal>. En fait, Hibernate va tenter de convertir l'exception en une sous-"
+"classe de <literal>JDBCException</literal> plus significative. L'exception "
+"<literal>SQLException</literal> est toujours disponible par "
+"<literal>JDBCException.getCause()</literal>. Hibernate convertit "
+"<literal>SQLException</literal> sous forme d'une sous-classe "
+"<literal>JDBCException</literal> en utilisant "
+"<literal>SQLExceptionConverter</literal> qui est attaché à "
+"<literal>SessionFactory</literal>. Par défaut, le "
+"<literal>SQLExceptionConverter</literal> est défini par le dialecte "
+"configuré; cependant, il est également possible d'ajouter une implémentation "
+"personnalisée (voir les javadocs pour la classe "
+"<literal>SQLExceptionConverterFactory</literal> pour obtenir les détails). "
+"Le soustypes standard de <literal>JDBCException</literal> sont :"
 
 #. Tag: para
 #: transactions.xml:619
@@ -905,6 +1372,8 @@
 "<literal>JDBCConnectionException</literal> - indicates an error with the "
 "underlying JDBC communication."
 msgstr ""
+"<literal>JDBCConnectionException</literal> - indique qu'il y a une erreur "
+"dans la communication JDBC sous-jacente."
 
 #. Tag: para
 #: transactions.xml:624
@@ -913,6 +1382,8 @@
 "<literal>SQLGrammarException</literal> - indicates a grammar or syntax "
 "problem with the issued SQL."
 msgstr ""
+"<literal>SQLGrammarException</literal> - indique un problème de syntaxe ou "
+"de grammaire avec le SQL émis."
 
 #. Tag: para
 #: transactions.xml:629
@@ -921,6 +1392,8 @@
 "<literal>ConstraintViolationException</literal> - indicates some form of "
 "integrity constraint violation."
 msgstr ""
+"<literal>ConstraintViolationException</literal> - indique une certaine forme "
+"de violation de contrainte d'intégrité."
 
 #. Tag: para
 #: transactions.xml:634
@@ -929,6 +1402,9 @@
 "<literal>LockAcquisitionException</literal> - indicates an error acquiring a "
 "lock level necessary to perform the requested operation."
 msgstr ""
+"<literal>LockAcquisitionException</literal> - indique une erreur "
+"d'acquisition du niveau de verrouillage qui convient pour effectuer "
+"l'opération requise."
 
 #. Tag: para
 #: transactions.xml:640
@@ -937,12 +1413,14 @@
 "<literal>GenericJDBCException</literal> - a generic exception which did not "
 "fall into any of the other categories."
 msgstr ""
+"<literal>GenericJDBCException</literal> - une exception générique qui ne "
+"tombe pas dans aucune des autres catégories."
 
 #. Tag: title
 #: transactions.xml:648
 #, no-c-format
 msgid "EXTENDED Persistence Context"
-msgstr ""
+msgstr "Contexte de persistance EXTENDED "
 
 #. Tag: para
 #: transactions.xml:650
@@ -954,6 +1432,12 @@
 "should then understand what happens to operations made outside the scope of "
 "a transaction."
 msgstr ""
+"Tout gestionnaire d'entités application-managed et tous les contextes de "
+"persistance container-managed ainsi définis, sont <literal>EXTENDED</"
+"literal>. Cela signifie que le type de contexte de persistance va bien au "
+"delà du cycle de vie de la transaction. Nous devons alors essayer de "
+"comprendre ce qui se passe pour les opérations qui sont faites en dehors de "
+"la portée d'une transaction."
 
 #. Tag: para
 #: transactions.xml:656
@@ -970,12 +1454,23 @@
 "transaction: <literal>flush()</literal>, <literal>lock()</literal>, and "
 "update/delete queries."
 msgstr ""
+"Dans un contexte de persistance <literal>EXTENDED</literal>, toutes les "
+"opérations lecture-seule du gestionnaire d'entités peuvent être exécutées en "
+"dehors d'une transaction (<literal>find()</literal>, <literal>getReference()"
+"</literal>, <literal>refresh()</literal>, et les demandes de lecture). "
+"Certaines opérations de modifications peuvent être exécutées en dehors d'une "
+"transaction, mais elles sont mises en fil d'attente jusqu'à ce que le "
+"contexte de persistance rejoigne une transaction : c'est le cas de "
+"<literal>persist()</literal>, <literal><literal>merge()</literal></literal>, "
+"<literal>remove()</literal>. Certaines opérations ne peuvent pas être "
+"appelées en dehors d'une transaction : <literal>flush()</literal>, "
+"<literal>lock()</literal>, et les demandes de mise à jour/suppression."
 
 #. Tag: title
 #: transactions.xml:669
 #, no-c-format
 msgid "Container Managed Entity Manager"
-msgstr ""
+msgstr "Gestionnaire d'entités container-managed"
 
 #. Tag: para
 #: transactions.xml:671
@@ -987,6 +1482,12 @@
 "a transaction, modifications operations (persist, merge, remove) are queued "
 "in the persistence context and not executed to the database."
 msgstr ""
+"Quand vous utilisez le contexte de persistance EXTENDED avec un gestionnaire "
+"d'entités container-managed, le cycle de vie du contexte de persistance est "
+"lié au cycle de vie du Bean de session stateful. De plus, si le gestionnaire "
+"d'entités est créé en dehors d'une transaction, les opérations de "
+"modification (persist, merge, remove) sont mises en file d'attente dans le "
+"contexte de persistance et ne sont pas exécutées dans la base de données."
 
 #. Tag: para
 #: transactions.xml:678
@@ -997,6 +1498,10 @@
 "queued operation will then be executed to synchronize the persistence "
 "context."
 msgstr ""
+"Quand une méthode du bean de session stateful est impliquée ou quand le "
+"démarrage d'une transaction est appelée par la suite, le gestionnaire "
+"d'entité rejoint la transaction. Toutes les opérations en attente seront "
+"alors exécutées pour synchroniser le contexte de persistance."
 
 #. Tag: para
 #: transactions.xml:683
@@ -1012,12 +1517,23 @@
 "look at JBoss Seam. Jboss Seam emphasizes the concept of conversation and "
 "entity manager lifecycle and bind EJB3 and JSF together."
 msgstr ""
+"Cela est parfait pour pouvoir implémenter le modèle <literal>entitymanager-"
+"per-conversation</literal>. Un bean de session stateful représente "
+"l'implémentation de la conversation. Tout travail de conversation "
+"intermédiaire sera traité par des méthodes qui n'impliquent pas de "
+"transactions. La fin de la conversation sera traitée à l'intérieur d'une "
+"transaction <literal>JTA</literal>. Ainsi, toutes les opérations en attente "
+"seront exécutées dans la base de données et seront validées. Si vous êtes "
+"intéressés par la notion de conversation au sein de votre application, jetez "
+"un coup d'oeil à JBoss Seam. JBoss Seam insiste sur les concepts de "
+"conversation et de cycle de vie du gestionnaire d'entités, et fait la "
+"liaison entre EJB3 et JSF."
 
 #. Tag: title
 #: transactions.xml:696
 #, no-c-format
 msgid "Application Managed Entity Manager"
-msgstr ""
+msgstr "Gestionnaire d'entités application-managed"
 
 #. Tag: para
 #: transactions.xml:698
@@ -1029,6 +1545,12 @@
 "outside a transaction, the entity manager will queue the modification "
 "operations. When"
 msgstr ""
+"Les gestionnaires d'entités application-managed sont toujours "
+"<literal>EXTENDED</literal>. Quand vous créez un gestionnaire d'entités à "
+"l'intérieur d'une transaction, le gestionnaire d'entités rejoint "
+"automatiquement la transaction courante. Si le gestionnaire d'entités est "
+"créé en dehors d'une transaction, le gestionnaire d'entités va mettre les "
+"opérations de modifications en file d'attente. Quand"
 
 #. Tag: para
 #: transactions.xml:706
@@ -1037,6 +1559,9 @@
 "<methodname>entityManager.joinTransaction()</methodname> is called when a "
 "JTA transaction is active for a <literal>JTA</literal> entity manager"
 msgstr ""
+"<methodname>entityManager.joinTransaction()</methodname> est appelé quand "
+"une transaction JTA est active pour un gestionnaire d'entités <literal>JTA</"
+"literal>"
 
 #. Tag: para
 #: transactions.xml:712
@@ -1045,6 +1570,8 @@
 "<literal>entityManager.getTransaction().begin()</literal> is called for a "
 "<literal>RESOURCE_LOCAL</literal> entity manager"
 msgstr ""
+"<literal>entityManager.getTransaction().begin()</literal> est appelé pour un "
+"gestionnaire d'entités <literal>RESOURCE_LOCAL</literal>"
 
 #. Tag: para
 #: transactions.xml:717
@@ -1053,6 +1580,8 @@
 "the entity manager join the transaction and all the queued operations will "
 "then be executed to synchronize the persistence context."
 msgstr ""
+"le gestionnaire d'entités rejoint la transaction et toutes les opérations en "
+"attente seront alors exécutées pour synchroniser le contexte de persistance."
 
 #. Tag: para
 #: transactions.xml:721
@@ -1061,12 +1590,14 @@
 "It is not legal to call <methodname>entityManager.joinTransaction()</"
 "methodname> if no JTA transaction is involved."
 msgstr ""
+"Il n'est pas légal d'appeler <methodname>entityManager.joinTransaction()</"
+"methodname> si aucune transaction JTA n'est impliquée."
 
 #. Tag: title
 #: transactions.xml:728
 #, no-c-format
 msgid "Optimistic concurrency control"
-msgstr ""
+msgstr "Contrôle de concurrence optimiste"
 
 #. Tag: para
 #: transactions.xml:730
@@ -1081,12 +1612,22 @@
 "version checking also has the benefit of preventing lost updates in single "
 "database transactions."
 msgstr ""
+"La seule approche consistante avec un haut niveau de concurrence et une "
+"bonne capacité de mise à l'échelle, est le contrôle de concurrence optimiste "
+"avec versioning. La vérification de version utilise des numéros de versions, "
+"ou des dates, en vue de détecter des mises à jour qui entrent en conflit (et "
+"pour empêcher des pertes de mises à jour). Hibernate propose trois approches "
+"possibles pour rédiger un code d'application utilisant la concurrence "
+"optimiste. Les cas d'utilisation que nous présentons rentrent dans le cadre "
+"des transactions de longues applications, mais la vérification de bases de "
+"données a également l'avantage d'empêcher les manquements aux mises à jour "
+"dans les transactions de bases de données simples."
 
 #. Tag: title
 #: transactions.xml:740
 #, no-c-format
 msgid "Application version checking"
-msgstr ""
+msgstr "Application version checking (vérification de version d'application)"
 
 #. Tag: para
 #: transactions.xml:742
@@ -1100,6 +1641,13 @@
 "transaction isolation. This approach is the least efficient in terms of "
 "database access. It is the approach most similar to EJB2 entities:"
 msgstr ""
+"Dans une application sans grand support de la part du mécanisme de "
+"persistance, chaque interaction avec la base de données a lieu dans le "
+"nouveau <literal>EntityManager</literal> et le développeur est chargé de "
+"recharger toutes les instances persistantes à partir de la base de données "
+"avant de les manipuler. Cette approche est la moins efficace au niveau de "
+"l'accès à la base de données. C'est l'approche la plus semblable à celle des "
+"entités EJB2 :"
 
 #. Tag: programlisting
 #: transactions.xml:751
@@ -1118,6 +1666,18 @@
 "t.commit();\n"
 "em.close();"
 msgstr ""
+"// foo is an instance loaded by a previous entity manager\n"
+"em = factory.createEntityManager();\n"
+"EntityTransaction t = em.getTransaction();\n"
+"t.begin();\n"
+"int oldVersion = foo.getVersion();\n"
+"Foo dbFoo = em.find( foo.getClass(), foo.getKey() ); // load the current "
+"state\n"
+"if ( dbFoo.getVersion()!=foo.getVersion ) throw new StaleObjectStateException"
+"();\n"
+"dbFoo.setProperty(\"bar\");\n"
+"t.commit();\n"
+"em.close();"
 
 #. Tag: para
 #: transactions.xml:753
@@ -1127,10 +1687,13 @@
 "literal>, and the entity manager will automatically increment it during "
 "flush if the entity is dirty."
 msgstr ""
+"La propriété de <literal>version</literal> est mappée en utilisant "
+"<literal>@Version</literal>, et le gestionnaire d'entités va l'incrémenter "
+"automatiquement pendant le vidage si l'entité est dirty."
 
 #. Tag: para
 #: transactions.xml:757
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "Of course, if you are operating in a low-data-concurrency environment and "
 "don't require version checking, you may use this approach and just skip the "
@@ -1140,6 +1703,14 @@
 "experience lost updates without error messages or a chance to merge "
 "conflicting changes."
 msgstr ""
+"Biensûr, si vous opérez dans un environnement low-data-concurrency et que "
+"vous n'avez pas besoin du \"version checking\", vous pouvez utiliser cette "
+"approche et simplement éviter le \"version check\". Dans un tel cas, "
+"<emphasis>last commit wins</emphasis> sera la stratégie de choix pour les "
+"transactions de longues applications. N'oubliez pas que cela peut prêter à "
+"confusion pour les utilisateurs de l'application, car ils peuvent se "
+"retrouver avec des pertes de mises à jour sans messages d'erreur ou avec une "
+"chance de fusionner des changements qui entrent en conflit."
 
 #. Tag: para
 #: transactions.xml:765
@@ -1151,16 +1722,23 @@
 "Hibernate offers automatic version checking with either detached instances "
 "or an extended entity manager and persistence context as the design paradigm."
 msgstr ""
+"Clairement, les version checking manuelles ne sont uniquement concevables "
+"que dans des circonstances extrêmement triviales, et ne sont pas pratiques "
+"pour la plupart des applications. La plupart du temps, les instances simples "
+"et les graphes complets d'objets modifiés doivent être vérifiés. Hibernate "
+"propose un \"version checking\" automatique, soit avec des instances "
+"détachées, soit un gestionnaire d'entités EXTENDED et un contexte de "
+"persistance comme paradigme de design."
 
 #. Tag: title
 #: transactions.xml:774
 #, no-c-format
 msgid "Extended entity manager and automatic versioning"
-msgstr ""
+msgstr "Gestionnaires d'entités Extended et Versioning automatique"
 
 #. Tag: para
 #: transactions.xml:776
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "A single persistence context is used for the whole application transaction. "
 "The entity manager checks instance versions at flush time, throwing an "
@@ -1169,6 +1747,13 @@
 "the user to merge his changes or to restart the business process with non-"
 "stale data)."
 msgstr ""
+"Un contexte de persistance simple est utilisé pour toute la transaction "
+"d'application. Le gestionnaire d'entités vérifie les versions d'instances au "
+"moment du vidage, lançant des exceptions si une modification du concurrence "
+"est détectée. C'est au développeur d'intercepter et de gérer cette exception "
+"(les options usuelles consistent au fusionnement des changements par "
+"l'utilisateur ou au redémarrage du processus commercial avec les données non-"
+"obsolètes)."
 
 #. Tag: para
 #: transactions.xml:783
@@ -1179,6 +1764,11 @@
 "persistence context is flushed when executed in an active transaction (at "
 "worse at commit time)."
 msgstr ""
+"Dans un contexte de persistance <literal>EXTENDED</literal>' toutes les "
+"opérations effectuées en dehors de la transaction active sont mises en file "
+"d'attente. Le contexte de persistance <literal>EXTENDED</literal> est vidé "
+"quand il est exécuté dans une transaction active (au pire au moment de la "
+"validation)."
 
 #. Tag: para
 #: transactions.xml:788
@@ -1198,6 +1788,19 @@
 "is no performance impact. The following examples show the idiom in a non-"
 "managed environment:"
 msgstr ""
+"L'<literal>Entity Manager</literal> est déconnecté de la connexion JDBC sous-"
+"jacente en cours d'attente de l'interaction avec l'utilisateur. Pour un "
+"gestionnaire d'entités extended géré-application, cela a lieu "
+"automatiquement en fin de transaction. Pour un bean de session stateful qui "
+"contient un gestionnaire d'entités extended container-managed (c'est à dire "
+"annoté SFSB avec <literal>@PersistenceContext(EXTENDED)</literal>), cela a "
+"lieu de façon transparente également. L'application n'est pas liée aux "
+"vérifications de versions ou à la fusion d'instances détachées, et il n'est "
+"nul besoin de recharger les instances dans chaque transaction de base de "
+"données. Pour ceux qui s'inquièteraient du nombre de connexions ouvertes ou "
+"fermées, souvenez-vous que le fournisseur de connexions devrait être un pool "
+"de connexions, donc il n'y a pas d'impact de performance. Les exemples "
+"suivants présentent l'idiom dans un environnement non-géré :"
 
 #. Tag: programlisting
 #: transactions.xml:803
@@ -1209,6 +1812,11 @@
 "foo.setProperty(\"bar\");\n"
 "em.getTransaction().commit();  // End tx, flush and check version, disconnect"
 msgstr ""
+"// foo is an instance loaded earlier by the extended entity manager\n"
+"em.getTransaction.begin(); // new connection to data store is obtained and "
+"tx started\n"
+"foo.setProperty(\"bar\");\n"
+"em.getTransaction().commit();  // End tx, flush and check version, disconnect"
 
 #. Tag: para
 #: transactions.xml:805
@@ -1221,10 +1829,18 @@
 "will not only flush and check versions, but also disconnects the entity "
 "manager from the JDBC connection and return the connection to the pool."
 msgstr ""
+"L'objet <literal>foo</literal> se souvient du <literal>contexte de "
+"persistance</literal> dans lequel il a été chargé. Avec "
+"<literal>getTransaction.begin();</literal>, le gestionnaire d'entités "
+"obtient une nouvelle connexion et peut completer le contexte de persistance. "
+"La méthode <literal>getTransaction().commit()</literal> ne se contente pas "
+"de vider et de vérifier les versions, elle disconnecte également le "
+"gestionnaire d'entités de la connexion JDBC et retourne la connexion vers le "
+"pool."
 
 #. Tag: para
 #: transactions.xml:813
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "This pattern is problematic if the persistence context is too big to be "
 "stored during user think time, and if you don't know where to store it. E.g. "
@@ -1234,10 +1850,18 @@
 "few request/response cycles. This is indeed recommended, as the persistence "
 "context will soon also have stale data."
 msgstr ""
+"Ce modèle est problématique si le contexte de persistance est trop gros pour "
+"être stocké pendant le temps de reflexion de l'utilisateur, et si vous ne "
+"savez pas où le stocker. Ainsi, <literal>HttpSession</literal> devrait "
+"rester aussi petit que possible. Comme le contexte de persistance est aussi "
+"le premier niveau cache (obligatoire) et qu'il contient tous les objets "
+"chargés, nous pouvons probablement utiliser cette stratégie uniquement pour "
+"quelques cycles requête/réponse. Cela est recommandé, car le contexte de "
+"persistance aura bientôt des données obsolètes."
 
 #. Tag: para
 #: transactions.xml:822
-#, no-c-format
+#, fuzzy, no-c-format
 msgid ""
 "It is up to you where you store the extended entity manager during requests, "
 "inside an EJB3 container you simply use a stateful session bean as described "
@@ -1246,12 +1870,20 @@
 "managed, two-tiered environment the <literal>HttpSession</literal> might "
 "indeed be the right place to store it."
 msgstr ""
+"C'est à vous de décider où vous souhaitez stocker le gestionnaire d'entités "
+"extended pendant les requêtes; à l'intérieur d'un conteneur EJB3, simplement "
+"utiliser un bean de session stateful comme décrit plus haut. Ne le "
+"transférez pas sur la couche web (ou alors vous pouvez le sérialiser en un "
+"tiers séparé) pour le stocker dans la <literal>HttpSession</literal>. Dans "
+"un environnement two-tiered (deux tiers), non-managed, la "
+"<literal>HttpSession</literal>. pourrait très bien représenter le bon "
+"endroit où le stocker."
 
 #. Tag: title
 #: transactions.xml:832
 #, no-c-format
 msgid "Detached objects and automatic versioning"
-msgstr ""
+msgstr "Objets détachés et versioning automatique"
 
 #. Tag: para
 #: transactions.xml:834
@@ -1263,6 +1895,13 @@
 "detached instances originally loaded in another persistence context and then "
 "merges the changes using <literal>EntityManager.merge()</literal>:"
 msgstr ""
+"Dans ce paradigme, chaque interaction avec le store de données a lieu dans "
+"un nouveau contexte de persistance. Cependant, les mêmes instances de "
+"persistance sont réutilisées pour chaque interaction avec la base de "
+"données. L'application manipule l'état des instances détachées qui sont "
+"chargées au départ dans un autre contexte de persistance et qui fusionnent "
+"les changements en utilisant <literal>EntityManager.merge()</literal> par la "
+"suite :"
 
 #. Tag: programlisting
 #: transactions.xml:841
@@ -1277,6 +1916,14 @@
 "entityManager.getTransaction().commit();\n"
 "entityManager.close();"
 msgstr ""
+"// foo is an instance loaded by a non-extended entity manager\n"
+"foo.setProperty(\"bar\");\n"
+"entityManager = factory.createEntityManager();\n"
+"entityManager.getTransaction().begin();\n"
+"managedFoo = session.merge(foo); // discard foo and from now on use "
+"managedFoo\n"
+"entityManager.getTransaction().commit();\n"
+"entityManager.close();"
 
 #. Tag: para
 #: transactions.xml:843
@@ -1285,3 +1932,6 @@
 "Again, the entity manager will check instance versions during flush, "
 "throwing an exception if conflicting updates occured."
 msgstr ""
+"A nouveau, le gestionnaire d'entités va vérifier les versions d'instances en "
+"cours de vidage, en lançant une exception si les mises à jour rentrent en "
+"conflit."




More information about the jboss-cvs-commits mailing list