HHH-4940 added po and pot files and a minor correct

git-svn-id: https://svn.jboss.org/repos/hibernate/core/trunk@19112 1b8cb986-b30d-0410-93ca-fae66ebed9b2
This commit is contained in:
Strong Liu 2010-03-25 06:51:01 +00:00
parent 3ad551a88a
commit 3cf67d5714
16 changed files with 8443 additions and 468 deletions

View File

@ -275,7 +275,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-03-12T00:03:47\n"
"POT-Creation-Date: 2010-03-25 06:26+0000\n"
"PO-Revision-Date: 2007-02-26 10:27+1000\n"
"Last-Translator: \n"
"Language-Team: <de@li.org>\n"
@ -285,16 +285,19 @@ msgstr ""
"X-Generator: KBabel 1.9.1\n"
#. Tag: title
#: portability.xml:31
#, fuzzy, no-c-format
msgid "Database Portability Considerations"
msgstr "Abgrenzung von Datenbanktransaktionen"
#. Tag: title
#: portability.xml:34
#, no-c-format
msgid "Portability Basics"
msgstr ""
#. Tag: para
#: portability.xml:36
#, no-c-format
msgid ""
"One of the selling points of Hibernate (and really Object/Relational Mapping "
@ -308,11 +311,13 @@ msgid ""
msgstr ""
#. Tag: title
#: portability.xml:47
#, no-c-format
msgid "Dialect"
msgstr "Dialekt"
#. Tag: para
#: portability.xml:49
#, no-c-format
msgid ""
"The first line of portability for Hibernate is the dialect, which is a "
@ -326,11 +331,13 @@ msgid ""
msgstr ""
#. Tag: title
#: portability.xml:60
#, no-c-format
msgid "Dialect resolution"
msgstr ""
#. Tag: para
#: portability.xml:62
#, no-c-format
msgid ""
"Originally, Hibernate would always require that users specify which dialect "
@ -341,6 +348,7 @@ msgid ""
msgstr ""
#. Tag: para
#: portability.xml:69
#, no-c-format
msgid ""
"Starting with version 3.2, Hibernate introduced the notion of automatically "
@ -352,26 +360,28 @@ msgid ""
msgstr ""
#. Tag: para
#: portability.xml:77
#, 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\">public Dialect resolveDialect(DatabaseMetaData "
"metaData) throws JDBCConnectionException</programlisting>. The basic "
"contract here is that if the resolver 'understands' the given database "
"metadata then it returns the corresponding Dialect; if not it returns null "
"and the process continues to the next resolver. The signature also "
"identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</"
"exceptionname> as possibly being thrown. A JDBCConnectionException here is "
"interpreted to imply a \"non transient\" (aka non-recoverable) connection "
"problem and is used to indicate an immediate stop to resolution attempts. "
"All other exceptions result in a warning and continuing on to the next "
"resolver."
"<programlisting role=\"JAVA\"><![CDATA[public Dialect resolveDialect"
"(DatabaseMetaData metaData) throws JDBCConnectionException]]></"
"programlisting>. The basic contract here is that if the resolver "
"'understands' the given database metadata then it returns the corresponding "
"Dialect; if not it returns null and the process continues to the next "
"resolver. The signature also identifies <exceptionname>org.hibernate."
"exception.JDBCConnectionException</exceptionname> as possibly being thrown. "
"A JDBCConnectionException here is interpreted to imply a \"non transient"
"\" (aka non-recoverable) connection problem and is used to indicate an "
"immediate stop to resolution attempts. All other exceptions result in a "
"warning and continuing on to the next resolver."
msgstr ""
#. Tag: para
#: portability.xml:90
#, no-c-format
msgid ""
"The cool part about these resolvers is that users can also register their "
@ -387,11 +397,13 @@ msgid ""
msgstr ""
#. Tag: title
#: portability.xml:103
#, fuzzy, no-c-format
msgid "Identifier generation"
msgstr "Die \"Getter\"-Methode des Bezeichners"
#. Tag: para
#: portability.xml:105
#, no-c-format
msgid ""
"When considering portability between databases, another important decision "
@ -410,63 +422,38 @@ msgid ""
"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."
msgstr ""
#. Tag: para
#, no-c-format
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 ""
#. Tag: note
#, no-c-format
msgid ""
"The underlying issue is that the actual semanctics of the application itself "
"changes in these cases."
"semantics. <note> <para> 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> </note> The underlying issue is that the actual "
"semanctics of the application itself changes in these cases."
msgstr ""
#. 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."
msgstr ""
#. Tag: para
#, no-c-format
msgid ""
"There are specifically 2 bundled <emphasis>enhanced</emphasis>generators:"
msgstr ""
#. Tag: para
#, fuzzy, no-c-format
msgid "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
msgstr "org.hibernate.cache.TreeCacheProvider"
#. Tag: para
#, fuzzy, no-c-format
msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
msgstr "org.hibernate.cache.TreeCacheProvider"
#. Tag: note
#, no-c-format
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</classname> "
"mimics the behavior of a sequence on databases which do not support "
"sequences by using a table."
"targetting portability in a much different way. <note> <para> There are "
"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
"listitem> </itemizedlist> </para> </note> 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
#, fuzzy, no-c-format
msgid "Database functions"
msgstr "Aggregierte Funktionen"
#. Tag: para
#: portability.xml:162
#, no-c-format
msgid ""
"This is an area in Hibernate in need of improvement. In terms of portability "
@ -475,6 +462,7 @@ msgid ""
msgstr ""
#. Tag: para
#: portability.xml:169
#, no-c-format
msgid ""
"SQL functions can be referenced in many ways by users. However, not all "
@ -485,6 +473,7 @@ msgid ""
msgstr ""
#. Tag: para
#: portability.xml:175
#, no-c-format
msgid ""
"Technically this function registration is handled through the <classname>org."
@ -495,6 +484,7 @@ msgid ""
msgstr ""
#. Tag: para
#: portability.xml:182
#, no-c-format
msgid ""
"It is sort of implemented such that users can programatically register "
@ -503,11 +493,22 @@ msgid ""
msgstr ""
#. 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 ""
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#~ msgstr "org.hibernate.cache.TreeCacheProvider"
#, fuzzy
#~ msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#~ msgstr "org.hibernate.cache.TreeCacheProvider"

File diff suppressed because it is too large Load Diff

View File

@ -36,7 +36,7 @@
<para>
Hibernate's treatment of <emphasis>read-only</emphasis> entities may
differ from what you may have encountered elsewhere. Incorrect usage
may cause unexpected results.
may cause unexpected results.
</para>
</important>
@ -109,7 +109,7 @@
<para>
Hibernate does some optimizing for read-only entities:
</para>
</para>
<itemizedlist>
<listitem>
<para>
@ -118,7 +118,7 @@
</para>
</listitem>
<listitem>
<para>
<para>
It saves memory by deleting database snapshots.
</para>
</listitem>
@ -176,7 +176,7 @@
<para>
When an entity instance of an immutable class is made
persistent, Hibernate automatically makes it read-only.
</para>
</para>
<para>
An entity of an immutable class can created
and deleted the same as an entity of a mutable class.
@ -236,12 +236,12 @@
</para>
</listitem>
<listitem>
<para>
<para>
Session.merge()
</para>
</listitem>
<listitem>
<para>
<para>
executing, scrolling, or iterating HQL queries and
criteria; to override this setting for a particular
HQL query or criteria see
@ -269,7 +269,7 @@
</para>
</listitem>
<listitem>
<para>
<para>
persistent entities added by the application via
Session.persist(), Session.save(), and Session.update()
Session.saveOrUpdate()
@ -393,7 +393,7 @@ session.close();
To make a persistent entity or proxy read-only, call:
</para>
<programlisting>Session.setReadOnly(entityOrProxy, true)</programlisting>
<para>
To change a read-only entity or proxy of a mutable class so
it is no longer read-only, call:
@ -412,8 +412,8 @@ session.close();
<para>
To throw away non-flushed changes and make the persistent entity
consistent with its database representation, call: </para>
<programlisting role="Java">session.refresh( entity );</programlisting>
consistent with its database representation, call: </para>
<programlisting role="Java">session.refresh( entity );</programlisting>
<para>
To flush changes made before or while the entity
@ -421,15 +421,15 @@ session.close();
consistent with the current state of the persistent
entity:
</para>
<programlisting role="Java">
// evict the read-only entity so it is detached
session.evict( entity );
// make the detached entity (with the non-flushed changes) persistent
session.update( entity );
// now entity is no longer read-only and its changes can be flushed
s.flush();
<programlisting role="Java">
// evict the read-only entity so it is detached
session.evict( entity );
// make the detached entity (with the non-flushed changes) persistent
session.update( entity );
// now entity is no longer read-only and its changes can be flushed
s.flush();
</programlisting>
</section>
</section>
@ -535,15 +535,15 @@ s.flush();
<section id="readonly-proptypes-simple">
<title>Simple properties</title>
<para>
<para>
When a persistent object is read-only, Hibernate does not
dirty-check simple properties.
</para>
dirty-check simple properties.
</para>
<para>
Hibernate will not synchronize simple property state changes
to the database. If you have automatic versioning, Hibernate
will not increment the version if any simple properties change.
will not increment the version if any simple properties change.
</para>
<programlisting role="Java">
@ -571,9 +571,9 @@ session.close();
<section id="readonly-prop-types-unidir">
<title>Unidirectional associations</title>
<section id="readonly-proptypes-singleended-unidir">
<title>Unidirectional one-to-one and many-to-one</title>
<title>Unidirectional one-to-one and many-to-one</title>
<para>
Hibernate treats unidirectional one-to-one and many-to-one
@ -590,8 +590,8 @@ session.close();
<para>
Hibernate does not dirty-check unidirectional single-ended
associations when the owning entity is read-only.
</para>
associations when the owning entity is read-only.
</para>
<para>
If you change a read-only entity's reference to a
@ -614,7 +614,7 @@ session.close();
<para>
If automatic versioning is used, Hibernate will not
increment the version due to local changes to
unidirectional single-ended associations.
unidirectional single-ended associations.
</para>
<para>
@ -707,7 +707,7 @@ session.close();</programlisting>
<para>
If automatic versioning is used, Hibernate will
update the version due to changes in the collection
if they dirty the owning entity.
if they dirty the owning entity.
</para>
</section>
@ -728,7 +728,7 @@ session.close();</programlisting>
<itemizedlist>
<listitem>
<para>
Hibernate does not dirty-check the association.
Hibernate does not dirty-check the association.
</para>
</listitem>
<listitem>
@ -739,16 +739,16 @@ session.close();</programlisting>
</para>
</listitem>
<listitem>
<para>
<para>
If automatic versioning is used, Hibernate will not
increment the version due to local changes to
the association.
the association.
</para>
</listitem>
</itemizedlist>
<note>
<para>
<para>
If an entity is of an immutable class,
and it owns a bidirectional one-to-one
association, then its reference must be
@ -789,7 +789,7 @@ session.close();</programlisting>
</para>
</listitem>
<listitem>
<para>
<para>
the one-to-many side uses a non-inverse collection
that contains the read-only entity
</para>
@ -848,7 +848,7 @@ session.close();</programlisting>
If automatic versioning is used, Hibernate will
update the version due to changes in both sides of
the collection if they dirty the entity owning the
respective collections.
respective collections.
</para>
</section>

View File

@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: portability\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-03-12T00:03:47\n"
"POT-Creation-Date: 2010-03-25 06:26+0000\n"
"PO-Revision-Date: 2010-03-17 12:19+1000\n"
"Last-Translator: Angela Garcia <agarcia@redhat.com>\n"
"Language-Team: <en@li.org>\n"
@ -24,16 +24,19 @@ msgstr ""
"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#: portability.xml:31
#, no-c-format
msgid "Database Portability Considerations"
msgstr "Consideraciones de la portabilidad de la base de datos"
#. Tag: title
#: portability.xml:34
#, no-c-format
msgid "Portability Basics"
msgstr "Aspectos básicos de la portabilidad"
#. Tag: para
#: portability.xml:36
#, no-c-format
msgid ""
"One of the selling points of Hibernate (and really Object/Relational Mapping "
@ -56,11 +59,13 @@ msgstr ""
"cambiar los metadatos de mapeo. "
#. Tag: title
#: portability.xml:47
#, no-c-format
msgid "Dialect"
msgstr "Dialecto"
#. Tag: para
#: portability.xml:49
#, no-c-format
msgid ""
"The first line of portability for Hibernate is the dialect, which is a "
@ -83,11 +88,13 @@ msgstr ""
"el propio."
#. Tag: title
#: portability.xml:60
#, no-c-format
msgid "Dialect resolution"
msgstr "Resolución del dialecto"
#. Tag: para
#: portability.xml:62
#, no-c-format
msgid ""
"Originally, Hibernate would always require that users specify which dialect "
@ -104,6 +111,7 @@ msgstr ""
"establecer ese valor. "
#. Tag: para
#: portability.xml:69
#, no-c-format
msgid ""
"Starting with version 3.2, Hibernate introduced the notion of automatically "
@ -122,41 +130,43 @@ msgstr ""
"se podía sobreescribir."
#. Tag: para
#, no-c-format
#: 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\">public Dialect resolveDialect(DatabaseMetaData "
"metaData) throws JDBCConnectionException</programlisting>. The basic "
"contract here is that if the resolver 'understands' the given database "
"metadata then it returns the corresponding Dialect; if not it returns null "
"and the process continues to the next resolver. The signature also "
"identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</"
"exceptionname> as possibly being thrown. A JDBCConnectionException here is "
"interpreted to imply a \"non transient\" (aka non-recoverable) connection "
"problem and is used to indicate an immediate stop to resolution attempts. "
"All other exceptions result in a warning and continuing on to the next "
"resolver."
"<programlisting role=\"JAVA\"><![CDATA[public Dialect resolveDialect"
"(DatabaseMetaData metaData) throws JDBCConnectionException]]></"
"programlisting>. The basic contract here is that if the resolver "
"'understands' the given database metadata then it returns the corresponding "
"Dialect; if not it returns null and the process continues to the next "
"resolver. The signature also identifies <exceptionname>org.hibernate."
"exception.JDBCConnectionException</exceptionname> as possibly being thrown. "
"A JDBCConnectionException here is interpreted to imply a \"non transient"
"\" (aka non-recoverable) connection problem and is used to indicate an "
"immediate stop to resolution attempts. All other exceptions result in a "
"warning and continuing on to the next resolver."
msgstr ""
"Empezando por la versión 3.3, Hibernate cuenta con una manera más poderosa "
"de determinar automáticamente cuál dialecto se debe utilizar dependiendo de "
"una serie de delegados, los cuales implementan el <interfacename>org."
"hibernate.dialect.resolver.DialectResolver</interfacename>. Este define un método único:<programlisting>public Dialect resolveDialect"
"(DatabaseMetaData metaData) throws JDBCConnectionException</programlisting>. "
"El contrato básico aquí es que si el resolvedor 'entiende' los metadatos de "
"la base de datos dada entonces retorna el dialecto correspondiente; si no "
"entonces retorna nulo y el proceso continua al siguiente resolvedor. La "
"firma también identifica <exceptionname>org.hibernate.exception."
"JDBCConnectionException</exceptionname> ya que posiblemente se presenta. Una "
"JDBCConnectionException aquí se interpreta como un problema de conexión \"no "
"transitorio\" (también conocido como no-recuperable) y se utiliza para "
"indicar que se deben detener inmediatamente los intentos de resolución. "
"Todas las otras excepciones resultan en una advertencia y continua al "
"siguiente resolvedor. "
"hibernate.dialect.resolver.DialectResolver</interfacename>. Este define un "
"método único:<programlisting>public Dialect resolveDialect(DatabaseMetaData "
"metaData) throws JDBCConnectionException</programlisting>. El contrato "
"básico aquí es que si el resolvedor 'entiende' los metadatos de la base de "
"datos dada entonces retorna el dialecto correspondiente; si no entonces "
"retorna nulo y el proceso continua al siguiente resolvedor. La firma también "
"identifica <exceptionname>org.hibernate.exception.JDBCConnectionException</"
"exceptionname> ya que posiblemente se presenta. Una JDBCConnectionException "
"aquí se interpreta como un problema de conexión \"no transitorio\" (también "
"conocido como no-recuperable) y se utiliza para indicar que se deben detener "
"inmediatamente los intentos de resolución. Todas las otras excepciones "
"resultan en una advertencia y continua al siguiente resolvedor. "
#. Tag: para
#: portability.xml:90
#, no-c-format
msgid ""
"The cool part about these resolvers is that users can also register their "
@ -183,12 +193,14 @@ msgstr ""
"Environment</classname>)."
#. Tag: title
#: portability.xml:103
#, no-c-format
msgid "Identifier generation"
msgstr "Generación del identificador"
#. Tag: para
#, no-c-format
#: 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 "
@ -206,7 +218,10 @@ msgid ""
"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."
"semantics. <note> <para> 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> </note> The underlying issue is that the actual "
"semanctics of the application itself changes in these cases."
msgstr ""
"Al considerar la portabilidad entre bases de datos, otra decisión importante "
"es el seleccionar la estrategia de generación del identificador que quiere "
@ -228,76 +243,43 @@ msgstr ""
"medio de save()) sin importar la semántica transaccional actual."
#. Tag: para
#, no-c-format
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 ha cambiado un poco ya que se comprendió un poco mejor las implicaciones de esto de manera que el insert se retrasa en los casos en "
"donde esto posible. "
#. Tag: note
#, no-c-format
msgid ""
"The underlying issue is that the actual semanctics of the application itself "
"changes in these cases."
msgstr "El problema subyacente es que la semántica real de la aplicación misma cambia en estos casos."
#. 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."
"targetting portability in a much different way. <note> <para> There are "
"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
"listitem> </itemizedlist> </para> </note> 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 ""
"Desde la versión 3.2.3, Hibernate viene junto con un grupo de generadores "
"identificadores <ulink url=\"http://in.relation.to/2082.lace\">mejorados</"
"ulink> apuntando a la portabilidad de una manera muy diferente."
#. Tag: para
#, no-c-format
msgid "There are specifically 2 bundled <emphasis>enhanced</emphasis>generators:"
msgstr "Hay especificamente 2 paquetes de generadores <emphasis>mejorados</emphasis>:"
#. Tag: para
#, no-c-format
msgid "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
msgstr "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#. Tag: para
#, no-c-format
msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
msgstr "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#. Tag: note
#, no-c-format
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</classname> "
"mimics the behavior of a sequence on databases which do not support "
"sequences by using a table."
msgstr ""
"La idea detrás de estos generadores es el llevar la semántica de la "
"generación del valor identificador a las diferentes bases de datos. Por "
"ejemplo, el <classname>org.hibernate.id.enhanced.SequenceStyleGenerator</"
"classname> asemeja el comportamiento de una secuencia en las bases de datos "
"que no soportan secuencias usando una tabla."
#. Tag: title
#: portability.xml:159
#, no-c-format
msgid "Database functions"
msgstr "Funciones de la base de datos"
#. 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 "Esta es un área en la que Hibernate necesita mejorar. En términos de qué tan portatil puede ser, esta función que se maneja actualmente trabaja bastante bien desde HQL; sin embargo, en otros aspectos le falta mucho. "
msgstr ""
"Esta es un área en la que Hibernate necesita mejorar. En términos de qué tan "
"portatil puede ser, esta función que se maneja actualmente trabaja bastante "
"bien desde HQL; sin embargo, en otros aspectos le falta mucho. "
#. Tag: para
#: portability.xml:169
#, no-c-format
msgid ""
"SQL functions can be referenced in many ways by users. However, not all "
@ -314,6 +296,7 @@ msgstr ""
"totalmente diferente."
#. Tag: para
#: portability.xml:175
#, no-c-format
msgid ""
"Technically this function registration is handled through the <classname>org."
@ -330,6 +313,7 @@ msgstr ""
"completo."
#. Tag: para
#: portability.xml:182
#, no-c-format
msgid ""
"It is sort of implemented such that users can programatically register "
@ -341,12 +325,64 @@ msgstr ""
"Configuration</classname> y aquellas funciones serán reconocidas por HQL."
#. Tag: title
#: portability.xml:192
#, no-c-format
msgid "Type mappings"
msgstr "Mapeos de tipo"
#. Tag: para
#: portability.xml:194
#, no-c-format
msgid "This section scheduled for completion at a later date..."
msgstr "Esta sección se completará en un futuro cercano..."
#~ 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 ha cambiado un poco ya que se comprendió un poco mejor las "
#~ "implicaciones de esto de manera que el insert se retrasa en los casos en "
#~ "donde esto posible. "
#~ msgid ""
#~ "The underlying issue is that the actual semanctics of the application "
#~ "itself changes in these cases."
#~ msgstr ""
#~ "El problema subyacente es que la semántica real de la aplicación misma "
#~ "cambia en estos casos."
#~ 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 ""
#~ "Desde la versión 3.2.3, Hibernate viene junto con un grupo de generadores "
#~ "identificadores <ulink url=\"http://in.relation.to/2082.lace\">mejorados</"
#~ "ulink> apuntando a la portabilidad de una manera muy diferente."
#~ msgid ""
#~ "There are specifically 2 bundled <emphasis>enhanced</emphasis>generators:"
#~ msgstr ""
#~ "Hay especificamente 2 paquetes de generadores <emphasis>mejorados</"
#~ "emphasis>:"
#~ msgid ""
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#~ msgstr ""
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#~ msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#~ msgstr "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#~ 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</classname> "
#~ "mimics the behavior of a sequence on databases which do not support "
#~ "sequences by using a table."
#~ msgstr ""
#~ "La idea detrás de estos generadores es el llevar la semántica de la "
#~ "generación del valor identificador a las diferentes bases de datos. Por "
#~ "ejemplo, el <classname>org.hibernate.id.enhanced.SequenceStyleGenerator</"
#~ "classname> asemeja el comportamiento de una secuencia en las bases de "
#~ "datos que no soportan secuencias usando una tabla."

File diff suppressed because it is too large Load Diff

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: portability\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-03-12T00:03:47\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"
@ -17,16 +17,19 @@ msgstr ""
"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 "
@ -50,11 +53,13 @@ msgstr ""
"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 "
@ -77,11 +82,13 @@ msgstr ""
"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 "
@ -98,6 +105,7 @@ msgstr ""
"valeur."
#. Tag: para
#: portability.xml:69
#, no-c-format
msgid ""
"Starting with version 3.2, Hibernate introduced the notion of automatically "
@ -115,23 +123,24 @@ msgstr ""
"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\">public Dialect resolveDialect(DatabaseMetaData "
"metaData) throws JDBCConnectionException</programlisting>. The basic "
"contract here is that if the resolver 'understands' the given database "
"metadata then it returns the corresponding Dialect; if not it returns null "
"and the process continues to the next resolver. The signature also "
"identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</"
"exceptionname> as possibly being thrown. A JDBCConnectionException here is "
"interpreted to imply a \"non transient\" (aka non-recoverable) connection "
"problem and is used to indicate an immediate stop to resolution attempts. "
"All other exceptions result in a warning and continuing on to the next "
"resolver."
"<programlisting role=\"JAVA\"><![CDATA[public Dialect resolveDialect"
"(DatabaseMetaData metaData) throws JDBCConnectionException]]></"
"programlisting>. The basic contract here is that if the resolver "
"'understands' the given database metadata then it returns the corresponding "
"Dialect; if not it returns null and the process continues to the next "
"resolver. The signature also identifies <exceptionname>org.hibernate."
"exception.JDBCConnectionException</exceptionname> as possibly being thrown. "
"A JDBCConnectionException here is interpreted to imply a \"non transient"
"\" (aka non-recoverable) connection problem and is used to indicate an "
"immediate stop to resolution attempts. All other exceptions result in a "
"warning and continuing on to the next resolver."
msgstr ""
"A partir de la version 3.3, Hibernate a un moyen bien plus puissant de "
"déterminer automatiquement quel dialecte devrait être utilisé en s'appuyant "
@ -150,6 +159,7 @@ msgstr ""
"exceptions entraînent un avertissement et de passer à la résolution suivante."
#. Tag: para
#: portability.xml:90
#, no-c-format
msgid ""
"The cool part about these resolvers is that users can also register their "
@ -177,11 +187,13 @@ msgstr ""
"sur <classname>cfg.Environment org.Hibernate.</classname>)."
#. 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 "
@ -200,7 +212,10 @@ msgid ""
"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."
"semantics. <note> <para> 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> </note> 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 "
@ -224,72 +239,31 @@ msgstr ""
"sémantique de l'application elle-même change dans ces cas."
#. Tag: para
#, fuzzy, no-c-format
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."
#. Tag: note
#, no-c-format
msgid ""
"The underlying issue is that the actual semanctics of the application itself "
"changes in these cases."
msgstr ""
#. 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."
"targetting portability in a much different way. <note> <para> There are "
"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
"listitem> </itemizedlist> </para> </note> 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 ""
"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."
#. Tag: para
#, no-c-format
msgid ""
"There are specifically 2 bundled <emphasis>enhanced</emphasis>generators:"
msgstr ""
"Il existe 2 générateurs <emphasis>améliorés</emphasis> spécifiques qui sont "
"livrés."
#. Tag: para
#, fuzzy, no-c-format
msgid "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
msgstr ""
"<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#. Tag: para
#, fuzzy, no-c-format
msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
msgstr "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#. Tag: note
#, no-c-format
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</classname> "
"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."
#. 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 "
@ -298,6 +272,7 @@ msgid ""
msgstr ""
#. Tag: para
#: portability.xml:169
#, fuzzy, no-c-format
msgid ""
"SQL functions can be referenced in many ways by users. However, not all "
@ -314,6 +289,7 @@ msgstr ""
"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."
@ -330,6 +306,7 @@ msgstr ""
"terminé."
#. Tag: para
#: portability.xml:182
#, no-c-format
msgid ""
"It is sort of implemented such that users can programatically register "
@ -341,15 +318,64 @@ msgstr ""
"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>enhanced</emphasis>generators:"
#~ msgstr ""
#~ "Il existe 2 générateurs <emphasis>améliorés</emphasis> spécifiques qui "
#~ "sont livrés."
#, fuzzy
#~ msgid ""
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#~ msgstr ""
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#, fuzzy
#~ msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#~ msgstr "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#~ 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</classname> "
#~ "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."

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-03-12T00:03:47\n"
"POT-Creation-Date: 2010-03-25 06:26+0000\n"
"PO-Revision-Date: 2010-01-20 17:03+1000\n"
"Last-Translator: Xi HUANG <xhuang@redhat.com>\n"
"Language-Team: <en@li.org>\n"
@ -14,16 +14,19 @@ msgstr ""
"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#: portability.xml:31
#, no-c-format
msgid "Database Portability Considerations"
msgstr ""
#. Tag: title
#: portability.xml:34
#, no-c-format
msgid "Portability Basics"
msgstr ""
#. Tag: para
#: portability.xml:36
#, no-c-format
msgid ""
"One of the selling points of Hibernate (and really Object/Relational Mapping "
@ -37,11 +40,13 @@ msgid ""
msgstr ""
#. Tag: title
#: portability.xml:47
#, no-c-format
msgid "Dialect"
msgstr ""
#. Tag: para
#: portability.xml:49
#, no-c-format
msgid ""
"The first line of portability for Hibernate is the dialect, which is a "
@ -55,11 +60,13 @@ msgid ""
msgstr ""
#. Tag: title
#: portability.xml:60
#, no-c-format
msgid "Dialect resolution"
msgstr ""
#. Tag: para
#: portability.xml:62
#, no-c-format
msgid ""
"Originally, Hibernate would always require that users specify which dialect "
@ -70,6 +77,7 @@ msgid ""
msgstr ""
#. Tag: para
#: portability.xml:69
#, no-c-format
msgid ""
"Starting with version 3.2, Hibernate introduced the notion of automatically "
@ -81,26 +89,28 @@ msgid ""
msgstr ""
#. Tag: para
#: portability.xml:77
#, 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\">public Dialect resolveDialect(DatabaseMetaData "
"metaData) throws JDBCConnectionException</programlisting>. The basic "
"contract here is that if the resolver 'understands' the given database "
"metadata then it returns the corresponding Dialect; if not it returns null "
"and the process continues to the next resolver. The signature also "
"identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</"
"exceptionname> as possibly being thrown. A JDBCConnectionException here is "
"interpreted to imply a \"non transient\" (aka non-recoverable) connection "
"problem and is used to indicate an immediate stop to resolution attempts. "
"All other exceptions result in a warning and continuing on to the next "
"resolver."
"<programlisting role=\"JAVA\"><![CDATA[public Dialect resolveDialect"
"(DatabaseMetaData metaData) throws JDBCConnectionException]]></"
"programlisting>. The basic contract here is that if the resolver "
"'understands' the given database metadata then it returns the corresponding "
"Dialect; if not it returns null and the process continues to the next "
"resolver. The signature also identifies <exceptionname>org.hibernate."
"exception.JDBCConnectionException</exceptionname> as possibly being thrown. "
"A JDBCConnectionException here is interpreted to imply a \"non transient"
"\" (aka non-recoverable) connection problem and is used to indicate an "
"immediate stop to resolution attempts. All other exceptions result in a "
"warning and continuing on to the next resolver."
msgstr ""
#. Tag: para
#: portability.xml:90
#, no-c-format
msgid ""
"The cool part about these resolvers is that users can also register their "
@ -116,11 +126,13 @@ msgid ""
msgstr ""
#. Tag: title
#: portability.xml:103
#, no-c-format
msgid "Identifier generation"
msgstr ""
#. Tag: para
#: portability.xml:105
#, no-c-format
msgid ""
"When considering portability between databases, another important decision "
@ -139,64 +151,38 @@ msgid ""
"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."
msgstr ""
#. Tag: para
#, no-c-format
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 ""
#. Tag: note
#, no-c-format
msgid ""
"The underlying issue is that the actual semanctics of the application itself "
"changes in these cases."
"semantics. <note> <para> 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> </note> The underlying issue is that the actual "
"semanctics of the application itself changes in these cases."
msgstr ""
#. 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."
msgstr ""
#. Tag: para
#, no-c-format
msgid ""
"There are specifically 2 bundled <emphasis>enhanced</emphasis>generators:"
msgstr ""
#. Tag: para
#, fuzzy, no-c-format
msgid "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
msgstr ""
"<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#. Tag: para
#, fuzzy, no-c-format
msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
msgstr "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#. Tag: note
#, no-c-format
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</classname> "
"mimics the behavior of a sequence on databases which do not support "
"sequences by using a table."
"targetting portability in a much different way. <note> <para> There are "
"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
"listitem> </itemizedlist> </para> </note> 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 ""
#. Tag: para
#: portability.xml:162
#, no-c-format
msgid ""
"This is an area in Hibernate in need of improvement. In terms of portability "
@ -205,6 +191,7 @@ msgid ""
msgstr ""
#. Tag: para
#: portability.xml:169
#, no-c-format
msgid ""
"SQL functions can be referenced in many ways by users. However, not all "
@ -215,6 +202,7 @@ msgid ""
msgstr ""
#. Tag: para
#: portability.xml:175
#, no-c-format
msgid ""
"Technically this function registration is handled through the <classname>org."
@ -225,6 +213,7 @@ msgid ""
msgstr ""
#. Tag: para
#: portability.xml:182
#, no-c-format
msgid ""
"It is sort of implemented such that users can programatically register "
@ -233,11 +222,23 @@ msgid ""
msgstr ""
#. 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 ""
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#~ msgstr ""
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#, fuzzy
#~ msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#~ msgstr "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"

File diff suppressed because it is too large Load Diff

View File

@ -1,143 +1,135 @@
#
# AUTHOR <EMAIL@ADDRESS>, YEAR.
# SOME DESCRIPTIVE TITLE.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 0\n"
"POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: 2010-02-11T05:38:15\n"
"Last-Translator: Automatically generated\n"
"Language-Team: None\n"
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-03-25 06:26+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <kde-i18n-doc@kde.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-publican; charset=UTF-8\n"
"Content-Type: application/x-xml2pot; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. Tag: title
#: portability.xml:31
#, no-c-format
msgid "Database Portability Considerations"
msgstr ""
#. Tag: title
#: portability.xml:34
#, no-c-format
msgid "Portability Basics"
msgstr ""
#. 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 ""
#. Tag: title
#: portability.xml:47
#, no-c-format
msgid "Dialect"
msgstr ""
#. 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</classname> 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 ""
#. Tag: title
#: portability.xml:60
#, no-c-format
msgid "Dialect resolution"
msgstr ""
#. 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 ""
#. 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 <interfacename>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 ""
#. Tag: para
#: portability.xml:77
#, 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\">public Dialect resolveDialect(DatabaseMetaData metaData) throws JDBCConnectionException</programlisting>. The basic contract here is that if the resolver 'understands' the given database metadata then it returns the corresponding Dialect; if not it returns null and the process continues to the next resolver. The signature also identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</exceptionname> as possibly being thrown. A JDBCConnectionException here is interpreted to imply a \"non transient\" (aka non-recoverable) connection problem and is used to indicate an immediate stop to resolution attempts. All other exceptions result in a warning and continuing on to the next resolver."
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\"><![CDATA[public Dialect resolveDialect(DatabaseMetaData metaData) throws JDBCConnectionException]]></programlisting>. The basic contract here is that if the resolver 'understands' the given database metadata then it returns the corresponding Dialect; if not it returns null and the process continues to the next resolver. The signature also identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</exceptionname> as possibly being thrown. A JDBCConnectionException here is interpreted to imply a \"non transient\" (aka non-recoverable) connection problem and is used to indicate an immediate stop to resolution attempts. All other exceptions result in a warning and continuing on to the next resolver."
msgstr ""
#. Tag: para
#: portability.xml:90
#, no-c-format
msgid "The cool part about these resolvers is that users can also register their own custom resolvers which will be processed ahead of the built-in Hibernate ones. This might be useful in a number of different situations: it allows easy integration for auto-detection of dialects beyond those shipped with HIbernate itself; it allows you to specify to use a custom dialect when a particular database is recognized; etc. To register one or more resolvers, simply specify them (seperated by commas, tabs or spaces) using the 'hibernate.dialect_resolvers' configuration setting (see the <constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate.cfg.Environment</classname>)."
msgstr ""
#. Tag: title
#: portability.xml:103
#, no-c-format
msgid "Identifier generation"
msgstr ""
#. Tag: para
#: portability.xml:105
#, 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</emphasis> generator for this purpose, which was intended to select between a <emphasis>sequence</emphasis>, <emphasis>identity</emphasis>, or <emphasis>table</emphasis> 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</emphasis> generation and some which do not. <emphasis>identity</emphasis> 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."
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</emphasis> generator for this purpose, which was intended to select between a <emphasis>sequence</emphasis>, <emphasis>identity</emphasis>, or <emphasis>table</emphasis> 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</emphasis> generation and some which do not. <emphasis>identity</emphasis> 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> <para> 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> </note> The underlying issue is that the actual semanctics of the application itself changes in these cases."
msgstr ""
#. Tag: para
#: portability.xml:130
#, no-c-format
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 ""
#. Tag: note
#, no-c-format
msgid "The underlying issue is that the actual semanctics of the application itself changes in these cases."
msgstr ""
#. Tag: para
#, 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."
msgstr ""
#. Tag: para
#, no-c-format
msgid "There are specifically 2 bundled <emphasis>enhanced</emphasis>generators:"
msgstr ""
#. Tag: para
#, no-c-format
msgid "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
msgstr ""
#. Tag: para
#, no-c-format
msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
msgstr ""
#. Tag: note
#, no-c-format
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</classname> mimics the behavior of a sequence on databases which do not support sequences by using a table."
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> <para> There are specifically 2 bundled <emphasis>enhanced</emphasis>generators: <itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> <classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </listitem> </itemizedlist> </para> </note> 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 ""
#. 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
#, 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</emphasis> function name to a a delegate which knows how to render that particular function, perhaps even using a totally different physical function call."
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</emphasis> function name to a delegate which knows how to render that particular function, perhaps even using a totally different physical function call."
msgstr ""
#. 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 ""
#. 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</classname> and those functions will be recognized for HQL."
msgstr ""
#. 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 ""

View File

@ -0,0 +1,951 @@
# SOME DESCRIPTIVE TITLE.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-03-25 06:26+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <kde-i18n-doc@kde.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-xml2pot; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. Tag: title
#: readonly.xml:33
#, no-c-format
msgid "Read-only entities"
msgstr ""
#. Tag: para
#: readonly.xml:36
#, no-c-format
msgid "Hibernate's treatment of <emphasis>read-only</emphasis> entities may differ from what you may have encountered elsewhere. Incorrect usage may cause unexpected results."
msgstr ""
#. Tag: para
#: readonly.xml:43
#, no-c-format
msgid "When an entity is read-only:"
msgstr ""
#. Tag: para
#: readonly.xml:48
#, no-c-format
msgid "Hibernate does not dirty-check the entity's simple properties or single-ended associations;"
msgstr ""
#. Tag: para
#: readonly.xml:54
#, no-c-format
msgid "Hibernate will not update simple properties or updatable single-ended associations;"
msgstr ""
#. Tag: para
#: readonly.xml:60
#, no-c-format
msgid "Hibernate will not update the version of the read-only entity if only simple properties or single-ended updatable associations are changed;"
msgstr ""
#. Tag: para
#: readonly.xml:69
#, no-c-format
msgid "In some ways, Hibernate treats read-only entities the same as entities that are not read-only:"
msgstr ""
#. Tag: para
#: readonly.xml:75
#, no-c-format
msgid "Hibernate cascades operations to associations as defined in the entity mapping."
msgstr ""
#. Tag: para
#: readonly.xml:81
#, no-c-format
msgid "Hibernate updates the version if the entity has a collection with changes that dirties the entity;"
msgstr ""
#. Tag: para
#: readonly.xml:87
#, no-c-format
msgid "A read-only entity can be deleted."
msgstr ""
#. Tag: para
#: readonly.xml:94
#, no-c-format
msgid "Even if an entity is not read-only, its collection association can be affected if it contains a read-only entity."
msgstr ""
#. Tag: para
#: readonly.xml:99
#, no-c-format
msgid "For details about the affect of read-only entities on different property and association types, see <xref linkend=\"readonly-proptypes\"/>."
msgstr ""
#. Tag: para
#: readonly.xml:105
#, no-c-format
msgid "For details about how to make entities read-only, see"
msgstr ""
#. Tag: para
#: readonly.xml:110
#, no-c-format
msgid "Hibernate does some optimizing for read-only entities:"
msgstr ""
#. Tag: para
#: readonly.xml:115
#, no-c-format
msgid "It saves execution time by not dirty-checking simple properties or single-ended associations."
msgstr ""
#. Tag: para
#: readonly.xml:121
#, no-c-format
msgid "It saves memory by deleting database snapshots."
msgstr ""
#. Tag: title
#: readonly.xml:128
#, no-c-format
msgid "Making persistent entities read-only"
msgstr ""
#. Tag: para
#: readonly.xml:130
#, no-c-format
msgid "Only persistent entities can be made read-only. Transient and detached entities must be put in persistent state before they can be made read-only."
msgstr ""
#. Tag: para
#: readonly.xml:136
#, no-c-format
msgid "Hibernate provides the following ways to make persistent entities read-only:"
msgstr ""
#. Tag: para
#: readonly.xml:142
#, no-c-format
msgid "you can map an entity class as <emphasis>immutable</emphasis>; when an entity of an immutable class is made persistent, Hibernate automatically makes it read-only. see <xref linkend=\"readonly-api-immutable\"/> for details"
msgstr ""
#. Tag: para
#: readonly.xml:150
#, no-c-format
msgid "you can change a default so that entities loaded into the session by Hibernate are automatically made read-only; see <xref linkend=\"readonly-api-loaddefault\"/> for details"
msgstr ""
#. Tag: para
#: readonly.xml:157
#, no-c-format
msgid "you can make an HQL query or criteria read-only so that entities loaded when the query or criteria executes, scrolls, or iterates, are automatically made read-only; see <xref linkend=\"readonly-api-querycriteria\"/> for details"
msgstr ""
#. Tag: para
#: readonly.xml:165
#, no-c-format
msgid "you can make a persistent entity that is already in the in the session read-only; see <xref linkend=\"readonly-api-entity\"/> for details"
msgstr ""
#. Tag: title
#: readonly.xml:174
#, no-c-format
msgid "Entities of immutable classes"
msgstr ""
#. Tag: para
#: readonly.xml:176
#, no-c-format
msgid "When an entity instance of an immutable class is made persistent, Hibernate automatically makes it read-only."
msgstr ""
#. Tag: para
#: readonly.xml:180
#, no-c-format
msgid "An entity of an immutable class can created and deleted the same as an entity of a mutable class."
msgstr ""
#. Tag: para
#: readonly.xml:185
#, no-c-format
msgid "Hibernate treats a persistent entity of an immutable class the same way as a read-only persistent entity of a mutable class. The only exception is that Hibernate will not allow an entity of an immutable class to be changed so it is not read-only."
msgstr ""
#. Tag: title
#: readonly.xml:196
#, no-c-format
msgid "Loading persistent entities as read-only"
msgstr ""
#. Tag: para
#: readonly.xml:199 readonly.xml:286
#, no-c-format
msgid "Entities of immutable classes are automatically loaded as read-only."
msgstr ""
#. Tag: para
#: readonly.xml:205
#, no-c-format
msgid "To change the default behavior so Hibernate loads entity instances of mutable classes into the session and automatically makes them read-only, call:"
msgstr ""
#. Tag: programlisting
#: readonly.xml:210
#, no-c-format
msgid "Session.setDefaultReadOnly( true );"
msgstr ""
#. Tag: para
#: readonly.xml:212
#, no-c-format
msgid "To change the default back so entities loaded by Hibernate are not made read-only, call:"
msgstr ""
#. Tag: programlisting
#: readonly.xml:216
#, no-c-format
msgid "Session.setDefaultReadOnly( false );"
msgstr ""
#. Tag: para
#: readonly.xml:218
#, no-c-format
msgid "You can determine the current setting by calling:"
msgstr ""
#. Tag: programlisting
#: readonly.xml:221
#, no-c-format
msgid "Session.isDefaultReadOnly();"
msgstr ""
#. Tag: para
#: readonly.xml:223
#, no-c-format
msgid "If Session.isDefaultReadOnly() returns true, entities loaded by the following are automatically made read-only:"
msgstr ""
#. Tag: para
#: readonly.xml:229
#, no-c-format
msgid "Session.load()"
msgstr ""
#. Tag: para
#: readonly.xml:234
#, no-c-format
msgid "Session.get()"
msgstr ""
#. Tag: para
#: readonly.xml:239
#, no-c-format
msgid "Session.merge()"
msgstr ""
#. Tag: para
#: readonly.xml:244
#, no-c-format
msgid "executing, scrolling, or iterating HQL queries and criteria; to override this setting for a particular HQL query or criteria see"
msgstr ""
#. Tag: para
#: readonly.xml:253
#, no-c-format
msgid "Changing this default has no effect on:"
msgstr ""
#. Tag: para
#: readonly.xml:258
#, no-c-format
msgid "persistent entities already in the session when the default was changed"
msgstr ""
#. Tag: para
#: readonly.xml:264
#, no-c-format
msgid "persistent entities that are refreshed via Session.refresh(); a refreshed persistent entity will only be read-only if it was read-only before refreshing"
msgstr ""
#. Tag: para
#: readonly.xml:272
#, no-c-format
msgid "persistent entities added by the application via Session.persist(), Session.save(), and Session.update() Session.saveOrUpdate()"
msgstr ""
#. Tag: title
#: readonly.xml:283
#, no-c-format
msgid "Loading read-only entities from an HQL query/criteria"
msgstr ""
#. Tag: para
#: readonly.xml:292
#, no-c-format
msgid "If Session.isDefaultReadOnly() returns false (the default) when an HQL query or criteria executes, then entities and proxies of mutable classes loaded by the query will not be read-only."
msgstr ""
#. Tag: para
#: readonly.xml:299
#, no-c-format
msgid "You can override this behavior so that entities and proxies loaded by an HQL query or criteria are automatically made read-only."
msgstr ""
#. Tag: para
#: readonly.xml:304
#, no-c-format
msgid "For an HQL query, call:"
msgstr ""
#. Tag: programlisting
#: readonly.xml:307
#, no-c-format
msgid "Query.setReadOnly( true );"
msgstr ""
#. Tag: para
#: readonly.xml:309
#, no-c-format
msgid "<literal>Query.setReadOnly( true )</literal> must be called before <literal>Query.list()</literal>, <literal>Query.uniqueResult()</literal>, <literal>Query.scroll()</literal>, or <literal>Query.iterate()</literal>"
msgstr ""
#. Tag: para
#: readonly.xml:315
#, no-c-format
msgid "For an HQL criteria, call:"
msgstr ""
#. Tag: programlisting
#: readonly.xml:318
#, no-c-format
msgid "Criteria.setReadOnly( true );"
msgstr ""
#. Tag: para
#: readonly.xml:320
#, no-c-format
msgid "<literal>Criteria.setReadOnly( true )</literal> must be called before <literal>Criteria.list()</literal>, <literal>Criteria.uniqueResult()</literal>, or <literal>Criteria.scroll()</literal>"
msgstr ""
#. Tag: para
#: readonly.xml:326
#, no-c-format
msgid "Entities and proxies that exist in the session before being returned by an HQL query or criteria are not affected."
msgstr ""
#. Tag: para
#: readonly.xml:331
#, no-c-format
msgid "Uninitialized persistent collections returned by the query are not affected. Later, when the collection is initialized, entities loaded into the session will be read-only if Session.isDefaultReadOnly() returns true."
msgstr ""
#. Tag: para
#: readonly.xml:338
#, no-c-format
msgid "Using <literal>Query.setReadOnly( true )</literal> or <literal>Criteria.setReadOnly( true )</literal> works well when a single HQL query or criteria loads all the entities and intializes all the proxies and collections that the application needs to be read-only."
msgstr ""
#. Tag: para
#: readonly.xml:346
#, no-c-format
msgid "When it is not possible to load and initialize all necessary entities in a single query or criteria, you can temporarily change the session default to load entities as read-only before the query is executed. Then you can explicitly initialize proxies and collections before restoring the session default."
msgstr ""
#. Tag: programlisting
#: readonly.xml:355
#, no-c-format
msgid ""
"Session session = factory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
" \n"
"setDefaultReadOnly( true );\n"
"Contract contract = \n"
" ( Contract ) session.createQuery(\n"
" \"from Contract where customerName = 'Sherman'\" )\n"
" .uniqueResult();\n"
"Hibernate.initialize( contract.getPlan() );\n"
"Hibernate.initialize( contract.getVariations() );\n"
"Hibernate.initialize( contract.getNotes() );\n"
"setDefaultReadOnly( false );\n"
"...\n"
"tx.commit();\n"
"session.close();"
msgstr ""
#. Tag: para
#: readonly.xml:357
#, no-c-format
msgid "If Session.isDefaultReadOnly() returns true, then you can use Query.setReadOnly( false ) and Criteria.setReadOnly( false ) to override this session setting and load entities that are not read-only."
msgstr ""
#. Tag: title
#: readonly.xml:367
#, no-c-format
msgid "Making a persistent entity read-only"
msgstr ""
#. Tag: para
#: readonly.xml:369
#, no-c-format
msgid "Persistent entities of immutable classes are automatically made read-only."
msgstr ""
#. Tag: para
#: readonly.xml:375
#, no-c-format
msgid "To make a persistent entity or proxy read-only, call:"
msgstr ""
#. Tag: programlisting
#: readonly.xml:378
#, no-c-format
msgid "Session.setReadOnly(entityOrProxy, true)"
msgstr ""
#. Tag: para
#: readonly.xml:380
#, no-c-format
msgid "To change a read-only entity or proxy of a mutable class so it is no longer read-only, call:"
msgstr ""
#. Tag: programlisting
#: readonly.xml:384
#, no-c-format
msgid "Session.setReadOnly(entityOrProxy, false)"
msgstr ""
#. Tag: para
#: readonly.xml:387
#, no-c-format
msgid "When a read-only entity or proxy is changed so it is no longer read-only, Hibernate assumes that the current state of the read-only entity is consistent with its database representation. If this is not true, then any non-flushed changes made before or while the entity was read-only, will be ignored."
msgstr ""
#. Tag: para
#: readonly.xml:396
#, no-c-format
msgid "To throw away non-flushed changes and make the persistent entity consistent with its database representation, call:"
msgstr ""
#. Tag: programlisting
#: readonly.xml:400
#, no-c-format
msgid "session.refresh( entity );"
msgstr ""
#. Tag: para
#: readonly.xml:402
#, no-c-format
msgid "To flush changes made before or while the entity was read-only and make the database representation consistent with the current state of the persistent entity:"
msgstr ""
#. Tag: programlisting
#: readonly.xml:408
#, no-c-format
msgid ""
"// evict the read-only entity so it is detached\n"
"session.evict( entity );\n"
"\n"
"// make the detached entity (with the non-flushed changes) persistent\n"
"session.update( entity );\n"
"\n"
"// now entity is no longer read-only and its changes can be flushed\n"
"s.flush();"
msgstr ""
#. Tag: title
#: readonly.xml:413
#, no-c-format
msgid "Read-only affect on property type"
msgstr ""
#. Tag: para
#: readonly.xml:415
#, no-c-format
msgid "The following table summarizes how different property types are affected by making an entity read-only."
msgstr ""
#. Tag: title
#: readonly.xml:421
#, no-c-format
msgid "Affect of read-only entity on property types"
msgstr ""
#. Tag: entry
#: readonly.xml:427
#, no-c-format
msgid "Property/Association Type"
msgstr ""
#. Tag: entry
#: readonly.xml:428
#, no-c-format
msgid "Changes flushed to DB?"
msgstr ""
#. Tag: entry
#: readonly.xml:433
#, no-c-format
msgid "Simple"
msgstr ""
#. Tag: para
#: readonly.xml:435
#, no-c-format
msgid "(<xref linkend=\"readonly-proptypes-simple\"/>)"
msgstr ""
#. Tag: entry
#: readonly.xml:439
#, no-c-format
msgid "<entry>no*</entry>"
msgstr ""
#. Tag: para
#: readonly.xml:443
#, no-c-format
msgid "Unidirectional one-to-one"
msgstr ""
#. Tag: para
#: readonly.xml:444
#, no-c-format
msgid "Unidirectional many-to-one"
msgstr ""
#. Tag: para
#: readonly.xml:445
#, no-c-format
msgid "(<xref linkend=\"readonly-proptypes-singleended-unidir\"/>)"
msgstr ""
#. Tag: para
#: readonly.xml:451 readonly.xml:452
#, no-c-format
msgid "<para>no*</para>"
msgstr ""
#. Tag: para
#: readonly.xml:457
#, no-c-format
msgid "Unidirectional one-to-many"
msgstr ""
#. Tag: para
#: readonly.xml:458
#, no-c-format
msgid "Unidirectional many-to-many"
msgstr ""
#. Tag: para
#: readonly.xml:459
#, no-c-format
msgid "(<xref linkend=\"readonly-proptypes-manyended-unidir\"/>)"
msgstr ""
#. Tag: para
#: readonly.xml:464 readonly.xml:465 readonly.xml:489
#, no-c-format
msgid "<para>yes</para>"
msgstr ""
#. Tag: para
#: readonly.xml:470
#, no-c-format
msgid "<para>Bidirectional one-to-one</para>"
msgstr ""
#. Tag: para
#: readonly.xml:471
#, no-c-format
msgid "(<xref linkend=\"readonly-proptypes-onetoone-bidir\"/>)"
msgstr ""
#. Tag: entry
#: readonly.xml:475
#, no-c-format
msgid "only if the owning entity is not read-only*"
msgstr ""
#. Tag: para
#: readonly.xml:479
#, no-c-format
msgid "<para>Bidirectional one-to-many/many-to-one</para>"
msgstr ""
#. Tag: para
#: readonly.xml:480
#, no-c-format
msgid "inverse collection"
msgstr ""
#. Tag: para
#: readonly.xml:481
#, no-c-format
msgid "non-inverse collection"
msgstr ""
#. Tag: para
#: readonly.xml:482
#, no-c-format
msgid "(<xref linkend=\"readonly-proptypes-onetomany-manytoone\"/>)"
msgstr ""
#. Tag: para
#: readonly.xml:488
#, no-c-format
msgid "only added/removed entities that are not read-only*"
msgstr ""
#. Tag: para
#: readonly.xml:494
#, no-c-format
msgid "<para>Bidirectional many-to-many</para>"
msgstr ""
#. Tag: para
#: readonly.xml:495
#, no-c-format
msgid "(<xref linkend=\"readonly-proptypes-manytomany-bidir\"/>)"
msgstr ""
#. Tag: entry
#: readonly.xml:499
#, no-c-format
msgid "<entry>yes</entry>"
msgstr ""
#. Tag: para
#: readonly.xml:505
#, no-c-format
msgid "* Behavior is different when the entity having the property/association is read-only, compared to when it is not read-only."
msgstr ""
#. Tag: title
#: readonly.xml:511
#, no-c-format
msgid "Simple properties"
msgstr ""
#. Tag: para
#: readonly.xml:513
#, no-c-format
msgid "When a persistent object is read-only, Hibernate does not dirty-check simple properties."
msgstr ""
#. Tag: para
#: readonly.xml:518
#, no-c-format
msgid "Hibernate will not synchronize simple property state changes to the database. If you have automatic versioning, Hibernate will not increment the version if any simple properties change."
msgstr ""
#. Tag: programlisting
#: readonly.xml:524
#, no-c-format
msgid ""
"Session session = factory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"// get a contract and make it read-only\n"
"Contract contract = ( Contract ) session.get( Contract.class, contractId );\n"
"session.setReadOnly( contract, true );\n"
"\n"
"// contract.getCustomerName() is \"Sherman\"\n"
"contract.setCustomerName( \"Yogi\" );\n"
"tx.commit();\n"
"\n"
"tx = session.beginTransaction();\n"
"\n"
"contract = ( Contract ) session.get( Contract.class, contractId );\n"
"// contract.getCustomerName() is still \"Sherman\"\n"
"...\n"
"tx.commit();\n"
"session.close();"
msgstr ""
#. Tag: title
#: readonly.xml:529
#, no-c-format
msgid "Unidirectional associations"
msgstr ""
#. Tag: title
#: readonly.xml:532
#, no-c-format
msgid "Unidirectional one-to-one and many-to-one"
msgstr ""
#. Tag: para
#: readonly.xml:534
#, no-c-format
msgid "Hibernate treats unidirectional one-to-one and many-to-one associations in the same way when the owning entity is read-only."
msgstr ""
#. Tag: para
#: readonly.xml:540
#, no-c-format
msgid "We use the term <emphasis>unidirectional single-ended association</emphasis> when referring to functionality that is common to unidirectional one-to-one and many-to-one associations."
msgstr ""
#. Tag: para
#: readonly.xml:547
#, no-c-format
msgid "Hibernate does not dirty-check unidirectional single-ended associations when the owning entity is read-only."
msgstr ""
#. Tag: para
#: readonly.xml:552
#, no-c-format
msgid "If you change a read-only entity's reference to a unidirectional single-ended association to null, or to refer to a different entity, that change will not be flushed to the database."
msgstr ""
#. Tag: para
#: readonly.xml:560
#, no-c-format
msgid "If an entity is of an immutable class, then its references to unidirectional single-ended associations must be assigned when that entity is first created. Because the entity is automatically made read-only, these references can not be updated."
msgstr ""
#. Tag: para
#: readonly.xml:570
#, no-c-format
msgid "If automatic versioning is used, Hibernate will not increment the version due to local changes to unidirectional single-ended associations."
msgstr ""
#. Tag: para
#: readonly.xml:576
#, no-c-format
msgid "In the following examples, Contract has a unidirectional many-to-one association with Plan. Contract cascades save and update operations to the association."
msgstr ""
#. Tag: para
#: readonly.xml:582
#, no-c-format
msgid "The following shows that changing a read-only entity's many-to-one association reference to null has no effect on the entity's database representation."
msgstr ""
#. Tag: programlisting
#: readonly.xml:588
#, no-c-format
msgid ""
"// get a contract with an existing plan;\n"
"// make the contract read-only and set its plan to null \n"
"tx = session.beginTransaction();\n"
"Contract contract = ( Contract ) session.get( Contract.class, contractId );\n"
"session.setReadOnly( contract, true );\n"
"contract.setPlan( null );\n"
"tx.commit();\n"
"\n"
"// get the same contract\n"
"tx = session.beginTransaction();\n"
"contract = ( Contract ) session.get( Contract.class, contractId );\n"
"\n"
"// contract.getPlan() still refers to the original plan;\n"
"\n"
"tx.commit();\n"
"session.close();"
msgstr ""
#. Tag: para
#: readonly.xml:590
#, no-c-format
msgid "The following shows that, even though an update to a read-only entity's many-to-one association has no affect on the entity's database representation, flush still cascades the save-update operation to the locally changed association."
msgstr ""
#. Tag: programlisting
#: readonly.xml:599
#, no-c-format
msgid ""
"// get a contract with an existing plan;\n"
"// make the contract read-only and change to a new plan\n"
"tx = session.beginTransaction();\n"
"Contract contract = ( Contract ) session.get( Contract.class, contractId );\n"
"session.setReadOnly( contract, true );\n"
"Plan newPlan = new Plan( \"new plan\"\n"
"contract.setPlan( newPlan);\n"
"tx.commit();\n"
"\n"
"// get the same contract\n"
"tx = session.beginTransaction();\n"
"contract = ( Contract ) session.get( Contract.class, contractId );\n"
"newPlan = ( Contract ) session.get( Plan.class, newPlan.getId() ); \n"
"\n"
"// contract.getPlan() still refers to the original plan;\n"
"// newPlan is non-null because it was persisted when \n"
"// the previous transaction was committed; \n"
"\n"
"tx.commit();\n"
"session.close();"
msgstr ""
#. Tag: title
#: readonly.xml:604
#, no-c-format
msgid "Unidirectional one-to-many and many-to-many"
msgstr ""
#. Tag: para
#: readonly.xml:606
#, no-c-format
msgid "Hibernate treats unidirectional one-to-many and many-to-many associations owned by a read-only entity the same as when owned by an entity that is not read-only."
msgstr ""
#. Tag: para
#: readonly.xml:613
#, no-c-format
msgid "Hibernate dirty-checks unidirectional one-to-many and many-to-many associations;"
msgstr ""
#. Tag: para
#: readonly.xml:618
#, no-c-format
msgid "The collection can contain entities that are read-only, as well as entities that are not read-only."
msgstr ""
#. Tag: para
#: readonly.xml:624
#, no-c-format
msgid "Entities can be added and removed from the collection; changes are flushed to the database."
msgstr ""
#. Tag: para
#: readonly.xml:629
#, no-c-format
msgid "If automatic versioning is used, Hibernate will update the version due to changes in the collection if they dirty the owning entity."
msgstr ""
#. Tag: title
#: readonly.xml:640
#, no-c-format
msgid "Bidirectional associations"
msgstr ""
#. Tag: title
#: readonly.xml:643
#, no-c-format
msgid "<title>Bidirectional one-to-one</title>"
msgstr ""
#. Tag: para
#: readonly.xml:645
#, no-c-format
msgid "If a read-only entity owns a bidirectional one-to-one association:"
msgstr ""
#. Tag: para
#: readonly.xml:652
#, no-c-format
msgid "Hibernate does not dirty-check the association."
msgstr ""
#. Tag: para
#: readonly.xml:657
#, no-c-format
msgid "updates that change the association reference to null or to refer to a different entity will not be flushed to the database."
msgstr ""
#. Tag: para
#: readonly.xml:664
#, no-c-format
msgid "If automatic versioning is used, Hibernate will not increment the version due to local changes to the association."
msgstr ""
#. Tag: para
#: readonly.xml:673
#, no-c-format
msgid "If an entity is of an immutable class, and it owns a bidirectional one-to-one association, then its reference must be assigned when that entity is first created. Because the entity is automatically made read-only, these references cannot be updated."
msgstr ""
#. Tag: para
#: readonly.xml:683
#, no-c-format
msgid "When the owner is not read-only, Hibernate treats an association with a read-only entity the same as when the association is with an entity that is not read-only."
msgstr ""
#. Tag: title
#: readonly.xml:693
#, no-c-format
msgid "<title>Bidirectional one-to-many/many-to-one</title>"
msgstr ""
#. Tag: para
#: readonly.xml:695
#, no-c-format
msgid "A read-only entity has no impact on a bidirectional one-to-many/many-to-one association if:"
msgstr ""
#. Tag: para
#: readonly.xml:702
#, no-c-format
msgid "the read-only entity is on the one-to-many side using an inverse collection;"
msgstr ""
#. Tag: para
#: readonly.xml:708
#, no-c-format
msgid "the read-only entity is on the one-to-many side using a non-inverse collection;"
msgstr ""
#. Tag: para
#: readonly.xml:714
#, no-c-format
msgid "the one-to-many side uses a non-inverse collection that contains the read-only entity"
msgstr ""
#. Tag: para
#: readonly.xml:721
#, no-c-format
msgid "When the one-to-many side uses an inverse collection:"
msgstr ""
#. Tag: para
#: readonly.xml:727
#, no-c-format
msgid "a read-only entity can only be added to the collection when it is created;"
msgstr ""
#. Tag: para
#: readonly.xml:733
#, no-c-format
msgid "a read-only entity can only be removed from the collection by an orphan delete or by explicitly deleting the entity."
msgstr ""
#. Tag: title
#: readonly.xml:744
#, no-c-format
msgid "<title>Bidirectional many-to-many</title>"
msgstr ""
#. Tag: para
#: readonly.xml:745
#, no-c-format
msgid "Hibernate treats bidirectional many-to-many associations owned by a read-only entity the same as when owned by an entity that is not read-only."
msgstr ""
#. Tag: para
#: readonly.xml:752
#, no-c-format
msgid "Hibernate dirty-checks bidirectional many-to-many associations."
msgstr ""
#. Tag: para
#: readonly.xml:757
#, no-c-format
msgid "The collection on either side of the association can contain entities that are read-only, as well as entities that are not read-only."
msgstr ""
#. Tag: para
#: readonly.xml:763
#, no-c-format
msgid "Entities are added and removed from both sides of the collection; changes are flushed to the database."
msgstr ""
#. Tag: para
#: readonly.xml:769
#, no-c-format
msgid "If automatic versioning is used, Hibernate will update the version due to changes in both sides of the collection if they dirty the entity owning the respective collections."
msgstr ""

View File

@ -297,7 +297,7 @@ msgstr ""
"<emphasis>saber</emphasis> se é um afunilamento. E não suponha que o uso "
"direto do JDBC é necessariamente mais rápido. Se você precisar usar "
"diretamente o JDBC, vale a pena abrir uma <literal>Session</literal> do "
"Hibernate, embrulhar a sua operaçäo JDBC como um objeto literal>org."
"Hibernate, embrulhar a sua operaçäo JDBC como um objeto <literal>org."
"hibernate.jdbc.Work</literal> e usar uma conexão JDBC. De modo que você possa ainda usar a mesma "
"estratégia de transação e ocultar o provedor a conexão."

View File

@ -108,7 +108,7 @@ msgid ""
msgstr ""
"Project-Id-Version: portability\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-03-12T00:03:47\n"
"POT-Creation-Date: 2010-03-25 06:26+0000\n"
"PO-Revision-Date: 2010-03-18 15:20+1000\n"
"Last-Translator: \n"
"Language-Team: <en@li.org>\n"
@ -118,16 +118,19 @@ msgstr ""
"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#: portability.xml:31
#, no-c-format
msgid "Database Portability Considerations"
msgstr "Considerações da Portabilidade do Banco de Dados"
#. Tag: title
#: portability.xml:34
#, no-c-format
msgid "Portability Basics"
msgstr "Fundamentos da Portabilidade"
#. Tag: para
#: portability.xml:36
#, no-c-format
msgid ""
"One of the selling points of Hibernate (and really Object/Relational Mapping "
@ -151,11 +154,13 @@ msgstr ""
"ao metadados de mapeamento."
#. Tag: title
#: portability.xml:47
#, no-c-format
msgid "Dialect"
msgstr "Dialeto"
#. Tag: para
#: portability.xml:49
#, no-c-format
msgid ""
"The first line of portability for Hibernate is the dialect, which is a "
@ -177,11 +182,13 @@ msgstr ""
"está seguindo os mesmos, não será difícil escrever o seu próprio."
#. Tag: title
#: portability.xml:60
#, no-c-format
msgid "Dialect resolution"
msgstr "Resolução do Dialeto"
#. Tag: para
#: portability.xml:62
#, no-c-format
msgid ""
"Originally, Hibernate would always require that users specify which dialect "
@ -198,6 +205,7 @@ msgstr ""
"determinação do valor."
#. Tag: para
#: portability.xml:69
#, no-c-format
msgid ""
"Starting with version 3.2, Hibernate introduced the notion of automatically "
@ -215,42 +223,44 @@ msgstr ""
"com antecedência e que em ocasião alguma era configurável ou substituível."
#. Tag: para
#, no-c-format
#: 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\">public Dialect resolveDialect(DatabaseMetaData "
"metaData) throws JDBCConnectionException</programlisting>. The basic "
"contract here is that if the resolver 'understands' the given database "
"metadata then it returns the corresponding Dialect; if not it returns null "
"and the process continues to the next resolver. The signature also "
"identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</"
"exceptionname> as possibly being thrown. A JDBCConnectionException here is "
"interpreted to imply a \"non transient\" (aka non-recoverable) connection "
"problem and is used to indicate an immediate stop to resolution attempts. "
"All other exceptions result in a warning and continuing on to the next "
"resolver."
"<programlisting role=\"JAVA\"><![CDATA[public Dialect resolveDialect"
"(DatabaseMetaData metaData) throws JDBCConnectionException]]></"
"programlisting>. The basic contract here is that if the resolver "
"'understands' the given database metadata then it returns the corresponding "
"Dialect; if not it returns null and the process continues to the next "
"resolver. The signature also identifies <exceptionname>org.hibernate."
"exception.JDBCConnectionException</exceptionname> as possibly being thrown. "
"A JDBCConnectionException here is interpreted to imply a \"non transient"
"\" (aka non-recoverable) connection problem and is used to indicate an "
"immediate stop to resolution attempts. All other exceptions result in a "
"warning and continuing on to the next resolver."
msgstr ""
"Inicializando com a versão 3.3, o Hibernate possui uma maneira muito mais "
"potente para determinar automaticamente qual dialeto deve ser usado baseando-"
"se numa série de delegações que determinam qual implementação deve ser usada "
"baseando-se numa série de delegações que implementam o <interfacename>org."
"hibernate.dialect.resolver.DialectResolver</interfacename> que define apenas "
"um método único: <programlisting role=\"JAVA\">public Dialect resolveDialect(DatabaseMetaData "
"metaData) throws JDBCConnectionException</programlisting>. Este contrato básico é que se o solucionador 'entender' o "
"metadados do banco de dados dado, ele retornará o Dialeto correspondente. "
"Caso contrário, ele retornará nulo e o processo continuará ao próximo "
"solucionador. A assinatura também identifica o <exceptionname>org.hibernate."
"exception.JDBCConnectionException</exceptionname> como possivelmente "
"lançado. Neste caso, o JDBCConnectionException é interpretado para implicar "
"um problema de conexão (também conhecida com não-recuperável) \"não "
"transiente\" e é usado para indicar uma parada imediata de tentativas de "
"resolução. Todas as demais exceções resultam num aviso e dão continuidade ao "
"próximo solucionador. "
"um método único: <programlisting role=\"JAVA\">public Dialect resolveDialect"
"(DatabaseMetaData metaData) throws JDBCConnectionException</programlisting>. "
"Este contrato básico é que se o solucionador 'entender' o metadados do banco "
"de dados dado, ele retornará o Dialeto correspondente. Caso contrário, ele "
"retornará nulo e o processo continuará ao próximo solucionador. A assinatura "
"também identifica o <exceptionname>org.hibernate.exception."
"JDBCConnectionException</exceptionname> como possivelmente lançado. Neste "
"caso, o JDBCConnectionException é interpretado para implicar um problema de "
"conexão (também conhecida com não-recuperável) \"não transiente\" e é usado "
"para indicar uma parada imediata de tentativas de resolução. Todas as demais "
"exceções resultam num aviso e dão continuidade ao próximo solucionador. "
#. Tag: para
#: portability.xml:90
#, no-c-format
msgid ""
"The cool part about these resolvers is that users can also register their "
@ -277,12 +287,14 @@ msgstr ""
"constant> no <classname>org.hibernate.cfg.Environment</classname>)."
#. Tag: title
#: portability.xml:103
#, no-c-format
msgid "Identifier generation"
msgstr "Geração do identificador"
#. Tag: para
#, no-c-format
#: 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 "
@ -300,7 +312,10 @@ msgid ""
"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."
"semantics. <note> <para> 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> </note> The underlying issue is that the actual "
"semanctics of the application itself changes in these cases."
msgstr ""
"Quando considerando a portabilidade entre os bancos de dados, outra "
"importante decisão é selecionar a estratégia de geração do identificador que "
@ -322,76 +337,44 @@ msgstr ""
"semânticas de transação atual. "
#. Tag: para
#, no-c-format
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 ""
"O Hibernate foi atualizado para que a inserção seja lenta em casos em que "
"isto é possível, sendo desta forma melhor compreendido. "
#. Tag: note
#, no-c-format
msgid ""
"The underlying issue is that the actual semanctics of the application itself "
"changes in these cases."
msgstr "O problema adjacente é que as semânticas atuais do próprio aplicativo altere nestes casos."
#. 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."
"targetting portability in a much different way. <note> <para> There are "
"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
"listitem> </itemizedlist> </para> </note> 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 ""
"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."
#. Tag: para
#, no-c-format
msgid "There are specifically 2 bundled <emphasis>enhanced</emphasis>generators:"
msgstr "There are specifically 2 bundled <emphasis>enhanced</emphasis>generators:"
#. Tag: para
#, no-c-format
msgid "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
msgstr "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#. Tag: para
#, no-c-format
msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
msgstr "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#. Tag: note
#, no-c-format
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</classname> "
"mimics the behavior of a sequence on databases which do not support "
"sequences by using a table."
msgstr ""
"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."
#. Tag: title
#: portability.xml:159
#, no-c-format
msgid "Database functions"
msgstr "Funções do banco de dados"
#. 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 "Esta é uma área do Hibernate com necessidade de melhoramentos. Este manuseio de função funciona atualmente muito bem com o HQL, quando falamos das preocupações de portabilidade. No entanto, é bastante precária em outros aspectos."
msgstr ""
"Esta é uma área do Hibernate com necessidade de melhoramentos. Este manuseio "
"de função funciona atualmente muito bem com o HQL, quando falamos das "
"preocupações de portabilidade. No entanto, é bastante precária em outros "
"aspectos."
#. Tag: para
#: portability.xml:169
#, no-c-format
msgid ""
"SQL functions can be referenced in many ways by users. However, not all "
@ -399,9 +382,16 @@ msgid ""
"mapping a <emphasis>logical</emphasis> function name to a delegate which "
"knows how to render that particular function, perhaps even using a totally "
"different physical function call."
msgstr "As funções SQL podem ser referenciadas em diversas maneiras pelos usuários. No entanto, nem todos os bancos de dados suportam o mesmo conjunto de função. O Hibernate fornece um significado de mapeamento do nome da função <emphasis>lógica</emphasis> para uma delegação que sabe como manusear aquela função em particular, mesmo quando usando uma chamada de função física totalmente diferente."
msgstr ""
"As funções SQL podem ser referenciadas em diversas maneiras pelos usuários. "
"No entanto, nem todos os bancos de dados suportam o mesmo conjunto de "
"função. O Hibernate fornece um significado de mapeamento do nome da função "
"<emphasis>lógica</emphasis> para uma delegação que sabe como manusear aquela "
"função em particular, mesmo quando usando uma chamada de função física "
"totalmente diferente."
#. Tag: para
#: portability.xml:175
#, no-c-format
msgid ""
"Technically this function registration is handled through the <classname>org."
@ -417,6 +407,7 @@ msgstr ""
"completed as of yet."
#. Tag: para
#: portability.xml:182
#, no-c-format
msgid ""
"It is sort of implemented such that users can programatically register "
@ -428,12 +419,62 @@ msgstr ""
"and those functions will be recognized for HQL."
#. Tag: title
#: portability.xml:192
#, no-c-format
msgid "Type mappings"
msgstr "Tipos de mapeamentos"
#. Tag: para
#: portability.xml:194
#, no-c-format
msgid "This section scheduled for completion at a later date..."
msgstr "A seção está esquematizada para finalização numa data posterior..."
#~ 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 ""
#~ "O Hibernate foi atualizado para que a inserção seja lenta em casos em que "
#~ "isto é possível, sendo desta forma melhor compreendido. "
#~ msgid ""
#~ "The underlying issue is that the actual semanctics of the application "
#~ "itself changes in these cases."
#~ msgstr ""
#~ "O problema adjacente é que as semânticas atuais do próprio aplicativo "
#~ "altere nestes casos."
#~ 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 ""
#~ "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."
#~ msgid ""
#~ "There are specifically 2 bundled <emphasis>enhanced</emphasis>generators:"
#~ msgstr ""
#~ "There are specifically 2 bundled <emphasis>enhanced</emphasis>generators:"
#~ msgid ""
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#~ msgstr ""
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#~ msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#~ msgstr "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#~ 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</classname> "
#~ "mimics the behavior of a sequence on databases which do not support "
#~ "sequences by using a table."
#~ msgstr ""
#~ "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."

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-03-12T00:03:47\n"
"POT-Creation-Date: 2010-03-25 06:26+0000\n"
"PO-Revision-Date: 2010-03-16 10:10+1000\n"
"Last-Translator: Xi HUANG <xhuang@redhat.com>\n"
"Language-Team: <en@li.org>\n"
@ -15,137 +15,320 @@ msgstr ""
"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#: portability.xml:31
#, no-c-format
msgid "Database Portability Considerations"
msgstr "数据库移植性考量"
#. Tag: title
#: portability.xml:34
#, no-c-format
msgid "Portability Basics"
msgstr "移植性基础"
#. 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 "Hibernate实际上是整个 Object/Relational Mapping的一个卖点是数据库的移植性。这意味着内部的 IT 用户可以改变数据库供应商,或者可部署的应用程序/框架使用 Hibernate 来同时使用多个数据库产品。不考虑具体的应用情景,这里的基本概念是 Hibernate 可帮助你运行多种数据库而无需修改你的代码,理想情况下甚至不用修改映射元数据。"
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 ""
"Hibernate实际上是整个 Object/Relational Mapping的一个卖点是数据库的移植"
"性。这意味着内部的 IT 用户可以改变数据库供应商,或者可部署的应用程序/框架使"
"用 Hibernate 来同时使用多个数据库产品。不考虑具体的应用情景,这里的基本概念"
"是 Hibernate 可帮助你运行多种数据库而无需修改你的代码,理想情况下甚至不用修改"
"映射元数据。"
#. Tag: title
#: portability.xml:47
#, no-c-format
msgid "Dialect"
msgstr "Dialect"
#. 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</classname> 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 "Hibernate 的移植性的首要问题是方言dialect也就是 <classname>org.hibernate.dialect.Dialect</classname> 合约的具体实例。方言封装了 Hibernate 和特定数据库通讯以完成某些任务如获取序列值或构建 SELECT 查询等的所有差异。Hibernate 捆绑了用于许多最常用的数据库的方言。如果你发现自己使用的数据库不在其中,编写自定义的方言也不是很困难的事情。"
msgid ""
"The first line of portability for Hibernate is the dialect, which is a "
"specialization of the <classname>org.hibernate.dialect.Dialect</classname> "
"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 ""
"Hibernate 的移植性的首要问题是方言dialect也就是 <classname>org."
"hibernate.dialect.Dialect</classname> 合约的具体实例。方言封装了 Hibernate 和"
"特定数据库通讯以完成某些任务如获取序列值或构建 SELECT 查询等的所有差异。"
"Hibernate 捆绑了用于许多最常用的数据库的方言。如果你发现自己使用的数据库不在"
"其中,编写自定义的方言也不是很困难的事情。"
#. Tag: title
#: portability.xml:60
#, no-c-format
msgid "Dialect resolution"
msgstr "方言的使用"
#. 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 "最开始Hibernate 总是要求用户指定所使用的方言dialect。在用户希望同时使用多个数据库时就会出现问题。通常这要求用户配置 Hibernate 方言或者定义自己设置这个值的方法。"
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 ""
"最开始Hibernate 总是要求用户指定所使用的方言dialect。在用户希望同时使用"
"多个数据库时就会出现问题。通常这要求用户配置 Hibernate 方言或者定义自己设置这"
"个值的方法。"
#. 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 <interfacename>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 "从版本 3.2 开始Hibernate 引入了方言的自动检测,它基于从该数据库的 <interfacename>java.sql.Connection</interfacename> 上获得的 <interfacename>java.sql.DatabaseMetaData</interfacename>。这是一个更好的方案,但它局限于 Hibernate 已知的数据库且无法进行配置和覆盖。"
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 <interfacename>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 ""
"从版本 3.2 开始Hibernate 引入了方言的自动检测,它基于从该数据库的 "
"<interfacename>java.sql.Connection</interfacename> 上获得的 "
"<interfacename>java.sql.DatabaseMetaData</interfacename>。这是一个更好的方"
"案,但它局限于 Hibernate 已知的数据库且无法进行配置和覆盖。"
#. Tag: para
#, 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\">public Dialect resolveDialect(DatabaseMetaData metaData) throws JDBCConnectionException</programlisting>. The basic contract here is that if the resolver 'understands' the given database metadata then it returns the corresponding Dialect; if not it returns null and the process continues to the next resolver. The signature also identifies <exceptionname>org.hibernate.exception.JDBCConnectionException</exceptionname> as possibly being thrown. A JDBCConnectionException here is interpreted to imply a \"non transient\" (aka non-recoverable) connection problem and is used to indicate an immediate stop to resolution attempts. All other exceptions result in a warning and continuing on to the next resolver."
msgstr "从版本 3.3 开始Hibernate 有了更为强大的自动决定应该使用哪个方言的方法,这根据一系列实现 <interfacename>org.hibernate.dialect.resolver.DialectResolver</interfacename> 接口的代理,它们只定义一个方法:<programlisting role=\"JAVA\">public Dialect resolveDialect(DatabaseMetaData metaData) throws JDBCConnectionException</programlisting>。这里的基本合约是如果解析者resolver“理解”给点数据库的元数据并返回对应的方言否则返回 null 并使用下一个解析者。这个签名也指定可能抛出的异常 <exceptionname>org.hibernate.exception.JDBCConnectionException</exceptionname>。这里的 JDBCConnectionException 被认为是“非瞬时的”(也就是不可恢复的)连接问题且指示立即终止解析。所有其他的异常都导致警告发出并使用下一个解析者。\""
#: 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\"><![CDATA[public Dialect resolveDialect"
"(DatabaseMetaData metaData) throws JDBCConnectionException]]></"
"programlisting>. The basic contract here is that if the resolver "
"'understands' the given database metadata then it returns the corresponding "
"Dialect; if not it returns null and the process continues to the next "
"resolver. The signature also identifies <exceptionname>org.hibernate."
"exception.JDBCConnectionException</exceptionname> as possibly being thrown. "
"A JDBCConnectionException here is interpreted to imply a \"non transient"
"\" (aka non-recoverable) connection problem and is used to indicate an "
"immediate stop to resolution attempts. All other exceptions result in a "
"warning and continuing on to the next resolver."
msgstr ""
"从版本 3.3 开始Hibernate 有了更为强大的自动决定应该使用哪个方言的方法,这根"
"据一系列实现 <interfacename>org.hibernate.dialect.resolver.DialectResolver</"
"interfacename> 接口的代理,它们只定义一个方法:<programlisting role=\"JAVA"
"\">public Dialect resolveDialect(DatabaseMetaData metaData) throws "
"JDBCConnectionException</programlisting>。这里的基本合约是如果解析者"
"resolver“理解”给点数据库的元数据并返回对应的方言否则返回 null 并使用下"
"一个解析者。这个签名也指定可能抛出的异常 <exceptionname>org.hibernate."
"exception.JDBCConnectionException</exceptionname>。这里的 "
"JDBCConnectionException 被认为是“非瞬时的”(也就是不可恢复的)连接问题且指示"
"立即终止解析。所有其他的异常都导致警告发出并使用下一个解析者。\""
#. Tag: para
#: portability.xml:90
#, no-c-format
msgid "The cool part about these resolvers is that users can also register their own custom resolvers which will be processed ahead of the built-in Hibernate ones. This might be useful in a number of different situations: it allows easy integration for auto-detection of dialects beyond those shipped with HIbernate itself; it allows you to specify to use a custom dialect when a particular database is recognized; etc. To register one or more resolvers, simply specify them (seperated by commas, tabs or spaces) using the 'hibernate.dialect_resolvers' configuration setting (see the <constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate.cfg.Environment</classname>)."
msgstr "这些解析者最棒的功能是用户也可以注册自定义的解析者,它们将在内置的解析者之前被调用。在许多情况下这可能很有用:它可以轻易地集成内置方言之外的方言的自动检测;它让你可以使用自定义的方言等。要注册一个或多个解析者,只要用 'hibernate.dialect_resolvers' 配置设置指定它们(由逗号、制表符或空格隔开)就可以了(请参考 <classname>org.hibernate.cfg.Environment</classname> 上的 <constant>DIALECT_RESOLVERS</constant>)。"
msgid ""
"The cool part about these resolvers is that users can also register their "
"own custom resolvers which will be processed ahead of the built-in Hibernate "
"ones. This might be useful in a number of different situations: it allows "
"easy integration for auto-detection of dialects beyond those shipped with "
"HIbernate itself; it allows you to specify to use a custom dialect when a "
"particular database is recognized; etc. To register one or more resolvers, "
"simply specify them (seperated by commas, tabs or spaces) using the "
"'hibernate.dialect_resolvers' configuration setting (see the "
"<constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate."
"cfg.Environment</classname>)."
msgstr ""
"这些解析者最棒的功能是用户也可以注册自定义的解析者,它们将在内置的解析者之前"
"被调用。在许多情况下这可能很有用:它可以轻易地集成内置方言之外的方言的自动检"
"测;它让你可以使用自定义的方言等。要注册一个或多个解析者,只要用 'hibernate."
"dialect_resolvers' 配置设置指定它们(由逗号、制表符或空格隔开)就可以了(请参"
"考 <classname>org.hibernate.cfg.Environment</classname> 上的 "
"<constant>DIALECT_RESOLVERS</constant>)。"
#. Tag: title
#: portability.xml:103
#, no-c-format
msgid "Identifier generation"
msgstr "标识符的生成"
#. Tag: para
#, 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</emphasis> generator for this purpose, which was intended to select between a <emphasis>sequence</emphasis>, <emphasis>identity</emphasis>, or <emphasis>table</emphasis> 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</emphasis> generation and some which do not. <emphasis>identity</emphasis> 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."
msgstr "当考虑数据库的移植性时另外一个重要的考量是选择标识符生成策略。Hibernate 原先提供的 <emphasis>native</emphasis> 生成器的目的是根据底层数据库的能力在 <emphasis>sequence</emphasis>、<emphasis>identity</emphasis> 或 <emphasis>table</emphasis> 策略间进行选择。然而,这个方法一个潜在的问题是有些数据库支持<emphasis>标识符identity</emphasis>生成而有些则不支持。<emphasis>标识符identity</emphasis> 生成依赖于管理标识符值的 IDENTITY或 auto-increment字段的 SQL 定义。它也成为 post-insert 生成策略,因为 insert 必须在知道标识符值后才能实际发生。因为 Hibernate 依赖于这个标识符值来唯一地引用持久性上下文里的实体,当用户请求和会话相关联的实体时(如通过 save()),它必须立即执行 insert 语句而不管当前的事务性语义。"
#: 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</emphasis> generator for this "
"purpose, which was intended to select between a <emphasis>sequence</"
"emphasis>, <emphasis>identity</emphasis>, or <emphasis>table</emphasis> "
"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</emphasis> generation and some "
"which do not. <emphasis>identity</emphasis> 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> <para> 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> </note> The underlying issue is that the actual "
"semanctics of the application itself changes in these cases."
msgstr ""
"当考虑数据库的移植性时另外一个重要的考量是选择标识符生成策略。Hibernate 原"
"先提供的 <emphasis>native</emphasis> 生成器的目的是根据底层数据库的能力在 "
"<emphasis>sequence</emphasis>、<emphasis>identity</emphasis> 或 "
"<emphasis>table</emphasis> 策略间进行选择。然而,这个方法一个潜在的问题是有些"
"数据库支持<emphasis>标识符identity</emphasis>生成而有些则不支持。"
"<emphasis>标识符identity</emphasis> 生成依赖于管理标识符值的 IDENTITY"
"(或 auto-increment字段的 SQL 定义。它也成为 post-insert 生成策略,因为 "
"insert 必须在知道标识符值后才能实际发生。因为 Hibernate 依赖于这个标识符值来"
"唯一地引用持久性上下文里的实体,当用户请求和会话相关联的实体时(如通过 save"
"()),它必须立即执行 insert 语句而不管当前的事务性语义。"
#. Tag: para
#: portability.xml:130
#, no-c-format
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 已经进行了轻微改进,所以在可行时这种插入会被延迟。"
#. Tag: note
#, no-c-format
msgid "The underlying issue is that the actual semanctics of the application itself changes in these cases."
msgstr "底层的问题是这些例子里应用程序自身的实际模式的改变。"
#. Tag: para
#, 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."
msgstr "从 3.2.3 版本开始Hibernate 带有一套 <ulink url=\"http://in.relation.to/2082.lace\">enhanced</ulink> 标识符生成器,它以很不同的方式实现移植性。"
#. Tag: para
#, no-c-format
msgid "There are specifically 2 bundled <emphasis>enhanced</emphasis>generators:"
msgstr "特别是两个捆绑的 <emphasis>enhanced</emphasis> 生成器:"
#. Tag: para
#, no-c-format
msgid "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
msgstr "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#. Tag: para
#, no-c-format
msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
msgstr "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#. Tag: note
#, no-c-format
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</classname> mimics the behavior of a sequence on databases which do not support sequences by using a table."
msgstr "这些生成器背后的概念是把标识符值生成的实际情景移植到不同的数据库里。例如,<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname> 通过使用表来模拟不支持序列sequences的数据库上的序列行为。"
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> <para> There are "
"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
"listitem> </itemizedlist> </para> </note> 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 "数据库函数"
#. 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 "这是 Hibernate 需要提高的一个领域。从可移植性来说,这个功能可以很好地处理 HQL 的内容,但在其他方面就有所欠缺。"
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 ""
"这是 Hibernate 需要提高的一个领域。从可移植性来说,这个功能可以很好地处理 "
"HQL 的内容,但在其他方面就有所欠缺。"
#. Tag: para
#: portability.xml:169
#, 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</emphasis> function name to a delegate which knows how to render that particular function, perhaps even using a totally different physical function call."
msgstr "用户可以以多种方式引用 SQL 函数。然而不是所有的数据库都支持相同的函数集。Hibernate 提供了一种映射<emphasis>逻辑</emphasis>函数名到代理的方法,这个代理知道如何解析特定的函数,甚至可能使用完全不同的物理函数调用。 "
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</emphasis> function name to a delegate which "
"knows how to render that particular function, perhaps even using a totally "
"different physical function call."
msgstr ""
"用户可以以多种方式引用 SQL 函数。然而,不是所有的数据库都支持相同的函数集。"
"Hibernate 提供了一种映射<emphasis>逻辑</emphasis>函数名到代理的方法,这个代理"
"知道如何解析特定的函数,甚至可能使用完全不同的物理函数调用。 "
#. 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 "从技术上来讲,这个函数注册是通过 <classname>org.hibernate.dialect.function.SQLFunctionRegistry</classname> 类进行处理的,它的目的是允许用户提供自定义的函数定义而无需提供自定义的方言。这种特殊的行为目前还未全部开发完毕。"
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 ""
"从技术上来讲,这个函数注册是通过 <classname>org.hibernate.dialect.function."
"SQLFunctionRegistry</classname> 类进行处理的,它的目的是允许用户提供自定义的"
"函数定义而无需提供自定义的方言。这种特殊的行为目前还未全部开发完毕。"
#. 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</classname> and those functions will be recognized for HQL."
msgstr "其中一些功能已经实现,如用户可以在程序里用 <classname>org.hibernate.cfg.Configuration</classname> 注册函数且这些函数可被 HQL 识别。"
msgid ""
"It is sort of implemented such that users can programatically register "
"functions with the <classname>org.hibernate.cfg.Configuration</classname> "
"and those functions will be recognized for HQL."
msgstr ""
"其中一些功能已经实现,如用户可以在程序里用 <classname>org.hibernate.cfg."
"Configuration</classname> 注册函数且这些函数可被 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 "本节内容仍未完成..."
#~ 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 已经进行了轻微改进,所以在可行时这种插入会被延迟。"
#~ msgid ""
#~ "The underlying issue is that the actual semanctics of the application "
#~ "itself changes in these cases."
#~ msgstr "底层的问题是这些例子里应用程序自身的实际模式的改变。"
#~ 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 ""
#~ "从 3.2.3 版本开始Hibernate 带有一套 <ulink url=\"http://in.relation."
#~ "to/2082.lace\">enhanced</ulink> 标识符生成器,它以很不同的方式实现移植性。"
#~ msgid ""
#~ "There are specifically 2 bundled <emphasis>enhanced</emphasis>generators:"
#~ msgstr "特别是两个捆绑的 <emphasis>enhanced</emphasis> 生成器:"
#~ msgid ""
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#~ msgstr ""
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#~ msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#~ msgstr "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#~ 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</classname> "
#~ "mimics the behavior of a sequence on databases which do not support "
#~ "sequences by using a table."
#~ msgstr ""
#~ "这些生成器背后的概念是把标识符值生成的实际情景移植到不同的数据库里。例如,"
#~ "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname> 通"
#~ "过使用表来模拟不支持序列sequences的数据库上的序列行为。"
#~ msgid ""
#~ "This is a new area in Hibernate and as such it is not as mature as the "
#~ "overall Hibernate experience."
#~ msgstr "这是 Hibernate 的一个新的领域,暂时还不如 Hibernate 总体那么成熟。"

File diff suppressed because it is too large Load Diff