|
Hibernate example source code file (portability.po)
This example Hibernate source code file (portability.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 portability.po source code
# translation of portability.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: portability\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-03-25 06:26+0000\n"
"PO-Revision-Date: 2010-01-05 09:42+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
#: portability.xml:31
#, no-c-format
msgid "Database Portability Considerations"
msgstr "Considérations de portabilité des bases de données"
#. Tag: title
#: portability.xml:34
#, no-c-format
msgid "Portability Basics"
msgstr "Aspects fondamentaux de la portabilité"
#. Tag: para
#: portability.xml:36
#, no-c-format
msgid ""
"One of the selling points of Hibernate (and really Object/Relational Mapping "
"as a whole) is the notion of database portability. This could mean an "
"internal IT user migrating from one database vendor to another, or it could "
"mean a framework or deployable application consuming Hibernate to "
"simultaneously target multiple database products by their users. Regardless "
"of the exact scenario, the basic idea is that you want Hibernate to help you "
"run against any number of databases without changes to your code, and "
"ideally without any changes to the mapping metadata."
msgstr ""
"La portabilité des bases de données est un des atouts qui sont mis en avant "
"pour vendre Hibernate (et plus largement le mappage objet/relationnel dans "
"son ensemble). Il pourrait s'agir d'un utilisateur IT interne qui migre "
"d'une base de données de fournisseur vers une autre, ou il pourrait s'agir "
"d'un framework ou d'une application déployable consommant Hibernate pour "
"cibler simultanément plusieurs produits de base de données par leurs "
"utilisateurs. Quel que soit le scénario exact, l'idée de base est que vous "
"souhaitez que HIBERNATE vous permettre d'exécuter avec un certain nombre de "
"bases de données sans modifications à votre code et idéalement sans "
"modifications des métadonnées de mappage."
#. Tag: title
#: portability.xml:47
#, no-c-format
msgid "Dialect"
msgstr "Dialecte"
#. Tag: para
#: portability.xml:49
#, no-c-format
msgid ""
"The first line of portability for Hibernate is the dialect, which is a "
"specialization of the <classname>org.hibernate.dialect.Dialect "
"contract. A dialect encapsulates all the differences in how Hibernate must "
"communicate with a particular database to accomplish some task like getting "
"a sequence value or structuring a SELECT query. Hibernate bundles a wide "
"range of dialects for many of the most popular databases. If you find that "
"your particular database is not among them, it is not terribly difficult to "
"write your own."
msgstr ""
"La première ligne de la portabilité d'Hibernate est le dialecte, qui est une "
"spécialisation du contrat <classname>org.Hibernate.dialect.dialect"
"classname>. Un dialecte encapsule toutes les différences selon lesquelles "
"Hibernate doit communiquer avec une base de données particulière pour "
"accomplir certaines tâches comme l'obtention d'une valeur de la séquence ou "
"de structuration d'une requête SELECT. Hibernate regroupe un large éventail "
"de dialectes pour la plupart des bases de données les plus communes. Si vous "
"trouvez que votre base de données particulière n'en fait pas partie, il "
"n'est pas difficile d'écrire votre propre dialecte."
#. Tag: title
#: portability.xml:60
#, no-c-format
msgid "Dialect resolution"
msgstr "Résolution de dialecte"
#. Tag: para
#: portability.xml:62
#, no-c-format
msgid ""
"Originally, Hibernate would always require that users specify which dialect "
"to use. In the case of users looking to simultaneously target multiple "
"databases with their build that was problematic. Generally this required "
"their users to configure the Hibernate dialect or defining their own method "
"of setting that value."
msgstr ""
"À l'origine, Hibernate exigeait toujours que les utilisateurs spécifient "
"quel dialecte utiliser. Dans le cas des utilisateurs qui cherchent à cibler "
"simultanément plusieurs bases de données avec leur version, c'était "
"problématique. Généralement cela amenait leurs utilisateurs à configurer le "
"dialecte Hibernate ou à définir leur propre méthode de définition de cette "
"valeur."
#. Tag: para
#: portability.xml:69
#, no-c-format
msgid ""
"Starting with version 3.2, Hibernate introduced the notion of automatically "
"detecting the dialect to use based on the <interfacename>java.sql."
"DatabaseMetaData</interfacename> obtained from a java.sql."
"Connection</interfacename> to that database. This was much better, expect "
"that this resolution was limited to databases Hibernate know about ahead of "
"time and was in no way configurable or overrideable."
msgstr ""
"A partir de la version 3.2, Hibernate a introduit la détection "
"automatiquement du dialecte à utiliser basé sur les <interfacename>Java.SQL."
"DatabaseMetaData</interfacename> obtenues à partir d'un Java."
"SQL.Connexion</interfacename> vers cette base de données. C'était beaucoup "
"mieux, sauf que cette résolution a été limitée aux bases de données déjà "
"connues d'Hibernate et elle n'était ni configurable, ni remplaçable."
#. Tag: para
#: portability.xml:77
#, fuzzy, no-c-format
msgid ""
"Starting with version 3.3, Hibernate has a fare more powerful way to "
"automatically determine which dialect to should be used by relying on a "
"series of delegates which implement the <interfacename>org.hibernate.dialect."
"resolver.DialectResolver</interfacename> which defines only a single method:"
"<programlisting role=\"JAVA\"> constant on org.hibernate."
"cfg.Environment</classname>)."
msgstr ""
"Le bon côté de ces outils de résolution, c'est que les utilisateurs peuvent "
"également enregistrer leurs propres outils de résolution personnalisés, qui "
"seront traités avant les résolveurs Hibernate intégrés. Cette option peut "
"être utile dans un certain nombre de situations différentes : elle permet "
"une intégration aisée pour la détection automatique des dialectes au-delà de "
"ceux qui sont livrés avec Hibernate lui-même ; elle vous permet de spécifier "
"d'utiliser un dialecte personnalisé lorsqu'une base de données particulière "
"est reconnue ; etc.. Pour enregistrer un ou plusieurs outils de résolution, "
"il vous suffit de les spécifier (séparés par des virgules, des onglets ou "
"des espaces) à l'aide du paramètre de configuration 'hibernate."
"dialect_resolvers' (voir la constante <constant>DIALECT_RESOLVERS "
"sur <classname>cfg.Environment org.Hibernate.)."
#. Tag: title
#: portability.xml:103
#, no-c-format
msgid "Identifier generation"
msgstr "Générer les identifiants"
#. Tag: para
#: portability.xml:105
#, fuzzy, no-c-format
msgid ""
"When considering portability between databases, another important decision "
"is selecting the identifier generation stratagy you want to use. Originally "
"Hibernate provided the <emphasis>native generator for this "
"purpose, which was intended to select between a <emphasis>sequence"
"emphasis>, <emphasis>identity, or table "
"strategy depending on the capability of the underlying database. However, an "
"insidious implication of this approach comes about when targtetting some "
"databases which support <emphasis>identity generation and some "
"which do not. <emphasis>identity generation relies on the SQL "
"definition of an IDENTITY (or auto-increment) column to manage the "
"identifier value; it is what is known as a post-insert generation strategy "
"becauase the insert must actually happen before we can know the identifier "
"value. Because Hibernate relies on this identifier value to uniquely "
"reference entities within a persistence context it must then issue the "
"insert immediately when the users requests the entitiy be associated with "
"the session (like via save() e.g.) regardless of current transactional "
"semantics. <note> Hibernate was changed slightly once the implication "
"of this was better understood so that the insert is delayed in cases where "
"that is feasible. </para> The underlying issue is that the actual "
"semanctics of the application itself changes in these cases."
msgstr ""
"Quand on considère la portabilité entre les bases de données, la sélection "
"de stratégie de génération d'identifiant à utiliser est une autre décision "
"importante. Initialement, Hibernate fournissait le générateur "
"<emphasis>natif à cette fin, dans le but de choisir entre une "
"stratégie <emphasis>séquence, identité, ou "
"<emphasis>table suivant la capacité de la base de données sous-"
"jacente. Toutefois, une implication insidieuse de cette approche surgit au "
"moment de cibler certaines bases de données entre celles qui prennent en "
"charge la génération d' <emphasis>identité et celles qui ne la "
"prenne pas. La génération d'<emphasis>identité s'appuie sur la "
"définition SQL d'une colonne IDENTITY (ou auto-incrémentation) pour gérer la "
"valeur d'identificateur ; c'est ce qui est connu sous le nom de stratégie de "
"génération car l'insersion doit effectivement avoir lieu avant que nous "
"puissions connaître la valeur de l'identifiant. Étant donné qu'Hibernate "
"repose sur la valeur de cet identifiant pour indentifier les entités de "
"façon unique dans un contexte de persistance, il doit alors émettre "
"l'insertion immédiatement, quand les utilisateurs demandent que l'entité "
"soit associée à la session (comme par exemple, via save()) indépendamment de "
"la sémantique transactionnelle actuelle. La question sous-jacente est que la "
"sémantique de l'application elle-même change dans ces cas."
#. Tag: para
#: portability.xml:130
#, no-c-format
msgid ""
"Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
"targetting portability in a much different way. <note> There are "
"specifically 2 bundled <emphasis>enhancedgenerators: "
"<itemizedlist> org.hibernate.id.enhanced."
"SequenceStyleGenerator</classname> "
"<classname>org.hibernate.id.enhanced.TableGenerator "
"listitem> </itemizedlist> The idea behind these generators "
"is to port the actual semantics of the identifer value generation to the "
"different databases. For example, the <classname>org.hibernate.id.enhanced."
"SequenceStyleGenerator</classname> mimics the behavior of a sequence on "
"databases which do not support sequences by using a table."
msgstr ""
#. Tag: title
#: portability.xml:159
#, no-c-format
msgid "Database functions"
msgstr "Fonctions de base de données"
#. Tag: para
#: portability.xml:162
#, no-c-format
msgid ""
"This is an area in Hibernate in need of improvement. In terms of portability "
"concerns, this function handling currently works pretty well from HQL; "
"however, it is quite lacking in all other aspects."
msgstr ""
#. Tag: para
#: portability.xml:169
#, fuzzy, no-c-format
msgid ""
"SQL functions can be referenced in many ways by users. However, not all "
"databases support the same set of functions. Hibernate, provides a means of "
"mapping a <emphasis>logical function name to a delegate which "
"knows how to render that particular function, perhaps even using a totally "
"different physical function call."
msgstr ""
"Les fonctions SQL peuvent être référencées de bien des façons par les "
"utilisateurs. Cependant, toutes les bases de données ne supportent pas le "
"même groupe de fonctions. Hibernate procure une façon de faire correspondre "
"un nom de fonction <emphasis>logique à un délégué qui sait "
"comment traduire cette fonction particulière, peut-être en utilisant un "
"appel de fonction physique totalement différente."
#. Tag: para
#: portability.xml:175
#, no-c-format
msgid ""
"Technically this function registration is handled through the <classname>org."
"hibernate.dialect.function.SQLFunctionRegistry</classname> class which is "
"intended to allow users to provide custom function definitions without "
"having to provide a custom dialect. This specific behavior is not fully "
"completed as of yet."
msgstr ""
"Techniquement, cet enregistrement de la fonction est géré par le biais de la "
"classe <classname>hibernate.dialect.function.SQLFunctionRegistry org."
"classname> qui est destinée à permettre aux utilisateurs de fournir des "
"définitions de fonction personnalisée sans avoir à fournir un dialecte "
"personnalisé. Ce comportement spécifique n'est pas encore entièrement "
"terminé."
#. Tag: para
#: portability.xml:182
#, no-c-format
msgid ""
"It is sort of implemented such that users can programatically register "
"functions with the <classname>org.hibernate.cfg.Configuration "
"and those functions will be recognized for HQL."
msgstr ""
"Il est mis en oeuvre de telle sorte que les utilisateurs peuvent enregistrer "
"des fonctions par programmation avec <classname>org.Hibernate.cfg."
"Configuration</classname> et ces fonctions seront reconnues pour HQL."
#. Tag: title
#: portability.xml:192
#, no-c-format
msgid "Type mappings"
msgstr ""
#. Tag: para
#: portability.xml:194
#, no-c-format
msgid "This section scheduled for completion at a later date..."
msgstr ""
#, fuzzy
#~ msgid ""
#~ "Hibernate was changed slightly once the implication of this was better "
#~ "understood so that the insert is delayed in cases where that is feasible."
#~ msgstr ""
#~ "Hibernate a été amélioré de façon à ce que l'insertion puisse être "
#~ "retardée quand c'est possible."
#~ msgid ""
#~ "Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
#~ "\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier "
#~ "generators targetting portability in a much different way."
#~ msgstr ""
#~ "A partir de la version 3.2.3, Hibernate est fourni avec un ensemble de "
#~ "générateurs d'identifiants <ulink url=\"http://in.relation.to/2082.lace"
#~ "\">améliorés</ulink>qui ciblent la portabilité d'une façon très "
#~ "différente."
#~ msgid ""
#~ "There are specifically 2 bundled <emphasis>enhancedgenerators:"
#~ msgstr ""
#~ "Il existe 2 générateurs <emphasis>améliorés spécifiques qui "
#~ "sont livrés."
#, fuzzy
#~ msgid ""
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator"
#~ msgstr ""
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator"
#, fuzzy
#~ msgid "<classname>org.hibernate.id.enhanced.TableGenerator"
#~ msgstr "<classname>org.hibernate.id.enhanced.TableGenerator"
#~ msgid ""
#~ "The idea behind these generators is to port the actual semantics of the "
#~ "identifer value generation to the different databases. For example, the "
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator "
#~ "mimics the behavior of a sequence on databases which do not support "
#~ "sequences by using a table."
#~ msgstr ""
#~ "L'idée qui se cache là derrière, c'est de porter la sémantique de la "
#~ "génération de la valeur d'identifiant vers les bases de données diverses. "
#~ "Ainsi, <classname>org.hibernate.id.enhanced.SequenceStyleGenerator"
#~ "classname> imite le comportement d'une séquence de databases, ne "
#~ "supportant pas les séquences par une table."
#~ msgid ""
#~ "This is a new area in Hibernate and as such it is not as mature as the "
#~ "overall Hibernate experience."
#~ msgstr ""
#~ "Il s'agit d'une nouveau domaine pour Hibernate, et de ce fait, n'a pas "
#~ "encore atteint une maturité."
Other Hibernate examples (source code examples)
Here is a short list of links related to this Hibernate portability.po source code file:
|