Hibernate example source code file (batch.po)
This example Hibernate source code file (batch.po) is included in the DevDaily.com
"Java Source Code
Warehouse " project. The intent of this project is to help you "Learn Java by Example " TM .
The Hibernate batch.po source code
# translation of batch.po to French
# Myriam Malga <mmalga@redhat.com>, 2007.
# Xi HUANG <xhuang@redhat.com>, 2007.
# Corina Roe <croe@redhat.com>, 2009, 2010.
# translation of Collection_Mapping.po to
msgid ""
msgstr ""
"Project-Id-Version: batch\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: 2010-01-04 17:03+1000\n"
"Last-Translator: Corina Roe <croe@redhat.com>\n"
"Language-Team: French <i18@redhat.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#, no-c-format
msgid "Batch processing"
msgstr "Traitement par lot"
#. Tag: para
#, no-c-format
msgid ""
"A naive approach to inserting 100,000 rows in the database using Hibernate "
"might look like this:"
msgstr ""
"Une approche naïve pour insérer 100 000 lignes dans la base de données en "
"utilisant Hibernate ressemblerait à : "
#. Tag: para
#, no-c-format
msgid ""
"This would fall over with an <literal>OutOfMemoryException "
"somewhere around the 50,000th row. That is because Hibernate caches all the "
"newly inserted <literal>Customer instances in the session-level "
"cache. In this chapter we will show you how to avoid this problem."
msgstr ""
"Ceci devrait s'écrouler avec une <literal>OutOfMemoryException "
"quelque part aux alentours de la 50 000ème ligne. C'est parce que Hibernate "
"cache toutes les instances de <literal>Customer nouvellement "
"insérées dans le cache de second niveau. Dans ce chapitre, nous allons vous "
"montrer comment éviter ce problème."
#. Tag: para
#, no-c-format
msgid ""
"If you are undertaking batch processing you will need to enable the use of "
"JDBC batching. This is absolutely essential if you want to achieve optimal "
"performance. Set the JDBC batch size to a reasonable number (10-50, for "
"example):"
msgstr ""
"Dans ce chapitre nous montrerons comment éviter ce problème. Mais tout "
"d'abord, si vous faites des traitements par lot, il est absolument "
"indispensable d'activer l'utilisation des lots JDBC, pour obtenir des "
"performances raisonnables. Configurez la taille du lot JDBC Ã un nombre "
"raisonnable (disons, 10-50) : "
#. Tag: para
#, no-c-format
msgid ""
"Hibernate disables insert batching at the JDBC level transparently if you "
"use an <literal>identity identifier generator."
msgstr ""
"Notez que Hibernate désactive, de manière transparente, l'insertion par lot "
"au niveau JDBC si vous utilisez un générateur d'identifiant de type "
"<literal>identity. "
#. Tag: para
#, no-c-format
msgid ""
"You can also do this kind of work in a process where interaction with the "
"second-level cache is completely disabled:"
msgstr ""
"Vous désirez peut-être effectuer ce genre de tâche dans un traitement où "
"l'interaction avec le cache de second niveau est complètement désactivée :"
#. Tag: para
#, no-c-format
msgid ""
"However, this is not absolutely necessary, since we can explicitly set the "
"<literal>CacheMode to disable interaction with the second-level "
"cache."
msgstr ""
"Toutefois ce n'est pas absolument nécessaire puisque nous pouvons configurer "
"le <literal>CacheMode de façon à désactiver l'interaction avec le "
"cache de second niveau."
#. Tag: title
#, no-c-format
msgid "Batch inserts"
msgstr "Insertions en lot"
#. Tag: para
#, no-c-format
msgid ""
"When making new objects persistent <literal>flush() and then "
"<literal>clear() the session regularly in order to control the "
"size of the first-level cache."
msgstr ""
"Lorsque vous rendez des nouveaux objets persistants, vous devez "
"régulièrement appeler <literal>flush() et puis clear() to take advantage of server-side "
"cursors for queries that return many rows of data."
msgstr ""
"Pour récupérer et mettre à jour des données les mêmes idées s'appliquent. De "
"plus, vous devez utiliser <literal>scroll() pour tirer partie des "
"curseurs côté serveur pour les requêtes qui retournent beaucoup de lignes de "
"données. "
#. Tag: title
#, no-c-format
msgid "The StatelessSession interface"
msgstr "L'interface StatelessSession"
#. Tag: para
#, no-c-format
msgid ""
"Alternatively, Hibernate provides a command-oriented API that can be used "
"for streaming data to and from the database in the form of detached objects. "
"A <literal>StatelessSession has no persistence context associated "
"with it and does not provide many of the higher-level life cycle semantics. "
"In particular, a stateless session does not implement a first-level cache "
"nor interact with any second-level or query cache. It does not implement "
"transactional write-behind or automatic dirty checking. Operations performed "
"using a stateless session never cascade to associated instances. Collections "
"are ignored by a stateless session. Operations performed via a stateless "
"session bypass Hibernate's event model and interceptors. Due to the lack of "
"a first-level cache, Stateless sessions are vulnerable to data aliasing "
"effects. A stateless session is a lower-level abstraction that is much "
"closer to the underlying JDBC."
msgstr ""
"Alternativement, Hibernate fournit une API orientée commande qui peut être "
"utilisée avec des flux de données vers et en provenance de la base de "
"données sous la forme d'objets détachés. Une <literal>StatelessSession instances returned by "
"the query are immediately detached. They are never associated with any "
"persistence context."
msgstr ""
"Notez que dans le code de l'exemple, les instances de <literal>Customer and delete() "
"operations defined by the <literal>StatelessSession interface are "
"considered to be direct database row-level operations. They result in the "
"immediate execution of a SQL <literal>INSERT, UPDATE or "
"<literal>DELETE respectively. They have different semantics to the "
"<literal>save(), saveOrUpdate() and delete() "
"operations defined by the <literal>Session interface."
msgstr ""
"Les opérations <literal>insert(), update() et "
"<literal>delete() définies par l'interface "
"<literal>StatelessSession sont considérées comme des opérations "
"d'accès direct aux lignes de la base de données, ce qui résulte en une "
"exécution immédiate du SQL <literal>INSERT, UPDATEDELETE respectivement. Ainsi, elles ont des "
"sémantiques très différentes des opérations <literal>save(), "
"<literal>saveOrUpdate() et delete() définies "
"par l'interface <literal>Session."
#. Tag: title
#, no-c-format
msgid "DML-style operations"
msgstr "Opérations de style DML"
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"As already discussed, automatic and transparent object/relational mapping is "
"concerned with the management of the object state. The object state is "
"available in memory. This means that manipulating data directly in the "
"database (using the SQL <literal>Data Manipulation Language (DML) "
"the statements: <literal>INSERT, UPDATE , "
"<literal>DELETE) will not affect in-memory state. However, "
"Hibernate provides methods for bulk SQL-style DML statement execution that "
"is performed through the Hibernate Query Language (<link linkend=\"queryhql"
"\">HQL</link>)."
msgstr ""
"Comme mentionné auparavant, le mapping objet/relationnel automatique et "
"transparent s'intéresse à la gestion de l'état de l'objet. Ceci implique que "
"l'état de l'objet soit disponible en mémoire, c'est pourquoi manipuler (en "
"utilisant des expressions SQL du langage de manipulation de données - "
"<literal>Data Manipulation Language (DML) : les données "
"<literal>INSERT, UPDATE , DELETE and DELETE( UPDATE | DELETE ) FROM? EntityName (WHERE "
"where_conditions)?</literal>."
msgstr ""
"La pseudo-syntaxe pour les expressions <literal>UPDATE et "
"<literal>DELETE est : ( UPDATE | DELETE ) FROM? "
"EntityName (WHERE where_conditions)?</literal>. "
#. Tag: para
#, no-c-format
msgid "Some points to note:"
msgstr "Certains points à noter :"
#. Tag: para
#, no-c-format
msgid "In the from-clause, the FROM keyword is optional"
msgstr "Dans la clause from, le mot-clef FROM est optionnel"
#. Tag: para
#, no-c-format
msgid ""
"There can only be a single entity named in the from-clause. It can, however, "
"be aliased. If the entity name is aliased, then any property references must "
"be qualified using that alias. If the entity name is not aliased, then it is "
"illegal for any property references to be qualified."
msgstr ""
"Il ne peut y avoir qu'une seule entité nommée dans la clause from ; elle "
"peut optionnellement avoir un alias. Si le nom de l'entité a un alias, alors "
"n'importe quelle référence de propriété doit être qualifiée en utilisant un "
"alias ; si le nom de l'entité n'a pas d'alias, il sera illégal pour "
"n'importe quelle référence de propriété d'être qualifiée."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"No <link linkend=\"queryhql-joins-forms\">joins, either implicit or "
"explicit, can be specified in a bulk HQL query. Sub-queries can be used in "
"the where-clause, where the subqueries themselves may contain joins."
msgstr ""
"Aucune jointure <xref linkend=\"queryhql-joins-forms\" /> (implicite ou "
"explicite) ne peut être spécifiée dans une requête HQL en gros. Les sous-"
"requêtes peuvent être utilisées dans la clause where- ; les sous-requêtes, "
"elles-mêmes, peuvent contenir des jointures."
#. Tag: para
#, no-c-format
msgid "The where-clause is also optional."
msgstr "La clause where- est aussi optionnelle."
#. Tag: para
#, no-c-format
msgid ""
"As an example, to execute an HQL <literal>UPDATE , use the "
"<literal>Query.executeUpdate() method. The method is named for "
"those familiar with JDBC's <literal>PreparedStatement.executeUpdate(), utilisez la "
"méthode <literal>Query.executeUpdate() (la méthode est données "
"pour ceux qui connaissent <literal>PreparedStatement.executeUpdate() "
"statements, by default, do not effect the <link linkend=\"mapping-"
"declaration-version\">version</link> or the property values for the affected "
"entities. However, you can force Hibernate to reset the <literal>versiontimestamp property values through the use of "
"a <literal>versioned update. This is achieved by adding the "
"<literal>VERSIONED keyword after the UPDATE "
"keyword."
msgstr ""
"Par défaut, les déclarations HQL <literal>UPDATE, n'affectent pas "
"la version <xref linkend=\"mapping-declaration-version\"/> ou les valeurs "
"<xref linkend=\"mapping-declaration-timestamp\" /> de propriétés timestamp "
"pour les entités concernées; ceci est compatible avec la spécification EJB3. "
"Toutefois, vous pouvez forcer Hibernate à mettre à jour les valeurs des "
"propriétés <literal>version ou timestamp en "
"utilisant le <literal>versioned update. Pour ce faire, ajoutez le "
"mot clé <literal>VERSIONED après le mot clé UPDATEupdate versioned. "
#. Tag: para
#, no-c-format
msgid ""
"To execute an HQL <literal>DELETE , use the same Query."
"executeUpdate()</literal> method:"
msgstr ""
"Pour exécuter un HQL <literal>DELETE , utilisez la même méthode "
"<literal>Query.executeUpdate() :"
#. Tag: para
#, no-c-format
msgid ""
"The <literal>int value returned by the Query.executeUpdate"
"()</literal> method indicates the number of entities effected by the "
"operation. This may or may not correlate to the number of rows effected in "
"the database. An HQL bulk operation might result in multiple actual SQL "
"statements being executed (for joined-subclass, for example). The returned "
"number indicates the number of actual entities affected by the statement. "
"Going back to the example of joined-subclass, a delete against one of the "
"subclasses may actually result in deletes against not just the table to "
"which that subclass is mapped, but also the \"root\" table and potentially "
"joined-subclass tables further down the inheritance hierarchy."
msgstr ""
"La valeur du <literal>int retourné par la méthode Query."
"executeUpdate()</literal> indique le nombre d'entités affectées par "
"l'opération. Considérez que cela peut ou non, corréler le nombre de lignes "
"affectées dans la base de données. Une opération HQL pourrait entraîner "
"l'exécution de multiples expressions SQL réelles, pour des classes filles "
"mappées par jointure (join-subclass), par exemple. Le nombre retourné "
"indique le nombre d'entités réelles affectées par l'expression. Si on "
"revient à l'exemple de la classe fille mappée par jointure, un effacement "
"d'une des classes filles peut réellement entraîner des suppressions pas "
"seulement dans la table à laquelle la classe fille est mappée, mais "
"également dans la table \"racine\" et potentillement dans les tables des "
"classes filles plus bas dans la hiérarchie d'héritage. "
#. Tag: para
#, no-c-format
msgid ""
"The pseudo-syntax for <literal>INSERT statements is: "
"<literal>INSERT INTO EntityName properties_list select_statement. "
"Some points to note:"
msgstr ""
"La pseudo-syntaxe pour l'expression <literal>INSERT est : "
"<literal>INSERT INTO EntityName properties_list select_statement. "
"Quelques points sont à noter :"
#. Tag: para
#, no-c-format
msgid ""
"Only the INSERT INTO ... SELECT ... form is supported; not the INSERT "
"INTO ... VALUES ... form."
msgstr ""
"Seule la forme INSERT INTO ... SELECT ... est supportée ; pas la forme "
"INSERT INTO ... VALUES ... ."
#. Tag: para
#, no-c-format
msgid ""
"The properties_list is analogous to the <literal>column specificationINSERT statement. For entities "
"involved in mapped inheritance, only properties directly defined on that "
"given class-level can be used in the properties_list. Superclass properties "
"are not allowed and subclass properties do not make sense. In other words, "
"<literal>INSERT statements are inherently non-polymorphic."
msgstr ""
"La properties_list est analogue à la <literal>column speficiation "
"dans la déclaration SQL <literal>INSERT. Pour les entités "
"impliquées dans un héritage mappé, seules les propriétés directement "
"définies à ce niveau de classe donné peuvent être utilisées dans "
"properties_list. Les propriétés de la classe mère ne sont pas permises ; et "
"les propriétés des classes filles n'ont pas de sens. En d'autres termes, les "
"expressions <literal>INSERT sont par nature non polymorphiques. "
#. Tag: para
#, no-c-format
msgid ""
"select_statement can be any valid HQL select query, with the caveat that the "
"return types must match the types expected by the insert. Currently, this is "
"checked during query compilation rather than allowing the check to relegate "
"to the database. This might, however, cause problems between Hibernate "
"<literal>Types which are equivalent as "
"opposed to <emphasis>equal. This might cause issues with "
"mismatches between a property defined as a <literal>org.hibernate.type."
"DateType</literal> and a property defined as a org.hibernate.type."
"TimestampType</literal>, even though the database might not make a "
"distinction or might be able to handle the conversion."
msgstr ""
"select_statement peut être n'importe quelle requête de sélection HQL valide, "
"avec l'avertissement que les types de retour doivent correspondre aux types "
"attendus par l'insertion. Actuellement, cela est vérifié durant la "
"compilation de la requête plutôt que de reléguer la vérification à la base "
"de données. Notez cependant que cela pourrait poser des problèmes entre les "
"<literal>Type s de Hibernate qui sont équivalentségaux . Cela pourrait poser "
"des problèmes avec des disparités entre une propriété définie comme un "
"<literal>org.hibernate.type.DateType et une propriété définie "
"comme un <literal>org.hibernate.type.TimestampType, bien que la "
"base de données ne fasse pas de distinction ou ne soit pas capable de gérer "
"la conversion."
#. Tag: para
#, no-c-format
msgid ""
"For the id property, the insert statement gives you two options. You can "
"either explicitly specify the id property in the properties_list, in which "
"case its value is taken from the corresponding select expression, or omit it "
"from the properties_list, in which case a generated value is used. This "
"latter option is only available when using id generators that operate in the "
"database; attempting to use this option with any \"in memory\" type "
"generators will cause an exception during parsing. For the purposes of this "
"discussion, in-database generators are considered to be <literal>org."
"hibernate.id.SequenceGenerator</literal> (and its subclasses) and any "
"implementers of <literal>org.hibernate.id.PostInsertIdentifierGeneratororg.hibernate.id."
"TableHiLoGenerator</literal>, which cannot be used because it does not "
"expose a selectable way to get its values."
msgstr ""
"Pour la propriété id, l'expression d'insertion vous donne deux options. Vous "
"pouvez soit spécifier explicitement la propriété id dans properties_list "
"(auquel cas sa valeur est extraite de l'expression de sélection "
"correspondante), soit l'omettre de properties_list (auquel cas une valeur "
"générée est utilisée). Cette dernière option est seulement disponible si "
"vous utilisez le générateur d'identifiant qui opère dans la base de "
"données ; tenter d'utiliser cette option avec n'importe quel type de "
"générateur \"en mémoire\" causera une exception durant l'analyse. Notez que "
"pour les buts de cette discussion, les générateurs \"en base\" sont "
"considérés comme <literal>org.hibernate.id.SequenceGenerator (et "
"ses classes filles) et n'importe quelles implémentations de <literal>org."
"hibernate.id.PostInsertIdentifierGenerator</literal>. L'exception la plus "
"notable ici est <literal>org.hibernate.id.TableHiLoGenerator, qui "
"ne peut pas être utilisée parce qu'elle ne propose pas de moyen d'obtenir "
"ses valeurs par un select. "
#. Tag: para
#, no-c-format
msgid ""
"For properties mapped as either <literal>version or "
"<literal>timestamp, the insert statement gives you two options. "
"You can either specify the property in the properties_list, in which case "
"its value is taken from the corresponding select expressions, or omit it "
"from the properties_list, in which case the <literal>seed value "
"defined by the <literal>org.hibernate.type.VersionType is used."
msgstr ""
"Pour des propriétés mappées comme <literal>version ou "
"<literal>timestamp, l'expression d'insertion vous donne deux "
"options. Vous pouvez soit spécifier la propriété dans properties_list "
"(auquel cas sa valeur est extraite des expressions select correspondantes), "
"soit l'omettre de properties_list (auquel cas la <literal>seed valueorg.hibernate.type.VersionType "
"est utilisée). "
#. Tag: para
#, no-c-format
msgid ""
"The following is an example of an HQL <literal>INSERT statement "
"execution:"
msgstr ""
"Un exemple d'exécution d'une expression HQL <literal>INSERT : "
Other Hibernate examples (source code examples)
Here is a short list of links related to this Hibernate batch.po source code file: